Skip to content

Commit 65e9c07

Browse files
committed
docs(debt): D-565 external-contributor reproducibility / doc-staleness sweep
Fresh-clone onboarding audit (prompted by Discussion #11): build/test/CI reproduce cleanly with zero host setup; the gaps are maintainer-side tooling + doc staleness (zwasm_from_scratch->zwasm, dead OSS/zig ref, missing cleanup_orphans.sh, README 1.0.0-vs-1.5.1, autonomous-vs-maintenance mismatch, no CONTRIBUTING opt-out notes). Recorded with a fair WORKS list. Companion: zwasm D-526. Handover pointer added.
1 parent 4a2b7e2 commit 65e9c07

2 files changed

Lines changed: 55 additions & 0 deletions

File tree

‎.dev/debt.yaml‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,55 @@
2424
# md-table-align no longer pads it to ~800 KB of whitespace.
2525

2626
active:
27+
- id: "D-565"
28+
status: |-
29+
open (2026-07-28, external-contributor reproducibility audit — Discussion
30+
#11 prompted a fresh-clone onboarding sweep). A stranger's `git clone` builds
31+
+ tests + gets full 3-OS CI gating with ZERO host-specific setup (see WORKS
32+
below); everything that breaks is maintainer-side tooling, and the real
33+
liability is DOC STALENESS, not broken machinery. Gaps:
34+
(1) [staleness, broken even locally] retired co-dev dir name
35+
`zwasm_from_scratch` (real dir = `~/Documents/MyProducts/zwasm/`) still
36+
in `.claude/CLAUDE.md`, `.claude/rules/handover_framing.md`,
37+
`.dev/ubuntunote_setup.md`, D-559-era rows here.
38+
(2) [staleness, dead ref] `~/Documents/OSS/zig/` listed as a live textbook
39+
reference (`.dev/reference_clones.md`, CLAUDE.md Identity table) but is
40+
ABSENT even on the maintainer machine → Zig-stdlib Step-0 survey is dead.
41+
(3) [staleness, missing global hook] `~/.claude/hooks/cleanup_orphans.sh`
42+
cited as a live SessionStart reaper (`orphan_prevention.md`,
43+
`reference_clones.md`) but does not exist → an orphan guarantee not
44+
actually wired. Ship it in-repo under scripts/ (+ $CLAUDE_PROJECT_DIR)
45+
or delete the claim.
46+
(4) [staleness, README] version 1.0.0 (README) vs 1.5.1
47+
(build.zig.zon/handover); size claim 7.8/7.5 MB vs measured 7.07 MB mac.
48+
(5) [staleness, model guidance] `continue` SKILL names Opus 4.6/4.7 vs the
49+
`claude-opus-4-8` pin in settings.json.
50+
(6) [doc/reality, mode] CLAUDE.md + `continue` skill describe a never-stop
51+
autonomous loop while README says PRs closed + handover says
52+
PAUSED/Stopped → readers over-estimate the live cadence. Add a one-line
53+
"maintenance mode" banner.
54+
(7) [onboarding, no CONTRIBUTING note] how to opt OUT of forced-Japanese
55+
chat (settings.json outputStyle + the SessionStart language hook); that
56+
the reference-clone SURVEY workflow needs the gitignored
57+
`.claude/settings.local.json` additionalDirectories + personal
58+
`~/Documents/OSS` clones (a fresh clone's Step-0 survey has nothing to
59+
read); undocumented external tools `clj` (hardcoded /opt/homebrew/bin/clj)
60+
+ `md-table-align`.
61+
(8) [resume degrade] handover "First task on resume" names gitignored
62+
`private/notes/*.md` probe recipes a fresh clone lacks — promote the
63+
load-bearing ones into a tracked ADR/debt body or mark local-only.
64+
WORKS (fair credit — weigh before "fixing" too much): flake.nix + flake.lock
65+
pin Zig 0.16.0; build.zig.zon fetches zwasm (tag v2.3.0, lazy, -Dwasm-gated)
66+
+ zlinter by URL+SHA (no sibling checkout); the main `... ReleaseSafe` build +
67+
`test/run_all.sh` run from a bare clone (the `~/Documents/OSS` refs in e2e
68+
steps are GUARDED and skip); GitHub Actions `scripts/ci_gate.sh` reproduces
69+
the local gate on mac+linux with no personal deps; every settings.json hook
70+
is `$CLAUDE_PROJECT_DIR`-relative; the ADR/debt/ROADMAP/CHANGELOG base ships
71+
in the clone; `cw v0` via `git worktree add ../cw-v0 v0.5.0`. Companion =
72+
zwasm D-526 (same audit, other repo).
73+
category: "docs-onboarding"
74+
barrier: "none (autonomous doc-hygiene drain, easiest-first: items 1-5 are pure staleness sweeps, item 6 a one-line banner, items 7-8 want a short CONTRIBUTING/onboarding note). Not urgent (maintenance mode, PRs paused) but cheap and removes reader-misleading rot. Do items 1-3 first — broken even for the maintainer."
75+
last_reviewed: "2026-07-28"
2776
- id: "D-564"
2877
status: |-
2978
open (2026-07-17, ADR-0174 D6 residual). Thread interrupt family

‎.dev/handover.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@
7070

7171
## Standing units (tracked in .dev/debt.yaml)
7272

73+
- **D-565** — external-contributor reproducibility / doc-staleness sweep
74+
(fresh-clone onboarding audit, Discussion #11). Build/test/CI reproduce
75+
cleanly; gaps are doc rot (`zwasm_from_scratch`→`zwasm`, dead `OSS/zig`
76+
ref, missing `cleanup_orphans.sh`, README 1.0.0-vs-1.5.1, autonomous-vs-
77+
maintenance mismatch) + no CONTRIBUTING opt-out notes. Companion: zwasm D-526.
78+
7379
- **Perf campaign (§9.2.S) — PAUSED** (D-520 / D-386 / D-005/006).
7480
- **D-513** — clojure.core.reducers / clojure.repl / var :doc.
7581
- **D-548** — residual low-core exposures (a) future/promise SIGABRT

0 commit comments

Comments
 (0)