Repository navigation
[finding] SKILL_MAP census residue: objectstack-api advertises api/rest-server.zod.ts its SKILL.md never mentions, and objectstack-platform's index omits stack.zod.ts, the shape its body spends the most words on #15264
Description
Activity
Triage — skills seat (session
session_019RfFHiRCSs3JXLK4cwcfox, os-steve), 2026-09-04T12:18Z (the lane self-triages its own findings). Gradedpriority:p3,domain:skills,documentation, statepm:queue. Applied and read back after this comment.Scope as queued (S, governed
skills/**, plus theSKILL_MAPsource if the row lives there): apply the #14462 ruling's uniform shape to the two residue rows this card measured —objectstack-api's advertisedapi/rest-server.zod.ts(never taught: either teach it in the SKILL.md's own words from the schema's exported names, or drop the pointer — whichever the #14462 ruling's rule for the four adjudicated rows prescribes; ⛔ read that ruling first and quote the rule) andobjectstack-platform's untaught-but-advertised inverse (stack.zod.tstaught, not advertised — add the pointer). Both re-measured at dispatch; the census scanner green after. Draft PR, both approvers, human merge.
Generated by Claude Code
- addeddocumentationImprovements or additions to documentationImprovements or additions to documentation
on Sep 4, 2026 Decision card filed: #15361 (skills lane batch 10) — the two rows this card measured are presented for a ruling (item 1: drop the untaught
api/rest-server.zod.tspointer per the #14462 uniform rule, rec A; item 2: add the taughtstack.zod.tspointer, rec A), because deleting or adding a published pointer on a governed customer surface is its own decision, as this card says.pm:queue→pm:blocked.
Blocked-by: #15361On the ruling: one flight edits
SKILL_MAPand regenerates the affected_index.mdfiles (generator guards green), governed ⇒ draft, both approvers, human merge; the cross-lane declaration (the generator lives in the spec stream) is posted here.
Generated by Claude Code
Claim: PM loop round 5 (same flight as #15361 — one PR closes both cards)
Session:session_019RfFHiRCSs3JXLK4cwcfox
Branch:claude/issue-15361-skill-map-api-platform-pointers
Worktree:objectstack-issue-15361
Domain:domain:skills
File surface:packages/spec/scripts/build-skill-references.ts(twoSKILL_MAPlines) + the regeneratedskills/objectstack-api/references/_index.mdandskills/objectstack-platform/references/_index.md.
Container & model: S,mode:subagent,model: opus(tier reading on the #15361 claim)
Clause-②: no
Serial constraints cleared: as read on #15361 — PR #15268 MERGED 08:12Z is the generator's last edit; no open PR touches the generator, the two skill directories or any_index.md.Cross-lane declaration (spec stream). The generator
packages/spec/scripts/build-skill-references.tsbelongs to thedomain:specstream; under the maintainer's ruling on #15361 (1 A · 2 A, director record 5541756503, batch #36) thedomain:skillsseat executes the two-lineSKILL_MAPchange and the index regeneration in one governed flight. Spec seat: this is the whole surface; nothing else inpackages/specis touched, and the generator's own guards (checkSingleOwner/checkCoreEntryShape) must stay green.State:
pm:blocked(Blocked-by: #15361, now ruled) →pm:dispatchedin this act; the PR carriesFixes #15264besideFixes #15361.
Generated by Claude Code
Item 2 of the ruling forked at execution (one ruled pointer publishes 46 transitive rows — see the fork on #15361); draft PR #15424 is held.
pm:dispatched→pm:blockeduntil the fork is ruled.
Blocked-by: #15361
Generated by Claude Code
Residue of the census run for #14462. That card carries the census across all nine
SKILL_MAPentries and applies one uniform ruling; the family PR acted on the four rows its members adjudicated (objectstack-ai,objectstack-automation,objectstack-formula,objectstack-i18n). These two rows came out of the same sweep with the same shape and no card has adjudicated them, so the PR recorded them and edited nothing. Filed unassigned.Measured at
origin/main9c1bcda3Direction 1 — advertised, never taught
objectstack-apiapi/rest-server.zod.tsskills/objectstack-api/SKILL.mdof the file, ofRestApiConfig/CrudEndpointsConfig/MetadataEndpointsConfig/BatchEndpointsConfig/RouteGenerationConfig/RestServerConfig, or of the words "rest server". Swept over the skill's whole authored markdown, not the SKILL.md alone.Every other core entry in that list is reachable from the body by at least the schema's own exported names.
Direction 2 — taught, never advertised
objectstack-platformstack.zod.tsdefineStack, and it namesObjectStackDefinitionSchema,ObjectStackDefinition,ObjectStackDefinitionInputandObjectStackin its own prose. The file is in no package's core list and in no index's closure.Same shape as the
ai/solution-blueprint.zod.tshalf of #14462: the body names the schema, the catalog has no pointer to it.One row deliberately NOT filed here
kernel/plugin-capability.zod.tsin theobjectstack-platformlist scored as advertised-not-taught on a mechanical sweep, and a hand read overturns it: the SKILL.md teachesrequires:and capability resolution at length. It routes readers tokernel/platform-capabilities.tsfor the token list rather than to this file'sPluginCapabilityManifestSchema, so the pointer is thin rather than wrong. Recorded so the next census does not re-raise it.Why this is a separate card
The uniform ruling on #14462 is "narrow the map to what the body teaches", and applying it here is defensible — but the four adjudicated rows each came with a measured consumer census or an explicit ADR retirement, and these two have only the sweep. Deleting a published pointer, or adding one, on a governed customer surface is worth its own decision rather than a rider on a PR whose reviewer is checking four other things.
Refs: #14462 · #14466 · #14562 · #14565
Dedupe: one targeted
search_issuesover this repo (repo-scoped REST is 403 for this seat), validated in-session by a control query that returned its four known hits. Nothing open covers either row.