I3146 — A closed session record says whether it is complete, and one that changed the tree without saying what it served is not
Derive a completeness verdict for every closed record (complete, incomplete with named reasons, legacy-unverifiable) and for the calling provider session's open episode; report it on doctor, check and finish; keep episode_closed, task_completed, verified and accepted as four distinct facts.
BLOKOVÁNO vlna 3 · p1 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3142 is done. The status is derived from that, not declared.
Cíl
Derive a completeness verdict for every closed record (complete, incomplete with named reasons, legacy-unverifiable) and for the calling provider session's open episode; report it on doctor, check and finish; keep episode_closed, task_completed, verified and accepted as four distinct facts.
Proč
On 2026-09-11 the owner asked why a record had no progress or description and why that was not enforced. The body is now composed (sessions/README.md), but the validator still checks shape only, and session/v1 leaves tasks, issues and milestones as arrays with no constraint (share/schemas/majordomus/session-record/session-record.v1.schema.json). Proposed in ADR 0182 (A closed session record is judged by what it can attribute, not only by its schema) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c116#0, chatgpt-majordomus:c116#3.
Aktuální stav
Records with changed_files or commits and empty tasks/issues validate clean; an interrupted record with no handover validates clean.
Cílový stav
The verdict is derived, never stored as authored text; a record from before the verdict existed is legacy-unverifiable, not invalid.
Rozsah
- apps/majordomus-cli/src/session
- lib/session.sh
- lib/doctor.sh
- lib/finish.sh
- docs/CONTINUITY.md
Mimo rozsah
- Rewriting existing records
- A session/v2 schema
- Changing session-record.v1 (a declared reason lives in the ledger)
Závislosti
Co na tom čeká
Kritéria přijetí
- Changed files plus empty attribution and no declared reason is incomplete
- Interrupted with neither handover nor continuation reason is incomplete
- doctor, check and finish name the verdict and its reasons
- The verdict distinguishes closed, completed, verified and accepted
- Each new case named here takes its number from `scripts/case-numbers next` and is announced on the board before the file is written (ADR 0053); a case number written in this record before that is provisional
Validace
- bash test/run.sh --no-skips 63_session_records 61_session_envelope
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test session_domain
Požadované důkazy
- case_record_states_completeness
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3146.yaml. Read it back with majordomus plan show I3146.