Skip to content

cayu.runtime.session_closure

Public Cayu API. Definitions are grouped by their public source module, and definitions from private implementation modules appear on their package’s page; adding a symbol does not move existing links. The import shown at each entry is a supported public namespace. Read the Python API overview and install the required extra.

from cayu import ArtifactSessionClosureStore

Bounded adapter for one registered session-scoped artifact store.

ArtifactSessionClosureStore.__init__(store: Any) -> None
async ArtifactSessionClosureStore.claim_session_closure(session_id, policy, plan_id)
async ArtifactSessionClosureStore.inspect_session_closure(session_id: str, *, policy: SessionClosurePolicy)
async ArtifactSessionClosureStore.erase_session_closure(session_id: str, *, policy: SessionClosurePolicy, plan_id: str)
async ArtifactSessionClosureStore.export_session_closure(session_id: str, *, policy: SessionClosurePolicy)

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureBudgetDisposition

Bases: StrEnum.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
RETAIN class attribute 'retain'

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureChildPolicy

Bases: StrEnum.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
REJECT class attribute 'reject'
DETACH class attribute 'detach'
RECURSIVE class attribute 'recursive'

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureCoordinator

Coordinate independent closure adapters without pretending atomicity.

SessionClosureCoordinator.__init__(session_store: Any, *, dependent_stores: tuple[SessionClosureStore, ...]=(), clock: Any=datetime.now, secret_redactor: SecretRedactor | None=None) -> None
async SessionClosureCoordinator.inspect(session_id: str, *, policy: SessionClosurePolicy | None=None) -> SessionClosureManifest

Build a bounded inventory; unsupported adapters remain visible.

async SessionClosureCoordinator.erase(session_id: str, *, policy: SessionClosurePolicy | None=None, expected_plan_id: str | None=None) -> SessionClosureReport
async SessionClosureCoordinator.validate(session_id: str, *, policy: SessionClosurePolicy | None=None)

Run closure admission checks without mutating any owned resource.

async SessionClosureCoordinator.export(session_id: str, *, policy: SessionClosurePolicy | None=None, allow_partial: bool=False) -> SessionClosureExport

Export bounded records; incomplete diagnostic exports require explicit opt-in.

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureDisposition

The authoritative disposition of one discovered record class.

Bases: StrEnum.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
OWNED_ELIGIBLE class attribute 'owned_eligible'
RETAINED class attribute 'retained'
SHARED class attribute 'shared'
APPLICATION_OWNED class attribute 'application_owned'
UNSUPPORTED class attribute 'unsupported'
UNAVAILABLE class attribute 'unavailable'
TRUNCATED class attribute 'truncated'
ABSENT class attribute 'absent'
ERASED class attribute 'erased'

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureExport

Bounded export of native records and explicitly supported dependents.

Public application export applies redaction; this is not a restorable backup.

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
schema_version StrictInt SESSION_CLOSURE_SCHEMA_VERSION
manifest SessionClosureManifest required
content_redacted bool True
session_records dict[str, Any] Field(default_factory=dict)
SessionClosureExport.copy_session_records(value: object) -> dict[str, Any]
SessionClosureExport.to_bytes() -> bytes

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureExportIncomplete

A normal export could not establish completeness; no record data is returned.

Bases: ValueError.

SessionClosureExportIncomplete.__init__(manifest: SessionClosureManifest) -> None

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureLineageStore

Atomic session-store operations required by descendant closure.

Bases: Protocol.

async SessionClosureLineageStore.claim_session_closure_progress(progress: dict[str, Any]) -> None
async SessionClosureLineageStore.detach_session_children(parent_session_id: str, child_session_ids: tuple[str, ...], *, closure_receipt: dict[str, Any]) -> tuple[dict[str, Any], ...]
async SessionClosureLineageStore.load_session_closure_tombstones(root_session_id: str, plan_id: str) -> tuple[dict[str, Any], ...]

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureManifest

Versioned bounded inventory; records never imply unlisted erasure.

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
schema_version StrictInt SESSION_CLOSURE_SCHEMA_VERSION
session_id str Field(max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
operation SessionClosureOperation required
plan_id str Field(max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
generated_at datetime required
complete bool required
records tuple[SessionClosureRecord, ...] Field(max_length=256)
metadata dict[str, Any] Field(default_factory=dict)
SessionClosureManifest.copy_metadata(value: object) -> dict[str, Any]
SessionClosureManifest.validate_manifest() -> SessionClosureManifest

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureOperation

Bases: StrEnum.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
INSPECT class attribute 'inspect'
EXPORT class attribute 'export'
ERASE class attribute 'erase'

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosurePolicy

Bounded caller policy; it never silently expands store enumeration.

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
child_policy SessionClosureChildPolicy SessionClosureChildPolicy.REJECT
budget_disposition SessionClosureBudgetDisposition SessionClosureBudgetDisposition.RETAIN
include_artifact_metadata bool True
max_records StrictInt Field(default=SESSION_CLOSURE_DEFAULT_MAX_RECORDS, ge=1, le=100000)
max_descendants StrictInt Field(default=SESSION_CLOSURE_DEFAULT_MAX_DESCENDANTS, ge=1, le=100000)
max_bytes StrictInt Field(default=SESSION_CLOSURE_DEFAULT_MAX_BYTES, ge=1, le=256 * 1024 * 1024)
SessionClosurePolicy.validate_policy() -> SessionClosurePolicy

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureProgress

Strict durable authority for one target or recursive closure plan.

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
schema_version StrictInt SESSION_CLOSURE_SCHEMA_VERSION
root_session_id str Field(min_length=1, max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
plan_id str Field(min_length=1, max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
policy_digest str Field(min_length=64, max_length=64)
max_records StrictInt Field(ge=1, le=100000)
max_bytes StrictInt Field(ge=1, le=256 * 1024 * 1024)
phase str Field(pattern='^(target|reject|recursive)$')
descendants tuple[dict[str, str], ...] Field(max_length=100000)
completed tuple[str, ...] Field(max_length=100000)
SessionClosureProgress.copy_descendants(value: object) -> tuple[dict[str, str], ...]
SessionClosureProgress.copy_completed(value: object) -> tuple[str, ...]
SessionClosureProgress.validate_identity() -> SessionClosureProgress

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureRecord

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
store_id str Field(max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
record_class str Field(max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
disposition SessionClosureDisposition required
count StrictInt Field(default=0, ge=0)
bytes StrictInt Field(default=0, ge=0)
detail str | None Field(default=None, max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
capability str | None Field(default=None, max_length=SESSION_CLOSURE_MAX_FIELD_CHARS)
erasure_blocked StrictBool False

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureReport

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
schema_version StrictInt SESSION_CLOSURE_SCHEMA_VERSION
session_id str required
plan_id str required
operation SessionClosureOperation required
complete bool required
already_absent bool False
manifest SessionClosureManifest required
error str | None None

Release source · Runtime guarantees · Capability guides

from cayu import SessionClosureStore

Optional independent-store adapter owned by an application boundary.

Bases: Protocol.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
store_id str required
async SessionClosureStore.inspect_session_closure(session_id: str, *, policy: SessionClosurePolicy) -> SessionClosureRecord
async SessionClosureStore.erase_session_closure(session_id: str, *, policy: SessionClosurePolicy, plan_id: str) -> SessionClosureRecord
async SessionClosureStore.export_session_closure(session_id: str, *, policy: SessionClosurePolicy) -> dict[str, Any]

Release source · Runtime guarantees · Capability guides

from cayu import SessionEvidenceClosureStore

Inventory #946 receipt/exposure references owned by SessionStore.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
store_id class attribute 'session-store-evidence'
SessionEvidenceClosureStore.__init__(store: Any) -> None
async SessionEvidenceClosureStore.inspect_session_closure(session_id: str, *, policy: SessionClosurePolicy)
async SessionEvidenceClosureStore.erase_session_closure(session_id: str, *, policy: SessionClosurePolicy, plan_id: str)
async SessionEvidenceClosureStore.export_session_closure(session_id: str, *, policy: SessionClosurePolicy)

Release source · Runtime guarantees · Capability guides

from cayu import SharedSessionClosureStore

Reference-only owner whose records are never session-owned.

Bases: RetainedSessionClosureStore.

SharedSessionClosureStore.__init__(store_id: str, record_class: str='records') -> None
async SharedSessionClosureStore.inspect_session_closure(session_id: str, *, policy: SessionClosurePolicy)
async SharedSessionClosureStore.erase_session_closure(session_id: str, *, policy: SessionClosurePolicy, plan_id: str)
async SharedSessionClosureStore.export_session_closure(session_id: str, *, policy: SessionClosurePolicy)

Release source · Runtime guarantees · Capability guides

from cayu import TaskSessionClosureStore

Bounded task-session adapter; deletion requires an explicit store seam.

TaskSessionClosureStore.__init__(store: Any) -> None
async TaskSessionClosureStore.inspect_session_closure(session_id: str, *, policy: SessionClosurePolicy)
async TaskSessionClosureStore.claim_session_closure(session_id: str, *, policy: SessionClosurePolicy, plan_id: str) -> TaskSessionClosureClaim
async TaskSessionClosureStore.erase_session_closure(session_id: str, *, policy: SessionClosurePolicy, plan_id: str)
async TaskSessionClosureStore.export_session_closure(session_id: str, *, policy: SessionClosurePolicy)

Release source · Runtime guarantees · Capability guides