Bug: evaluate cannot access project source files without explicit working_dir
Summary
OOO evaluate's Stage 2 sandbox cannot access project source files unless working_dir is explicitly set. Without it, .ouroboros_eval_artifact.md only contains a file path pointer, and the evaluator can only see ~/.hermes/ config files — causing Stage 2 to reject all ACs with "source code not present."
Root Causes (3 issues)
-
evaluate SKILL.md missing working_dir parameter — The documented MCP tool signature in skills/evaluate/SKILL.md omits working_dir entirely, even though it's a required parameter for correct sandbox file visibility.
-
working_dir described as "Stage 1 only" — In the tool definition, working_dir is documented as affecting only Stage 1 (mechanical verification), but in practice it controls the entire sandbox's file visibility, including what Stage 2 can see.
-
Brownfield default / seed metadata not used as fallback — A brownfield-registered project with a default and a seed with project metadata should automatically set working_dir for evaluate, but this fallback path is missing.
Reproduction
# Greenfield project, brownfield-registered
ouroboros_start_evaluate(
session_id="...",
artifact="eval_output.txt",
seed_content="...",
acceptance_criteria=[...]
# working_dir NOT set
)
# Result: 0/6 ACs — evaluator can't find project files
# Fix: add working_dir="/path/to/project"
Impact
- Greenfield projects: evaluate returns REJECTED (0/6) regardless of actual code quality
- Users resort to trial-and-error (9 attempts in our case) to discover
working_dir
- The timeout/retry loop burns significant LLM tokens
Suggested Fix
- Add
working_dir to evaluate SKILL.md documentation with clear description
- Correct the tool definition to reflect that
working_dir affects ALL stages, not just Stage 1
- Implement fallback: if
working_dir is unset, use brownfield default → seed metadata project_dir → session cwd
Environment
- OOO version: v0.42.4
- Runtime: GJC
- Project type: greenfield, Python 3.12, FastMCP
Bug: evaluate cannot access project source files without explicit working_dir
Summary
OOO evaluate's Stage 2 sandbox cannot access project source files unless
working_diris explicitly set. Without it,.ouroboros_eval_artifact.mdonly contains a file path pointer, and the evaluator can only see~/.hermes/config files — causing Stage 2 to reject all ACs with "source code not present."Root Causes (3 issues)
evaluate SKILL.md missing
working_dirparameter — The documented MCP tool signature inskills/evaluate/SKILL.mdomitsworking_direntirely, even though it's a required parameter for correct sandbox file visibility.working_dirdescribed as "Stage 1 only" — In the tool definition,working_diris documented as affecting only Stage 1 (mechanical verification), but in practice it controls the entire sandbox's file visibility, including what Stage 2 can see.Brownfield default / seed metadata not used as fallback — A brownfield-registered project with a default and a seed with project metadata should automatically set
working_dirfor evaluate, but this fallback path is missing.Reproduction
Impact
working_dirSuggested Fix
working_dirto evaluate SKILL.md documentation with clear descriptionworking_diraffects ALL stages, not just Stage 1working_diris unset, use brownfield default → seed metadataproject_dir→ session cwdEnvironment