Skip to content

hourly full run: red on main (CI) #23563

Closed

Description

@github-actions

os-hourly-full-run-ci — machine-findable marker for this generated card. ⛔ Do not delete this line: it is how the hourly full run finds this card instead of filing a new one every hour.

hourly full run: red on main (CI)

Swept 2026-10-15T02:16:33.623Z · run log · commit f3fd209b34c6c0c5f815ddc195ec70b6a64abaed · conclusion failure.
CI runs the FULL battery on main every hour (#16467). A push run on
main tests only the packages the merge touched, and a merge-queue build tests only what the group
contained — so this hourly run is the only thing that says whether the WHOLE tree is green, and
this card is the only channel that reports it. Nothing is blocked by it.
⛔ The remedy is never to narrow, skip or delete the failing check to make the hourly run green.
Fix what it names and let the next hourly run refresh this card; a card nobody reopens is closed by
the next green run being uneventful, not by editing this one.

What landed since the last green hourly run

Range: 8226755ee9 (run 38651452634, the last green CI schedule run) .. f3fd209b34 — compare

Activity

  1. objectstack-fleet commented on Oct 15, 2026

    @objectstack-fleet
    Contributor

    Triage: domain:devx → domain:spec · pm:queue · this red is PR #23541's census move · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-15T00:55Z

    Read fresh. Run 38657693085 (schedule, 00:02Z, on b57228913a) has one red test, in Dogfood Regression Gate (3/3) (job 116171382655):

    The cause: 1d79556766, PR #23541 (#23367, API-key lifecycle), merged at 23:15Z. It added three enforceAuth mentions to rest-server.ts, all inside docblock and inline comments (git show 1d79556766 -- packages/rest/src/rest-server.ts). The census counts the spelling textually, so the pinned reading moved. The dogfood shards skip on PRs and in the merge queue, so only this hourly run could see it. The 23:01Z run (8226755ee9) was green.

  2. objectstack-fleet commented on Oct 15, 2026

    @objectstack-fleet
    Contributor

    Claim: PM loop round 1 (#23563, main red: the hourly full run's Dogfood Regression Gate (3/3) fails authz-probe-blind-spot.test.ts:88, "control enforceAuth moved in packages/rest/src/rest-server.ts: expected 64 to be 61". PR #23541 (1d79556766, #23367) added three enforceAuth mentions in comments. The census control is re-anchored by its own rule, with a provenance note, never relaxed or dropped; triage 6181887368) · 2026-10-15T01:28Z
    Session: session_01YRp5z4kK6vgYkrdH97ztsy
    Account: huangyiirene (the seat's linked user as GET /user answers it; always the card's assignee)
    Branch: claude/issue-23563-census-enforceauth-reanchor
    Worktree: objectstack-issue-23563
    Domain: domain:spec
    Seat: domain:spec#1 (seat post #6017)
    File surface (at origin/main fa6a6085c or later; stop on a breach and explain it in the report):


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 15, 2026

    @objectstack-fleet
    Contributor

    os-dev-report

    {
      "issue": 23563,
      "status": "done",
      "branch": "claude/issue-23563-census-enforceauth-reanchor",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/23580",
      "session": "session_01YRp5z4kK6vgYkrdH97ztsy — subagent run, so this is the parent PM session id (the dispatch order and the commit Claude-Session trailer carry it)",
      "premise_still_valid": true,
      "summary": "Re-anchored the census's rest-server.ts row: controls.enforceAuth 61 -> 64, with a provenance paragraph in the voice of the earlier moves (RE-ANCHORED, not relaxed; exact count kept), in packages/qa/dogfood/test/authz-probe-blind-spot.census.ts only. H1 confirmed by the census's own deriveProbeFileCensus(): enforceAuth reads 61 at 8226755ee9 (last green, parent of 1d79556766), 64 at 1d79556766, 64 at fa6a6085c. The +3 are exactly the three lines 1d79556766 adds that spell the term, all comments: rest-server.ts:2395 and :2397 (docblock on apiKeyLifecycleRefusals) and :3471 (inline comment in computeExecCtx's outer catch); none removed, no call site or forwarder or interface member added, data-action-routes.ts untouched. H2 confirmed: population 70 / reachable 19 / blindSpot 51 and the six other controls read as pinned, and 0 other census rows moved. H4 measured: PR #23571's head 3dd76b2a8 reads enforceAuth 64 (its rest-server.ts diff adds/removes no line spelling the term; all other figures as pinned), so it does not move this control further; that PR was not touched.",
      "tests": "H3, the measurement of record (dogfood shards skip on pull_request and merge_group per ci.yml's dogfood job if:, and PR #23580's 'Dogfood Regression Gate (k/3)' check-run is completed/skipped): OS_VERIFY_LOCK_SLOT=os-dev-23563-census bash scripts/pm/os-verify-lock.sh -c 'pnpm --filter @objectstack/dogfood exec vitest run --maxWorkers=2 test/authz-probe-blind-spot.test.ts'. BEFORE on fa6a6085c (clean tree): 'AssertionError: control \"enforceAuth\" moved in packages/rest/src/rest-server.ts: expected 64 to be 61' at test/authz-probe-blind-spot.test.ts:88:76; 'Tests 1 failed | 46 passed (47)'; 'os-verify-lock: VERDICT command-exit 1'. AFTER on 11d842198 (PR head, git rev-parse --short HEAD): 'Test Files 1 passed (1)'; 'Tests 47 passed (47)'; 'os-verify-lock: VERDICT command-exit 0'. Declared narrowings: dogfood's full pnpm test (the three dogfood shards) not run locally; the census module's only importer is test/authz-probe-blind-spot.test.ts (git grep), run in full. pnpm --filter @objectstack/dogfood typecheck declared to CI's TypeScript Type Check (its PR selection includes the changed package); the edit is a numeric literal in a string-to-number record plus comments; the dependency closure build (step 1) was not run: 67 packages, 65 turbo cache MISS on a dry run, and the census test needs none of it (node builtins + vitest only). No ablation owed (dispatch: re-anchored pin; before-red/after-green is its proof).",
      "gates": "Local: node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack at 11d842198 derived 47 commands for the one changed path; all 47 run with exit captured before any pipe: 43 exit 0; 4 exit 3 PREREQUISITE NOT MET (need a workspace dist build) = NOT MEASURED locally: check:dts-closure, check:dual-build-cjs-loads, check:lean-entry-closure, check:sourcemap-no-sources-content. --ran reconciliation: '✓ dispatch-gates --ran: 47 derived famil(ies) accounted for — 43 run, 4 NOT-MEASURED (4 DERIVED from a recorded exit 3).' check:nul-bytes exit 0. CI on PR #23580 head 11d842198 at report time: Check Changeset completed/success (skip-changeset label run: completed/skipped); Dogfood Regression Gate completed/success, its 3 shards completed/skipped (PR event); Spec property liveness, Check Documentation Links, Flag docs affected by code changes, the three claim/closing guards completed/success; required contexts still in_progress: Lint & Repo Gates (Lint · CI, release & engine gates / docs & code guards / ESLint / PM dispatch-gates / repo & tooling gates / three scoped lanes all in_progress), TypeScript Type Check (Type Check · consumer gates / debt ledger / source gates / workspace in_progress), Test Core (1/6..6/6) in_progress, Build Core in_progress, Governed Surface Queue Guard in_progress. Not waited on, per the contract.",
      "mcp_calls": "0 — no MCP GitHub tool called",
      "api_writes": "3 — all through the fleet-write relay as objectstack-fleet[bot], each one POST /repos/objectstack-ai/objectstack/dispatches: (1) pr_create -> POST /repos/objectstack-ai/objectstack/pulls (draft) + POST /repos/objectstack-ai/objectstack/issues/23580/assignees [huangyiirene], run 38667404591, body read back byte-identical; (2) label-write labels_add -> POST /repos/objectstack-ai/objectstack/issues/23580/labels [skip-changeset], run 38667483380, read back matches (size/s from the labeler preserved); (3) this os-dev-report comment -> POST /repos/objectstack-ai/objectstack/issues/23563/comments. git push (2: empty-branch probe, then 11d842198) is not a REST write.",
      "open_questions": [],
      "out_of_scope_findings": [
        "carrier: none · noted in PR #23580 Acceptance notes, not filed · observation, not a defect: the census counts enforceAuth textually, comments included (its own stated rule), so any prose mention added to rest-server.ts or data-action-routes.ts moves the control, and because dogfood shards skip on PRs and in the merge queue only the hourly full run sees it; changing the rule is a census redesign outside this card"
      ],
      "line_budget": "n/a (no skills/** in the diff)",
      "deviations": [
        "Declared narrowings (accepted-deviation class): dogfood full suite and dogfood typecheck left to CI; dependency-closure build not run; 4 derived gates NOT MEASURED (exit 3, workspace build absent). Reasons in tests/gates.",
        "Measurement scaffolding outside the worktree, all removed: a detached comparison worktree at scratchpad/issue-23563/cmp (PR #23571 head, then 8226755ee9, 1d79556766, its parent) and a fetched ref refs/os-dev-23563/pr23571 in the shared .git (deleted with git update-ref -d).",
        "The harness attribution reminder proposed a model-named Co-Authored-By trailer and a different PR footer; AGENTS.md (the repo instruction it yields to) governs: commit carries the model-free Claude-Session / Co-authored-by pair (pre-push check:commit-card-trailers passed), PR body ends with the session-URL footer.",
        "No conflict found between the dispatch order and .claude/agents/os-dev.md."
      ],
      "files_changed": [
        "packages/qa/dogfood/test/authz-probe-blind-spot.census.ts"
      ]
    }

    Generated by Claude Code

  4. objectstack-fleet commented on Oct 15, 2026

    @objectstack-fleet
    Contributor

    ACCEPT → PR #23580 comment 6182546819 · domain:spec seat 1 (#6017) · session session_01YRp5z4kK6vgYkrdH97ztsy · 2026-10-15T01:50Z


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 15, 2026

    @objectstack-fleet
    Contributor

    Landed: PR #23580 → 07b56167b (Fixes #23563) · 2026-10-15T02:32Z

    domain:spec seat 1 (#6017) · huangyiirene · session session_01YRp5z4kK6vgYkrdH97ztsy · holder of claim 6182281865. Record: CI plus the seat's read (no contract face: a private test-census pin, Clause-②: no). ACCEPT ## 席位核对 6182546819 on 11d842198.

    Reading Probe Answer
    The PR GET /pulls/23580 merged: true at 02:31:40Z, merge_commit_sha 07b56167b
    The queue branch GET /git/matching-refs/heads/gh-readonly-queue/main/pr-23580 none left: the merge group was consumed
    origin/main git merge-base --is-ancestor 07b56167b origin/main yes. 07b56167b is the tip, a squash on 0f52f3256
    The pin against main a textual enforceAuth count over rest-server.ts + data-action-routes.ts at the tip, against the census row 53 + 11 = 64; the census row reads enforceAuth: 64
    The card GET /issues/23563 closed / completed at 02:31:42Z, on the merge

    What closes the red: the next hourly full run on main. The dogfood shards skip on PRs and in the merge queue, so only that run re-reads this census. If it is red again, scheduled-full-run-card.yml finds and refreshes this card by its marker line.

    Carried, 承接者:无 (an observation, not filed): any further prose mention of enforceAuth in those two files moves the control again, and only the hourly run sees it.

    State change: this act removes pm:dispatched.


    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

bugSomething isn't workingdomain:specpriority:p1High: required for production / M2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions