docs: stop advertising src/agents and src/cubes, guard the tree in CI - #559
Merged
Merged
Conversation
#512 deleted `src/agents/` when the AI surface went skills-only, but seven maintainer docs kept printing `src/agents/*.agent.ts` in their tree diagrams and registration tables. `code_examples.md` was the worst of it: after registering a skill it told the author to "add its name to an agent in `src/agents/*.agent.ts`" — an instruction that cannot be followed. `src/cubes/` had the same shape, dropped in favour of datasets (ADR-0021, noted in objectstack.config.ts) and still drawn in two trees. Nothing checked, because a path in prose is just prose. That is the same failure mode as #493 one layer out: metadata validation sees a well-formed string and stops, so the reference rots silently and the next reader — human or agent — is sent somewhere that does not exist. - README.md, AGENTS.md, docs/README.md, docs/STATUS.md, docs/ARCHITECTURE.md, docs/developers/code_examples.md: drop the agent and cube directories; README picks up `src/datasets/` (the layer that actually replaced cubes) and its flow count goes 20 → 23; AGENTS.md's `*.action.ts` becomes `*.actions.ts`, the real suffix. - code_examples.md: drop the skill `permissions: [...]` key — SkillSchema has no such field and strips it silently (#511) — and fill the gap the deletions leave. The example now says which two sources a `tools` name can resolve to (platform data tools, or `action_<name>` from an `ai.exposed` Action with a headless path), why `defineTool` is not a third one, that reasoning belongs in `instructions` (ADR-0109), and where the guard lives. - ARCHITECTURE.md: same note, plus the `case_triage` skill its table had been missing. Adds a repo-tree guard to test/docs-drift.test.ts — every `src/<dir>/` a maintainer doc names must resolve on disk, with `docs/archive/` excluded as a historical record. It earned its place immediately by failing on a stray `no src/agents/` parenthetical in this change's own first pass. 155 tests (+9), typecheck, validate and build pass; the 2 remaining validate warnings are the pre-existing campaign_enrollment ones. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y9STuduWbrAwcgviziaV4e
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
yinlianghui
marked this pull request as ready for review
July 31, 2026 02:48
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.
Description
Follow-up to #557, which closed #493. That issue's scoping comment noted the agent half was already retired; this cleans up the docs that never got the memo.
#512 deleted
src/agents/when the AI surface went skills-only, but seven maintainer docs kept printingsrc/agents/*.agent.tsin their tree diagrams and registration tables.docs/developers/code_examples.mdwas the worst of it — after registering a skill it told the author to "add its name to an agent insrc/agents/*.agent.ts", an instruction that cannot be followed.src/cubes/had the same shape: dropped in favour of datasets (ADR-0021, per the note inobjectstack.config.ts) and still drawn in two trees.Nothing checked, because a path in prose is just prose. That is the same failure mode as #493 one layer out: validation sees a well-formed string and stops, so the reference rots silently and the next reader — human or agent — gets sent somewhere that does not exist.
Type of Change
Related Issues
Related to #493, #511, #512, #557
Changes Made
README.md,AGENTS.md,docs/README.md,docs/STATUS.md,docs/ARCHITECTURE.md,docs/developers/code_examples.md— drop the agent and cube directories.README.mdpicks upsrc/datasets/(the layer that actually replaced cubes) and its flow count goes 20 → 23;AGENTS.md's*.action.tsbecomes*.actions.ts, the real suffix.code_examples.md— drop the skillpermissions: [...]key from the worked example (SkillSchemahas no such field and strips it silently, fix(skills): drop the per-skillpermissionskeys — the field does not exist in SkillSchema #511), and fill the gap the deletions leave. The example now states which two sources atoolsname can resolve to (platform data tools, oraction_<name>from anai.exposedAction with a headless path), whydefineToolis not a third one, that reasoning belongs ininstructions(ADR-0109), and where the guard lives.docs/ARCHITECTURE.md— same note, plus thecase_triageskill its table had been missing.test/docs-drift.test.ts— new repo-tree guard: everysrc/<dir>/a maintainer doc names must resolve on disk.docs/archive/is deliberately excluded; it is a historical record and is allowed to describe a repo that no longer exists.Testing
npx vitest run) — 12 files, 155 tests (+9)npx objectstack lint --skip-i18n)objectstack validatepasses with the 2 pre-existingcampaign_enrollmentflow-variable warningssrc/agents/" parenthetical in this change's own first pass. Reworded rather than adding a negation-aware exception: a simple guard that occasionally forces clearer prose beats a clever one.Checklist
.changeset/docs-retired-agent-cube-directories.md, patch)Additional Notes
Scope note:
CHANGELOG.mdanddocs/archive/still mention the agents. Both are historical records and are correct as written — the changelog entry even points at #512 for the retirement. Left untouched, anddocs/archive/is excluded from the guard for that reason.🤖 Generated with Claude Code
https://claude.ai/code/session_01Y9STuduWbrAwcgviziaV4e
Generated by Claude Code