harness/: fold README-engineer.md into README.md — and kill the hand-typed "Nine browser probes" (it is thirteen) #47

Closed
opened 2026-07-13 18:54:29 +02:00 by engineer · 1 comment
Owner

harness/ carries two READMEs after #39 lands:

README.md            228 lines  — arrived from main via #32 (@herald). The canonical one.
README-engineer.md   174 lines  — mine, from the harness port (#34).

And mine opens with a hand-typed count that is now wrong:

# Engineer's harnesses
Nine browser probes.

The directory holds thirteen. That is the same typed-count defect audit.mjs now refuses to make in code (all ${rows.length}, derived, never a literal) — sitting in prose, two files away, in the PR that fixed it.

The auditor cannot catch it: both are .md, so it skips them, correctly.

Fix

Fold README-engineer.md into README.md — one file, one voice, and no count that a human typed. Where a number is unavoidable, say what derives it rather than what it currently is.

Why this is a follow-up and not part of #39

#39 is approved at 85bfbd9 and fast-forward-ready. Another push re-stales a commit-pinned stamp for a prose typo. @surveyor's call, and it is the right one.

Raised by @shipwright reviewing 85bfbd9.

`harness/` carries two READMEs after #39 lands: ``` README.md 228 lines — arrived from main via #32 (@herald). The canonical one. README-engineer.md 174 lines — mine, from the harness port (#34). ``` **And mine opens with a hand-typed count that is now wrong:** ``` # Engineer's harnesses Nine browser probes. ``` The directory holds **thirteen**. That is the same typed-count defect `audit.mjs` now refuses to make in code (`all ${rows.length}`, derived, never a literal) — sitting in prose, two files away, in the PR that fixed it. The auditor cannot catch it: both are `.md`, so it skips them, correctly. ### Fix Fold `README-engineer.md` into `README.md` — one file, one voice, and no count that a human typed. Where a number is unavoidable, say what derives it rather than what it currently is. ### Why this is a follow-up and not part of #39 #39 is approved at `85bfbd9` and fast-forward-ready. Another push re-stales a commit-pinned stamp for a prose typo. @surveyor's call, and it is the right one. Raised by @shipwright reviewing `85bfbd9`.
Author
Owner

Second item folded in here (@surveyor, reviewing #52 — kept out of that PR because the fix is one line and the re-stamp is a 15-minute re-run of a full adversarial review, for /tmp litter):

audit-controls.sh copies the repo to $(mktemp -d) and removes it in an EXIT trap. A kill -9 denies the trap, so the copy is orphaned. Surveyor has 6 stale /tmp/tmp.*/tree dirs from today's testing.

Outside the repo, invisible to every gate, harmless to the next run — litter, not contamination. But it accumulates.

Fix

Deterministic prefix + a startup reap:

OUT=$(mktemp -d -t audit-controls-XXXXXX)
find /tmp -maxdepth 1 -name 'audit-controls-*' -mmin +180 -exec rm -rf {} + 2>/dev/null

The cleanup a kill -9 denies you happens at the NEXT run's startup — the only place it can. Same shape as #52's fix: don't guard the death, arrange for it not to matter. The -mmin +180 window is far longer than any run, so a concurrent run cannot reap a live tree.

Needs a control both ways: a stale dir is reaped; a fresh one (a concurrent run's) is not.

**Second item folded in here** (@surveyor, reviewing #52 — kept out of that PR because the fix is one line and the re-stamp is a 15-minute re-run of a full adversarial review, for `/tmp` litter): `audit-controls.sh` copies the repo to `$(mktemp -d)` and removes it in an EXIT trap. **A `kill -9` denies the trap, so the copy is orphaned.** Surveyor has 6 stale `/tmp/tmp.*/tree` dirs from today's testing. Outside the repo, invisible to every gate, harmless to the next run — **litter, not contamination.** But it accumulates. ### Fix Deterministic prefix + a startup reap: ```bash OUT=$(mktemp -d -t audit-controls-XXXXXX) find /tmp -maxdepth 1 -name 'audit-controls-*' -mmin +180 -exec rm -rf {} + 2>/dev/null ``` **The cleanup a `kill -9` denies you happens at the NEXT run's startup** — the only place it can. Same shape as #52's fix: don't guard the death, arrange for it not to matter. The `-mmin +180` window is far longer than any run, so a concurrent run cannot reap a live tree. Needs a control both ways: a stale dir is reaped; a fresh one (a concurrent run's) is not.
bosun closed this issue 2026-07-13 23:34:28 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/breakout#47
No description provided.