chore: just recipes for the sample build and the soak

- log-watcher-build: `woc <dir>` manifest build, output at
  docs/examples/log-watcher/target/log-watcher
- log-watcher-soak [DURATION=30]: the acceptance script's opt-in soak
- log-watcher's comment now names the stop check it grew in Task 4

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
shoney.arickathil 2026-08-15 01:26:06 +02:00
parent 5d780d8669
commit d994f153dd

View file

@ -49,12 +49,27 @@ wovm-test:
# the language track's acceptance test: docs/examples/log-watcher must compile
# with zero diagnostics AND run — watch alerts on an error line, run schedules
# a cron.d entry, and the MCP server answers JSON-RPC (initialize, tools/list,
# 401 without a token). This is the test the whole track exists to pass; the
# corpus below gates the individual behaviors underneath it.
# a cron.d entry, the MCP server answers JSON-RPC (initialize, tools/list,
# 401 without a token), and SIGTERM stops a server parked in accept. This is
# the test the whole track exists to pass; the corpus below gates the
# individual behaviors underneath it.
log-watcher:
./scripts/log-watcher-accept.sh
# the same script's opt-in soak: each mode under load for DURATION seconds,
# resident memory and descriptor count compared against a warmed baseline
# (256 KiB / zero-fd tolerance) — the check that catches what a seconds-long
# run cannot. `just log-watcher-soak 60` for a longer sit.
log-watcher-soak DURATION="30":
LW_SOAK={{DURATION}} ./scripts/log-watcher-accept.sh
# build the sample the way a user would: `woc <dir>` reads wo.toml and
# produces docs/examples/log-watcher/target/log-watcher (self-contained,
# needs woc-build + wovm-build once)
log-watcher-build:
./compiler/_build/default/bin/woc docs/examples/log-watcher
@ls -la docs/examples/log-watcher/target/log-watcher
# conformance harness (plan 3): walks tests/corpus/{run,compile-fail,trap},
# exact outcome per fixture kind — see docs/plan/oop-vm/02-corpus.md.
# Fails loudly (and names the recipe to run) if woc or wovm isn't built.