Skip to content

docs(tend2): plant the garden map - #209

Open
jahala wants to merge 1 commit into
mainfrom
garden/map
Open

jahala wants to merge 1 commit into
mainfrom
garden/map

Conversation

@jahala

@jahala jahala commented Sep 5, 2026

Copy link
Copy Markdown
Owner

What

tilth becomes a bed of the plotplot garden. This PR plants its docs/tend2/ map: one project loop and three module loops, all born open, no stamps. Nothing under src/ changes.

Loop Holds
tilth integration: workspace green on stable; byte-identical CLI and MCP output against the v0.10.1 binary on the fixture corpus
core the tilth-core library crate weed will depend on: no CLI/MCP deps in its tree, negotiated public API, test count ≥ 654, no new dependencies
skill the context diet: instructions into skills/SKILL.md, served block under 120 tokens, AGENTS.md regen still a no-op
papers garden.json, .brand/products/tilth/, footer listing every bed, a committed metric result

Supporting changes

  • .gitignore: /docs was ignored wholesale. It becomes /docs/* with docs/tend2/, docs/ab/, and docs/proof-2026-09.md re-included. Everything else under docs/ stays local as before.
  • scripts/regen-agents-md.sh: tend2 init writes a marked block into AGENTS.md. The regen script now carries that block across a regeneration, so the CI no-op check and the agent contract coexist. Verified idempotent: two runs, zero diff.
  • scripts/check/context-cost.sh: the umbrella's context probe as a script. Spawns the server, reads initialize.instructions and tools/list, counts characters over four. Fails today by design; it is the failing test for the diet.

Measured before the diet (v0.10.1, launched in the gin fixture)

Mode Instructions Tool schemas
read-only 1718 ch / 430 tk 8632 ch / 2158 tk
edit 2028 ch / 507 tk 12276 ch / 3069 tk

The project fingerprint accounts for 327 of the instruction characters here (566 when launched in this repo). The bar is 120 tokens.

Verification

  • tend2 lint docs/tend2/*.tend2.html --strict: all four clean
  • tend2 next docs/tend2: routes to core
  • bash scripts/regen-agents-md.sh && git diff --exit-code AGENTS.md: no diff
  • markdownlint on prompts/ and AGENTS.md with the repo config: clean
  • cargo test on this tree: 654 passed (650 lib, 4 bin), unchanged

What follows on this branch's children

The tilth-core workspace split (once weed's builder sends the API list), then the diet, then the papers. Each arrives as its own PR with evidence. Nothing here is merged, tagged, or published by me.

🤖 Generated with Claude Code

tilth joins the plotplot garden as a bed: the umbrella's map carries the
fit checks, this repo's docs/tend2/ carries the module checks. Four loops,
all born open: tilth (integration: workspace green, byte-identical output
proof), core (the tilth-core library crate weed depends on), skill (the
context diet: instructions into skills/SKILL.md, served block under 120
tokens), papers (garden.json, brand layer, footer, committed metric).

Two supporting changes make the map committable and honest:

- .gitignore: /docs was ignored wholesale as internal notes. The garden
  needs docs/tend2/, docs/ab/, and docs/proof-2026-09.md in the repo, so
  the rule becomes /docs/* with those three re-included. Everything else
  under docs/ stays local.
- scripts/regen-agents-md.sh carries the tend2-managed block of AGENTS.md
  across a regeneration. tend2 init writes that block; without this the
  CI "regen is a no-op" check and the agent contract could not coexist.

scripts/check/context-cost.sh is the umbrella's probe as a script: spawn
the server, read initialize.instructions and tools/list, count characters
over four. It is the evidence for the skill loop's context-cost check and
fails today by design (430 to 567 tokens served against a bar of 120);
the before numbers are recorded in the loop's Tried.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Comment thread docs/tend2/loop.js
H2_RE.lastIndex = 0;
let match;
while ((match = H2_RE.exec(articleHtml)) !== null) {
const text = match[2].replace(/<[^>]+>/g, "").replace(/—.*$/, "").trim();

This branch has not been deployed

No deployments
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.

2 participants