You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: stop advertising src/agents and src/cubes, guard the tree in CI
#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
| Actions and flows |`src/actions/`, `src/flows/`| lead conversion, case triage, alerts |
137
139
138
-
The Sales Copilot instructions explicitly require live schema inspection before answering record questions, because admins can change metadata over time.
140
+
Skills declare no bespoke tools (ADR-0109). They compose the platform's data
141
+
tools with the `action_<name>` tools the runtime materialises from Actions that
142
+
opt in via `ai.exposed` (ADR-0011) — every name a skill declares must resolve to
143
+
one of those, which `test/skills-integrity.test.ts` enforces.
144
+
145
+
The `live_data` skill explicitly requires live schema inspection before
146
+
answering record questions, because admins can change metadata over time.
Copy file name to clipboardExpand all lines: docs/developers/code_examples.md
+27-5Lines changed: 27 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
> Examples that match the current single-app HotCRM repository.
4
4
5
-
HotCRM metadata is registered from `src/` through [`objectstack.config.ts`](../../objectstack.config.ts). File names use the ObjectStack suffix convention: `.object.ts`, `.hook.ts`, `.actions.ts`, `.flow.ts`, `.agent.ts`, `.skill.ts`, `.view.ts`, `.page.ts`, `.dashboard.ts`, and `.report.ts`.
5
+
HotCRM metadata is registered from `src/` through [`objectstack.config.ts`](../../objectstack.config.ts). File names use the ObjectStack suffix convention: `.object.ts`, `.hook.ts`, `.actions.ts`, `.flow.ts`, `.skill.ts`, `.view.ts`, `.page.ts`, `.dashboard.ts`, and `.report.ts`.
0 commit comments