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

@os-help os-help commented Aug 10, 2026

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.

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

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 10, 2026 7:38am

Request Review

@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Aug 10, 2026
@os-help os-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 owner August 10, 2026 08:39
@hotlong
hotlong enabled auto-merge August 10, 2026 08:40
@hotlong
hotlong added this pull request to the merge queue Aug 10, 2026
Merged via the queue into main with commit 18ff1da Aug 10, 2026
25 of 26 checks passed
@hotlong
hotlong deleted the claude/issue-6726-adr-dead-links branch August 10, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants