Repository navigation
Description
domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW
Filing gate ③: a gate blind spot with named locations, plus two comment precisions. All three come out of contract review 6503360165 on PR #27619 (#27550). Filed by domain:devx seat 2 (#20163). ⛔ Not a claim. ⛔ Filed without domain:*: .github/workflows/** wiring belongs to domain:spec by the anchoring rule, and every edit here is a governed ci.yml change that needs a maintainer ci.yml ruling (standing constraint), so triage sets the lane.
Business reason: a PR that changes only a composite action under .github/actions/**, which every CI job runs, or only .nvmrc, which sets the Node version, starts none of the filtered jobs in ci.yml. Such a PR can merge with Build Core, Test Core and the UI jobs all skipped, and the breakage surfaces on main.
Reader who acts: the lane triage assigns. One small ci.yml PR, Tier H.
Dedupe: .github/actions and nvmrc grepped over ci.yml's filter job lists at origin/main. Neither appears in any list, and no open card names them.
Measured (origin/main, contract review 6503360165 ④)
- Blind spot.
.github/actions/**and.nvmrcmatch none of thefilterjob's paths lists (core,ui,ui_consumers,ui_tree,crosspkg). Re-check: read thefilterjob'sfilters:block in.github/workflows/ci.ymland search it foractions/andnvmrc. - Comment S1. The
filterjob'scoreoutput has no comment naming its readers. The siblingcrosspkgcomment does name its reader ("Gates thetestjob ONLY"). After ci(live-e2e-ui): run on server-only diffs too (|| core), and pin the 2-minute spec budget #27619,Live E2E UIreadscoreas well astest-plan,testandbuild-core. - Comment S2. The
live-e2e-uijob comment's parenthetical "core(packages/, examples/, apps/!(docs)/** and the root build inputs)" omitsskills/**,.github/workflows/ci.ymland Build Core's guard scripts, which are all in thecorelist.skills/**is the very set behind the five skills-only runs the next sentence attributes to the widening.
Wanted
- Decide, with the maintainer's
ci.ymlruling, which filter list.github/actions/**and.nvmrcbelong in. Most likely that iscore, plus the ui lists for the actions the UI jobs use. Measure which jobs each composite action runs in before choosing.check:ci-filter-parityandcheck:pm-expected-skipsmust stay green. - Add a one-line reader note on the
coreoutput. - Make the parenthetical say "and the root build inputs,
skills/**among them", or list the entries.
Acceptance
- A diff confined to
.github/actions/**or.nvmrcstarts the jobs that run that action or Node version. The PR shows it on a probe diff, or via the filter's own self-test if one covers it. - The two comments read as above.
- The
ci.ymlderived gates are green.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 29, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: p2 ·
domain:spec·area:devpath· Tier H · 2026-10-29T18:00Z⛔ Not a claim.
.github/workflowswiring is the spec lane by the anchoring rule. This adds no gate: it closes a blind spot in the filter of the existing gated jobs, so 「新增门禁默认否」 does not apply..github/actions/**and.nvmrcjoin thecorelist, or the list that matches what they feed, measured. The two comment precisions ride the same PR.ci.ymledit: Tier H, the maintainer approves.pm:queue.Generated by Claude Code
objectstack-fleet commentedon Oct 29, 2026
domain:spec#3 · os-support-ai · session_01WGufzgbJhFoXYsLSe5WSPP
Claim: PM loop round 3 · 2026-10-29T19:16Z
Session:
session_01WGufzgbJhFoXYsLSe5WSPPAccount:
os-support-aiBranch:
claude/project-thread-km29ns(card thread; the platform assigns the thread's branch and it can push only that one, written as measured instead ofclaude/issue-27673-<slug>)Worktree:
objectstack-27673Domain:
domain:specSeat:
domain:spec#3Ruling-ref: triage 6504471712 (p2,
domain:specby the anchoring rule; no new gate, the blind spot in the existing filter closes; Tier H, the maintainer approves theci.ymledit)File surface:
.github/workflows/ci.yml(thefilterjob's lists and two comments), the filter-parity / expected-skips tooling and tests only if a gate needs a row (stop on breach; explain in the report)Container & model:
S,mode:thread,model: TIER_DEFAULT — --tier: no path-derived mandate (Tier H (governedci.yml); a maintainer approval follows the seat's ACCEPT),effort: highClause-②: no
Metadata-protocol: none
Responsibility:
.github/workflows/ci.ymlfilter lists omit two inputs every gated job reads | none | a PR confined to them merges with core and UI jobs skipped, measured by contract review 6503360165Thread-read: 6504471712
Premise: to be measured first by the dev on
origin/mainbfdaba43:.github/actions/**and.nvmrcmatch none of thefilterjob's listsSerial constraints cleared: none (no open PR in this seat's census edits
ci.yml; the dev re-measures)objectstack-fleet commentedon Oct 29, 2026
domain:spec#3 · os-support-ai · session_01WGufziRAJnkSn1iGTfop1P
os-dev-report
{ "issue": 27673, "status": "done", "branch": "claude/project-thread-km29ns", "pr": "https://github.com/objectstack-ai/objectstack/pull/27709", "head": "d33c83b1b3711a1110028dd321b09ac6b77f9865", "session": "session_01WGufziRAJnkSn1iGTfop1P", "premise_still_valid": true, "summary": "Measured on origin/main bfdaba43: .github/actions/setup-workspace, setup-pnpm, half-state-patrol and .nvmrc match no filter list. setup-workspace feeds the core jobs + build-docs; setup-pnpm feeds the 7 UI jobs directly and every setup-workspace job transitively; .nvmrc feeds all of them; half-state-patrol feeds no ci.yml job. ci.yml +26/-0: core and docs gain .nvmrc + setup-workspace/** + setup-pnpm/**, ui gains .nvmrc + setup-pnpm/** (per action, not .github/actions/**), and the core output gains the S1 reader note naming its six readers on main. S2 and the Live E2E UI reader are NOT in this PR: both exist only in open draft PR #27619; per the seat's 19:18Z instruction they are routed to #27619 (or merged in here if #27619 lands first).", "tests": "Probe (picomatch 2.3.2 and 4.0.7, {dot:true}, the changes step's filters block, each job's if: evaluated for pull_request): before bfdaba43 all four paths -> no list, no gated job; after d33c83b1 setup-workspace -> docs,core (test-plan,test,build-core,build-docs), setup-pnpm and .nvmrc -> docs,core,ui (those four + ui-deps,type-check-ui,test-ui,lint-ui,build-e2e-ui,live-e2e-ui), half-state-patrol -> none; positive controls unchanged. ui/scripts/__tests__ readers of the ui filter (12 files) under os-verify-lock: VERDICT command-exit 1, 11/12 files, 325/325 tests; check-action-forward-parity.test.ts failed to load (cannot resolve @objectstack/spec/ui, unbuilt dist): NOT MEASURED, Test UI runs it. No ablation: workflow config.", "gates": "dispatch-gates --commands at d33c83b1: 53 commands, run serially, exit captured before any pipe. 49 exit 0 (incl. check:ci-filter-parity, check:pm-expected-skips, check:required-contexts, check:workflow-status-functions, check:pm-dispatch-gates); 4 exit 3 PREREQUISITE NOT MET (check:dts-closure, check:dual-build-cjs-loads, check:lean-entry-closure, check:sourcemap-no-sources-content: Build Core's guards, run by Build Core on this PR). dispatch-gates --ran: 53 derived, 49 run, 4 NOT-MEASURED, 0 UNRUN, exit 0. PR check-runs: in_progress at report time.", "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm", "mcp_calls": "0", "api_writes": "2 relay writes — pr_create (#27709, labels skip-changeset, 11821 bytes stored identical, no assignees) and this os-dev-report comment on #27673; plus git push of claude/project-thread-km29ns", "open_questions": [], "out_of_scope_findings": [ "observation, not filed · scripts/check-ci-filter-parity.mjs header bound names setup-pnpm as the one local composite action; setup-workspace now also exists and calls it · carrier: none", "observation, not filed · setup-pnpm reads the root package.json packageManager field; a diff confined to package.json matches core but not ui · carrier: none", "carrier: PR #27619 · S2 parenthetical and Live E2E UI as a core reader (S1), routed by spec seat 3" ] }Generated by Claude Code
objectstack-fleet commentedon Oct 29, 2026
domain:spec#3 · os-support-ai · session_01WGufzgbJhFoXYsLSe5WSPP
Routing of the two items PR #27709 does not carry ·
domain:specseat 3 · 2026-10-29T20:25Z · ⛔ not a claimPR #27709 closes this card's filter gap and S1 as measured on
main. Two items depend on text that only the open PR #27619 adds, so they ride #27619 itself, as posted on its card (#27550, comment 6506685291):Live E2E UIreader: oncelive-e2e-uireadscore.live-e2e-ui's parenthetical namesskills/**among the root build inputs.The contract review's remaining two findings are filed separately (see the next comment's card).
objectstack-fleet commentedon Oct 29, 2026
domain:spec#3 · os-support-ai · session_01WGufzgbJhFoXYsLSe5WSPP
ACCEPT → PR #27709 comment 6507570909 (Tier H: awaiting an authorized approval, then the seat lands it)
objectstack-fleet commentedon Oct 30, 2026
domain:spec#3 · os-support-ai · session_01WGufzgbJhFoXYsLSe5WSPP
Landed ·
domain:specseat 3 ·os-support-ai· 2026-10-30T05:44Zos-zhuang) at 2026-10-30T01:37Z, headd33c83b1b, merge commit38651598a7origin/maingit merge-base --is-ancestor)Delivered:
ci.yml'sfilterjob lists the start-up files its jobs actually run.coreanddocsgain.nvmrc,setup-workspace/**andsetup-pnpm/**, anduigains.nvmrcandsetup-pnpm/**. A PR that touches only those files now starts Build Core, Test Core, Build Docs and the UI jobs instead of skipping them.Owed elsewhere: S2 and the
Live E2E UIreader are routed to PR #27619 (recorded above and on #27550). The rootpackage.jsongap and the parity gate header are on #27717.pm:dispatchedis removed here; the card was closed by the merge.