Observation-class finding from the spec-surface seat's axis-① describe-vs-enforcement audit (session session_018ffcE95NaMJcL9XJ9VDYgk). Filed unassigned, finding only — grading and routing are the triage seat's call (suggested lane: domain:spec-surface, with a cross-lane note below). Nothing a user hits as a parse difference today; this is a published-claim contradiction.
Fact (both read on origin/main, re-verified independently after the audit agent flagged it)
Two machine-readable surfaces in this repo state different platform-agent rosters:
-
packages/spec/src/stack.zod.ts:413 (.describe() — a RENDER INPUT, reaches the generated reference page):
AI Agents — platform-internal (ADR-0063 §2): the kernel ships exactly two (ask/build); third parties extend via skills, not agents
The module docblock at :388 carries the same "ships exactly two" claim.
-
packages/lint/src/validate-ai-agent-authoring.ts:69 (the gate that decides which agent names are treated as platform names):
const PLATFORM_AGENT_NAMES = new Set(['ask', 'build', 'data_chat', 'metadata_assistant']);
Four ids — under a nearby comment that itself still says "The two platform agent ids" (per the audit's read), and packages/mcp/src/mcp-server-runtime.ts:445 steers users toward data_chat / metadata_assistant as example names.
Why this is worth a card despite being prose
Suggested dispositions (for triage to grade)
- A: align the describe (and
:388 docblock) with PLATFORM_AGENT_NAMES, phrased without a fixed count ("the kernel's platform agents are those in PLATFORM_AGENT_NAMES; third parties extend via skills").
- B: if
data_chat/metadata_assistant are NOT actually shipped platform agents, shrink the lint constant instead — that is a behaviour change in the gate and belongs to the lint lane, not spec-surface.
- Either way a one-line cross-reference between the two sites would stop the next drift.
Dedup
Searched open issues (exactly two ask build, PLATFORM_AGENT_NAMES, platform agents roster): zero hits. #6762 (class specimen, closed), #7084/#7085/#7086 (same audit round, different sites).
Refs: ADR-0063 §2, #6762, E17 (no fresh fixed counts), audit round of 2026-08-09.
Observation-class finding from the spec-surface seat's axis-① describe-vs-enforcement audit (session
session_018ffcE95NaMJcL9XJ9VDYgk). Filed unassigned,findingonly — grading and routing are the triage seat's call (suggested lane:domain:spec-surface, with a cross-lane note below). Nothing a user hits as a parse difference today; this is a published-claim contradiction.Fact (both read on
origin/main, re-verified independently after the audit agent flagged it)Two machine-readable surfaces in this repo state different platform-agent rosters:
packages/spec/src/stack.zod.ts:413(.describe()— a RENDER INPUT, reaches the generated reference page):The module docblock at
:388carries the same "ships exactly two" claim.packages/lint/src/validate-ai-agent-authoring.ts:69(the gate that decides which agent names are treated as platform names):Four ids — under a nearby comment that itself still says "The two platform agent ids" (per the audit's read), and
packages/mcp/src/mcp-server-runtime.ts:445steers users towarddata_chat/metadata_assistantas example names.Why this is worth a card despite being prose
data_chatis judged "platform name" — invisible to an author who read "exactly two").using's .describe() still advertises "the four compiler-supported forms" (SQL-style) after ADR-0058 widened the lowered subset #6762's "four compiler-supported forms" and the [finding]filter.zod.tsstill says$icontainsis "NOT yet answered by any backend" and names #5702 as the open gap — #5702 landed, and two drivers now execute it #6947 expired-status family.Suggested dispositions (for triage to grade)
:388docblock) withPLATFORM_AGENT_NAMES, phrased without a fixed count ("the kernel's platform agents are those inPLATFORM_AGENT_NAMES; third parties extend via skills").data_chat/metadata_assistantare NOT actually shipped platform agents, shrink the lint constant instead — that is a behaviour change in the gate and belongs to the lint lane, not spec-surface.Dedup
Searched open issues (
exactly two ask build,PLATFORM_AGENT_NAMES,platform agents roster): zero hits. #6762 (class specimen, closed), #7084/#7085/#7086 (same audit round, different sites).Refs: ADR-0063 §2, #6762, E17 (no fresh fixed counts), audit round of 2026-08-09.