Repository navigation
Description
Problem
After the supported-version window closes, the frozen prose implementations would remain a second copy of behavior already owned by Go. The original source bodies total 436 scc code lines: suppression checking at packages/agents/source/skills/fix-prose/shared/scripts/check-suppressions.sh:56, preflight at packages/agents/source/skills/fix-prose/shared/scripts/preflight.sh:24, and writer context at packages/agents/source/skills/write-prose-fix/shared/scripts/context.sh:12.
Part of #588 and #327. Removes only this area's non-owner frozen shell after the N-2 warning period; the permanent forwarding entries remain.
Acceptance criteria
- AC1: Given the release record, at least two warning releases have elapsed before any frozen implementation is removed.
- AC2: Given the removal ledger, every removed implementation is one of this area's three frozen bodies with its completed Go owner identified.
- AC3: Given the changed/deleted/renamed path set, no path matches the applicable owner or constitutional policy.
- AC4: Given the generated skill entry points and a supported binary, their behavior matches the immediately preceding Go-backed deployment.
- AC5: Given a missing or too-old binary, the shared launcher's existing failure behavior is unchanged.
- AC6: Given a workflow already in progress, the remaining Go implementation can continue its supported state and notes.
- AC7: Non-functional: regenerating canonical sources reproduces the removal of this area's frozen implementations from packages and deployments.
- AC8: Non-functional: existing Go coverage and retained integration coverage pass on their promised platforms.
- AC9: Given consumer guidance, it accurately describes the supported minimum version and remaining forwarding entry points.
Scope and non-goals
Scope: delete only the non-owner frozen copies preserved by 06 and 07, update their compatibility guidance, and regenerate output/tokens/locks. Resolve the exact frozen paths from those merged rollout ledgers before preparing the deletion diff. The original three script names remain as forwarding entry points through #321's launcher.
Non-goal: deleting or modifying any owner or constitutional path, including a shared library or guard; changing the launcher; removing legacy state/notes support; retiring further Bats; further Go behavior; deleting runtime workflow evidence. The protected deletions belong only to the single cutover directly under #588 with the owner's exact-head review. This area has no protected-path handover at the baseline.
Approach
Check release evidence against docs/compatibility.md:3 and docs/compatibility.md:5. Build the exact removal inventory from 06 and 07, map each body to 01 to 05, and classify every removal before editing. The relevant baseline patterns are .agents/agent-skills.conf:5 and .agents/agent-skills.conf:9; recheck the pinned base's current patterns at implementation time.
If any retained path now matches owner or constitutional policy, leave it intact and hand its exact path and measured size to #588's single cutover; do not delete it here or broaden this child. Keep #328's hook implementations and #321's shared library outside this inventory. Regenerate rather than editing deployed copies manually. A removal of fallback-specific test cases requires separate covered retirement, not an incidental deletion here.
Dependencies
Blocked by: #891, #892, #893, #333, #544, #753.
Prerequisite: release evidence establishing the full N-2 warning window for all three implementations. The required binary and launcher deliveries from #321, #333 and #544 must already be available, and #753 remains the enforcement-protection prerequisite. This child does not depend on #588's protected-path cutover, which avoids a completion cycle.
Size
S. Estimated 536 code lines: deletion of the three frozen originals measured by scc 4.1.0 at 436 code lines, plus 100 for bounded integration/generation adjustments. Recount the actual retained bodies before opening the PR. Exclude only generated output under packages/agents/{claude,codex}/.apm/skills/, .claude/skills/, .agents/skills/, and tokens.json; source copies and frozen copies elsewhere count. Hard limits: 800 code lines and 2,000 prose lines; split rather than exceed either.
Verify plan
- AC1: cite the first deprecation warning and at least two published warning releases; check the minimum version against the release containing all required commands.
- AC2: compare the exact removal ledger with 06/07's frozen-copy inventories, the diff and completed Go owners 01 to 05.
- AC3: classify every added, modified, deleted and renamed path against the pinned base's owner/constitutional patterns; require no match and preserve any protected remainder for Replace complex shell with tested Go, starting with gates and merging #588.
- AC4: run recorded fixtures through both generated harness entry points before and after deletion, comparing status, streams, refusals and state artifacts.
- AC5: run the existing Port the shared skill library (lib.sh, agent.sh, signing.sh, gates.py) to Go #321 shared-launcher missing/outdated-binary integration fixtures without modifying their contract.
- AC6: begin a run before removal and continue it afterwards, including legacy state and notes fixtures; inspect evidence for unintended cleanup.
- AC7: regeneration, token/lock refresh, deployment audit and
mise run check-generated-skillsleave no stale frozen copy or unexplained diff. - AC8: run the existing native Go matrix and retained integration cases on their promised platforms; do not count skipped cases as coverage.
- AC9: compare documentation and command help with supported release evidence and retained public entry points.
- Definition of done: D1 each AC is verified at the merged head, with the commands and results cited in the pull request's Verification. D2 an independent review approves the exact merged head, and every finding has a recorded disposition. D3 required checks pass with no gate loosened. D4 the leak scans the repository specifies are clean, and every post made for this work passes the per-post leak review before it is posted. D5 every commit is signed. D6 the documentation matches the change or the Verification says why there is no impact. D7 every commit has an
Assisted-bytrailer and the pull request has theprovenance:agent-assistedlabel. D8 the pull request stays within the size limits. D9 follow-ups are filed as issues and listed under Related. D10 the merge closes the issue through a closing reference, the board shows Done, and the finalStatus:comment names the merge commit.
Risks
Premature removal would strand consumers still relying on the frozen implementation. A broad cleanup could delete active evidence or a protected guard. Undo: revert this deletion and regenerate to restore the frozen bodies; do not change the supported Go behavior or remove workflow state.
Operator authority
None. Protected deletions are explicitly excluded and remain with #588's single owner-reviewed cutover.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Work type
Projects
- StatusShow more project fieldsBacklog
Activity
tbhb-agent commentedon Oct 27, 2026
Refinement: READY — Remove only non-owner prose shell after the N-2 window
Model: gpt-6-astra
Child 09 Remove only non-owner prose shell after the N-2 window
Verdict: READY
Checked: The three originals total 436 code lines, supporting the 536-line estimate. Removal remains conditional on the warning releases required by
docs/compatibility.md:3anddocs/compatibility.md:5. All 15 current source, package and deployment paths match neither.agents/agent-skills.conf:5nor.agents/agent-skills.conf:9. Actual frozen paths must be recounted and reclassified before deletion; protected paths and active workflow evidence remain excluded.Gaps: None.
Split: None required at the measured baseline.
Definition of done
The definition of done for this issue (Chore). Tick each item and give its evidence.
check-leaks.shwith the repository's private-strings list, and the leak review of each post.docs/, CHANGELOG or help text), or the Verification section says "No doc impact" and why.provenance:agent-assistedlabel.Status:comment names the merge commit.mise run checkis green, and so are the coverage floorsmise run cover-go-checkandmise run cover-py-check, whichcheckdoesn't run.packages/agents/source/commits whatmise run generate-skills, thenmise run skill-tokens, thenapm installrewrite, in that order, andcheck-generated-skills(part oflint) passes.docs/agent-skills-migration.mdor the adoption docs, or the PR's Verification says "No consumer impact" and why.Round: 2 of 3