Skip to content

docs: the standard says where it stops, and row 10 is what is left - #492

Merged
JulienMartel merged 2 commits into
mainfrom
worktree-merry-lemur
Aug 29, 2026
Merged

docs: the standard says where it stops, and row 10 is what is left#492
JulienMartel merged 2 commits into
mainfrom
worktree-merry-lemur

Conversation

@JulienMartel

@JulienMartel JulienMartel commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

What

docs/cli-presentation.md's order of work ended at step 9 and read as finished. Four files disagreed. This adds row 10 (haus's three remaining painters) and a new final section, Where the standard stops, that records four scope decisions rather than leaving them as an unstated backlog:

  • trill's trill CLI — plain, for now. It is Swift, so it cannot import snug's package and would have to drive snug run over the record protocol as a coprocess — a feature, not a sweep — and its hausfold.co tab is still positioning-undecided.
  • pounce's command scripts — permanently out. A command's stdout is the launcher's input; there is no terminal on the far end and an escape there is a bug, not a style.
  • The installersbootstrap.sh, haus-activate.sh — exempt because they run before the machine has snug.
  • The maintenance and probe scriptsbuild-golden-vm.sh, trill's dev-install.sh, this repo's script/issue-labels.sh and script/probes/*.sh — out for a different and weaker reason, kept separate on purpose.

AGENTS.md's routing row follows. bench:213 called step 7 "the last open line" in the order of work, which this makes two rows stale; corrected.

Why

A scope that is merely unstated reads as a sweep nobody finished — the next person either re-does the analysis or converts a file that was deliberately left alone. Writing the decisions down makes re-opening one an edit to a named section instead of a quiet commit.

Splitting the installer class from the maintenance class matters more than it looks: build-golden-vm.sh wants tart on PATH and runs on a fully provisioned Mac, so it could source a painter perfectly well. Calling it an installer is how an exemption list becomes a place to hide things.

Verify

  • bats test/bench.bats — 186/186.
  • ./bench overlap — clean against every lane and origin/main.
  • Read the new final section, docs/cli-presentation.mdWhere the standard stops, and check the four bullets match what you want the boundary to be. That is the whole reviewable surface here; the rest is corrections.

Watch out

  • The second commit is the interesting one. A clean-context assurance pass found five ways the first was wrong, three of them introduced by it: the runtime section still listed pounce's commands as snug callers fifty lines above the section calling them out; "the last hardcoded indices in anything the family draws" was false (this repo's own script/ holds theirs); build-golden-vm.sh did not fit the installer justification; the trill docs-tree rule was misattributed (it is hausfold.co's AGENTS.md, and it is about the SITE tree — trill/docs/ grows freely); and the new section, as an ### inside ## Order of work, was nesting ~200 lines of "What N shipped" notes under a heading about exclusions.
  • AGENTS.md was rebased through a conflict. main rewrote the same routing row while this branch was open. Resolved by taking main's newer prose as the base and re-applying this branch's four changes onto it — not by keeping either side whole.
  • Row numbering in the order-of-work table is append-only; docs/drift.md is untouched.
  • Pairs with hausfold/haus#568 — row 10 itself. That PR closes the row this one opens. Either order is fine; this one is honest whether or not it has landed, because row 10 says "⏳ open".

🤖 Generated with Claude Code

https://claude.ai/code/session_0164KPhMYmPNYCLjvqqNuSAX

JulienMartel and others added 2 commits August 29, 2026 08:19
The order of work ended at 9 and read as finished. Four files disagreed, and
a scope that is merely unstated reads as a sweep nobody got round to.

- Row 10: haus's `statusline.sh`, `image-preview.sh` and `lane-open.sh` — the
  last hardcoded 256-colour indices in anything the family draws.
- **Where the standard stops**, new section, three decisions rather than a
  backlog: trill's CLI stays plain (Swift, so it would have to drive `snug run`
  as a coprocess, and its hausfold.co tab is still positioning-undecided);
  pounce's commands are permanently out (stdout is the launcher's input, no
  terminal on the far end); the installers are exempt because all four run
  before the machine has snug — trill's `dev-install.sh` joins haus's three.
- **What 10 has to answer**: `statusline.sh` renders with stdout piped, so
  ui.sh's tty gate has to be forced rather than measured — the first caller
  whose colour is correct without a pty. And PURGE/WARN collapsing onto `warn`
  is fine, because every PURGE use carries its own glyph and this file's own
  rule is that the glyph is load-bearing and the colour is not.

The opening sentence claimed trill and every pounce command were bound by the
standard; both are now named as out, in the section that owns the decision.
AGENTS.md's routing row follows.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_0164KPhMYmPNYCLjvqqNuSAX
Assurance pass on the previous commit found five ways it was wrong, three of
them made worse by the commit itself.

- **The runtime section still listed pounce's commands as snug callers**, fifty
  lines above a new section calling them permanently out. Corrected there, with
  a pointer, rather than left for a reader to reconcile.
- **"The last hardcoded indices in anything the family draws" was false.** This
  repo's own `script/issue-labels.sh` and `script/probes/*.sh` hold theirs, and
  paint to a terminal. The old text ("beyond the CLIs the sweep is NOT done")
  was true and the rewrite hardened it into a claim. Row 10 now says "anything a
  *user* drives", and the excluded scripts get a bullet of their own.
- **`build-golden-vm.sh` is not an installer.** It wants `tart` on PATH and runs
  on a fully provisioned Mac, so "runs before the machine has snug" does not
  cover it, and neither does trill's `dev-install.sh`. Splitting them into a
  second class costs a paragraph and keeps the installer test meaning something:
  one exemption with a real test beats two with a stretched one, because a list
  that stretches is where things get hidden.
- **The docs-tree rule was misattributed.** It is hausfold.co's `AGENTS.md`, not
  trill's, and it forbids growing the SITE tree — `trill/docs/` is trill's manual
  and grows freely. As written a reader would have concluded trill's docs were
  frozen.
- **The section was nesting the whole file under itself.** As an `###` inside
  `## Order of work` it swallowed "What 7/9/10 …" — ~200 lines of notes the
  table links to — under a heading about exclusions. Promoted to `##` and moved
  to the end, where the intro already said it was.

Also: `bench:213` called step 7 "the last open line" in the order of work, which
the previous commit made two rows stale; and `NAME` was a second unclosed gap
beside the row tint, now named as resolved (bold is an attribute, not a role, so
it becomes `subject`).

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_0164KPhMYmPNYCLjvqqNuSAX
@JulienMartel
JulienMartel merged commit c2b5ea7 into main Aug 29, 2026
2 checks passed
@JulienMartel
JulienMartel deleted the worktree-merry-lemur branch August 29, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant