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/objectui teaches JavaScript-syntax bare predicates (===, !, raw JS operators) that the console will read as CEL after #27457 #27587
Filing gate: ③ a skills-doc follow-up owed by a narrowing PR: PR #27584 (#27457) makes the console read a bare-string predicate as CEL, the way @objectstack/spec defines it and the server already reads it. Its PR body carries Skills-docs: follow-up #<this card>.
Business reason: AI agents learn predicate syntax from skills/objectui. Those files teach the legacy JavaScript grammar (===, the JS operator table, raw JS conditions), which the server already refuses and which the console will fault on once #27584 lands. An agent following the skill writes a hidden / visibleWhen that silently hides or never shows the element.
Reader who acts: the triage seat, then the lane that owns skills/** (per execution-duties.md, a skills/** change runs at CONTRACT_REVIEW_TIER, no one-line exemption, which is why it is not done inside #27584's default-tier card thread).
Timing: should land with or right after #27584; until then the skill and the runtime disagree.
Lines found by #27584's card thread (on origin/main)
skills/objectui/guides/schema-expressions.md: line 10 (data.status === 'active' as the condition example); lines 83–89 (the operator table counts JS operators as condition syntax); line 254; lines 335–336.
Expected
Each bare-predicate example is CEL (==, !, in, size(), …); the operator table states that a bare condition string is CEL and that ${…} templates keep their own grammar; a short FROM → TO list for the common JS spellings (===/!==, .includes, .length, a missing data.* key) sits in the guide, since the #27584 changeset carries not-required (no-migration-prescription) (no protocol-legal metadata needs rewriting).
Unblocked: the blocker named by triage is on main: PR #27584 (4c5023ac4, 2026-10-29T19:38Z). The unlock scan had not returned the card, so the seat moves pm:blocked → pm:queue with this note. Grade and lane stay as triage set them. ⛔ Not a claim.
Claim: PM loop round 1 · 2026-10-30T01:59Z
Session: session_016WV4d1Ffw7D64ARzogMukj (card thread; seat session_016WV4d1QkPVVzNz3FJqb2iS)
Account: os-elon-musk
Branch: claude/project-thread-7yo6br (the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)
Worktree: objectstack-issue-27587
Domain: domain:skills
Seat: domain:skills#2 (lane position 2 of the p2 rung after the unblock: #27354 is position 1, seat 1's)
File surface: skills/objectui/rules/protocol.md (the hidden example, :17), skills/objectui/guides/schema-expressions.md (the bare-predicate examples, the operator table and one FROM → TO list for the common JS spellings), and the package's evals/*.json if an eval rewards a JS-syntax predicate; scripts/check-skills-token-ratchet.mjs row only under the standing ruling 「A:先削重复,余额按实测提高」 — stop on breach; explain in the report
Container & model: M, mode:thread, model: opus — dispatch-gates --tier answers MANDATORY claude-fable-5-1 for skills/**; exit taken: the proactive low-headroom downgrade (「fable 不多,后续尽量认领不需要契约复审的卡」), compensated by the CONTRACT_REVIEW_TIER review at fable; effort: high
Clause-②: no
Metadata-protocol: none
Responsibility: the published skills/objectui teaches JavaScript-syntax bare predicates that the server refuses and the console reads as CEL since PR #27584; an AI author following the skill writes a hidden / visibleWhen that never shows or always hides.
Thread-read: 6498976928
Premise: holds (origin/mainddab8b99: skills/objectui/rules/protocol.md:17 still reads data.status === 'draft'; PR #27584 merged 4c5023ac4)
Serial constraints cleared: no open PR touches skills/objectui/** at claim time. Governed skills/**: Tier H, owes a CONTRACT_REVIEW_TIER contract review before the queue; the seat requests the governed approvers.
ACCEPT → PR #27889 comment 6514209396 (register Tier H, skills/**; contract review PASS 6513743666 on e8ba3a8, should-fix 1 folded, delta PASS 6514208796 on head 0376f2d; CI green; approvers requested). Awaiting a GOVERNED_APPROVERS approval, then the seat lands it.
Landed: PR #27889 merged (912227111, 2026-10-30T03:53Z) after os-zhuang's approval, on contract review PASS 6513743666 and delta PASS 6514208796; pm:dispatched stripped with this note. skills/objectui now teaches every bare predicate as CEL, with a FROM → TO list for the JS spellings (===, .includes, .length, a missing data.* key in both directions). Nothing further owed on this card.
Activity
objectstack-fleet commentedon Oct 29, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: 写给 AI 的文档与 skills 说错一句,等于产品缺陷 | none | P①
Triage: p2 ·
domain:skills·area:formula·pm:blockedon PR #27584 · 2026-10-29T14:10Z⛔ Not a claim.
skills/objectuiteaches JavaScript-syntax bare predicates (===,!, JS operators). After PR fix(ui-core): read a bare-string predicate as CEL shorthand, as the spec and server do #27584 (console: a bare-string CEL predicate (navvisible, pagevisibleWhen) runs on the legacy evaluator and fails, though the spec defines a bare string as CEL shorthand #27457) the console reads them as CEL and faults, and the server already refuses them. This is theSkills-docs:follow-up of a narrowing, so p2.Generated by Claude Code
objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Unblocked: the blocker named by triage is on
main: PR #27584 (4c5023ac4, 2026-10-29T19:38Z). The unlock scan had not returned the card, so the seat movespm:blocked→pm:queuewith this note. Grade and lane stay as triage set them. ⛔ Not a claim.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Claim: PM loop round 1 · 2026-10-30T01:59Z
Session:
session_016WV4d1Ffw7D64ARzogMukj(card thread; seatsession_016WV4d1QkPVVzNz3FJqb2iS)Account:
os-elon-muskBranch:
claude/project-thread-7yo6br(the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)Worktree:
objectstack-issue-27587Domain:
domain:skillsSeat:
domain:skills#2(lane position 2 of the p2 rung after the unblock: #27354 is position 1, seat 1's)File surface:
skills/objectui/rules/protocol.md(thehiddenexample,:17),skills/objectui/guides/schema-expressions.md(the bare-predicate examples, the operator table and one FROM → TO list for the common JS spellings), and the package'sevals/*.jsonif an eval rewards a JS-syntax predicate;scripts/check-skills-token-ratchet.mjsrow only under the standing ruling 「A:先削重复,余额按实测提高」 — stop on breach; explain in the reportContainer & model:
M,mode:thread,model: opus—dispatch-gates --tieranswers MANDATORY claude-fable-5-1 forskills/**; exit taken: the proactive low-headroom downgrade (「fable 不多,后续尽量认领不需要契约复审的卡」), compensated by the CONTRACT_REVIEW_TIER review at fable;effort: highClause-②: no
Metadata-protocol: none
Responsibility: the published
skills/objectuiteaches JavaScript-syntax bare predicates that the server refuses and the console reads as CEL since PR #27584; an AI author following the skill writes ahidden/visibleWhenthat never shows or always hides.Thread-read: 6498976928
Premise: holds (
origin/mainddab8b99:skills/objectui/rules/protocol.md:17still readsdata.status === 'draft'; PR #27584 merged4c5023ac4)Serial constraints cleared: no open PR touches
skills/objectui/**at claim time. Governedskills/**: Tier H, owes a CONTRACT_REVIEW_TIER contract review before the queue; the seat requests the governed approvers.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
ACCEPT → PR #27889 comment 6514209396 (register Tier H,
skills/**; contract review PASS 6513743666 on e8ba3a8, should-fix 1 folded, delta PASS 6514208796 on head 0376f2d; CI green; approvers requested). Awaiting a GOVERNED_APPROVERS approval, then the seat lands it.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Landed: PR #27889 merged (
912227111, 2026-10-30T03:53Z) after os-zhuang's approval, on contract review PASS 6513743666 and delta PASS 6514208796;pm:dispatchedstripped with this note.skills/objectuinow teaches every bare predicate as CEL, with a FROM → TO list for the JS spellings (===,.includes,.length, a missingdata.*key in both directions). Nothing further owed on this card.