
    i                     X    d Z ddlmZmZ ddlmZ e G d d             Z G d de      Zy)	u  
Genesis Persistent Context Architecture — BaseInterceptor
Story 1.01 — Track B

Abstract base class defining the 4 integration contracts:
1. pre_execute  — Enrich input with context before dispatch
2. post_execute — Capture state delta from output (side-effects only)
3. on_error     — Classify failure, return correction payload
4. on_correction— Re-inject with CORRECTION: prefix
    )ABCabstractmethod)	dataclassc                   4    e Zd ZU dZeed<   eed<   dZeed<   y)InterceptorMetadataz)Metadata for an interceptor in the chain.namepriorityTenabledN)	__name__
__module____qualname____doc__str__annotations__intr
   bool     ;/mnt/e/genesis-system/core/interceptors/base_interceptor.pyr   r      s    3
IMGTr   r   c                       e Zd ZU dZeed<   ededefd       Zedededdfd       Z	ed	e
dedefd
       Zededefd       Zy)BaseInterceptorz+Abstract base for all Genesis interceptors.metadatatask_payloadreturnc                    K   yw)zj
        Enrich input with context before dispatch.
        MUST return enriched dict (not None).
        Nr   )selfr   s     r   pre_executezBaseInterceptor.pre_execute         	   resultNc                    K   yw)ua   
        Capture state delta from output.
        Side-effects only — no return value.
        Nr   )r   r    r   s      r   post_executezBaseInterceptor.post_execute$   r   r   errorc                    K   yw)z>
        Classify failure, return correction payload.
        Nr   )r   r#   r   s      r   on_errorzBaseInterceptor.on_error,   s     
 	r   correction_payloadc                    K   yw)zY
        Re-inject with CORRECTION: prefix.
        Returns re-injected payload.
        Nr   )r   r&   s     r   on_correctionzBaseInterceptor.on_correction3   r   r   )r   r   r   r   r   r   r   dictr   r"   	Exceptionr%   r(   r   r   r   r   r      s    5!!d t    T d   I T d   d t  r   r   N)r   abcr   r   dataclassesr   r   r   r   r   r   <module>r-      s7   	 $ !   "c "r   