Repository navigation
Description
domain:skills#3 · huangyiirene · session_01J8VVAmFFuy5ap2gXYq25sy
Filing gate ③ (maintainer-directed) · class: b (the skill contradicts what it or the contract declares) with one coverage row named as such · reach: every agent that reads @objectstack/skills@18.3.0; items 1 and 3 are also what a human sees first when opening the catalog.
Filed from the skills review thread on the maintainer's words, verbatim (2026-11-07): 「按照你的建议立卡」 · 「时间久了,立卡的时候重新确认一下问题」. Every item re-read on main aa3e21cc (2026-11-07); review report https://claude.ai/artifact/UXUaprHxBYrXE8DfJpfRGU (P1 section). ⛔ Not a claim. Triage sets the grade and the lane; item 2's generator half lives in packages/spec/scripts and may be split to domain:spec.
Items (one PR, or two at whole-file boundaries)
- ObjectUI is still "a separate repo".
skills/README.md:138"../objectui— Studio UI (separate repo)" with a link to the archived repository;skills/objectui/README.md:3(skills.sh badge forobjectstack-ai/objectui),:10(npx skills add objectstack-ai/objectui),:64(repository link);skills/objectui/guides/page-builder.md:303links the gantt README atgithub.com/objectstack-ai/objectui/blob/main/…. The UI lives atui/in this repository since cutover(ui-merge): the switch itself — freeze both repos,git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752 and the objectui skill ships inside@objectstack/skillssince aftercare(ui-merge): move the objectui skill bundle into the root skills/ catalog (decision C): token pricing, reserved-word uses, visibleOn alias, internal flag (parent #25677, Tier H) #25832. Fix: point atui/and the one pinnedexperimental_syncinstall the catalog README teaches at:18-24. - The catalog index omits objectui.
packages/spec/scripts/build-skill-docs.ts:287filters skill directories bystartsWith('objectstack-'), so the generated index inskills/README.mdand the docs page list ten skills and never the eleventh, whileskills/README.md:114-134routes toobjectuiby hand. Fix: filter on "hasSKILL.mdand is notmetadata.internal" (the predicatetemplate-consistency.test.tsalready applies), or state in the README why objectui is listed apart. - Three anchors into sections that no longer exist in SKILL.md (left by the "moved verbatim" refactors):
skills/objectstack-data/references/data-hooks.md:961→../SKILL.md#lifecycle-hooks;skills/objectstack-platform/rules/plugin-lifecycle.md:259→../SKILL.md#complete-plugin-example(the section isreferences/plugin-development.md## Complete Plugin Example);skills/objectstack-platform/rules/service-registry.md:147-149→../SKILL.md#well-known-plugin-names--services(no such heading anywhere). The same sentence says the table has "13 rows" — a hand-written count Hand-written inventory counts in live docs, skills and READMEs drift silently: delete the number, keep the names or point at the source (cross-lane sweep) #27522's sweep missed; delete the number per that ruling. skills/objectstack-platform/references/bootstrap.md:147-148pins"@objectstack/spec": "18.1.0"/"@objectstack/runtime": "18.1.0"in the startingpackage.json, while every SKILL.md frontmatter and the published package are18.3.0. skills:objectstack-platform/references/bootstrap.mdstill teaches^17.0.0for every @objectstack/* dependency, while the scaffolders now write the exact version (the governed half of #25510) #25666 fixed this file from^17.0.0to an exact version once; it drifted again because nothing reads the body (see the gates card filed alongside).- Examples omit
sharingModel.skills/objectstack-data/SKILL.md:65says a publish with no authoredsharingModelis refused withsecurity-owd-unset(maintainer ruling 2026-08-13). Yetrules/relationships.mdhas 12ObjectSchema.createcalls and 2sharingModel;rules/lifecycle.md4/0;rules/datasources.md1/0;skills/objectstack-platform/references/bootstrap.md1/0;references/plugin-development.md1/0. An AI copies the example and meets the refusal the skill itself describes. Fix: authorsharingModelon every complete object example (fragments that show one key may say so). - System columns declared as fields.
skills/objectstack-data/references/examples-objects.md:45-46declarescreated_at/created_byas ordinary fields;rules/indexing.md:210-212indexestenant_idas if authored.packages/spec/src/data/object.zod.ts:3121injects the audit columns throughsystemFields.audit(default true) and the tenant column throughsystemFields.tenant. The implementer confirms whether an explicit declaration is refused or merely shadowed, then rewrites the examples with business fields and one sentence onsystemFields. - A retired package in an eval.
skills/objectui/evals/project-setup.json:20expects the answer to list@object-ui/plugin-ai; the package was retired by retire the zero-consumer surface: nine dead modules (2,211 LOC), plugin-ai, runner's publish flag, test-only reset helpers on public barrels, the providers trio, 122 dead i18n keys, root orphans #25921 and skills/objectui guides still teach@object-ui/plugin-ai, a package retired by #25921 (PR #27042) #27048 removed it from the guides but not from this fixture, so the eval now rewards a wrong answer. Fix: replace with a live plugin fromui/packages/. - Coverage row (not a wrong sentence):
skills/objectstack-query/rules/filters.md:5-27(Operator Reference) andSKILL.md:125teach$null/$existsbut never$empty, whichpackages/spec/src/data/filter.zod.ts:1829/:1905declare on the operator schemas and which is the lowering target of the view filter pairis_empty/is_not_empty(:2760-2763). Implementer first confirms$emptyis accepted on the querywherepath (FILTER_OPERATORS membership,:3367), then adds the row;$regex/$optionsstay out (retired at protocol 17,migrations/entries/semantic/17.filter-regex-options-retired.ts). - Optional, one line:
skills/objectstack-upgrade/SKILL.md:128listsobjectstack-pm-dispatchin theskills removeroster with no word that the skill was deleted (Delete the published skills/objectstack-pm-dispatch skill — a stale three-state copy of the internal PM protocol with no known consumer, shipped into every new app — and retire its catalog row, docs page, frame-sync copy, tier-table entry, ratchet pins and gate fixtures (maintainer ruling 2026-09-10) #17311); a reader takes it for a live skill. Add "(removed in 18; present only in older installs)".
Acceptance
- Relative links and
#anchorsunderskills/**resolve (the implementer runs a link walk; the gates card proposes making it a check). - Every complete object example carries
sharingModel;check:skill-refs,check:skill-docs, liveness, token ratchet green; evals touched for items 5–8. - Level:
skills/**text (Tier H) plus, for item 2,packages/spec/scripts/build-skill-docs.ts:'@objectstack/skills': patchchangeset (and'@objectstack/spec': patchif the generator moves),Clause-②: no,Metadata-protocol: none.
Dedupe (REST search, open and closed)
objectui "separate repo"→ 111; aftercare(ui-merge): move the objectui skill bundle into the root skills/ catalog (decision C): token pricing, reserved-word uses, visibleOn alias, internal flag (parent #25677, Tier H) #25832, cutover(ui-merge): the switch itself — freeze both repos,git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752, docs(ui-merge): fold objectui.org into objectstack docs, K2 — merge the 46 field, Console-behaviour and schema pages into the existing objectstack pages #27141 closed (the merge itself), none rewrites these lines.skills README objectui index build-skill-docs→ 14; Hand-written inventory counts in live docs, skills and READMEs drift silently: delete the number, keep the names or point at the source (cross-lane sweep) #27522 closed notes the "10 skills" count is computed — the computation is what excludes objectui.data-hooks.md lifecycle-hooks anchor broken link→ 2 (Skills optimization flight — skills/objectstack-data: RESTRUCTURE (≈ −10,150 tok, −22%) — hooks taught twice across two files, generic-JS patterns, 3.3% example gate coverage,sharingModelused by 31/31 objects and explained nowhere #14297, skills-sweep ②: objectstack-data (4,935 lines, 12 files) — behavioral-claim verification, tables execution-first; up to three sequential PRs at whole-file boundaries #13675 closed, the restructures that moved the sections).bootstrap.md pinned version drift skills→ 2; skills:objectstack-platform/references/bootstrap.mdstill teaches^17.0.0for every @objectstack/* dependency, while the scaffolders now write the exact version (the governed half of #25510) #25666 closed (previous fix).skills examples omit sharingModel security-owd-unset→ 11; Skills optimization flight — skills/objectstack-data: RESTRUCTURE (≈ −10,150 tok, −22%) — hooks taught twice across two files, generic-JS patterns, 3.3% example gate coverage,sharingModelused by 31/31 objects and explained nowhere #14297 closed explainedsharingModel, examples untouched.examples-objects.md created_at created_by audit columns→ 0.plugin-ai eval→ 22; skills/objectui guides still teach@object-ui/plugin-ai, a package retired by #25921 (PR #27042) #27048 closed (guides only)."$empty" skills objectstack-query filters→ 69, none.
Related: #25832, #25752, #27522, #25666, #27048, #14297, #17311.
Activity
objectstack-fleet commentedon Nov 7, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p2 ·
domain:skills· 2026-11-07T11:54Z⛔ Not a claim.
git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752) and the "moved verbatim" refactors. ObjectUI is still described as a separate repo. ThreeSKILL.mdanchors are dead.bootstrap.mdpins 18.1.0. Examples omitsharingModel. A plugin-ai eval is retired, and$emptyis untaught. Re-read onmainaa3e21cc.domain:skills. Item 2's generator half (packages/spec/scripts) rides along with a cross-seat note, so the generated text and the skill change together. There is no spec seat online to split it to.findingremoved,pm:queue.Generated by Claude Code
objectstack-fleet commentedon Nov 7, 2026
domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7
Claim: PM loop round 17 · 2026-11-07T13:45Z
Session:
session_01J8VVAj7CvjkGXvgXzd6RZ7Account:
huangyiireneBranch:
claude/project-thread-4ejvqq(the card thread's designated branch; dev sessionsession_01J8VVAjQXxnSqEopTLRDyHp)Worktree:
objectstack-issue-31114Domain:
domain:skillsSeat:
domain:skills#3File surface: item 1
skills/README.md,skills/objectui/README.md,skills/objectui/guides/page-builder.md; item 2packages/spec/scripts/build-skill-docs.ts(the skill-directory filter) and its regenerated output (cross-seat note forpackages/spec/scripts, per the triage); item 3skills/objectstack-data/references/data-hooks.md(the dead anchor),skills/objectstack-platform/rules/plugin-lifecycle.md,rules/service-registry.md; item 4skills/objectstack-platform/references/bootstrap.md; item 5 complete object examples inskills/objectstack-data/rules/relationships.md,rules/lifecycle.md,rules/datasources.md,skills/objectstack-platform/references/bootstrap.md,references/plugin-development.md; item 6skills/objectstack-data/references/examples-objects.md,rules/indexing.md; item 7skills/objectui/evals/project-setup.json; item 8skills/objectstack-query/rules/filters.md,skills/objectstack-query/SKILL.md; item 9skills/objectstack-upgrade/SKILL.md(one line); eval cases for items 5–8 in the touched skills'evals/*.json;.changeset/*.md;scripts/check-skills-token-ratchet.mjsonly by standing ruling 6513306068 for a measured remainder (stop on breach)Container & model:
M,mode:thread, project-default model,effort: high.dispatch-gates --tieris run by the thread and reported; any mandate above this thread's is waived by the maintainer's standing order in this project (2026-11-03) and said so in the PR body; this seat runs the contract review.Clause-②: no
Metadata-protocol: none
Responsibility:
n/a — not a defect card(published teaching left stale by the ui merge and the moved-verbatim refactors)Thread-read: 6706611171
Premise: holds on
main5f003744per the card's re-read onaa3e21cc; the thread re-measures each item and confirms items 6 and 8 from code before editing them.Serial constraints:
skills/objectstack-data/references/examples-objects.mdis also changed by PR #31127 (#31113); item 6's edit there lands after that PR merges, by mergingorigin/main. The seat runs serially (one card) by the maintainer's word of 2026-11-07.Changeset
'@objectstack/skills': patch(plus'@objectstack/spec': patchif the generator ships in a published package).Fixes #31114. Tier read bycheck-governed-mergesat the PR.objectstack-fleet commentedon Nov 7, 2026
domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7
ACCEPT → PR #31152 comment 6709202544, head
356cc7ae. Tier H:pm:awaiting-merge, approval requested fromos-zhuangandhotlong. Seat rulings A–C (item 7 and the examples-objects.md half of item 6 were already correct; item 3's service-registry anchor exists in plugin-development.md) are recorded in the PR body. Follow-up: #31158 (releases overview and upgrading.mdx still point at the archived objectui repository).