Skip to content

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

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-20T14:30:56.546Z · run log · commit a8b44d407028cde9886b193f1add17a53437b03c · 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: abd5acdaf7 (run 39412016980, the last green CI schedule run) .. a8b44d4070 — compare

Activity

  1. objectstack-fleet commented on Oct 20, 2026

    @objectstack-fleet
    Contributor

    Triage, R538: a stale fixture left by 18.x step 7a-3, not a product regression. Routed to domain:cli (packages/qa, the lane #24780 took), p1. · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-20T12:55Z


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 20, 2026

    @objectstack-fleet
    Contributor

    Claim: PM loop round 11 · domain:cli seat 2 · p1 (main-red) · from triage 6291333718 · 2026-10-20T13:01Z
    Session: session_01LmjU2x1faLZ39DVTFyVca6
    Account: os-justin (the seat's linked user as GET /user answers it; always the card's assignee)
    Branch: claude/issue-24879-sharing-rule-legacy-row-org
    Worktree: objectstack-issue-24879
    Domain: domain:cli
    Seat: domain:cli#2 (seat post #22648)
    File surface (read on origin/main b1676441b; line numbers move; stop on a breach and explain it in the report):

  3. objectstack-fleet commented on Oct 20, 2026

    @objectstack-fleet
    Contributor

    os-dev-report

    {
      "issue": 24879,
      "status": "done",
      "branch": "claude/issue-24879-sharing-rule-legacy-row-org",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/24913",
      "session": "session_01LmjU2x1faLZ39DVTFyVca6 — mode:subagent, so this is the parent PM session's id (the Claude-Session trailer on 30629ffe1f; the relay stroke's envelope read the same id)",
      "premise_still_valid": true,
      "summary": "The claim's newest Claim: (6291463478) names this branch, verified before work. The case 'a criteria-less rule already IN the table shares nothing and loses its grants' wrote its legacy sys_sharing_rule row at the driver seam with no organization_id. Since 7cacad5348 (PR #24828), findRuleRow and findRuleRowByName read the caller's own organization only, so evaluate answered 404 RULE_NOT_FOUND. The row now carries the admin's active organization, read off the admin's own session (GET /auth/get-session, session.activeOrganizationId; resolveAuthzContext reads that field into the request context's tenantId). The case asserts that the id is a non-empty string, and no id is hard-coded. Every assertion is unchanged, and no product code changed. Zone 2 measured: (1) holds, as the bisect pair below shows; (2) holds, through the session and the declared organization_id field of sys_sharing_rule; (3) holds: with the stamp, evaluate answers below 300, matches 0 records and writes no grant, and the boot logs 'rule has no usable criteria — matching NO records' for legacy_match_all_3896; (4) holds: the direct-insert case was green on main (4 of 5 passed), and every other SYS call in the file is a read, so no other write shares the cause.",
      "tests": "Each leg ran 'pnpm --filter @objectstack/dogfood exec vitest run --maxWorkers=2 test/sharing-rule-criteria-required.dogfood.test.ts' after 'turbo run build --filter=@objectstack/dogfood' at the same commit, under os-verify-lock. The test file, showcase-boot.ts and vitest.config.ts are byte-identical on the first three trees. abd5acdaf7 (7cacad5348^, the commit of the last green hourly run 39412016980): 'Tests 5 passed (5)'. 7cacad5348: 'Tests 1 failed | 4 passed (5)', 'AssertionError: expected 404 to be less than 300' at :153. c2d4072281 (main, the base): the same red at :153. 30629ffe1f (the fix): 'Tests 5 passed (5)'. 2ecc76b48e (head: the fix merged with main fcb40ad673): 'Tests 5 passed (5)'. Without the organization on the row, on the committed fix: scripts/ablation-replace.mjs deleted the line 'organization_id: organizationId,' (anchor 1 to 0, blob c22aa9f438f5 to c129bbc072f1), and the result was 'Tests 1 failed | 4 passed (5)', 'expected 404 to be less than 300'. The restore was proven: blob == HEAD c22aa9f438f5, git diff HEAD empty, git status clean. Gate shard variant on 2ecc76b48e: 'OS_TEST_SHARD=1/3 VITEST_MAX_WORKERS=2 pnpm turbo run test --filter=@objectstack/dogfood' gave 'Test Files 96 passed (96)', 'Tests 772 passed (772)', 'Tasks: 67 successful, 67 total'. The file was in shard 1 ('✓ isolated test/sharing-rule-criteria-required.dogfood.test.ts (5 tests)'), matching vitest 4.1.11's shard algorithm recomputed over this tree's 287 files (96/96/95). Typecheck: 'pnpm --filter @objectstack/dogfood run typecheck' exit 0, and the tsc program lists the file (--listFilesOnly, 1 hit). No product behaviour changed, so no dist ablation is owed.",
      "gates": "All local readings were taken on 2ecc76b48e, with each exit code captured before any pipe. 'node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack' named the tree 'objectstack-ai/objectstack at commit 2ecc76b48e' and derived 56 commands. All 56 ran: 55 exited 0 on the first run. 'pnpm check:dual-build-cjs-loads' first answered PREREQUISITE NOT MET (exit 3: 8 packages outside the dogfood closure had no dist). Those 8 were built (59 turbo tasks, all cache hits), and the gate exited 0 on the rerun ('112 published require entry point(s) across 69 package(s) load'). The 11 declared-WIDE families all exited 0: check:init-service-contract, check:live-db-isolation, check:meta-type-normalized, check:optional-error-sink, check:resume-authority-declared, check:route-envelope, check:runner-env-posture, check:settings-bind-window, check:startup-registry-verdict, check:verify-stand-in, check:wildcard-fallthrough. The --ran reconciliation, with exit codes recorded, printed 'Run reconciliation — 56 derived, 56 run, 0 NOT-MEASURED, 0 UNRUN.' and '✓ dispatch-gates --ran: 56 derived famil(ies) accounted for — 56 run, 0 NOT-MEASURED (a DERIVED zero — all 56 recorded an exit code and none of them is 3).' 'pnpm lint' (eslint . --no-inline-config, whole tree): exit 0, no findings. PR check-runs at report time on 2ecc76b48e: success for Governed Surface Queue Guard, Check Changeset, Lint · PM dispatch-gates, Lint · scoped · tooling self-tests, Spec property liveness, Check Documentation Links, Flag docs affected by code changes, The card this PR closes must claim this branch, No other open PR may claim the same issue, No other open PR may claim the same single-writer path, Part-of PR must not also close its card, Check PR Size, Auto Label, filter, Dogfood Regression Gate (the aggregate; its shard jobs are skipped on pull_request). in_progress for Build Core, Test Core (1/6..6/6), the five Lint · ESLint / CI, release & engine / docs & code / repo & tooling / scoped lanes, and the four Type Check lanes. Not run on this PR by design: Dogfood Regression Gate (k/3), Dogfood Verify CLI, Temporal Conformance; their first reading is main's push and hourly battery after the merge.",
      "mcp_calls": "0 — no MCP tool was called",
      "api_writes": "2 REST writes from this container, each POST /repos/objectstack-ai/objectstack/dispatches (the fleet-write relay; executed as objectstack-fleet[bot]). Stroke 1, run 39435702940, success: pr_create = POST /repos/objectstack-ai/objectstack/pulls (draft) + POST /repos/objectstack-ai/objectstack/issues/24913/assignees (os-justin) + POST /repos/objectstack-ai/objectstack/issues/24913/labels (skip-changeset). Read-back: 6923 bytes sent, 6923 stored, identical, draft, assignee os-justin, labels [skip-changeset]. Stroke 2: comment = POST /repos/objectstack-ai/objectstack/issues/24879/comments (this report). Plus 3 git pushes, which are not REST writes: the empty branch probe, 30629ffe1f and 2ecc76b48e.",
      "open_questions": [],
      "out_of_scope_findings": [],
      "line_budget": "16 changed lines (+16 / -0) in 1 file, against the 3000 human-merge threshold: under",
      "files_changed": [
        "packages/qa/dogfood/test/sharing-rule-criteria-required.dogfood.test.ts (+16 / -0)"
      ],
      "deviations": [
        "Shard run: VITEST_MAX_WORKERS=2 instead of the runner's computed cap of 3 (scripts/vitest-worker-cap.mjs printed 3). This changes concurrency only, not the file set.",
        "Shard run: the locked command was 'export ...; pnpm turbo run test ...', so the lock printed 'VERDICT batch-last-exit 0'. The last part is the turbo run, and turbo printed 'Tasks: 67 successful, 67 total'.",
        "check:dual-build-cjs-loads needed 8 extra package builds before it could measure (PREREQUISITE NOT MET on the first run), then exited 0. It is not counted as a failed measurement.",
        "Beyond the asked pair (7cacad5348^ green, main red), 7cacad5348 itself was also run (red, the same 404) to pin the cause to that commit.",
        "The commit trailers use AGENTS.md's model-free pair (Claude-Session + 'Co-authored-by: Claude'), not the harness reminder's model-named Co-Authored-By. The PR footer uses AGENTS.md's session-URL form, not the harness's emoji line. The merge commit 2ecc76b48e carries git's default message with no trailer pair; the pre-push hook accepted it.",
        "Cleanup: the comparison worktree (objectstack-issue-24879-cmp) was removed after its two legs. This worktree's top-level node_modules was removed before this report, and 'git worktree remove' on it is the step right after this report is posted."
      ]
    }

    Generated by Claude Code

  4. objectstack-fleet commented on Oct 20, 2026

    @objectstack-fleet
    Contributor

    ACCEPT → PR #24913 comment 6292796689 · domain:cli seat 2 · session session_01LmjU2x1faLZ39DVTFyVca6 · 2026-10-20T14:08Z · head 2ecc76b48. The legacy sharing-rule row now carries the admin's active organization, read off the admin's own session, and every assertion is unchanged. It was red on 7cacad5348 and on main, and green on the head. No contract face, so no review of record is owed. Landing waits on every check of the head.


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 20, 2026

    @objectstack-fleet
    Contributor

    Landed: PR #24913 → e2c2355af (Fixes #24879)

    domain:cli seat 2 · os-justin · session session_01LmjU2x1faLZ39DVTFyVca6 · 2026-10-20T14:50Z

    Reading Result
    PR #24913 Merged through the merge queue (enqueued 2026-10-20T14:23Z, merged 2026-10-20T14:49Z)
    origin/main e2c2355af is on it, with a single parent eee65afc8 (squash). 1 file, +16. Its blob equals the ACCEPTed head 2ecc76b48's (c22aa9f43)
    Queue branch No gh-readonly-queue/main/*pr-24913* head remains
    This card Closed completed by the PR's Fixes. In the stroke after this comment, pm:dispatched comes off

    Generated by Claude Code

  6. objectstack-fleet commented on Oct 20, 2026

    @objectstack-fleet
    Contributor

    Main-side reading · domain:cli seat 2 · session session_01LmjU2x1faLZ39DVTFyVca6 · 2026-10-20T16:06Z. This is the proof the landing comment left owed.

    • The hourly run 39444592097 on 81e6edd46, which carries e2c2355af, concluded success. Dogfood Regression Gate (1/3), (2/3), (3/3) and the aggregate are all success.
    • sharing-rule-criteria-required.dogfood.test.ts is green on main. This card stays closed.

    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, iteratebugSomething isn't workingdomain:clipriority: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