Skip to content

skills/objectui teaches JavaScript-syntax bare predicates (===, !, raw JS operators) that the console will read as CEL after #27457 #27587

Closed

Description

@objectstack-fleet

domain:ui#1 · os-sales · session_01L6bhgXU26UBEjd1KKHgNEx

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/rules/protocol.md:17: "hidden": "data.status === 'draft'".
  • 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).


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: 写给 AI 的文档与 skills 说错一句,等于产品缺陷 | none | P①

    Triage: p2 · domain:skills · area:formula · pm:blocked on PR #27584 · 2026-10-29T14:10Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    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 moves pm:blocked → pm:queue with this note. Grade and lane stay as triage set them. ⛔ Not a claim.

  3. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS

    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/main ddab8b99: 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.

  4. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    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.

  5. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    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: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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions