Commit Graph
2 Commits
Author SHA1 Message Date
jeffryandClaude Opus 5 d3fec24bc6 guarantees: promise visibility about the surface we do not promise
loom's .usages.md for this page found the hole. The docs site depends on the
command surface — its README and publish script tell a person to type loomctl
external add loom/<repo> <doc>.md — and this page explicitly does not promise it.
Nothing parses the command, which is exactly why no check would catch a rename:
the thing that moved is not a document anybody adopted.

The answer is not to promise the surface, which would freeze the CLI. It is to
promise that a change to it lands on this page — which consumers already lock — so
a rename reports 200 the day it happens. The exclusion goes from "you are on your
own" to "you will be told", and it costs one append-only section.

Same shape as a supersession in the event log: the record is not that the thing
never changes, it is that the change is findable by whoever depended on it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
2026-09-08 10:41:29 -04:00
jeffryandClaude Opus 5 4e7aa1ff1f loom-cli publishes one page: what the tool guarantees, not what it does
The earlier decision stands rather than reverses. .loom/published/ was recorded as
deferred, not declined — it earns publication when somebody depends on the tool's
behaviour rather than reading its help — and a docs site whose build calls add,
check and apply is that consumer. The condition fired.

The delta is real and is not the command list: --help says what the tool does, and
a reader cannot learn from it which behaviours survive the next version. The
sharpest case is loom's — the tool is now a second holder of externals' rule that
the lock is the publisher's ETag and never one you compute, and nothing anywhere
said the tool holds it, in a repository where a specimen was written that computed
a hash instead.

Includes what a contract must include and the ask did not mention: what is not
promised. The command surface, the orientation file's format across versions, the
precision of the visibility signal, and that anything is checked when nobody is
looking. That is the half a reimplementation needs most, and it keeps the page from
quietly committing us to the CLI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
2026-09-08 10:33:14 -04:00