Skip to content

[lifecycle-P1] Persisted ownership and generation #1689

Description

@edelauna

Tracking

Scope

Own these gaps:

  • LIFE-GAP-001
  • LIFE-GAP-002
  • LIFE-GAP-012
  • LIFE-GAP-017
  • LIFE-GAP-020
  • LIFE-GAP-039

Own these blocks:

  • LIFE-BLK-P1-001
  • LIFE-BLK-P1-002
  • LIFE-BLK-P1-012
  • LIFE-BLK-P1-017
  • LIFE-BLK-P1-020
  • LIFE-BLK-P1-039

Ownership boundary

Own disk-authoritative lifecycle ownership and generation. Own immutable store reads across history types, lifecycle reducers, persistence, delegation, and reconciliation.

Decisions

Recorded in #1706 by the maintainer on 2026-09-27. The P1 spec applies them.

  • Half-finished pair write: roll forward from the committed child, never roll back (ADR-0005, docs/architecture/adr/0005-pair-write-roll-forward.md). LIFE-BLK-P2-004 owns the implementation. This includes one behavior change: a delegated parent whose awaited child no longer links back is released to active.
  • Generation increment: at resume, when the resumed attempt starts to act. Never on open, and never on a completed record (ADR-0003, docs/architecture/adr/0003-attempt-generation.md).
  • Replay settlement: settle on (actionId, generation). actionId stays tied to the tool call (ADR-0003).

Both ADRs are Proposed until #1706 merges.

Dependencies

This workstream starts the critical path. P7 and P2 depend on its ownership vocabulary.

P6 depends on its generation and ownership rules. Coordinate generation semantics with P4 request and call identity.

Provenance

  • #1469 records stale cross-window completion ownership.
  • #1021 records stale message saves that restore detached lineage.

These issues provide history only. Do not close or modify them through this workstream issue.

Closure

Close this workstream only when all listed GAP closure criteria pass.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions