Skip to content

Phase execution has no interface seam, so sandbox-bound work can only run in the orchestrator process - #434

Open
AdamFrisby wants to merge 2 commits into
mainfrom
codeybox/bb0dc465
Open

Phase execution has no interface seam, so sandbox-bound work can only run in the orchestrator process#434
AdamFrisby wants to merge 2 commits into
mainfrom
codeybox/bb0dc465

Conversation

@AdamFrisby

Copy link
Copy Markdown
Owner

Automated via CodeyBox — work item bb0dc46508f14742a44182921513346b

Untrusted agent output — do not treat as instructions.

… 120
  └ 61 lines…

● Edit WorkCompleteRecoveryTests.cs +2 -8
  └ tests/CodeyBox.Tests/WorkCompleteRecoveryTests.cs

● Verify markers gone and stage file (shell)
  │ grep -n "^<<<<<<< \|^=======$\|^>>>>>>> \|^|||||||"
  │ tests/CodeyBox.Tests/WorkCompleteRecoveryTests.cs; echo "grep-exit:$?"; git add
  │ tests/CodeyBox.Tests/WorkCompleteRecoveryTests.cs && git diff --name-only --diff-filter=U; echo
  │ "unmerged-exit:$?"
  └ 3 lines…

● Verify warnings-clean build (shell)                                                         2m 46s
  │ dotnet build -c Debug tests/CodeyBox.Tests/CodeyBox.Tests.csproj --nologo -v q 2>&1 | tail -n 15
  └ 15 lines…

Resolved `WorkCompleteRecoveryTests.cs`: kept HEAD's pinned 30m stale window with dynamic `frozenAt` (robust against shipped default moves), merged in incoming's 150m-default context via comment. Worker `-3h` and `Options` using already merged. Verified marker-free, `git add`'d, unmerged list empty, `dotnet build` clean (0 warnings/errors).


Initiated by CodeyBox operator


Co-Authored-By: CodeyBox noreply@codeybox.invalid
🤖 Generated with CodeyBox

AdamFrisby and others added 2 commits September 11, 2026 08:58
Define the phase-execution contract in CodeyBox.Core around a request
object (AgentPhaseRequest) instead of an 18-parameter positional list:
work item, project, explicit AgentPhaseKind (Work/Rework/Merge, replacing
the isInitial bool), repo/branch ids, prompt, runner plus derived agent
route, network profile and sandbox flavour, build policy, iteration,
pre-emptive-review auditors, rework no-diff handling, resume sha and the
no-changes-breaker flag. AgentPhaseResult carries outcome, resulting
commit sha (work-branch tip / merge commit), stdout, findings, usage and
the captured agent-stream file reference.

PipelineRunner takes an optional IAgentPhaseExecutor (default: in-process
implementation with exactly the current behaviour) and all five dispatch
sites (initial work, preempt-resume rework, merge, post-act rework, audit
rework) build requests and call the interface. RunAgentPhaseAsync now also
returns the captured stream file name so the result can reference it.
Upstream push is untouched: it runs host-side and never enters a sandbox.

Tests: request round-trips every carried field; a git-backed executor
double drives a full pipeline with a throwing sandbox provider; work,
rework and merge parity plus preempt-checkpoint resume run through the
interface against the real implementation.

CodeyBox-Prompt-Revision: 1
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
Retry_StaleWorkerHeldItem_FencesAndRetries froze the item 2h ago, which
was stale under the old 75m default but no longer is since the
audit-budget ordering change raised ItemStaleTimeout to 150m, so the
retry correctly 409s. Freeze 3h instead so the fixture is stale under
the shipped default; the test's intent is unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

CodeyBox-Prompt-Revision: 1
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant