Skip to content

docs(ui): the CI/CD guide page describes objectui's 28 deleted workflows; retire it and repoint its ~28 readers (F14, parent #25677) #26944

Closed

Description

@objectstack-fleet

Filing gate ③ (maintainer-directed). On 2026-10-27 at 22:23Z, Tesla answered the F14 decision card in the cleanup project thread by choosing 「New card for F14, close the epic」. This card is that new card. It carries F14 from #25712's closing record (6432294556), which moved it onto #25753, and it inherits epic #25677 (now closing). Part of #25677. ⛔ Not a claim.

维护者速读

ui/content/docs/guide/ci-cd-pipeline.md 有 3,243 行,写的是 objectui 独立仓的 28 个 workflow。这些 workflow 已随 #26058 删除,页面上的每个作业名、触发条件和必需检查都不再成立。建议整页删除,只留一句指向根仓 .github/workflows/ 的说明,而不是重写:根仓的 CI 在 workflow 文件和 AGENTS.md 里已有一份说明,再写第二份只会再次过时。约 28 个文件引用这一页(测试、markdown-test-inputs 台账、导航 meta.json、CONTRIBUTING.md、deployment.md),它们要随页面一起改指向或删掉。

What is wrong

The page documents CI that no longer exists:

Any contributor who reads it to learn how a ui/ PR is checked gets wrong answers. The test that kept it honest, ci-cd-pipeline-doc.test.ts, was deleted in 2d-3 (#26013). Its 15 describes are listed in #26058's body under "Follow-up rows", and they are the checklist for any rewrite.

Who acts

A domain:devx card thread. The edits are in ui/content/docs/guide/, ui/scripts/** and ui/CONTRIBUTING.md, all Tier S or ungoverned. There are two shapes, and the seat picks one:

Acceptance

  • git grep -n 'ci-cd-pipeline' lists only CHANGELOG history (shape A), or only live readers of the rewritten page (shape B).
  • pnpm --dir ui exec vitest run scripts/ passes, and node ui/scripts/markdown-test-inputs.mjs --audit exits 0.
  • The ui docs site build (Build & E2E UI, plus the docs-route closure gate in Lint UI) stays green.

Duplicate search. objectstack-ai/objectstack, "ci-cd-pipeline docs page objectui workflows rewrite retire": #25712 (closed, listed F14 as a residual), #25753 (open, carries it), #26058 (merged, widened F14). No card exists for the page. New.

Size: S (shape A) or M (shape B). Clause-②: no. Metadata-protocol: none.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: domain:devx, p2, area:devpath · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-27T22:57Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 2 · shape A · 2026-10-28T03:09Z
    Session: session_01QSeKYmTYfaPbLQD4BJfomW (dispatching seat; the cloud session is named in the dispatch note under this claim)
    Account: os-justin (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-26944-retire-ui-ci-cd-page
    Worktree: the cloud session's own container
    Domain: domain:devx
    Seat: domain:devx#2
    File surface: shape A (the card's recommendation; the seat picks A). Delete ui/content/docs/guide/ci-cd-pipeline.md and drop its meta.json entry. Point ui contributor docs (the root CONTRIBUTING.md UI Workspace section, since #27001 folded ui/CONTRIBUTING.md there) and deployment.md at the root .github/workflows/. Update every reader so none points at a missing file: the ui/scripts/markdown-test-inputs.mjs rows, the tests that read or cite the page, and the comment pointers the card lists. ⛔ No .github/** or .claude/** edit, no product code, no new CI doc. PR Fixes #26944 (stop on breach; explain in the report)
    Container & model: M, mode:cloud, model: TIER_DEFAULT (dispatch-gates --tier: "no path-derived mandate"), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Thread-read: 6455652984
    Premise: holds at origin/main cb8988ee14. The page exists, and git grep -l ci-cd-pipeline lists 31 files. The card's ui/CONTRIBUTING.md target no longer exists (#27001 folded it into the root CONTRIBUTING.md), so that pointer lands in the root file.
    Serial constraints cleared: open PRs #27042 and #26365 touch ui/scripts/markdown-test-inputs.mjs on other rows, and #26365 also touches docs under ui/. Whichever lands second merges main.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Dispatch note · devx seat 2 · 2026-10-28T03:11Z

    Claim 6459628069 (shape A) dispatched to cloud session session_01QSeKYoVqdPtw3tbJG1vCDH, outcome branch claude/issue-26944-retire-ui-ci-cd-page.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 26944,
      "status": "done",
      "branch": "claude/issue-26944-retire-ui-ci-cd-page",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/27071",
      "session": "session_01QSeKYoVqdPtw3tbJG1vCDH",
      "premise_still_valid": true,
      "summary": "Shape A. Deleted ui/content/docs/guide/ci-cd-pipeline.md and its meta.json entry. Repointed deployment.md at the root .github/workflows, and added a short UI CI subsection to the root CONTRIBUTING.md UI Workspace section. No CI doc was written. All 31 files that named the page at cb8988ee1 were classified and handled. Glob-probe pins (3) were retargeted to the live deployment.md. Pins asserting the page's content were removed with it, keeping the live package.json/ci.yml halves of mixed its. merge-queue-reporting.test.ts was deleted as a whole: its last describe pinned the page. Ledger rows, two KNOWN_CLAIMS entries and four vacuity floors were updated. Comment pointers were reworded, including seven pointers to the deleted merge-queue-reporting file. Acceptance holds: `git grep -n ci-cd-pipeline` lists only the two packages/console/CHANGELOG.md history lines. The claim (comment 6459628069) names this branch. Card assignee os-justin was untouched; the PR assignee is os-justin. The worktree was created after the PreToolUse hook blocked edits on the primary checkout; the primary is detached at cb8988ee1.",
      "tests": "Head 11fce5c7e. 24 touched/affected suites under os-verify-lock (pnpm --dir ui exec vitest run --maxWorkers=2, 24 files): Test Files 24 passed (24), Tests 842 passed (842), VERDICT command-exit 0 at 7b575a165. The final commit only rewraps comments in 2 files, re-run 2/2 files, 14/14 tests. The acceptance command pnpm --dir ui exec vitest run scripts/ gave 173 passed, 2 failed, 2 skipped of 177 files, VERDICT command-exit 1. Neither failure is a touched file. date-only-zone-pins-10183.test.ts ('ran no case at all') went green after pnpm --filter '@objectstack/formula...' build. unit-registry-absence-collision.test.ts reports 30 modules unimportable (unbuilt @objectstack/client dist): NOT MEASURED locally, reason: local build state, CI builds the closure. node ui/scripts/markdown-test-inputs.mjs --audit: exit 0, '96 candidate test files, all adjudicated; 70 declared entries, all present.' No ablation: no runtime behaviour changed (docs, test pins, comments only).",
      "gates": "dispatch-gates --commands --repo objectstack-ai/objectstack at 7b575a165: 26 families. 25 exited 0, with exit codes captured to file before any pipe; check:type-check-debt was re-run without a timeout wrapper: exit 0, 0 raw tsc errors. pnpm --dir ui exec vitest run scripts/ exited 1, see tests. --ran reconciliation: '26 derived, 26 run, 0 NOT-MEASURED, 0 UNRUN' (a derived zero: every line carries an exit code). Also: cd ui && pnpm run docs:check-links exit 0 ('Links are valid across 13 scan roots.'); check:new-line-citations '0 new citation(s) ... exit 0'; eslint --no-inline-config over the 31 touched ui .ts/.mjs files exit 0, 0 warnings; check:nul-bytes exit 0 on the final head. CI check-runs on PR #27071: in_progress at report time, not awaited per contract. The 5 type-check-program lanes are NOT MEASURED locally and declared to CI: the diff touches no compiled package source, and @object-ui/auth's tsc --listFilesOnly does not include the touched test file.",
      "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm",
      "mcp_calls": "0",
      "api_writes": "2 — (1) POST /repos/objectstack-ai/objectstack/dispatches, the fleet-write relay stroke fw-20261028T035138Z-834461, run 40629064131: pr_create draft #27071 + its assignees leg (os-justin) + labels leg (skip-changeset), read back byte-identical (10554 bytes); (2) POST /repos/objectstack-ai/objectstack/issues/26944/comments via scripts/pm/post-stamped.mjs, this report. git push is not counted.",
      "open_questions": [
        {
          "question": "merge-queue-reporting.test.ts was deleted as a whole. After #25712 its only assertions read the page's ## Merge Queue section, or a list that exists only to exempt one paragraph of that page. Accept the deletion, or keep a reduced file?",
          "options": ["A accept: the page is gone and the map names objectui workflows that run nowhere, so nothing live remains to pin; an empty suite fails vitest", "B keep the MUST_SUBSCRIBE_MERGE_GROUP map with a retargeted pin against the root ci.yml merge_group trigger, which check:required-contexts already holds"],
          "recommendation": "A, because B would duplicate check:required-contexts and check:workflow-status-functions, which the file's own header names as the root carriers of both #3523 holes."
        },
        {
          "question": "Four vacuity floors moved down to the counts measured after the page left: doc-version-claims workflow-anchored lines 3 to 2 (two floors), markdown-test-inputs scripts candidates 35 to 27, and AGENTS.md readers 4 to 3. Is that the right disposition?",
          "options": ["A keep the lowered floors, each with its reason inline", "B replace them with exact counts"],
          "recommendation": "A, because the floors guard against vacuity, not exact membership, and the existing comments already record each prior step down the same way."
        },
        {
          "question": "The PR's changed lines total 4023 (+138/-3886), almost all of it the 3,243-line page deletion. That is over the 3,000-line human-merge threshold. Who lands it?",
          "options": ["A maintainer merge or enqueue", "B authorized APPROVED review, then the owning seat lands it"],
          "recommendation": "A or B per AGENTS.md section 7 class (c); the seat cannot arm it on green alone."
        }
      ],
      "out_of_scope_findings": [
        "carrier: none · noted, not filed: comment pointers in ui/scripts already described merge-queue-reporting.test.ts as deriving a floor that #25712 had retired. They are reworded here only because this PR deleted that file, with no wider sweep. The test name 'is classified as a required context — the merge_group floor DERIVES from that list' in check-shell-escape-residue.test.ts still uses present tense.",
        "carrier: none · noted, not filed: check-lockfile-integrity.mjs says its absolute single-spec-version invariant 'was owned elsewhere'. Since the import retired that comparison (objectstack#25803) and #26058 deleted the pin test, this PR did not verify whether any root gate owns it now. Observation only, not measured."
      ]
    }

    Generated by Claude Code

  5. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #27071 comment 6461375655 · 2026-10-28T05:25Z · head 11fce5c7e3.

    The PR changes 4,024 lines (+138/−3,886, almost all of it the deleted page). That is over the 3,000-line human-merge line, so it lands like a Tier H diff. It stays draft, with needs-user-decision on the PR and review requested from GOVERNED_APPROVERS. Once an APPROVED review arrives, this seat flips it ready and enqueues it; the maintainer may also merge or enqueue it directly. pm:dispatched stays until the merge closes this card via Fixes.


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed: PR #27071, merged as 5193634d4f by os-zhuang (GOVERNED_APPROVERS, APPROVED on 11fce5c7e3) · 2026-10-28T06:40Z

    The merged diff matches the reviewed head 11fce5c7e3: the sorted +/− lines of merge-base..head and merge^1..merge are hash-identical (37 files, +138/−3886). ACCEPT → PR #27071 comment 6461375655. Fixes closed this card; pm:dispatched is removed in this act. ui/content/docs/guide/ci-cd-pipeline.md is gone from main, and git grep ci-cd-pipeline now matches only the two history lines in packages/console/CHANGELOG.md.


    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

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedocumentationImprovements or additions to documentationdomain:devxpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions