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
[finding] The objectstack-ai generated reference index advertises 6 schemas the SKILL.md never teaches and omits the one it names — SKILL_MAP in build-skill-references.ts is unreconciled with the body #14462
Out-of-scope by-product of the skills optimization flight on #14305 (audit finding AI-B-04, deferred there by the card's own scope: the generator lives in packages/spec, and that flight was shrink-only inside skills/objectstack-ai/). Filed unassigned. No edit was made — the map is generator-owned and belongs to the spec lane.
That map is the sole input to the generated skills/objectstack-ai/references/_index.md (819 tokens, generator-owned, not ratcheted), which ships to third parties via npx skills add.
Taught, never advertised.ai/solution-blueprint.zod.tsexists (packages/spec/src/ai/solution-blueprint.zod.ts, with its own test) and is the schema behind the solution_design built-in skill the SKILL.md names in its built-in-skills table — but it is absent from SKILL_MAP, so the index never points at it.
The ruling this needs
Either direction is defensible, and they are not the same decision:
Narrow the map to what the body teaches, on the "a published index is a promise" reading. Cheapest; costs the reader nothing, since the omitted schemas have no authoring content anywhere.
Widen the body to earn the extra schemas. Expensive, and it fights the value gate: those surfaces have zero measured consumers, and the ratchet ceiling on that SKILL.md is 6,806 tokens.
Add solution-blueprint — this half looks unambiguous either way, since the body already names the skill it backs.
Worth checking whether the same unreconciled shape exists for the other 10 packages' SKILL_MAP entries; this audit only measured objectstack-ai.
Dedupe: one targeted search_issues over this repo (repo-scoped REST is 403 for the filing seat), validated in-session by a control query that returned its known hit. Nothing open covers this.
Out-of-scope by-product of the skills optimization flight on #14305 (audit finding AI-B-04, deferred there by the card's own scope: the generator lives in
packages/spec, and that flight was shrink-only insideskills/objectstack-ai/). Filed unassigned. No edit was made — the map is generator-owned and belongs to the spec lane.Measured at
origin/maind16df74packages/spec/scripts/build-skill-references.ts:98-109maps theobjectstack-aipackage to 10 schemas:That map is the sole input to the generated
skills/objectstack-ai/references/_index.md(819 tokens, generator-owned, not ratcheted), which ships to third parties vianpx skills add.Two directions of mismatch:
agent,tool,skill,knowledge-source— and, after the Skills optimization flight — skills/objectstack-ai: RESTRUCTURE (≈ −2,300 tok, −29%) — 26% of the file teaches the agent surface it forbids its readers, the flagshipdefineSkillexample declares four tools that resolve to nothing, and the open-edition MCP path (the only AI path without a cloud licence) is taught nowhere #14305 flight,model-registry(the provider enum andpromptTemplateCEL carriers).conversation,mcp,embedding,knowledge-documentandusageare listed in the index and never mentioned in the body. Three of those five also have zero consumers outsidepackages/spec(the audit's census greppedConversationSchema,ModelRegistryEntry/ModelRegistrySchema,MCPServerRef/MCPToolBindingacrosspackages/**andexamples/**). An index promising a schema the body cannot help with invites the agent toReadintonode_modulesfor guidance that does not exist.ai/solution-blueprint.zod.tsexists (packages/spec/src/ai/solution-blueprint.zod.ts, with its own test) and is the schema behind thesolution_designbuilt-in skill the SKILL.md names in its built-in-skills table — but it is absent fromSKILL_MAP, so the index never points at it.The ruling this needs
Either direction is defensible, and they are not the same decision:
solution-blueprint— this half looks unambiguous either way, since the body already names the skill it backs.Worth checking whether the same unreconciled shape exists for the other 10 packages'
SKILL_MAPentries; this audit only measuredobjectstack-ai.Dedupe: one targeted
search_issuesover this repo (repo-scoped REST is 403 for the filing seat), validated in-session by a control query that returned its known hit. Nothing open covers this.