Merged
Conversation
… fatal errors, docs Addresses four open issues: - #46: Pre-create /workspaces in Dockerfile with 777 permissions so named volume mounts don't fail with read-only filesystem errors on fresh deploys. - #49: Add FatalHarnessError for non-retryable API errors (credit exhaustion, invalid key, disabled account). Detected at all harness call sites across pipeline.py, execution_agents.py, coding_loop.py, dag_executor.py, and envelope.py — prevents silent retry loops and surfaces the real error. - #43: Scope workspace paths by build_id (/workspaces/<repo>-<build_id>) so parallel builds for the same repo get fully isolated git state, artifacts, and worktrees. build_id is now generated before clone logic. - #48: Add docs/deployment.md covering prerequisites, quick-start, known issues (#43, #45, #46, #49), scaling, and troubleshooting. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
agentfield 0.1.67 includes the opencode CLI v1.4+ compatibility fix (Agent-Field/agentfield#450, ref SWE-AF#45). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses four open issues in a single PR:
/workspacesin Dockerfile with777permissions so named volume mounts work on fresh deployments (was:[Errno 30] Read-only file system)FatalHarnessErrorfor non-retryable API errors (credit exhaustion, invalid key, disabled account). Prevents silent retry loops across all 3 retry layers; surfaces real error message instead of misleading "failed to produce a valid PRD"build_id(/workspaces/<repo>-<build_id>) so parallel builds get fully isolated git state, artifacts, and worktreesdocs/deployment.mdcovering prerequisites, quick-start, known issues, scaling, and troubleshootingFiles changed
Dockerfilemkdir -p /workspaces && chmod 777(#46)swe_af/execution/fatal_error.pyFatalHarnessError,check_fatal_harness_error(),is_fatal_error()(#49)swe_af/reasoners/pipeline.pyswe_af/reasoners/execution_agents.pyswe_af/execution/coding_loop.pyFatalHarnessErrorin 4 except blocks (#49)swe_af/execution/dag_executor.pyFatalHarnessErrorin 5 except blocks (#49)swe_af/execution/envelope.pyFatalHarnessErrorfor fatal envelope errors (#49)swe_af/app.pybuild_idbefore clone, scope workspace path (#43)docs/deployment.mdNew tests (59 total, 0 regressions)
tests/test_dockerfile.pytests/test_fatal_error.pytests/test_build_isolation.pytests/test_deployment_docs.pyTest plan
pytest tests/test_dockerfile.py— 3 passedpytest tests/test_fatal_error.py— 40 passedpytest tests/test_build_isolation.py— 5 passedpytest tests/test_deployment_docs.py— 11 passedCloses #43, closes #46, closes #48, closes #49
🤖 Generated with Claude Code