test(adapters): seam selftests — deterministic mock cases + mission injection (#18)

- test-config: absent adapter defaults to pi; mock validates; unknown
  adapter exits 2; env exports MOSAIC_ADAPTER (24 cases total)
- test-task: mock adapter gate pass/mismatch (no provider needed),
  mismatch reason asserted, unknown adapter fails closed, mission section
  injected into generated prompt asserted by content (24 cases total)
- harness fixes: helpers defined before use; per-case config files (no
  cross-case leakage); newest-run selection for the live case; deduped
  accidentally duplicated live block

Closes #18
This commit is contained in:
2026-09-02 21:28:57 -05:00
parent 4ebb123ba3
commit 3c1ffd2c2d
3 changed files with 80 additions and 3 deletions
+4
View File
@@ -12,6 +12,10 @@ trap 'rm -rf "$SANDBOX"' EXIT
PASS=0
FAIL=0
check() {
if [ "$2" = "0" ]; then PASS=$((PASS+1)); echo "ok $1"; else FAIL=$((FAIL+1)); echo "FAIL $1"; fi
}
# expect_exit NAME EXPECTED_RC -- command...
expect_exit() {
local name="$1" expected="$2"