nixcfg/config/opencode/agents
Harald Hoyer 5b5c59aa84 feat(opencode): mandate stub-first @make pre-pass for Rust integration TDD
Rust integration tests live in a separate test crate that imports from
lib.rs, so any test referencing not-yet-existing public API can only
RED at build time. The build error masks assertion diagnostics and
makes the RED state opaque — no stack trace, no left/right values.

For Rust tasks whose @test step writes an integration test against
public API that does not yet exist, the orchestrator now dispatches a
stub-first @make pass before @test runs:

1. @make adds the planned public API as todo!()-bodied stubs in
   lib.rs and any new src/<module>.rs. Signatures lifted verbatim
   from the Phase 5 task spec. Acceptance criterion is cargo check
   only — no test command runs.
2. @test writes the integration test, which now compiles and panics
   at todo!() with a stack trace — a clean MISSING_BEHAVIOR RED.
3. Phase 7 dispatches @make again to replace the todo!() bodies with
   real implementations. Two atomic commits per task: scaffold then
   implement.

Phase 5's Rust test-path guidance now flags the two-dispatch
requirement up front. test.md's Rust failure-classification hints
recognize todo!() / unimplemented!() panics as MISSING_BEHAVIOR with
a pointer to the workflow's stub-first section.
2026-05-07 05:42:16 +02:00
..
check.md fix(opencode): remove temperature 2026-05-06 16:43:35 +02:00
make.md feat(opencode): make @make and @test polyglot (Python, Rust, nix devshell) 2026-05-06 17:09:34 +02:00
pm.md refactor(opencode): let @pm read TODO.md via git show, drop tempfile 2026-05-06 15:42:17 +02:00
simplify.md fix(opencode): remove agent models and temperature 2026-05-06 15:33:11 +02:00
test.md feat(opencode): mandate stub-first @make pre-pass for Rust integration TDD 2026-05-07 05:42:16 +02:00