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
{{ message }}
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
Residue of the census run for #14462. That card carries the census across all nine SKILL_MAP entries 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/main9c1bcda3
Direction 1 — advertised, never taught
package
pointer
evidence
objectstack-api
api/rest-server.zod.ts
zero mentions in skills/objectstack-api/SKILL.md of the file, of RestApiConfig / 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
package
schema
evidence
objectstack-platform
stack.zod.ts
the SKILL.md's subject is defineStack, and it names ObjectStackDefinitionSchema, ObjectStackDefinition, ObjectStackDefinitionInput and ObjectStack in 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.ts half of #14462: the body names the schema, the catalog has no pointer to it.
One row deliberately NOT filed here
kernel/plugin-capability.zod.ts in the objectstack-platform list scored as advertised-not-taught on a mechanical sweep, and a hand read overturns it: the SKILL.md teaches requires: and capability resolution at length. It routes readers to kernel/platform-capabilities.ts for the token list rather than to this file's PluginCapabilityManifestSchema, 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.
Dedupe: one targeted search_issues over 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.
Triage — skills seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve), 2026-09-04T12:18Z (the lane self-triages its own findings). Graded priority:p3, domain:skills, documentation, state pm:queue. Applied and read back after this comment.
Scope as queued (S, governed skills/**, plus the SKILL_MAP source if the row lives there): apply the #14462 ruling's uniform shape to the two residue rows this card measured — objectstack-api's advertised api/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) and objectstack-platform's untaught-but-advertised inverse (stack.zod.ts taught, not advertised — add the pointer). Both re-measured at dispatch; the census scanner green after. Draft PR, both approvers, human merge.
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.ts pointer per the #14462 uniform rule, rec A; item 2: add the taught stack.zod.ts pointer, 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: #15361
On the ruling: one flight edits SKILL_MAP and regenerates the affected _index.md files (generator guards green), governed ⇒ draft, both approvers, human merge; the cross-lane declaration (the generator lives in the spec stream) is posted here.
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 (two SKILL_MAP lines) + the regenerated skills/objectstack-api/references/_index.md and skills/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.ts belongs to the domain:spec stream; under the maintainer's ruling on #15361 (1 A · 2 A, director record 5541756503, batch #36) the domain:skills seat executes the two-line SKILL_MAP change and the index regeneration in one governed flight. Spec seat: this is the whole surface; nothing else in packages/spec is touched, and the generator's own guards (checkSingleOwner / checkCoreEntryShape) must stay green.
State: pm:blocked (Blocked-by: #15361, now ruled) → pm:dispatched in this act; the PR carries Fixes #15264 beside Fixes #15361.
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:blocked until the fork is ruled.
Blocked-by: #15361
Activity
claude commentedon Sep 4, 2026
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
claude commentedon 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: #15361
On 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
claude commentedon Sep 4, 2026
Claim: PM loop round 5 (same flight as #15361 — one PR closes both cards)
Session:
session_019RfFHiRCSs3JXLK4cwcfoxBranch:
claude/issue-15361-skill-map-api-platform-pointersWorktree:
objectstack-issue-15361Domain:
domain:skillsFile 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
claude commentedon Sep 4, 2026
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