divio_type: reference audience: agentic-framework-core-team updated: 2026-08-23


Data Model: Durable Verdict Saves

VerdictCommitQueue

Checkout-wide synchronization primitive for automatic review evidence commits.

FieldTypeRule
git_common_dirabsolute pathResolve through the canonical Git topology helper.
lock_pathabsolute pathMission-independent stable filename below the common directory.
timeout_secondsfloatDefaults to exactly 10.0; must be positive.
acquired_atmonotonic timestampProcess-local diagnostic only; never persisted as authority.

Relationships: one queue covers every mission and linked worktree sharing a Git common directory; independent clones have independent queues.

ReviewCycleEvidence

Existing durable evidence-content entity, extended only with pending/adoption lifecycle behavior.

FieldTypeRule
missionmission identityMust match the active mission.
work_packageWP identityMust match the submitted WP.
cyclepositive integerAllocated under the short mission status lock.
reviewerstringPart of identical-submission matching.
bodyrendered evidencePart of identical-submission matching.
affected_filesordered/canonical collectionPart of identical-submission matching.
pathgoverned relative pathStable pointer returned to the event/result.
destination_refGit refSelected by existing placement governance.

The artifact does not own the verdict value. It remains authoritative only for review evidence content.

VerdictPersistenceOutcome

Typed result carried from evidence persistence to the reviewer command.

FieldTypeRule
classificationenumdurable, busy, persistence_failed, or local_only.
verdict_durably_persistedboolTrue only for independently verified durable.
evidence_refoptional pathRequired for durable success and failures after a file was written.
destination_refoptional refRequired for durable success.
reasonoptional stable codeRequired for every non-durable outcome.
messagehuman-readable textMust not contradict classification.

State transitions

requested
├── --no-auto-commit ───────────────> local_only
└── automatic
    ├── queue timeout ──────────────> busy
    └── queue acquired
        ├── adopt matching pending evidence
        └── allocate + write evidence
              ├── commit/read-back failure -> persistence_failed (artifact retained)
              └── committed/read-back verified -> evidence_durable
                    ├── event append succeeds -> durable
                    └── event append fails
                          ├── serialized compensation succeeds -> persistence_failed (evidence removed)
                          └── compensation fails loudly -> persistence_failed (evidence may remain non-current)

Validation invariants

1. durable implies the event exists, references evidence_ref, and that exact content is reachable at destination_ref. 2. busy mutates neither evidence nor current-verdict state. 3. persistence_failed is never wrapped in a success result; a written artifact is retained and named. 4. local_only is successful only as an explicitly requested non-durable operation. 5. Two durable concurrent submissions have distinct evidence references. 6. An identical retry reuses the same pending evidence path and bytes; a non-identical retry never adopts it. 7. Current verdict is reduced only from event history; evidence content is read only from review-cycle records. 8. Command orchestration owns the queue lease. The evidence persistence operation never reacquires it, and event-failure compensation reacquires it only after the event status lock has been released.