Skip to content

docs(adr): repair 8 dead source-tree links in ADR-0004 / ADR-0020 and empty the link-gate baseline - #7343

Merged
hotlong merged 2 commits into
mainfrom
claude/issue-6726-adr-dead-links
Aug 10, 2026
Merged

docs(adr): repair 8 dead source-tree links in ADR-0004 / ADR-0020 and empty the link-gate baseline#7343
hotlong merged 2 commits into
mainfrom
claude/issue-6726-adr-dead-links

Conversation

@os-help

Copy link
Copy Markdown
Collaborator

Fixes#6726

All 8 dead ADR → source-tree links in ADR-0004 and ADR-0020 are repaired, and KNOWN_DEAD_TARGETS in scripts/check-adr-links.mjs is now EMPTY — the gate from #6592 no longer ships with a grandfather clause. A follow-up may now remove the baseline mechanism entirely if the maintainer wants it gone.

Premise: all 8 still dead, verified first

Every one of the 8 targets was re-checked against origin/main before any edit — all 8 still missing, and all 8 baseline entries still present. Nothing about this card had gone stale.

Route taken: option (b), plain unlinked path + provenance

None of the 8 could be repointed at a live file — in every case the code genuinely left this repository, which git history confirms rather than assumes. So each link became a plain (unlinked) path in a code span, plus a short note recording where the code went. An ADR is a historical record: the path keeps the reader oriented, the note explains why there is nothing to click, and the gate has no unverifiable link to police.

RecordTargetProvenance (measured from git)
ADR-0004 §2packages/runtime/src/kernel-manager.tsmoved to packages/runtime/src/cloud/ on 2026-05-18 (7dcde27c1), then the whole cloud/ tree removed by #1600
ADR-0004 §2packages/runtime/src/project-kernel-factory.tssuperseded by cloud/artifact-kernel-factory.ts in the same commit, removed by #1600
ADR-0004 §5apps/studio/src/routes/projects.index.tsxapps/studio/ collapsed 2026-05-22 (6bacbced2), migrated to upstream @object-ui/studio 2026-05-24 (06ad57f63)
ADR-0004 §5apps/studio/src/routes/projects.$projectId.index.tsxsame migration
ADR-0020packages/spec/src/contracts/workflow-service.ts#L58deleted 2026-08-01 by #4451 / #4473, which retired the workflow service slot — this closes the [~] follow-up ADR-0020 itself left open
ADR-0020examples/app-crm/src/workflows/stale-opportunity.workflow.ts#L19removed by ADR-0020's own implementation (23c710717); the reference describes the pre-ADR state
ADR-0020examples/app-crm/src/flows/high-value-deal.flow.tscreated by ADR-0020, later dropped 2026-07-05 by 751cf0161 (CRM slimmed to its loading-pipeline core)
ADR-0020examples/app-crm/src/flows/stale-opportunity.flow.tssame commit

Prose is otherwise untouched — only link syntax plus the added notes. ADR-0004 is Superseded and preserved for historical context; nothing in its body was rewritten.

Verification

Forward, in the gate's own enforced direction. With the 8 links fixed but the baseline still full, check-adr-links failed as designed, naming all 8 as stale:

8 stale KNOWN_DEAD_TARGETS entr(y/ies) — the link is no longer broken:
docs/adr/0004-cloud-multi-kernel.md -> ../../packages/runtime/src/kernel-manager.ts
... (all 8)

That is the proof each edit removed a real dead link rather than merely a link — a repair the gate did not see would not have gone stale. The entries were then deleted in the same change.

Reverse. With the baseline empty, one link was restored and the gate went red as a new break (expected direction — an empty baseline must not absorb it):

1 broken relative link(s) under docs/adr/:
docs/adr/0004-cloud-multi-kernel.md:69 -> ../../packages/runtime/src/kernel-manager.ts
resolves to: packages/runtime/src/kernel-manager.ts (missing)

Restored afterwards; tree clean.

Green, after merging origin/main:

✅ check-adr-links --self-test: discrimination, census, ADR-0046 pin and baseline staleness all verified
✅ check-adr-links: 523 relative link destination(s) under docs/adr/ resolve
check-adr-anchors: OK (47 anchored file(s) ...; 20937 citation(s) across 3497 file(s) resolve)
check-nul-bytes: OK (scanned 6739 text file(s) ...; no raw ASCII control bytes)

The success line no longer carries its (N frozen on the shrink-only baseline) suffix, and the census drops 531 → 523 — exactly the 8 destinations that stopped being links. eslint on the touched files: 0 errors.

Notes


Generated by Claude Code

@vercel

vercelBot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectstackIgnoredIgnoredAug 10, 2026 7:38am

Request Review

@github-actionsgithub-actionsBot added size/s documentation Improvements or additions to documentation labels Aug 10, 2026
@os-helpos-help added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 10, 2026 — with Claude
@hotlong
hotlong marked this pull request as ready for review August 10, 2026 08:39
@hotlong
hotlong self-requested a review as a code ownerAugust 10, 2026 08:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/sskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants

@os-help@hotlong@claude