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 + ADR-0029 D9.2: 'an extension can add but never remove' no longer holds for pluralLabel after PR #30459 #30466
Filing gate: should-fix 2 of the contract review of PR #30459 (#30391), record 6658126879, together with the dev's Skills-docs: follow-up line. ⛔ Not a claim. Suggested grade: p3. ⛔ Serial after PR #30459 merges.
ADR-0029 D9.2 has a rationale sentence saying mergeObjectDefinitions "has no expression for removal at all", which is now imprecise for pluralLabel. No decision moves. ⛔ ADR text is Tier H: the maintainer, or the reviewers routed for Tier H, decide whether that sentence gets an amendment note.
Ask
Fix the skill sentence.
Raise the ADR note for Tier H review: amend it, or record that it stays as it is.
Claim: PM loop round 1 · 2026-11-05T23:03Z
Session: session_016WV4d1mkgEris4MHHLjtnk
Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/project-thread-ki6fr1 (the card thread's designated branch; dev session session_016WV4cx4foyi3wUWBrRHCmF, amended by the seat)
Worktree: objectstack-issue-30466
Domain: domain:skills
Seat: domain:skills#1
File surface: skills/objectstack-data/SKILL.md (the Object Extension Model sentence ~L349, "an extension can add but never remove": the pluralLabel exception), one root .changeset/ file. ⛔ docs/adr/**: whether ADR-0029 D9.2 gets an amendment note is the maintainer's, raised by the seat, not edited here; ⛔ packages/** (stop on breach)
Container & model: S, mode:thread, model: TIER_DEFAULT (dispatch-gates --tier: MANDATORY CONTRACT_REVIEW_TIER for skills/** clause ①; exit taken = the proactive low-headroom downgrade under the maintainer's standing posture of this project: develop on the default tier, the contract-review tier runs the final contract review; the compensating control is the seat's at-tier review before ACCEPT), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card (a Skills-docs: follow-up of landed work)
Thread-read: 6658700520
Premise: holds: PR #30459 merged (the serial condition is met); L349 still reads "can add but never remove" on origin/main788715ef
Serial constraints cleared: none: no open PR touches skills/objectstack-data/** (open PRs read at claim time)
Tier H (skills/**): draft until a governed approver approves; the seat's at-tier contract review precedes ACCEPT.
Activity
objectstack-fleet commentedon Nov 5, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p3 kept ·
domain:skills· 2026-11-05T13:03Z⛔ Not a claim.
labelwithoutpluralLabelnow removes the base plural.skills/objectstack-data/SKILL.mdneeds that, plus a'@objectstack/skills': patchchangeset. Any amendment note on ADR-0029 D9.2 is Tier H and the maintainer's.domain:skillslane is offline on the maintainer's order, so this waits. Serial after PR fix(objectql,rest)!: serve an object an extension renames without the base's plural (#30391) #30459.Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk
Claim: PM loop round 1 · 2026-11-05T23:03Z
Session:
session_016WV4d1mkgEris4MHHLjtnkAccount:
os-elon-musk(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/project-thread-ki6fr1(the card thread's designated branch; dev sessionsession_016WV4cx4foyi3wUWBrRHCmF, amended by the seat)Worktree:
objectstack-issue-30466Domain:
domain:skillsSeat:
domain:skills#1File surface:
skills/objectstack-data/SKILL.md(the Object Extension Model sentence ~L349, "an extension can add but never remove": thepluralLabelexception), one root.changeset/file. ⛔docs/adr/**: whether ADR-0029 D9.2 gets an amendment note is the maintainer's, raised by the seat, not edited here; ⛔packages/**(stop on breach)Container & model:
S,mode:thread,model: TIER_DEFAULT(dispatch-gates --tier: MANDATORYCONTRACT_REVIEW_TIERforskills/**clause ①; exit taken = the proactive low-headroom downgrade under the maintainer's standing posture of this project: develop on the default tier, the contract-review tier runs the final contract review; the compensating control is the seat's at-tier review before ACCEPT),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility:
n/a — not a defect card(aSkills-docs:follow-up of landed work)Thread-read: 6658700520
Premise: holds: PR #30459 merged (the serial condition is met); L349 still reads "can add but never remove" on
origin/main788715efSerial constraints cleared: none: no open PR touches
skills/objectstack-data/**(open PRs read at claim time)Tier H (
skills/**): draft until a governed approver approves; the seat's at-tier contract review precedes ACCEPT.Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:skills#1 · os-elon-musk · session_016WV4cx4foyi3wUWBrRHCmF
os-dev-report
{ "issue": 30466, "status": "done", "branch": "claude/project-thread-ki6fr1", "pr": "https://github.com/objectstack-ai/objectstack/pull/30722", "session": "session_016WV4cx4foyi3wUWBrRHCmF", "premise_still_valid": true, "summary": "skills/objectstack-data/SKILL.md Object Extension Model keeps 'an extension can add but never remove' and names the one exception, read off origin/main packages/objectql/src/registry.ts mergeObjectDefinitions L916: a new label without pluralLabel clears the base plural unless a tenant authored it (set both). Token cost paid in the same file by deleting the Lifecycle Hooks pointer's duplicate link to references/data-hooks.md (already linked at L46 and L160). Changeset '@objectstack/skills': patch. ADR-0029 D9.2 untouched: docs/adr/0029-kernel-object-ownership-and-platform-objects-decomposition.md L472-473 reads 'mergeObjectDefinitions merges fields additively (...) and has no expression for *removal* at all.' -- for the seat to raise for Tier H.", "tests": "Docs-only diff; no behaviour changed, so no test or ablation applies. node scripts/check-skills-token-ratchet.mjs: objectstack-data/SKILL.md 6116 -> 6122 tokens (ceiling 6123, untouched), exit 0.", "gates": { "head": "a069bdb668", "derived": 44, "run": 40, "not_measured": [ "pnpm check:dts-closure", "pnpm check:dual-build-cjs-loads", "pnpm check:lean-entry-closure", "pnpm check:sourcemap-no-sources-content" ], "not_measured_reason": "exit 3 PREREQUISITE NOT MET (whole-tree build); they read package dist output this docs-only diff does not change; CI measures them", "reconciliation": "44 derived famil(ies) accounted for — 40 run, 4 NOT-MEASURED", "record": [ "node scripts/check-adr-0087-registration.mjs --base origin/main :: exit 0", "node scripts/check-adr-0087-registration.mjs --self-test :: exit 0", "node scripts/check-changeset-no-major.mjs --base origin/main :: exit 0", "node scripts/check-closing-keyword-parity.mjs :: exit 0", "node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0", "node scripts/check-comment-mask-corpus.mjs :: exit 0", "node scripts/check-doc-route-spelling.mjs --advisory :: exit 0", "node scripts/check-doc-route-spelling.mjs --self-test :: exit 0", "node scripts/check-dts-emitted.mjs --self-test :: exit 0", "node scripts/check-empty-changeset.mjs --base origin/main :: exit 0", "node scripts/check-empty-changeset.mjs --self-test :: exit 0", "node scripts/check-skills-token-ratchet.mjs :: exit 0", "node scripts/check-skills-token-ratchet.mjs --self-test :: exit 0", "node scripts/ci/assert-turbo-remote-cache.mjs --self-test :: exit 0", "node scripts/ci/plan-test-core-shards.mjs --self-test :: exit 0", "node scripts/ci/prune-turbo-cache.mjs --self-test :: exit 0", "node scripts/pm/release-rehearsal-clone.mjs --self-test :: exit 0", "node scripts/release-pending-publish.mjs --self-test :: exit 0", "pnpm --filter @objectstack/spec run check:skill-docs :: exit 0", "pnpm check:agent-test-spelling :: exit 0", "pnpm check:changeset-gate-self-tests :: exit 0", "pnpm check:ci-filter-parity :: exit 0", "pnpm check:closed-ceremony-text :: exit 0", "pnpm check:corpus-claim-drift :: exit 0", "pnpm check:cross-package-test-inputs :: exit 0", "pnpm check:doc-authoring :: exit 0", "pnpm check:driver-memory-census :: exit 0", "pnpm check:dts-closure :: exit 3", "pnpm check:dual-build-cjs-loads :: exit 3", "pnpm check:gitlink-declared :: exit 0", "pnpm check:lean-entry-closure :: exit 3", "pnpm check:merge-driver :: exit 0", "pnpm check:nul-bytes :: exit 0", "pnpm check:pm-governed-merges :: exit 0", "pnpm check:pm-skill-id-lint :: exit 0", "pnpm check:published-files :: exit 0", "pnpm check:refd-timer-probe :: exit 0", "pnpm check:role-word :: exit 0", "pnpm check:skill-compatibility :: exit 0", "pnpm check:skill-frame-sync :: exit 0", "pnpm check:skill-identifier-liveness :: exit 0", "pnpm check:sourcemap-no-sources-content :: exit 3", "pnpm check:watch-hint-literal :: exit 0", "pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0", "pnpm lint :: exit 0" ], "ci": "in_progress at report time" }, "line_budget": { "file": "skills/objectstack-data/SKILL.md", "lines_before": 464, "lines_after": 465, "tokens_before": 6116, "tokens_after": 6122, "ceiling": 6123, "package_skill_md_lines_before": 4534, "package_skill_md_lines_after": 4535, "bundle_tokens_before": 226234, "bundle_tokens_after": 226240 }, "files_changed": [ "skills/objectstack-data/SKILL.md", ".changeset/30466-extension-plurallabel-exception.md" ], "deviations": [ "Ratchet payment is one deleted restated link in the Lifecycle Hooks pointer line (L340), outside the pinned sentence; the pin's 'no other skill text changes' cannot hold while paying by same-file deletion.", "The exception sentence also names the tenant-authored yield, per the seat note asking it to match registry.ts L916 exactly.", "Relay pr_create returned GitHub HTTP 500 twice (runs 42129047064, 42129086028; other seats saw 500s in the same minute); no PR was created by either (head query answered 0); the third send landed #30722.", "Session-context ask to assign and request review from os-elon-musk skipped: standing lines say no reviewers and os-dev says no PR assignees." ], "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "mcp_calls": "0", "api_writes": "4 — fleet-write relay pr_create x3 (2 failed with HTTP 500, 1 landed #30722) + this os-dev-report comment via post-stamped", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [ "carrier: seat (Tier H maintainer) · ADR-0029 D9.2 L473 sentence noted, not filed" ] }Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk
ACCEPT → PR #30722 comment 6672512391 (head
a069bdb6), contract review PASS 6672290914. Tier H: awaiting a governed approver. ADR-0029 D9.2 (L472-473) amendment note raised to the maintainer in the ACCEPT's 维护者速读 ②; not edited here.