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
skills(objectstack-ui): teach dataset member synonyms and description (ADR-0149 D1) #31659
Filing gate: ④ a per-layer child of a coordination card: the skills/** half of #31587 (ADR-0149 D7 card 1), the domain:skills child triage named in 6724017037 (#31424 rule 5). Filed by the spec seat because PR #31652's Skills-docs: line owes a card number before ACCEPT. This card carries the skills teaching; #31587 keeps the spec keys.
What to teach (from the merged spec, not from this card): synonyms (match input, not translated, one list for every language, dataset-level uniqueness against names, labels and other synonyms) and member description (plain-language business definition, never a prompt, translatable under datasets.<name>.{dimensions,measures}.<m>.description). Likely pages: skills/objectstack-ui/rules/dashboards.md (dataset section) and the datasets line of skills/objectstack-i18n/SKILL.md; the dev measures where datasets are taught.
Claim: PM loop round 1 · 2026-11-09T02:59Z
Session: session_01QsR2jULfPnqQFGcZUtKDFH
Account: zhuangjianguo (the seat's linked user; the card's assignee)
Branch: claude/project-thread-safxle (the card thread's designated branch, a measured platform exception to claude/issue-N-slug; dev session session_01QsR2jQzqhMZCxf9XhTzcD9)
Worktree: objectstack-issue-31659
Domain: domain:skills
Seat: domain:skills#3
File surface: skills/objectstack-ui/SKILL.md, skills/objectstack-ui/rules/dashboards.md, skills/objectstack-i18n/SKILL.md, any other skills/**/*.md the dev's grep shows teaching the retired rule (named in the report), skills/*/evals/*.json only where a token breaks, one new .changeset file (stop on breach; explain in the report)
Container & model: S, mode:thread, model: opus — dispatch-gates --tier skills/** mandates claude-fable-5-1; this build runs on Opus under the no-Fable-build exit (maintainer 「后续不再派 fable 卡」), and the contract review runs on the lane's isolated Fable reviewer. skills/** is Tier H: draft for a governed approver. effort: medium
Clause-②: no
Metadata-protocol: none
Changeset · PR body: '@objectstack/skills': patch · Fixes #31659
Responsibility: n/a — the skills half of #31587 (ADR-0149 D1): teach the merged dataset member keys synonyms and description
Thread-read: 6730596752
Premise: holds on main9e1f1f9. PR #31652 merged (907fdca) and #31587 is closed; the skills name no member synonyms key (grep of skills/**/*.md: 0 hits).
Serial constraints cleared: no open PR touches skills/objectstack-ui/** or skills/objectstack-i18n/**; this seat's own formula PR #31746 touches skills/objectstack-formula/ only. Seat 2's split (Notify 6730938517 on #31401) leaves this card to seat 3.
Dispatch order: the card thread's opening message (common rules + order-31659.md, from the seat folder skills-seat-3/ of the project files). Writes: PR only via relay pr_create; comments, labels and bodies only via scripts/pm write tools; no GitHub MCP writes.
Landed · 2026-11-09T04:19Z — PR #31768 merged through the merge queue (merge commit 9885be211b), after os-zhuang approved head 4b813c70. The ui skill's rules/dashboards.md dataset example now writes member synonyms and description. The i18n skill names their translation keys and says synonyms are not translated. dashboards.md sits at 0 token headroom, and the five restatement cuts that paid for this are spent. Fixes closed the card; pm:dispatched is removed in the same act.
Activity
objectstack-fleet commentedon Nov 8, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage:
domain:skills· p2 ·pm:blockedon #31587 · 2026-11-08T19:53Z⛔ Not a claim.
domain:devxanddomain:serveras separate lanes, or merge them? Measured load and boundary friction, 2026-11-08 #31424 rule 5 skills child triage named on spec: dataset vocabulary keys (synonyms, member description) and dataset tool I/O schemas (ADR-0149 D1/D2) #31587 (6724017037), filed by the spec seat so PR feat(spec): dataset member vocabulary and the list_datasets / query_dataset tool schemas (ADR-0149 D1, D2) #31652'sSkills-docs:line has a number. Thanks.domain:skills, forskills/objectstack-ui/**, published skills.Generated by Claude Code
objectstack-fleet commentedon Nov 9, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: unblocked ·
pm:blocked→pm:queue· 2026-11-09T02:12Z⛔ Not a claim.
Blocked-by:target is done: spec: dataset vocabulary keys (synonyms, member description) and dataset tool I/O schemas (ADR-0149 D1/D2) #31587 (closed; PR feat(spec): dataset member vocabulary and the list_datasets / query_dataset tool schemas (ADR-0149 D1, D2) #31652 merged).Generated by Claude Code
objectstack-fleet commentedon Nov 9, 2026
domain:skills#3 · zhuangjianguo · session_01QsR2jULfPnqQFGcZUtKDFH
Claim: PM loop round 1 · 2026-11-09T02:59Z
Session:
session_01QsR2jULfPnqQFGcZUtKDFHAccount:
zhuangjianguo(the seat's linked user; the card's assignee)Branch:
claude/project-thread-safxle(the card thread's designated branch, a measured platform exception toclaude/issue-N-slug; dev sessionsession_01QsR2jQzqhMZCxf9XhTzcD9)Worktree:
objectstack-issue-31659Domain:
domain:skillsSeat:
domain:skills#3File surface:
skills/objectstack-ui/SKILL.md,skills/objectstack-ui/rules/dashboards.md,skills/objectstack-i18n/SKILL.md, any otherskills/**/*.mdthe dev's grep shows teaching the retired rule (named in the report),skills/*/evals/*.jsononly where a token breaks, one new.changesetfile (stop on breach; explain in the report)Container & model:
S,mode:thread,model: opus—dispatch-gates --tier skills/**mandatesclaude-fable-5-1; this build runs on Opus under the no-Fable-build exit (maintainer 「后续不再派 fable 卡」), and the contract review runs on the lane's isolated Fable reviewer.skills/**is Tier H: draft for a governed approver.effort: mediumClause-②: no
Metadata-protocol: none
Changeset · PR body:
'@objectstack/skills': patch·Fixes #31659Responsibility:
n/a — the skills half of #31587 (ADR-0149 D1): teach the merged dataset member keys synonyms and descriptionThread-read: 6730596752
Premise: holds on
main9e1f1f9. PR #31652 merged (907fdca) and #31587 is closed; the skills name no membersynonymskey (grep ofskills/**/*.md: 0 hits).Serial constraints cleared: no open PR touches
skills/objectstack-ui/**orskills/objectstack-i18n/**; this seat's own formula PR #31746 touchesskills/objectstack-formula/only. Seat 2's split (Notify 6730938517 on #31401) leaves this card to seat 3.Dispatch order: the card thread's opening message (common rules +
order-31659.md, from the seat folderskills-seat-3/of the project files). Writes: PR only via relaypr_create; comments, labels and bodies only viascripts/pmwrite tools; no GitHub MCP writes.objectstack-fleet commentedon Nov 9, 2026
domain:skills#3 · zhuangjianguo · session_01QsR2jQzqhMZCxf9XhTzcD9
os-dev-report
{ "issue": 31659, "status": "done", "branch": "claude/project-thread-safxle", "pr": "https://github.com/objectstack-ai/objectstack/pull/31768", "head": "4b813c70", "session": "session_01QsR2jQzqhMZCxf9XhTzcD9", "premise_still_valid": true, "files_changed": [ "skills/objectstack-ui/rules/dashboards.md", "skills/objectstack-i18n/SKILL.md", ".changeset/31659-dataset-member-vocabulary-skills.md" ], "passages": { "added": [ "skills/objectstack-ui/rules/dashboards.md:296-297 measure synonyms + description in the os:check defineDataset block", "skills/objectstack-ui/rules/dashboards.md:299-302 member vocabulary rule comment (ADR-0149 D1)", "skills/objectstack-i18n/SKILL.md:179-181 datasets label/description keys per dataset and member; synonyms have no key" ], "changed": [ "skills/objectstack-ui/rules/dashboards.md:12-13 intro: dimensions+values restatement cut", "skills/objectstack-ui/rules/dashboards.md:183 KPI example dateGranularity comment cut", "skills/objectstack-ui/rules/dashboards.md:230 DatasetSelection.compareTo gloss cut", "skills/objectstack-ui/rules/dashboards.md:334 'Authors do not format' sentence cut", "skills/objectstack-ui/rules/dashboards.md:394 report comment BY NAME restatement cut" ], "removed_retired_rule": "none found: grep skills/** has no guidance.description and no 'no description' member rule" }, "spec_keys_cited": { "synonyms": "packages/spec/src/ui/dataset.zod.ts DatasetMemberSynonymsSchema", "uniqueness": "packages/spec/src/ui/dataset.zod.ts checkDatasetVocabulary", "normalization": "packages/spec/src/ui/dataset.zod.ts normalizeDatasetTerm", "description": "packages/spec/src/ui/dataset.zod.ts datasetMemberDescription", "i18n_key_path": "packages/spec/src/system/translation.zod.ts datasets group (dimensions/measures .label/.description)", "synonyms_not_translated": "packages/spec/src/system/translation.zod.ts DATASET_MEMBER_SYNONYMS_NOT_TRANSLATED" }, "token_budget": { "skills/objectstack-ui/rules/dashboards.md": "6231 -> 6232 / 6232 (headroom 1 -> 0)", "skills/objectstack-i18n/SKILL.md": "5719 -> 5763 / 6333 (headroom 614 -> 570)", "skills/objectstack-ui/SKILL.md": "3814 / 3814 unchanged", "bundle_total": "239600 -> 239645" }, "line_budget": { "skills/objectstack-ui/rules/dashboards.md": "473 -> 474", "skills/objectstack-i18n/SKILL.md": "522 -> 524", "skills/*/SKILL.md sum": "4592 -> 4594" }, "tests": "check:skill-examples exit 0 (332 blocks) on 442b316b and 4b813c70; reverse check synonyms as string -> exit 1 at dashboards.md:296:58 TS2322, restored, git diff HEAD empty", "gates": "dispatch-gates --commands 46 on 442b316b: 45 exit 0, check:dual-build-cjs-loads exit 3 (NOT MEASURED, full build prereq); --ran 46/46 accounted; check-partof-closing-keyword exit 0; after main merge 4b813c70: check-skills-token-ratchet exit 0, check:skill-examples exit 0; CI check-runs: in_progress", "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "deviations": [ "skills/objectstack-ui/SKILL.md left unchanged: 0 token headroom; its Analytics dataset row links rules/dashboards.md where the keys are taught", "build on default tier (opus) under the no-Fable-build exit; dispatch-gates --tier mandates claude-fable-5-1" ], "mcp_calls": "5 — issue_read x3, get_session x1 (claude-code-remote), no GitHub MCP writes", "api_writes": "2 — relay pr_create (#31768), post-stamped comment on #31659", "security_findings": "none", "out_of_scope_findings": [] }objectstack-fleet commentedon Nov 9, 2026
domain:skills#3 · zhuangjianguo · session_01QsR2jULfPnqQFGcZUtKDFH
Landed · 2026-11-09T04:19Z — PR #31768 merged through the merge queue (merge commit
9885be211b), after os-zhuang approved head4b813c70. The ui skill'srules/dashboards.mddataset example now writes membersynonymsanddescription. The i18n skill names their translation keys and says synonyms are not translated.dashboards.mdsits at 0 token headroom, and the five restatement cuts that paid for this are spent.Fixesclosed the card;pm:dispatchedis removed in the same act.