diff --git a/AGENTS.md b/AGENTS.md index 6c05dd1..c6a6372 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -40,6 +40,7 @@ In [docs/decisions.md](docs/decisions.md): - A change to what exists is a major; a minor only adds - Seeded output is promised within one version - An error is a contract by what it names, not its bytes +- A format holding a reference is fenced at link, and its errors name its path - Raising the lowest supported Go is a major - The format check runs on the latest Go only - The changelog heading is the one spelling of a release; CI cuts the tag diff --git a/docs/decisions.md b/docs/decisions.md index 5729990..e4f8df1 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -121,6 +121,13 @@ this repo's own are. A script branches on the exit code and reads the named path or spelling, so those hold; wording improves in a minor. +## A format holding a reference is fenced at link, and its errors name its path + +2026-09-24, larv-review. Goal 2: a format compiles once, and one holding a reference +can compile only once bound, so its fences fire at link and name the category path as +every link error does, a cell's with its line; one without a reference still names its +file at compile. Valid while compilation needs the bound references. + ## Raising the lowest supported Go is a major A consumer building on it breaks, which is the one test every rule above applies; Go's