Goal
Determine exactly which parts of a real Claude Code session MARGINAL can reliably observe and close defensible gaps.
Contribution wanted
Characterize the real Claude Code lifecycle surface using an exact tested version and add regression coverage.
At minimum investigate:
- session start;
- session end;
- successful tool calls;
- failed tool calls;
- interrupted/cancelled calls;
- missing completion events;
- concurrent tool calls;
- out-of-order completion;
- resumed sessions if observable;
- user interruption;
- hook/plugin failure;
- Claude Code shutdown with outstanding actions.
Evidence discipline
Every lifecycle signal must be classified as:
- proven;
- inferred;
- unavailable.
Unknown must remain unknown.
Missing lifecycle evidence must fail open.
Do not infer successful execution from the existence of a completion-shaped payload unless Claude Code actually guarantees that semantic.
Acceptance criteria
- Document exact Claude Code version(s) used.
- Add characterization tests before behavioral changes.
- Add regression fixtures for every supported lifecycle event shape.
- Explicitly document known lifecycle blind spots.
- Preserve current Decision Ledger/session correlation semantics.
- Preserve fail-open behavior when lifecycle evidence is missing or malformed.
- Do not broaden Claude Code authority based only on increased hook coverage.
- Existing Codex, OpenCode and PrivacyCode behavior remains unchanged.
- Use synthetic test data only.
Valid outcome
A contribution that proves a lifecycle event cannot currently be observed reliably is still a successful result. Do not manufacture support where Claude Code does not expose a defensible signal.
Goal
Determine exactly which parts of a real Claude Code session MARGINAL can reliably observe and close defensible gaps.
Contribution wanted
Characterize the real Claude Code lifecycle surface using an exact tested version and add regression coverage.
At minimum investigate:
Evidence discipline
Every lifecycle signal must be classified as:
Unknown must remain unknown.
Missing lifecycle evidence must fail open.
Do not infer successful execution from the existence of a completion-shaped payload unless Claude Code actually guarantees that semantic.
Acceptance criteria
Valid outcome
A contribution that proves a lifecycle event cannot currently be observed reliably is still a successful result. Do not manufacture support where Claude Code does not expose a defensible signal.