Skip to content

docs: make AGENTS.md the home of design principles and documentation rules - #260

Merged
SaladDay merged 5 commits into
mainfrom
docs/agents-design-principles
Sep 30, 2026
Merged

SaladDay merged 5 commits into
mainfrom
docs/agents-design-principles

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Part of the documentation overhaul.

Changes

AGENTS.md becomes the single home of the project's design rules and documentation rules. CONTRIBUTING.md keeps how-to-work material. Nothing is stated in both files.

  • Protocols at every boundary. Each component boundary has one protocol: one code file and one document. Protocols are deterministic: support is declared, never discovered through type assertions or name checks, and unsupported operations return typed errors. A table maps each boundary to its entry file and protocol document.
  • Complexity stays in the adapter. A new Sandbox Provider, Harness, model provider or vendor feature changes only its adapter. It adds no vendor-specific Core path, store column, migration, deployment field, API field or Web UI. When the protocol cannot express a need, the protocol itself changes, in a change of its own.
  • Public API. The pinned official protocol is the target. Native differences stay explicit in the coverage ledger. Applications reach Core only through the public contract.
  • One home for each setting and datum. Each is written in one place and read from one place, with no fallback or alias. Configuration files are grouped by category. docs/configuration.md owns the layout.
  • Pre-release: no compatibility layers.
  • Known gaps. Short examples of current code that breaks these rules, so they are not copied.
  • Documentation rules. One fact in one place; related material kept together; one audience and one job per document; plain, helpful tone; delete obsolete docs; no hard wraps; Web's page names; OPENAI_BASE_URL/OPENAI_API_KEY in examples.

In CONTRIBUTING.md, the decoupling, extension-contract, pre-release, documentation-rule and design/compatibility sections moved out. Evidence rules sit under Required checks. The ownership map points protocol boundaries and design rules to AGENTS.md.

docs/architecture.md keeps the overview and links to the AGENTS.md boundary table. docs/design-principles.md and contracts/agents-api/README.md link to AGENTS.md instead of restating its rules. The three files this PR owns are unwrapped: one line per paragraph, rendering identical.

Verification

  • make check-names, make check-docs, make check-distribution
  • Relative link and anchor check across the changed files: 0 broken
  • Three rounds of independent blind review (Claude subagents). The third round's small findings were fixed and verified by the checks above.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Move the decoupling principle, extension contracts, pre-release policy and
documentation rules from CONTRIBUTING.md into AGENTS.md as protocol-first
design rules: one protocol per boundary, complexity kept in adapters, one
home per setting and datum, no compatibility layers, and documentation rules.
CONTRIBUTING.md keeps workflow, review, checks and naming. The architecture
overview keeps its boundary responsibilities and links to AGENTS.md for each
protocol's code and document.
Complete the boundary table with every protocol file and the generated
OpenAPI sources, list the files each adapter touches, add known gaps,
correct component ownership and the storage layout, and add the no
hard-wrap documentation rule. Move the remaining adapter rules out of
CONTRIBUTING.md, collapse its per-boundary ownership rows into AGENTS.md,
drop contradicting evidence wording and the stale AGENTS.md name-guard
exception.
List one entry point per protocol boundary, point to the extension guides
for adapter files, add the public API principle moved from CONTRIBUTING.md,
state the storage rule with a compact category list owned in detail by
docs/configuration.md, and keep known gaps as categorical examples. Move
compatibility evidence rules into Required checks, repoint the ownership
links in the contract and service READMEs, and drop allowlist entries for
removed CONTRIBUTING.md text.
Name the authored sources of the three HTTP contracts, link the storage
categories to the configuration reference, keep only the application
boundary principle in the public API rules, restore the test-artifact and
application-ownership lines in CONTRIBUTING.md, correct how Core reaches
Harnesses in the architecture overview, and point the concepts guide and
contract index to AGENTS.md instead of restating its rules.
@SaladDay
SaladDay merged commit a573793 into main Sep 30, 2026
5 checks passed
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