You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was generated by AI, delegated directly by the repository operator to resolve #1417's blocker.
Companion to #1417. That issue wires the docs/topics/** prune gate; this one disposes of the 17
contract-slice directories currently on main. The two are independent — #1417's decision
includes a pure-deletion carve-out, so the gate never blocks a prune and the tickets may land in
either order.
Full evidence and rationale: the decision comment on #1417.
Why the 17 are not one population
Reading all 17 slices, their git history, and their linked tracker issues splits them three ways.
A mechanical bulk delete would lose durable information; a per-slice disposition does not.
Phase A — mechanical prune (8 slices, no triage needed)
Delete these outright. All phases [DONE], shipped artifacts present in the tree, no un-routed
follow-ups, zero inbound markdown links:
docs/topics/underspecification/ — self-declares "COMPLETED (recorded 2026-07-21) … no further work"
docs/topics/handoff-bg-cutover/ — every step shipped; plugins/session-flow/skills/continue-in-background/ exists
docs/topics/plugin-organization/ — ## Plan is literally "(unfilled)"; grammar + vocabulary graduated to docs/CATALOG-TAXONOMY.md
docs/topics/github-plugin-candidates/ — 7 phases [DONE]; plugins/github/skills/{audit,advise,setup} ship. Also actively stale: cites the retired consumer-config-layering path in ~6 places
docs/topics/dometrain-mcp/ — 7 phases [DONE], plugin ships. Two unresolved empirical questions (bad-key 401 behavior; duplicate plugin.json name behavior) are recorded only here — route to the tracker or drop them deliberately before deleting
docs/topics/babysit-prs-migration/ — stale [DOING]/[TODO] marks from 07-18 for an engine that already shipped (babysit-prs + babysit-loop both exist)
docs/topics/boris-video-absorption/ — 8 phases [DONE], "Open questions: None blocking". Its deferred-with-trigger items live only in a machine-local digest slice; decide explicitly whether any are worth a tracker issue first
Phase B — cheap graduation, then prune (3 slices)
Each needs one human-authored paragraph promoted somewhere durable before the directory goes. Do not
fold these into Phase A's delete.
docs/topics/commit-convention-well-known-path/ — the decision and its 3-rung precedence already
graduated to docs/conventions/commit-convention/README.md:80-113. Not graduated: the rejected
alternatives, and a tracked concern that "the operator does not recall ratifying consumer-config-layering … audit which seams were human-ratified vs agent-accreted" — that one is
a tracker issue, not a doc paragraph. Also fix the dangling backtick ref at docs/conventions/commit-convention/README.md:104
docs/topics/plugin-audit-port/ — A1–A5 / B1–B6 [DONE], both plugins ship. B7 "operator cutover
(post-merge, HITL)" is [TODO] and needs a home; four open questions (zone bands, stable-shim, zones.json org layer) are USER-RESERVED and must route to the tracker, not be deleted. Also fix
the dangling ref at docs/adr/0005-…:326
docs/topics/fable-field-guide-audit/ — remediations shipped via feat(playbooks): adopt the fable field guide audit remediations into fable-5 #1261 and plugins/playbooks/skills/fable-5/. Not graduated: the "dropped"/"hold" rulings and codex-review.md §4's standing objection. Separately, this slice carries raw-capture.txt
and source-article.md — a raw command capture and verbatim third-party article text, both
forbidden by the convention's redaction bar (docs/conventions/topic-docs/README.md:315-320).
That is a live violation regardless of this ticket's outcome; handle it here since the directory
is being touched anyway
Phase C — register hygiene (6 live programs, no deletion)
These stay. They are multi-branch program slices, not violations — see #1417's decision. This phase
only ensures each one is legitimately registrable:
needs an open tracker issue — file one, or register against #778 if genuinely the same program
loop-engineering-codification
4 un-routed follow-ups, 2 open interview branches
needs an open tracker issue — file one; route the four follow-ups
ai-adoption-ladder
T1–T7 graduated to plugins/autonomy/reference/; 10 RESEARCH-*.md and native-vs-hook-telemetry-audit.md did not
needs an open tracker issue. The telemetry audit is a version-pinned decision record with revisit triggers — it is ADR-shaped and is the strongest ADR candidate in the whole corpus
Hard constraint
Do not delete docs/topics/loop-engineering-codification/. Its PLAN holds the sole record of a
USER-RESERVED, still-open question — "whether contract slices should persist on the default branch
at all" — which is the premise of this entire ticket and which #1417's decision explicitly declined
to answer. Deleting it destroys the record of its own premise.
Verification
git ls-tree -d --name-only origin/main docs/topics/ returns exactly the 6 registered program
slugs when all phases are complete
No new dangling references: git grep -nE '\]\([^)]*docs/topics/[^)]*\)' -- . ':!docs/topics/'
stays empty (it is empty today — there are zero inbound markdown links, so no link-checker risk)
Every USER-RESERVED question and un-routed follow-up named above exists as a tracker issue before
its slice is deleted
One PR per phase. Phase A is a single mechanical deletion PR and is CI-cheap (docs/topics/ is on scripts/docs-only-paths.txt:43, so the heavy lanes report evaluated-and-not-applicable). Phases B
and C carry judgment and should not ride along with it.
This was generated by AI, delegated directly by the repository operator to resolve #1417's blocker.
Companion to #1417. That issue wires the
docs/topics/**prune gate; this one disposes of the 17contract-slice directories currently on
main. The two are independent — #1417's decisionincludes a pure-deletion carve-out, so the gate never blocks a prune and the tickets may land in
either order.
Full evidence and rationale: the decision comment on #1417.
Why the 17 are not one population
Reading all 17 slices, their git history, and their linked tracker issues splits them three ways.
A mechanical bulk delete would lose durable information; a per-slice disposition does not.
Phase A — mechanical prune (8 slices, no triage needed)
Delete these outright. All phases
[DONE], shipped artifacts present in the tree, no un-routedfollow-ups, zero inbound markdown links:
docs/topics/plugin-fleet-sync-skill/— 6 phases[DONE]2026-07-17;plugins/claude-ops/skills/plugins/shipsdocs/topics/underspecification/— self-declares "COMPLETED (recorded 2026-07-21) … no further work"docs/topics/handoff-bg-cutover/— every step shipped;plugins/session-flow/skills/continue-in-background/existsdocs/topics/plugin-organization/—## Planis literally "(unfilled)"; grammar + vocabulary graduated todocs/CATALOG-TAXONOMY.mddocs/topics/github-plugin-candidates/— 7 phases[DONE];plugins/github/skills/{audit,advise,setup}ship. Also actively stale: cites the retiredconsumer-config-layeringpath in ~6 placesdocs/topics/dometrain-mcp/— 7 phases[DONE], plugin ships. Two unresolved empirical questions (bad-key 401 behavior; duplicateplugin.jsonname behavior) are recorded only here — route to the tracker or drop them deliberately before deletingdocs/topics/babysit-prs-migration/— stale[DOING]/[TODO]marks from 07-18 for an engine that already shipped (babysit-prs+babysit-loopboth exist)docs/topics/boris-video-absorption/— 8 phases[DONE], "Open questions: None blocking". Its deferred-with-trigger items live only in a machine-local digest slice; decide explicitly whether any are worth a tracker issue firstPhase B — cheap graduation, then prune (3 slices)
Each needs one human-authored paragraph promoted somewhere durable before the directory goes. Do not
fold these into Phase A's delete.
docs/topics/commit-convention-well-known-path/— the decision and its 3-rung precedence alreadygraduated to
docs/conventions/commit-convention/README.md:80-113. Not graduated: the rejectedalternatives, and a tracked concern that "the operator does not recall ratifying
consumer-config-layering… audit which seams were human-ratified vs agent-accreted" — that one isa tracker issue, not a doc paragraph. Also fix the dangling backtick ref at
docs/conventions/commit-convention/README.md:104docs/topics/plugin-audit-port/— A1–A5 / B1–B6[DONE], both plugins ship. B7 "operator cutover(post-merge, HITL)" is
[TODO]and needs a home; four open questions (zone bands, stable-shim,zones.jsonorg layer) are USER-RESERVED and must route to the tracker, not be deleted. Also fixthe dangling ref at
docs/adr/0005-…:326docs/topics/fable-field-guide-audit/— remediations shipped via feat(playbooks): adopt the fable field guide audit remediations into fable-5 #1261 andplugins/playbooks/skills/fable-5/. Not graduated: the "dropped"/"hold" rulings andcodex-review.md§4's standing objection. Separately, this slice carriesraw-capture.txtand
source-article.md— a raw command capture and verbatim third-party article text, bothforbidden by the convention's redaction bar (
docs/conventions/topic-docs/README.md:315-320).That is a live violation regardless of this ticket's outcome; handle it here since the directory
is being touched anyway
Phase C — register hygiene (6 live programs, no deletion)
These stay. They are multi-branch program slices, not violations — see #1417's decision. This phase
only ensures each one is legitimately registrable:
autonomy-ignitionfresh-eyes-checkpoint-auditcontext-engineering-claude-5[TODO]ladder-climb-roadmap[DONE]loop-engineering-codificationai-adoption-ladderplugins/autonomy/reference/; 10RESEARCH-*.mdandnative-vs-hook-telemetry-audit.mddid notHard constraint
Do not delete
docs/topics/loop-engineering-codification/. Its PLAN holds the sole record of aUSER-RESERVED, still-open question — "whether contract slices should persist on the default branch
at all" — which is the premise of this entire ticket and which #1417's decision explicitly declined
to answer. Deleting it destroys the record of its own premise.
Verification
git ls-tree -d --name-only origin/main docs/topics/returns exactly the 6 registered programslugs when all phases are complete
git grep -nE '\]\([^)]*docs/topics/[^)]*\)' -- . ':!docs/topics/'stays empty (it is empty today — there are zero inbound markdown links, so no link-checker risk)
its slice is deleted
topic-slice-prune-gate— pure-deletion diffspass by the carve-out
Suggested PR shape
One PR per phase. Phase A is a single mechanical deletion PR and is CI-cheap (
docs/topics/is onscripts/docs-only-paths.txt:43, so the heavy lanes report evaluated-and-not-applicable). Phases Band C carry judgment and should not ride along with it.