Skip to content

skills: teach action.pressed in the objectstack-ui actions rule #28243

Open

Description

@objectstack-fleet

domain:spec#2 · os-tesla · session_01L9qibx5r5nhDMwpRs4SL6D

Filing gate: ③ the Skills-docs: follow-up owed line of PR #28235 (#27946), filed by the seat before ACCEPT as the claim template requires. ⛔ Not a claim. Triage sets the lane and grade.
Reach: an AI author writing a toggle-style header action from the objectstack-ui skill does not learn pressed.

Wanted

  • skills/objectstack-ui/rules/actions.md teaches pressed: an expression over record and user that marks the action as already done by this reader; a per-reader fact on a child record reaches it through attachedOnRead plus an afterFind hook that attaches it to the served row.
  • Lands with or after the console card for A record_header action cannot show per-reader state (an active / pressed predicate) #27946, so the skill never teaches a key that draws nothing. Governed path (skills/**): Tier H.

Links back: #27946, PR #28235.

Blocked-by: #28242

Activity

  1. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: p3 · domain:skills · area:records · pm:blocked on #28242 · 2026-10-30T19:07Z

    ⛔ Not a claim.

    • Read fresh. The skill teaches pressed once the header draws it. Blocked-by: #28242 is added to the body. pm:blocked.

    Generated by Claude Code

  2. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: unblocked · p3 · 2026-10-31T05:58Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#1 · os-tesla · session_01L9qibzCtJt8Q2Z63fyRNix

    Claim: skills seat 1 round 1 (fold chain head of #28243 #28464 #28190 #28215 #28212 #28207 (five gates answered in the order)) · card thread · 2026-10-31T23:00Z
    Session: session_01L9qibzCtJt8Q2Z63fyRNix (the seat); card thread session_01L9qibz4G9FrLR4TRExx6gn
    Account: os-tesla (the seat's linked user; the card's assignee)
    Branch: claude/project-thread-0tmmio
    Worktree: the card thread's own container checkout
    Domain: domain:skills
    Seat: domain:skills#1
    File surface: skills/objectstack-ui/rules/{actions,list-views,dashboards}.md, skills/objectstack-ui/evals/views-apps-actions-pages.json, skills/objectstack-i18n/SKILL.md (+ its evals if a gate asks), .changeset/28243-*.md. ⛔ No skills/*/references/_index.md. Stop on breach.
    Container & model: M, mode:thread, model: claude-fable-5-1 (MANDATORY by dispatch-gates.mjs --tier for this surface), effort high; contract-review tier before the queue; Tier H
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Thread-read: 6539827306
    Premise: holds (no member's key is taught under skills/ on main 768ec4bf; every member's Blocked-by: is closed; the dev re-checks first)
    Ruling-ref: none on any member; p3 under the maintainer's 「p3 也可以开发」 (2026-10-30)
    Serial constraints cleared: open PR #28467 (another lane) touches skills/*/references/_index.md only, outside this surface; no other open PR or claim touches it
    Resume-from: none (fresh from origin/main)
    Order: /mnt/project-files/skills-seat-1/r2026-10-31/dispatch-ui-fold-28243.md (project file)

    State: no state label (triage left it at p3 without pm:queue) → pm:dispatched, assigned to os-tesla, recorded by this claim.

  4. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#1 · os-tesla · session_01L9qibz4G9FrLR4TRExx6gn
    os-dev-report

    Card thread report for the fold (chain head #28243; members #28464 #28190 #28215 #28212 #28207), written 2026-10-31T23:42Z. Draft PR #28488 at head 162680e.

    {
      "issue": 28243,
      "status": "done",
      "branch": "claude/project-thread-0tmmio",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/28488",
      "session": "session_01L9qibz4G9FrLR4TRExx6gn",
      "premise_still_valid": true,
      "summary": "Fold of six p3 skill-teaching cards (#28243 #28464 #28190 #28215 #28212 #28207), one commit per card plus a one-line fix-up, head 162680ed on main 82b29fe5. skills/objectstack-ui/rules/actions.md teaches `pressed`, names all five `{{ }}` copy slots with an example each, and teaches `submitText` (its example sets it; eval 11 added); rules/list-views.md teaches `kanban.lanes`; rules/dashboards.md teaches report chart `seriesBy`; skills/objectstack-i18n/SKILL.md lists `_views.{view}.submitBehavior.title/.message` and `_actions.{action}.submitText`. Changeset `.changeset/28243-skills-ui-i18n-teach-six-keys.md` ('@objectstack/skills': patch). Every statement was read against the spec schema and the renderer on main (file:line table in the PR body). The three zero-headroom files are paid by deletion in the same file (named in the PR body); no ceiling moves. Premise re-checked: no member's key was taught under skills/ on main; every Blocked-by is closed; no member dropped.",
      "tests": "Docs-only diff, no package source touched, so no package test suite is owed or was run; no ablation. `node scripts/check-skills-token-ratchet.mjs` exit 0 (56 authored files within ceilings; changed files headroom 4 / 21 / 2 / 687). `pnpm --filter @objectstack/spec run check:skill-examples` exit 0: '277 prose examples type-check across 3 surface(s)', which covers the two edited os:check blocks. The eval fixture parses as JSON (11 cases).",
      "gates": "Local subset = the derivation: `dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` at 162680ed = 45 lines, each run with stdin closed, exit captured before any pipe, all `:: exit 0`; `--ran` reconciliation: '45 derived famil(ies) accounted for — 45 run, 0 NOT-MEASURED'. Three gates (check:dual-build-cjs-loads, check:lean-entry-closure, check:skill-examples) exited 3 PREREQUISITE NOT MET on the first sweep and were re-run after `pnpm build --concurrency=2` under the verify lock (VERDICT command-exit 0, 116/116 tasks, 12m28s); the recorded codes are the re-run ones. check:role-word exited 1 at 5c2fb7da (the word 'role' in the new description example) and 0 at 162680ed after the fix-up commit. Record: /mnt/project-files/skills-seat-1/r2026-10-31/out/28243-gates-ran-162680ed.list (+ -extras.list). Every other family is CI's: PR #28488 check-runs, in_progress at report time.",
      "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm",
      "mcp_calls": "27 — all reads: github issue_read (get / get_comments on the six cards, #28424, and #28243 again for the Claim), pull_request_read (get on #28439, get on #28488). 0 writes; the harness's assignee/reviewer MCP step was skipped as the frame forbids MCP writes.",
      "api_writes": "2 — git push (not a REST write; 2 pushes: 5c2fb7da then 162680ed) and one relay stroke `pr_create` (fleet-write run 41253512315, PR #28488, 15132 bytes stored identical, no assignees, no labels); this report comment via post-stamped.mjs is the third relay write.",
      "open_questions": [],
      "out_of_scope_findings": [
        "class: none filed · carrier: none · noted in the PR's Acceptance notes: the spec's own copy-hole reference example (`Choose the new role for {{ record.name }}`, packages/spec/src/ui/action-copy-template.ts:143) cannot be copied into skills/** because check:role-word ratchets the word; the skill example says 'owner'. Not a defect, not filed.",
        "class: none filed · carrier: none · the order allowed an i18n eval 'if the gate asks'; no derived gate asks, so skills/objectstack-i18n/evals is unchanged."
      ]
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions