You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
mcpx: internal/settings (scriptenv) and internal/conformance (TestAuthSplit, TestMatrix) failing on clean main #2716
Finding (queue worker Lane A, task 3277 verification, 2026-10-30)
Two mcpx test packages fail on a clean checkout of main (verified at 7b76c79, the #2685 merge, in a pristine worktree on the laptop — no local changes):
pkgs/mcpx/internal/settings — scriptenv_test.go:118,123: MCPX_ADAPTER_DECLARATION_SHA256 is set by cli (internal/cli/adapter.go:436) and MCPX_EPHEMERAL is set by exec (internal/execsvc/execsvc.go:758), but ScriptEnv does not declare/list them as setters.
pkgs/mcpx/internal/conformance — TestAuthSplit and TestMatrix fail (each also fails standalone with -run, so it is not suite interference).
Both reproduce with: cd pkgs/mcpx && go test ./internal/settings/ ./internal/conformance/ -count=1 on clean main.
Why it matters
Every queue worker verifying an mcpx PR on the laptop currently has to re-prove these are pre-existing before trusting any other result (this cost ~15 minutes of task 3277's shift). Under the main-only CI model, a red main also means the post-merge runs for unrelated PRs report failures nobody owns.
Acceptance
Both packages pass on clean main.
The fix names which merge introduced each failure (git bisect or the diff that desynced ScriptEnv / the conformance matrix).
Fleet monitor intake pass (2026-10-30 run). Labels normalised this pass: status/needs-triage, effort/s, meta/enriched (kind/bug, priority/normal, app/mcpx were already present). The body's existing ## Acceptance section is retained as the acceptance criteria (no duplicate section appended).
Still live: no merged PR since filing (2026-10-30T11:37Z) touches mcpx internal/settings ScriptEnv declarations or the conformance TestAuthSplit/TestMatrix failures; the recent merged code PRs are muse-proxy / opencode-config / pm-stack work.
Overlap warning — read before claiming: this issue is a roll-up of the same main-red failures filed separately as #2697 (the three internal/settings guard tests, including the same MCPX_ADAPTER_DECLARATION_SHA256 ScriptEnv gap) and #2695 (conformance TestMatrix). Whoever takes one of the three should expect the settings half to close #2697's settings items and the conformance half to overlap #2695; the non-overlapping remainder here is TestAuthSplit and the MCPX_EPHEMERAL ScriptEnv declaration. Do not run three parallel fixes on the same two packages.
Suggested approach: fix once, on one branch: declare both env vars in ScriptEnv, repair the conformance auth-split applicability, then close or cross-link the duplicates with evidence per package.
Still failing on main @ bcc7a45a (verified locally 2026-10-30T15:45Z, and in the stress: PR changed tests job of run 41069456034, which gates every PR in the queue):
--- FAIL: TestTheScriptEnvironmentIsWhatTheCodeSets
scriptenv_test.go:118: MCPX_ADAPTER_DECLARATION_SHA256 is set by cli (internal/cli/adapter.go:436) and ScriptEnv does not declare it
scriptenv_test.go:123: MCPX_EPHEMERAL is set by exec (internal/execsvc/execsvc.go:896), and ScriptEnv does not list it as a setter
--- FAIL: TestNoUndeclaredEnvRead
consumed_test.go:224: internal/daemon/routes_settings.go:906 reads MCPX_ADAPTER_DECLARATION_SHA256 (index), which no setting and no ScriptEnv entry declares
--- FAIL: TestEverySettingHasAnEffectProbeOrAnExemption
effect coverage violations:
script.imports has neither an effect probe nor an exemption
script.importsOnDynamic has neither an effect probe nor an exemption
script.imports/script.importsOnDynamic are the newer pair — script.cwd and script.interpreter were the other two when PR #2611 started and that PR now ships probes for them, so this ticket shrinks by two. Because stress: PR changed tests runs the whole internal/settings package, this failure is currently red on every queue PR regardless of its diff (#2611 at 05b113ed failed only here, everything else passed).
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
Agent: repo-worker-code, lane code-j (direct execution lane)
Verdict: CONFIRMED on current main — and the failure set has grown since filing. Fix enqueued as task 8673 (verified queued).
Reproduction (this run): pristine laptop worktree at origin/main 8e151e895875, cd pkgs/mcpx && go test ./internal/settings/ ./internal/conformance/ -count=1 — both packages FAIL (log /tmp/go-test-7982.log on the laptop).
Settings — 5 failing tests (filed as 1):
TestTheScriptEnvironmentIsWhatTheCodeSets — as filed, plus a third undeclared setter: MCPX_ADAPTER_DECLARATION_SHA256 (cli, adapter.go:436) undeclared; MCPX_EPHEMERAL (exec, execsvc.go:1197) and now MCPX_TRANSPORT_BEARER_TOKEN (consumer.go:863 + execsvc.go:1200) not listed as setters.
TestNoUndeclaredEnvRead — internal/daemon/routes_settings.go:950 reads MCPX_ADAPTER_DECLARATION_SHA256 by hand, undeclared.
TestEveryDocumentHasAChapter — TESTING.md + 3 docs/changes files missing from docs/compendium.manifest.json.
TestTheEnvironmentDocIsCurrent — docs/environment.md stale (regenerable via the test's -update mode).
Conformance — 4 failing tests (filed as 2):
TestAuthSplit + TestMatrix — as filed: authsplit.json entries (authz-accept-only-own-tokens/server, authz-canonical-uri-guidance/server) do not bind mcpx.
TestMessagesClient (new) — client declares extensions it does not handle (elicitation form, io.modelcontextprotocol/tasks, roots).
TestUtilitiesServer (new) — completion/complete returns -32601 "capability completions not advertised" where the matrix expects a result.
Routing: one combined small_fix enqueued as task 8673 (the fix dedupe pattern allows one fix task per issue; per-package detail packets kept as annexes: hidden_files/packets/fix-2716-settings-desync.json, fix-2716-conformance-desync.json; enqueued packet: fix-2716-combined.json). The packet carries #2716's acceptance addendum — name the introducing merge for each desync, and fix the side (code vs fixture) that is actually wrong. Nothing here is blocked; the settings half is mechanical, the conformance half needs per-case code-vs-fixture judgement.
Labels: claim labels removed at this terminal state.
Activity
dezren39 commentedon Oct 30, 2026
Intake review
Fleet monitor intake pass (2026-10-30 run). Labels normalised this pass:
status/needs-triage,effort/s,meta/enriched(kind/bug,priority/normal,app/mcpxwere already present). The body's existing## Acceptancesection is retained as the acceptance criteria (no duplicate section appended).Still live: no merged PR since filing (2026-10-30T11:37Z) touches mcpx
internal/settingsScriptEnv declarations or the conformanceTestAuthSplit/TestMatrixfailures; the recent merged code PRs are muse-proxy / opencode-config / pm-stack work.Overlap warning — read before claiming: this issue is a roll-up of the same main-red failures filed separately as #2697 (the three
internal/settingsguard tests, including the sameMCPX_ADAPTER_DECLARATION_SHA256ScriptEnv gap) and #2695 (conformanceTestMatrix). Whoever takes one of the three should expect the settings half to close #2697's settings items and the conformance half to overlap #2695; the non-overlapping remainder here isTestAuthSplitand theMCPX_EPHEMERALScriptEnv declaration. Do not run three parallel fixes on the same two packages.Suggested approach: fix once, on one branch: declare both env vars in ScriptEnv, repair the conformance auth-split applicability, then close or cross-link the duplicates with evidence per package.
dezren39 commentedon Oct 30, 2026
Still failing on main @
bcc7a45a(verified locally 2026-10-30T15:45Z, and in thestress: PR changed testsjob of run 41069456034, which gates every PR in the queue):script.imports/script.importsOnDynamicare the newer pair —script.cwdandscript.interpreterwere the other two when PR #2611 started and that PR now ships probes for them, so this ticket shrinks by two. Becausestress: PR changed testsruns the wholeinternal/settingspackage, this failure is currently red on every queue PR regardless of its diff (#2611 at05b113edfailed only here, everything else passed).developing-today commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 3, 2026
🤖 Agent note · triage verdict (task 7982)
Reproduction (this run): pristine laptop worktree at origin/main
8e151e895875,cd pkgs/mcpx && go test ./internal/settings/ ./internal/conformance/ -count=1— both packages FAIL (log/tmp/go-test-7982.logon the laptop).Settings — 5 failing tests (filed as 1):
TestTheScriptEnvironmentIsWhatTheCodeSets— as filed, plus a third undeclared setter:MCPX_ADAPTER_DECLARATION_SHA256(cli, adapter.go:436) undeclared;MCPX_EPHEMERAL(exec, execsvc.go:1197) and nowMCPX_TRANSPORT_BEARER_TOKEN(consumer.go:863 + execsvc.go:1200) not listed as setters.TestNoUndeclaredEnvRead—internal/daemon/routes_settings.go:950readsMCPX_ADAPTER_DECLARATION_SHA256by hand, undeclared.TestEverySettingHasAnEffectProbeOrAnExemption— proto.elicitationPerMinute, proto.samplingPerMinute, proto.samplingSessionPerMinute, script.imports, script.importsOnDynamic lack probes/exemptions.TestEveryDocumentHasAChapter— TESTING.md + 3 docs/changes files missing fromdocs/compendium.manifest.json.TestTheEnvironmentDocIsCurrent—docs/environment.mdstale (regenerable via the test's-updatemode).Conformance — 4 failing tests (filed as 2):
TestAuthSplit+TestMatrix— as filed: authsplit.json entries (authz-accept-only-own-tokens/server, authz-canonical-uri-guidance/server) do not bind mcpx.TestMessagesClient(new) — client declares extensions it does not handle (elicitation form, io.modelcontextprotocol/tasks, roots).TestUtilitiesServer(new) — completion/complete returns -32601 "capability completions not advertised" where the matrix expects a result.Routing: one combined small_fix enqueued as task 8673 (the fix dedupe pattern allows one fix task per issue; per-package detail packets kept as annexes:
hidden_files/packets/fix-2716-settings-desync.json,fix-2716-conformance-desync.json; enqueued packet:fix-2716-combined.json). The packet carries #2716's acceptance addendum — name the introducing merge for each desync, and fix the side (code vs fixture) that is actually wrong. Nothing here is blocked; the settings half is mechanical, the conformance half needs per-case code-vs-fixture judgement.