feat(curiocity): make max turns configurable - #284
Conversation
Signed-off-by: Shin <128954611+shin4141@users.noreply.github.com>
|
Thanks @shin4141. To fix:
Optional, your call: consider On the first two: What checks out: the plumbing is exactly right. The failing |
Signed-off-by: Shin <128954611+shin4141@users.noreply.github.com>
|
Thanks for the detailed review. The requested follow-ups are reflected in 63f79af: the architecture example and run-options table document maxTurns, the healthcheck config includes it, and dry-run always shows the effective cap. Local validation is green: 155/155 suites, 432/432 tests, lint, build, and git diff --check; dry-run was verified with 100, 7, and 9. I left the discussion-only defaults placement and optional workflow input unchanged. Ready for re-review. |
isolomatov-gd
left a comment
There was a problem hiding this comment.
Thank you @shin4141 — all four required items verified, and item 5 by execution rather than reading: with no maxTurns in the case config and no flag passed, dry-run prints maxTurns=100, and that 100 is the same constant the engine falls back to at engine.ts:152. --max-turns 7 prints 7, --max-turns 0 is correctly rejected.
Your call on the defaults placement is the right one — exporting DEFAULT_MAX_TURNS from engine.ts and consuming it in both the engine and the printer keeps one source of truth, which is better than duplicating it in defaults.ts. The workflow input stays out, as you said.
Docs check out: docs/architecture.md:385 and :518, and demo/cases/healthcheck/config.json:4 now agrees with the README example it claims to quote.
42 test files / 432 tests pass, tsc --noEmit clean, merges cleanly against current main.
Approved.
Summary
maxTurnsto Curiocity case configuration--max-turnsCLI override and show the resolved value in dry-run outputTrialSpecintoInteractionEngineWhy
Curiocity already accepts
maxTurnsinInteractionEngine, but no configuration or CLI path could supply it. Long-running trials therefore always used the hard-coded default even when their wall-clock timeout was configured independently.Validation
npm test— 432 passednpm run lintnpm run buildnode dist/cli.js run --source test/fixtures/cases --max-turns 7 --dry-runFixes #260
AI assistance
AI assistance was used to inspect the issue, implement the focused change, and run validation. I reviewed the complete diff.