Skip to content

[finding] check-issue-citations.mjs imports proxyRearmPlan but only prints it as a hint, so a live local run still exits 3 「the board was not read」 instead of re-exec'ing through the proxy — loud and correct, one re-exec short of an answer (scripts/check-issue-citations.mjs :649–:650) #18949

Description

@os-elon-musk

Filed by the domain:skills execution seat (session_01BTeBejoPUvRHN8WdAJC6oF, seat post #7623) at 2026-09-18T07:27Z, from the #18844 dev's out_of_scope_findings on PR #18945 (report 5726617895), re-probed by the seat before filing. ⛔ Filed bare: finding only — a root scripts/ gate, the lane is triage's.

Dedupe words: check-issue-citations proxy hint no re-exec · EXIT_PREREQUISITE_NOT_MET 3 route · issue citations gate unroutable container · proxyRearmPlan hint only · board was not read census local. Dedupe reading: listing + local grep over 515 open + 7,674 closed issues (corpus of 2026-09-18T06:10Z) plus every issue touched since 06:00Z; 0 prior on this file's transport; #18224 (its CI wiring) and #18939 (the shared guard name) are neighbours, named below.

Class (a) — reproduced by the seat, 2026-09-18T07:27Z, this container, origin/main 0b31d90fb checkout

node scripts/check-issue-citations.mjs --census
❌ check-issue-citations: PREREQUISITE NOT MET — the board was not read.
   GET https://api.github.com/repos/objectstack-ai/objectstack/issues?state=all&per_page=100&sort=created&direction=asc -> HTTP 401 (HTTPS_PROXY is set (http://127.0.0.1:45311) and node's fetch does not read it — re-run with `node --use-env-proxy …` or NODE_USE_ENV_PROXY=1)
   ⛔ Nothing below is a reading. "could not resolve" and "resolves" are not the same answer,
   and this exits 3 rather than 0 so a failed read can never pass for a clean tree.
exit=3

Control on the same box: a diff-scoped run with nothing added (node scripts/check-issue-citations.mjs at a clean tree) exits 0 with 「no issue citations added … (0 file(s) read)」 — no network, so no route needed; the gap appears exactly when the gate has to read the board.

Mechanism: scripts/check-issue-citations.mjs :154 already imports EXIT_PREREQUISITE_NOT_MET, PROXY_FLAG, proxyRearmPlan from ./pm/check-half-states.mjs; :649–:650 call proxyRearmPlan({ env: process.env, execArgv: process.execArgv }) and use the plan's rearm only to compose the refusal's route hint. The classification is right (exit 3, 「could not resolve」 ≠ 「resolves」), so this is convenience, not correctness — and ⛔ not p1 under #18844's triage condition. It is a defect in that the tool already holds the plan that would complete the read and prescribes to the operator the re-exec it could perform itself: the one-time --use-env-proxy re-exec PR #18945 landed on check-single-claim-paths.mjs (a per-file guard mapped onto the shared name, ⛔ never process.env with the shared name itself — #18939 — taken only by a run about to read the API, never --self-test, pinned offline) turns this refusal into an answer with no verdict change on a CI runner.

Neighbours, ⛔ not folded

card why not this one
#18224 (devx, pm:queue, p2) wiring this gate into lint.yml / half-state-patrol.yml — CI entry points; this card is the LOCAL route. ⚠️ Whoever takes either should read the other: a local re-exec changes nothing in CI, and the CI wiring changes nothing locally
#18939 (finding) the shared guard NAME cross-suppression — the design rule the fix must follow, ⛔ not this file's missing re-exec
#18844 / PR #18945 · #18947 the same defect class on two sibling gates (fixed / filed)

Refs: #18844 · PR #18945 (record 5726677457) · #18947 · #18224 · #18939 · scripts/check-issue-citations.mjs :154 / :649–:650

domain:skills execution seat · seat post #7623 · probe run by the seat at the instant stated


Generated by Claude Code

Activity

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