Absorb the writing-style rules; one word for a survey - #189
Merged
Merged
Conversation
…26-08-18 AGENTS.md said "kaibo adopts kaish's `docs/style.md` — that guide names kaibo as an adopter". Both halves have been false since kaish commit e22b0be3 (2026-08-18, "rearrange files and remove docs/style.md"): the file is gone, its content folded into kaish's own AGENTS.md, and that section no longer mentions kaibo. So for three weeks our house rules have told every reader — a fresh session, a subagent with no kaish checkout, a person — to go read a file that does not exist, and "read it before you write help text" has resolved to nothing. Amy asked whether we ever absorbed it, after noticing #183's config prose read "very Claude-compact". The dangling pointer is the likeliest reason it did. Absorbed into AGENTS.md directly rather than into a new docs/style.md, Amy's call: one file, always loaded, nothing to fetch. It costs resident context, and the trade is deliberate — her framing was that prompts should be accessible to all organic and binary readers when we can. Only the parts kaibo did not already have. "Fast and informative failures" is already covered by the error-strings paragraph, "Write for model context" by the three-audiences block, and kaish's "Published builtin text" is clap/ParamSchema specific — we have our own published/internal rule. What is new: - Vocabulary choices — small vocabulary, plain words over figures of speech, American spelling. Framed on the reason that actually applies to us: our synths are mostly not English-first. - One term, one meaning — including the rule for a term that differs between published and internal text, which is how `survey`/`sweep` gets recorded rather than rediscovered. - Provide specific values — the exit code, the size, the default, the condition. - The example is the rule — show the correct example first, make it carry the rule. - A Terms table, seeded with the twelve kaibo terms that carry a guarantee: backend, cast, slot, arm, lane, phase, survey, sweep, dossier, family, allowed set, published. It grows when a collision appears in real prose, not in advance — deliberately shaped to receive later analysis rather than to be complete now. Two deduplications, because one term, one meaning applies to this guide itself. The `family` ruling restated what the Terms table now defines, so the ruling is gone and the table carries it. And the three-audiences block argued the non-English-first case in full; it now points at Vocabulary choices, where that argument lives once. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
kaibo published two words for the same thing. `explore`'s tool description and
CLI help say **survey** ("a cited survey report", "what to survey or map"); the
operator docs said **sweep**, 26 times, and never defined it. A calling agent
reads the first and an operator reads the second, so the split was invisible from
either seat. Amy found it from the config side — "sweep is not one of our terms"
— which is not quite right (it is ours, ~450 uses in code, its own module) but
points straight at the real defect.
`survey` wins in published text because it is already resident: it is in the
front-door `explore` description that every calling agent pays for each session.
`sweep` stays the internal name in code, comments, and module names. Amy's call.
Converted every occurrence of the noun sense across README.md and docs/ — 26
sites in config.example.toml, config.md, README.md, casts.md, rate-limits.md,
and sandbox-probes.md.
The verb sense is left alone, and that distinction is the point of doing this by
hand. "Omit `backend` to sweep every configured backend" is ordinary English for
iterating over all of something, not kaibo's noun; three sites in `job_list`,
`list_models`, and the `list_models` description keep it.
NOT converted: ~25 occurrences in tool descriptions and clap doc comments in
`server.rs` and `cli.rs`. Those live under the 2048-character resident budget and
are the text the coming prompt work is most likely to rewrite, so renaming them
now would collide for no benefit. The Terms table says so in as many words rather
than implying the job is finished.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
# Conflicts: # docs/config.example.toml # docs/config.md
The terms table said `docs/` was converted and the tool descriptions and CLI help were not. The preambles are published prose too — a model reads one every call — and they carry 39 uses of `sweep`. #190 restyled every one of them and kept the word, which is the right call for an unfinished retirement, but it leaves the inventory naming two of the three unconverted surfaces. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two things, and the first explains the second.
The style pointer has been dead since 2026-08-18
AGENTS.md said: "kaibo adopts kaish's
docs/style.md— that guide names kaibo as an adopter… Read it before you write help text or operator docs."Both halves are false. kaish deleted that file in
e22b0be3("rearrange files and remove docs/style.md") and folded its content into its own AGENTS.md § "Writing style", which no longer mentions kaibo. So for three weeks every reader told to go read it — a fresh session, a subagent with no kaish checkout, a person — has found nothing. Amy asked whether we'd ever absorbed it, after noticing #183's config prose read "very Claude-compact". This is very plausibly why.Absorbed into AGENTS.md directly rather than a new
docs/style.md(Amy's call): one file, always loaded, nothing to fetch. It costs resident context and the trade is deliberate.Only what kaibo didn't already have. "Fast and informative failures" is covered by our error-strings paragraph, "Write for model context" by the three-audiences block, and kaish's "Published builtin text" is clap/ParamSchema-specific — we have our own published/internal rule. New:
backend,cast,slot,arm,lane,phase,survey,sweep,dossier,family,allowed set,published. It grows when a collision appears in real prose, not in advance — shaped to receive later analysis rather than to be complete now.Two deduplications, because one term, one meaning applies to the guide itself: the
familyruling restated what the table now defines, and the three-audiences block argued the non-English-first case in full — it now points at Vocabulary choices, where that argument lives once.sweepandsurveywere two words for one thingexplore's tool description and CLI help say survey. The operator docs said sweep, 26 times, never defined. A calling agent reads the first and an operator reads the second, so the split was invisible from either seat.surveywins in published text because it is already resident — it is in the front-doorexploredescription every calling agent pays for each session.sweepstays the internal name in code (~450 uses, its own module). Converted 26 sites acrossREADME.md,config.example.toml,config.md,casts.md,rate-limits.md,sandbox-probes.md.The verb sense is deliberately untouched, which is why this was done by hand rather than with
sed. "Omitbackendto sweep every configured backend" is ordinary English for iterating over all of something, not kaibo's noun — three sites keep it.Not converted: ~25 occurrences in tool descriptions and clap doc comments in
server.rs/cli.rs. They sit under the 2048-character resident budget and are the text the coming prompt work will most likely rewrite, so renaming them now would collide for no benefit. The Terms table states that the retirement is in progress rather than implying it's finished.Suite: 1341 passed, 0 failed.
Overlaps #183 in
docs/config.example.tomlanddocs/config.md— both sides now saysurvey, so the conflict is trivial whichever merges first.🤖 Generated with Claude Code