WI-3: Compaction observers → revoke + runtime_generation auto-revoke #830

Open
opened 2026-07-17 23:55:07 +00:00 by jason.woltje · 0 comments
Owner

OPUS-SECREV MANDATORY (revocation/lifecycle surface).

Deliverable 3 (BUILD-BRIEF §3.3). Compaction observers → REVOKE: Claude PreCompact + SessionStart(matcher=compact); Pi session_before_compact/context equivalents. Any runtime_generation bump (reload/resume/fork, same PID included) auto-revokes the prior incarnation (D4).

Amended T-A threat contract (D2-v5, supersedes v3/v4): hard fail-closure holds when ≥1 compaction observer fires OR after lease expiry; dual-hook-miss within TTL = named BOUNDED RESIDUAL STALE WINDOW (disclosed, not silent), bounded by TTL (R5: 300s max, soak-tighten only) — do NOT claim the mutator gate bounds within-window actions. Total gate-hook miss = T-C.

ACs: T12b (prior VERIFIED → both hooks miss → within-TTL mutator ALLOWED, after-TTL DENIED — report BOTH); T30 dual-hook-miss matches the amended threat table within+after TTL. Depends on WI-1/WI-2; gated on WI-0 probe 3.

Authority (build AGAINST these, do not re-derive): BUILD-BRIEF 89fdbc27, SPEC-v5 a6d07ade, RATIFICATION bac58319, sol red-team 3da326a4. Coder MUST re-verify sha256 before build. Target: framework-native packages/mosaic/ in mosaicstack/stack (NOT jarvis-brain, NOT ~/.config/mosaic/ directly). M1 = Claude + Pi only.

Review discipline: red-first TDD; author≠reviewer; no self-merge; exact-head RoR (reviewed-SHA=merged-SHA); closes #<this>; full 40-char head; never edit tests to pass / never force-merge red / never --no-verify. Mos merges after review + green suite + (for security surfaces) Opus-SECREV.

**OPUS-SECREV MANDATORY (revocation/lifecycle surface).** Deliverable 3 (BUILD-BRIEF §3.3). Compaction observers → REVOKE: Claude `PreCompact` + `SessionStart(matcher=compact)`; Pi `session_before_compact`/`context` equivalents. Any `runtime_generation` bump (reload/resume/fork, same PID included) auto-revokes the prior incarnation (D4). **Amended T-A threat contract (D2-v5, supersedes v3/v4):** hard fail-closure holds when ≥1 compaction observer fires OR after lease expiry; **dual-hook-miss within TTL = named BOUNDED RESIDUAL STALE WINDOW (disclosed, not silent), bounded by TTL (R5: 300s max, soak-tighten only)** — do NOT claim the mutator gate bounds within-window actions. Total gate-hook miss = T-C. **ACs:** T12b (prior VERIFIED → both hooks miss → within-TTL mutator ALLOWED, after-TTL DENIED — report BOTH); **T30** dual-hook-miss matches the amended threat table within+after TTL. Depends on WI-1/WI-2; gated on WI-0 probe 3. **Authority (build AGAINST these, do not re-derive):** BUILD-BRIEF `89fdbc27`, SPEC-v5 `a6d07ade`, RATIFICATION `bac58319`, sol red-team `3da326a4`. Coder MUST re-verify sha256 before build. Target: framework-native `packages/mosaic/` in `mosaicstack/stack` (NOT jarvis-brain, NOT `~/.config/mosaic/` directly). M1 = Claude + Pi only. **Review discipline:** red-first TDD; author≠reviewer; no self-merge; exact-head RoR (reviewed-SHA=merged-SHA); `closes #<this>`; full 40-char head; never edit tests to pass / never force-merge red / never `--no-verify`. **Mos merges** after review + green suite + (for security surfaces) Opus-SECREV.
jason.woltje added this to the Compaction-Refresh Mechanism (M1: Claude+Pi) milestone 2026-07-17 23:55:07 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#830