WI-6 (#833): constrained recovery command + mosaic-context-refresh skill wrapper #846
Reference in New Issue
Block a user
Delete Branch "feat/833-constrained-recovery-command"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #833
WI-6 — Constrained recovery command +
mosaic-context-refreshskill wrapperMilestone 188 (Compaction directive-freshness), M1 (Claude+Pi). Delivers the single ungated mutator — the constrained recovery command — plus the durable framework-native
mosaic-context-refreshskill. Recovery mints a fresh receipt challenge and reuses the identical WI-5 receipt/consume-before-promote/promote-last transition; the gate blesses only a fully-literal, zero-expansion argv byte-matching the canonical command.Security core
mutator-gate.py:recovery_invocation_nameis a sound 3-layer construction (reject all shell-active bytes → prove exact single-space argv bijection → allowlist every value position). Every command-substitution/backtick/param-expand/glob/tilde/brace/redirect/control-op/quoting/newline is fail-closed in every argv position. Original${IFS}ACE vector (S-B1) is closed and proven non-wideable.Review record (author ≠ reviewer, both distinct from builder)
2aa438ccc778c4535d49b3e90462bea27d7c591c7573da95daa955ebe298464c.47f1c95628a351b2da62e7fa1edd7220ad2ff64fff10e239c05f255fdd92d747.Reviewed head:
3277faadecbe243e700b2fdc8112b90f85a19d23. Red-first genuine (adversarial B1 suite = 43 failures against the buggy shlex gate). TS gates (vitest/eslint/tsc/prettier) deferred to CI (no local node_modules).WI-6 #833 — R4 EXACT-HEAD REVIEW RECORD (durable binding)
Head:
fc1a86c4713a6a093d192ca9dee9902994ef1f12(R4) · basemain07553ead· merge-base clean descendant of R33277faad(pure forward, no rebase).This supersedes the R3 (
3277faad) review/fire record for the CI-caught manifest defect. R4 delta = 3 files / +13 / -0, data + tests only:framework-manifest.txt(skills/**→[framework];skills-local/**→[operator]carve-out),manifest.spec.ts,manifest-parity.spec.ts. Security surface (mutator-gate.py,daemon.py,recover-context.py) byte-identical to3277faad→ S-B1 non-wideable NOT reopened; R3 SECREV cert carries.R4 review gates — both APPROVE (author ≠ builder)
RoR
WI6-833-CODE-R4-fc1a86c4.mdsha2561148c4beb84384413baaf41ca2640779ef1f82a9de082611d4e1d6e1cedf1cc6.skills/**); A4 red→green = Y.RoR
WI6-833-SECREV-R4-fc1a86c4.mdsha2561ff857e3d07d1c73f55e320aa6a763a3fd4d2e00a119709735ba29c3c9afed01.CI (Gate-2) — GREEN at exact head
Woodpecker pipeline #1928 (pull_request, commit
fc1a86c4713a) = success; all steps OK incltest(the exact step RED at #1927/3277faad). Combined commit-status @fc1a86c4= success.Independent verification (three parties, off fetched branch)
manifest.spec.ts+manifest-parity.spec.ts= 51/51 PASS on an exact-R4 tree, closing the reviewers' vitest-deferral gap.Merge sequence (Mos-owned): consolidated local+mirror re-hash folding the two R4 RoR shas → exact-R4 P6 RE-FIRE (fired == merged SHA) → 6-check + queue guard → squash
closes #833. Posted by MS-LEAD as durable exact-head review binding per team discipline (pr-review gitea-comment broken, #812).