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
fix(broker): fail closed when real namespace resolution rejects an undeclared adapter #833
An activated direct GitHub adapter with an undeclared generation lease can swallow a real repository's typed routing refusal. GitHubBrokerAdapter._revalidate_generation_before_effect catches every exception from repository_broker_namespace and returns whenever the lease is _UNDECLARED_GENERATION. Its comment describes synthetic non-repository fixtures, but the branch does not establish that condition.
Reproduced on September 12 against default-branch input 88833fff1cce8ab1076f3be8a1596d875ddb5f20 in a new temporary Git repository, with PHASE_LOOP_TDD_EXPECT_FABPUB=1:
Derive the temporary repository's canonical container using repository_snapshot(repo).container.
Create its generations/ACTIVE file containing not-a-generation\n.
Calling GitHubBrokerAdapter(repo)._revalidate_generation_before_effect() returns None without refusing.
No monkeypatch, provider command, live authority access, or publication was used in this control. This proves the pre-effect guard bypass; it does not claim an observed unauthorized push. The actual default-branch credsep.py SHA256 matched the reproduced source: 7f81562f29d80479c4308d09de8e4c27b5d7979c24b3ecb1cc47bb6b3a3a075a.
The requested bounded repair is to fail closed on real routing/authority failures, preserve only explicitly justified fixture compatibility, and add a real temporary-repository regression proving neither push nor PR-create is reached. Preserve existing frozen tests and publication-ownership semantics.
Found while reviewing the synchronous effect-fence plan associated with agent-harness#820. This is a separate admission/namespace defect; a latch held around an already-resolved effect does not fix it. It does not authorize orphan-lease deletion, rotation, retry, sealing, or acceptance of agent-harness#789's blocked publication history.
Current-main reproduction confirms agent-harness#833 in an isolated worktree
based on c6b9924b414769ed45bdc3ea47a8d66ec1fe52c7.
For both a malformed generations/ACTIVE and a pointer to a nonexistent
successor, the real resolver raises PartitionRoutingRefused; the direct
adapter swallows it and reaches one simulated push and one simulated
PR-create, returning effect_terminal_observed from the injected responses.
The recorder executes neither provider command. This strengthens the original
guard-only reproduction, not a claim of an observed unauthorized live push.
Current credsep.py SHA256 is 8d4909e6672740596de02ba0fd2205ccee54a44062cfdc7c2a930c4911a65140.
The initial plain-directory control was inside a Git worktree and therefore
resolved its parent repository; it was not a valid non-repository control.
That result and the corrected control outside Git are both preserved.
Local plan-only commit 6d6cfeef996b69f0768f7bab81df90295b91c3bc adds the bounded
repair plan and native manifest registration. All 58 existing manifest entries
are unchanged. Runtime and tests are unchanged. Fresh four-vendor native plan
review is running with full retention and the explicit unexpired interim
authority; no plan or source approval is claimed yet.
Plan review bundle SHA256: 3813e2f5cb3e82e0f0407a2d37c9b6ebbeef2923ebfedd8789c9ea2c9b77cc67.
No public source push, PR, merge, lease cleanup, partition rotation, runtime
deployment or service interruption. The independent agent-harness#820 scope and
agent-harness#827 publication hold remain unchanged.
The standalone repair is implemented locally and under native verification.
The plan at 47c82849c1676666523930f78aaba4a9a4a77968 received four usable AGREE
verdicts: Codex/Gemini in the full r2 review, then Fable/Grok after focused
clarification on the unchanged candidate. Both original dissents remain
preserved. All input, transport, cleanup and retention checks passed. Fable
completed through the native subscription TUI. The complete approved review
was encrypted in the existing private recovery repository and independently
restored: 269 files verified before execution.
Formal Python 3.14 RED on unchanged input produced 29 expected assertion
failures and 6 passing controls, with no collection/setup errors. All failures
were the expected missing-refusal assertion. The original source, frozen tests,
native logs/JUnit and temporary Git fixtures are preserved. The tests have not
changed since that RED record.
The repair catches only LegacyCutoverConflict and limits fixture compatibility
to injected runners with no Git-routing overrides or ancestor repository markers.
Other resolver errors propagate, and uncertain fixture inspection preserves the
original conflict. All 136 focused tests now pass, including the new
regressions, unchanged adapter tests and activated writer-fence control. The
plan-required broader runtime suite is still running; no full-suite success is
claimed.
Current source SHA256: 50663ce043d62d36be5aa4946e99e777eafb05ee07e288386bff0d56d2cbdadf.
Frozen new-test SHA256: 48c02d8b340ea54be5e2fd003be1d4eb1b5260a1bca68d270620cc69b21aa23f.
Across 1,054 pre-existing runtime/test blobs, only the planned guard file changed;
all old tests and 58 older manifest entries remain unchanged.
The source/test repair and native executing metadata are uncommitted and
unpushed on codex/v10-namespace-refusal-833-20260913. Fresh full four-vendor
source review remains required. Public publication is still held by the
separate agent-harness#827 ambiguity. No provider mutation, runtime deployment,
lease removal, rotation, merge or V10 acceptance occurred.
The required broad run is terminal and failed: 5,400 passed, 53 failed, 131 skipped, 602 deselected, with 5,584 selected JUnit nodes and no collection errors. The outer diagnostic driver returned 0 while correctly reporting suite exit 1 and native validation nonzero_exit; it must not be interpreted as passing verification.
All 35 new namespace regressions passed in this broad run. The earlier focused stage remains 136 passed. Source SHA256 50663ce043d62d36be5aa4946e99e777eafb05ee07e288386bff0d56d2cbdadf and frozen test SHA256 48c02d8b340ea54be5e2fd003be1d4eb1b5260a1bca68d270620cc69b21aa23f remain unchanged, as do the manifest and lockfile inputs. No source review, source commit or public publication has occurred.
Targeted diagnosis on unchanged inputs:
39 path-related failures pass under short real /tmp paths. My workspace TMPDIR choice conflicted with direct-/tmp safeguards, Unix socket length, same-filesystem hardlinks and lexical/canonical path expectations. The original failing setup and result remain preserved.
Nine environment-composition failures reproduce independently through the native verifier. They match the existing agent-harness#428 scope: missing CI build/visual dependencies, private interpreter-path redaction and inherited interpreter shims.
Four LEGIBLE failures match agent-harness#797 and remain with that owning lane.
One CONFORM failure explicitly rejects the uncommitted candidate at its existing candidate_clean assertion. No clean candidate history was created to suppress it.
The plan's claimed CI-equivalent setup needs correction through review: CI installs additional dependencies and has explicit chronology/LEGIBLE execution posture. No full-suite rerun, exclusion, xfail or frozen-test edit was used to manufacture a green result. The verification/acceptance gate remains unmet.
The complete failed broad log/artifact, full JUnit and all 53 traces were encrypted to the existing private recovery repository and independently restored before diagnosis (48 files, every hash verified). The 39-node passing reproduction and nine-node failing reproduction are separately retained; original temporary fixtures remain protected in place. The independent interruption-retention bug discovered while monitoring is tracked as agent-harness#840.
Activity
ViperJuice commentedon Sep 13, 2026
Current-main reproduction confirms agent-harness#833 in an isolated worktree
based on
c6b9924b414769ed45bdc3ea47a8d66ec1fe52c7.For both a malformed
generations/ACTIVEand a pointer to a nonexistentsuccessor, the real resolver raises
PartitionRoutingRefused; the directadapter swallows it and reaches one simulated push and one simulated
PR-create, returning
effect_terminal_observedfrom the injected responses.The recorder executes neither provider command. This strengthens the original
guard-only reproduction, not a claim of an observed unauthorized live push.
Current
credsep.pySHA256 is8d4909e6672740596de02ba0fd2205ccee54a44062cfdc7c2a930c4911a65140.The initial plain-directory control was inside a Git worktree and therefore
resolved its parent repository; it was not a valid non-repository control.
That result and the corrected control outside Git are both preserved.
Local plan-only commit
6d6cfeef996b69f0768f7bab81df90295b91c3bcadds the boundedrepair plan and native manifest registration. All 58 existing manifest entries
are unchanged. Runtime and tests are unchanged. Fresh four-vendor native plan
review is running with full retention and the explicit unexpired interim
authority; no plan or source approval is claimed yet.
Plan review bundle SHA256:
3813e2f5cb3e82e0f0407a2d37c9b6ebbeef2923ebfedd8789c9ea2c9b77cc67.No public source push, PR, merge, lease cleanup, partition rotation, runtime
deployment or service interruption. The independent agent-harness#820 scope and
agent-harness#827 publication hold remain unchanged.
ViperJuice commentedon Sep 13, 2026
The standalone repair is implemented locally and under native verification.
The plan at
47c82849c1676666523930f78aaba4a9a4a77968received four usable AGREEverdicts: Codex/Gemini in the full r2 review, then Fable/Grok after focused
clarification on the unchanged candidate. Both original dissents remain
preserved. All input, transport, cleanup and retention checks passed. Fable
completed through the native subscription TUI. The complete approved review
was encrypted in the existing private recovery repository and independently
restored: 269 files verified before execution.
Formal Python 3.14 RED on unchanged input produced 29 expected assertion
failures and 6 passing controls, with no collection/setup errors. All failures
were the expected missing-refusal assertion. The original source, frozen tests,
native logs/JUnit and temporary Git fixtures are preserved. The tests have not
changed since that RED record.
The repair catches only
LegacyCutoverConflictand limits fixture compatibilityto injected runners with no Git-routing overrides or ancestor repository markers.
Other resolver errors propagate, and uncertain fixture inspection preserves the
original conflict. All 136 focused tests now pass, including the new
regressions, unchanged adapter tests and activated writer-fence control. The
plan-required broader runtime suite is still running; no full-suite success is
claimed.
Current source SHA256:
50663ce043d62d36be5aa4946e99e777eafb05ee07e288386bff0d56d2cbdadf.Frozen new-test SHA256:
48c02d8b340ea54be5e2fd003be1d4eb1b5260a1bca68d270620cc69b21aa23f.Across 1,054 pre-existing runtime/test blobs, only the planned guard file changed;
all old tests and 58 older manifest entries remain unchanged.
The source/test repair and native executing metadata are uncommitted and
unpushed on
codex/v10-namespace-refusal-833-20260913. Fresh full four-vendorsource review remains required. Public publication is still held by the
separate agent-harness#827 ambiguity. No provider mutation, runtime deployment,
lease removal, rotation, merge or V10 acceptance occurred.
ViperJuice commentedon Sep 13, 2026
The required broad run is terminal and failed: 5,400 passed, 53 failed, 131 skipped, 602 deselected, with 5,584 selected JUnit nodes and no collection errors. The outer diagnostic driver returned 0 while correctly reporting suite exit 1 and native validation
nonzero_exit; it must not be interpreted as passing verification.All 35 new namespace regressions passed in this broad run. The earlier focused stage remains 136 passed. Source SHA256
50663ce043d62d36be5aa4946e99e777eafb05ee07e288386bff0d56d2cbdadfand frozen test SHA25648c02d8b340ea54be5e2fd003be1d4eb1b5260a1bca68d270620cc69b21aa23fremain unchanged, as do the manifest and lockfile inputs. No source review, source commit or public publication has occurred.Targeted diagnosis on unchanged inputs:
/tmppaths. My workspace TMPDIR choice conflicted with direct-/tmp safeguards, Unix socket length, same-filesystem hardlinks and lexical/canonical path expectations. The original failing setup and result remain preserved.candidate_cleanassertion. No clean candidate history was created to suppress it.The plan's claimed CI-equivalent setup needs correction through review: CI installs additional dependencies and has explicit chronology/LEGIBLE execution posture. No full-suite rerun, exclusion, xfail or frozen-test edit was used to manufacture a green result. The verification/acceptance gate remains unmet.
The complete failed broad log/artifact, full JUnit and all 53 traces were encrypted to the existing private recovery repository and independently restored before diagnosis (48 files, every hash verified). The 39-node passing reproduction and nine-node failing reproduction are separately retained; original temporary fixtures remain protected in place. The independent interruption-retention bug discovered while monitoring is tracked as agent-harness#840.