test(issue-5): phase 1 delegation characterization suite
The three lib.sh delegation helpers (delegate_submit_job, delegate_publish_event, start_watchdog) had zero direct test coverage, so a "full suite green" gate would have been vacuous for the Phase 1 extraction. Add the regression oracle before the move: - C-01..C-09 golden tests for the shell helpers: the non-fatal contract (empty job id, missing script, non-zero interpreter exit), exact argv forwarding, stdout-is-the-job-id-alone, and the daemon's PID/dedup/log-path behaviour. All are parametrized over MAM_DELEGATION_PY so the legacy and python bodies must agree. - CLI contract snapshots taken from the argparse parsers rather than --help text, so wording stays free to change but option names, choices and defaults do not. - Auto-completion invariant guards for the three surfaces that decide job status: EVENT_TO_STATUS, the wrapper's exit-code mapping, and reconcile.sh's terminal mutation literals. - conftest: PV-2/PV-3 session guards asserting that every non-delegation lib_py.* module resolves to the real skills tree and that no temp-tree sys.path entry contributes a lib_py package. MAM_ENV_FILE is pointed at an absent file inside the sandbox so delegation code can never inject the real .mam.env into a test process. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UrDNJkHmm18uu7n7JwV5Qd
This commit is contained in:
1 parent
fc0bd96d8a
commit
265a1f6c3d
7 files changed
+531
No files matched your search
+10
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
# Stub interpreter used by the Phase 1 characterization tests.
|
||||
# Records argv (one invocation per line) and replays a configured stdout/exit code.
|
||||
if [ -n "${STUB_ARGV_LOG:-}" ]; then
|
||||
printf '%s\n' "$*" >> "$STUB_ARGV_LOG"
|
||||
fi
|
||||
if [ -n "${STUB_STDOUT:-}" ]; then
|
||||
printf '%s\n' "$STUB_STDOUT"
|
||||
fi
|
||||
exit "${STUB_EXIT:-0}"
|
||||
Reference in new issue
Block a user