Skip to content

docs(devx): 32 files still prescribe the retired objectui pin scripts (objectui:build / objectui:refresh) — AGENTS.md and 3 skills among them #26035

Closed

Description

@objectstack-fleet

Ruled: 6435329940 · letter A · 2026-10-27T06:32Z

Problem

The objectui pin is gone from main. #25711/#25745 build the console in the workspace, and the root manifest's only console script is now console:build (turbo run build:dist --filter=@objectstack/console). There is no .objectui-sha, no scripts/build-console.sh, and no objectui:build / objectui:refresh / objectui:bump / objectui:clean script.

32 tracked files on main still tell readers to run those scripts, or describe the pin route as live (git grep -lE "objectui:(build|refresh|bump|clean)" origin/main). The ones that matter most are the instructions every agent reads:

Governed rule text (needs contract review):

  • AGENTS.md L157–170: the ../objectui edit → pnpm objectui:refresh workflow, "Other scripts: objectui:bump … objectui:build, objectui:clean", and "Moving the pin has a second half".
  • .claude/skills/checklist-test/SKILL.md L69 and .claude/skills/dogfood-verification/SKILL.md L90: pnpm objectui:build from the pinned SHA.
  • .claude/skills/pm-dispatch/references/lanes/ui.md L20: build output flows back via pnpm objectui:refresh.
  • .github/workflows/lint.yml L1018: a comment naming what pnpm objectui:build materialises. Comment only, but it is a workflow file, so Tier H.

Ungoverned docs and code:

Historical CHANGELOGs, changesets and dated baselines (docs/qa/studio-benchmark/baselines/…) are records. Leave them as they are.

Suggested slicing

  1. Governed text: AGENTS.md + the 3 skill files. Contract review. Rewrite to the in-workspace flow (pnpm console:build, edits under ui/).
  2. Ungoverned docs: README, examples.mdx, RUNNER.md, ADR-0082 L198, render-readme-demo. Do the area JSON once the sweep ledger cards are off hold.
  3. CLI: the stamp-drift remedy strings and their test, plus a changeset.
  4. The lint.yml comment, folded into whichever PR next touches that workflow, or its own Tier H one-liner.

Acceptance

  • After each slice, git grep -nE "objectui:(build|refresh|bump|clean)" over the slice's paths finds only historical records.
  • No gate is narrowed or skipped. The pinned strings in console.sha-drift.test.ts change only together with the code they pin.

Found by the #25920 slice-2 thread (PR #26024) and the #26021 thread (PR #26029). Filed by the devx seat #6023.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Brief-claimed-by: session_01KrKXQVvgYk2AJ4VkqMobyb · batch #408 · 2026-10-27T04:44Z

    Director seat, summon #51 continuation (ledger objectstack#12708). Presented to the maintainer in batch #408 as item 2 of 5. Seat increment (re-read on origin/main 26e7c75e9a; the card and the devx release 6433463741 are not restated):

  2. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Ruling: batch #408 item 2 · letter A · maintainer 「批 #408 同意」 2026-10-27T06:25Z

    Recorded by the director seat (summon #51 continuation, session_01KrKXQVvgYk2AJ4VkqMobyb, ledger objectstack#12708). The maintainer answered batch #408 with 「批 #408 同意」 — every seat letter. Brief 6433965564. Letter A: slice 1 is dispatched now — the two remaining lines that prescribe the retired pin scripts, .claude/skills/checklist-test/SKILL.md:69 and .claude/skills/dogfood-verification/SKILL.md:90, rewritten to the in-workspace flow (pnpm console:build, edits under ui/); the AGENTS.md block and the lint.yml comment the card named are already gone on main and need nothing. The maintainer's yes is the spend of the contract review the card's needs:contract-review asks for; the PR is Tier H (.claude/**) and lands by the maintainer's approval. Not B (stale text stays until an unrelated PR) and not C.

    Workload: skills · one fable card thread · XS. Acceptance as the card's: git grep -nE "objectui:(build|refresh|bump|clean)" over .claude/skills → 0; the two skills' examples still run.

    Execution: needs-user-decision → pm:queue in this act (domain:devx, p2, needs:contract-review kept for the thread). Ruling-ref: names this comment. Clause-②: no, Metadata-protocol: none.

  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 10 · 2026-10-27T06:44Z
    Session: session_01Q4MDXRbEJCNdPAP4SiXwp9 (devx seat 2) · card thread session_01ADHkmTQqaSwGFt1FkfF8pF
    Account: os-steve
    Branch: claude/project-thread-pr6axl (the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record; amended on spawn)
    Worktree: objectstack-issue-26035
    Domain: domain:devx
    Seat: domain:devx#2 (seat post #20163)
    File surface: slice 1 only, per ruling 6435329940 letter A: .claude/skills/checklist-test/SKILL.md (L69) and .claude/skills/dogfood-verification/SKILL.md (L90), the two remaining lines that prescribe pnpm objectui:build, rewritten to the in-workspace flow (pnpm console:build; edits under ui/). The AGENTS.md block and the lint.yml comment are already gone on main and are not touched. ⛔ Governed rules text (.claude/**): a CONTRACT_REVIEW_TIER contract review is owed (the ruling spends it) and the PR lands by a GOVERNED_APPROVERS approval; the dev neither readies nor arms auto-merge. Slices 2 and 3 are done (PRs #26052, #26063)
    Container & model: XS, mode:thread, model: fable (CONTRACT_REVIEW_TIER, reason: per-card ruling 6435329940 names one fable card thread for this governed rules text), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — devx seat 1's card, released 6433463741 on sign-off; re-claimed by seat 2 on the ruling
    Thread-read: 6435329940
    Ruling-ref: 6435329940
    Premise: git grep -nE "objectui:(build|refresh|bump|clean)" origin/main -- .claude/skills returns exactly the two lines (the director's re-read 6433965564; the dev re-runs it first)
    Serial constraints cleared: no in-flight PR of this seat touches .claude/skills/**


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 26035,
      "status": "done",
      "branch": "claude/project-thread-pr6axl",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/26536",
      "session": "session_01ADHkmTQqaSwGFt1FkfF8pF",
      "premise_still_valid": true,
      "summary": "Slice 1 only, per ruling 6435329940 letter A. On origin/main d2ca7079 the grep for objectui:(build|refresh|bump|clean) under .claude/skills returned exactly the two lines the claim names (checklist-test/SKILL.md:69, dogfood-verification/SKILL.md:90), so the premise holds. Both now prescribe the in-workspace flow: run pnpm console:build at the repo root, edit the Console under ui/. The dogfood sentence spans two physical lines, so L91 carries the second half of the rewritten parenthetical (its trailing pnpm check:console-sha text is untouched). Line counts unchanged (238 and 148; checklist-test sits at ceiling 238, headroom 0). Governed .claude/** diff: PR opened as draft with skip-changeset, assignee os-steve; not readied, no auto-merge; lands by a GOVERNED_APPROVERS approval; the ruling spends the CONTRACT_REVIEW_TIER review.",
      "tests": "No code or test touched. Skill example run for real: pnpm console:build in the fresh worktree at head 153be45d under scripts/pm/os-verify-lock.sh (NODE_OPTIONS=--max-old-space-size=4096, --concurrency=2): '@objectstack/console dist ready (80844 KB) from ui/apps/console, with the tracked sdui.manifest.json', 'Tasks: 71 successful, 71 total', 'Time: 14m7.542s', lock VERDICT command-exit 0 (shared-box seconds). Acceptance grep on the branch: 0 hits (exit 1). No ablation: documentation only.",
      "gates": "dispatch-gates --commands --repo objectstack-ai/objectstack derived 16 families; each run byte-for-byte with its exit captured before any pipe, all 16 exit 0 (closing-keyword-parity + --self-test, comment-mask-corpus, pm/check-harness-current --self-test, lint check:doc-formula-expressions, agent-test-spelling, cross-package-test-inputs, doc-authoring, driver-memory-census, gitlink-declared, nul-bytes, pm-governed-merges, pm-skill-ratchet, refd-timer-probe, skill-frame-sync, watch-hint-literal). --ran: 16 derived, 16 run, 0 NOT-MEASURED. Also check-commit-card-trailers --range origin/main..HEAD: pass (1 commit, model-free trailer pair). PR check-runs: in_progress at report time; the farm is CI's.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "4 — mcp__github__issue_read x3 (card body, card comments twice: before and after the claim amendment), mcp__github__pull_request_read x1 (draft/labels/assignee read-back of the new PR); no MCP write",
      "api_writes": "3 — relay pr_create (objectstack#26536, labels [skip-changeset], assignees [os-steve]), relay comment (this os-dev-report) and relay pr_request_reviewers (os-steve), the last two in one stroke; plus git push (not a REST write)",
      "open_questions": [],
      "out_of_scope_findings": [
        "carrier: none · noted in PR #26536 Acceptance notes, not filed — .claude/skills/dogfood-verification/SKILL.md L76–L93 (outside the two named lines) still frames the retired pin route as live: the /_console UI 'pinned by .objectui-sha', build-console.sh stamping packages/console/dist/.objectui-sha, and pnpm check:console-sha, a root script that no longer exists in package.json. The grep acceptance cannot reach it (no objectui:* script named). The stamp-drift refusal and OS_ALLOW_CONSOLE_DRIFT still exist in packages/cli/src/utils/console.ts (slice 3 kept them), so only the framing is stale. Governed .claude/** text: a sibling slice of this card if the seat wants it. dedupe words: dogfood-verification, .objectui-sha, check:console-sha, build-console.sh"
      ]
    }

    Generated by Claude Code

  5. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    devx seat 2 (#20163): slice 1 (PR #26536, ruling 6435329940 letter A) has a Contract review PASS on 153be45d and the seat ACCEPT. It stays a draft for a maintainer approval.

    Candidate for a later slice, found by the slice-1 thread and the reviewer: .claude/skills/dogfood-verification/SKILL.md L76–93 still describes the retired objectui pin route as current. It mentions /_console pinned by .objectui-sha, build-console.sh stamping packages/console/dist/.objectui-sha, and pnpm check:console-sha, which is no longer a root script. The drift refusal and OS_ALLOW_CONSOLE_DRIFT=1 still exist in packages/cli/src/utils/console.ts, so those sentences need rewording, not deleting. The same rewrite should not end L90 on a Han character followed by ASCII ; (the #12081 soft-break). The objectui:* grep cannot see this.


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Release: session_01Q4MDXRbEJCNdPAP4SiXwp9 (devx seat 2) · seat signs off on the maintainer's word 「devx 车道当前任务处理完就下班」 (2026-10-27 08:42Z) · next: a maintainer approval of PR #26536 (slice 1), then the later slices

    PR #26536 (head 153be45d, slice 1 under ruling 6435329940 letter A) carries a Contract review PASS and the seat ACCEPT; CI is green. It edits .claude/** and stays a draft for a maintainer. The next slice candidate (the dogfood-verification L76–93 bullet that still describes the retired pin route) is in 6436082138. #26073, #26081 PR 1 and #26088's remainder wait on this card.


    Generated by Claude Code

  7. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    devx seat 2 · half-state corrected · 2026-10-27T23:03Z

    This card is closed but still carried pm:awaiting-maintainer. Closing strips pm:* status labels in the same stroke, so the label is removed now. Nothing else changed.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions