Files
peltier.io/justfile
T
Claude 014e3b11d1 phase3: generalize trust layer for C/C++; wire cJSON target
Trust-layer generalization (zero-regression verified on tokei):
- TargetSpec [build] uses an explicit {out} isolation-dir placeholder
  instead of injected CARGO_TARGET_DIR, plus optional sanitizer/
  sanitizer_binary templates. Nothing assumes cargo anymore.
- verdict rebuild_pristine_baseline, sanitizer_check, and harnessd
  run_verdict candidate build all use {out} substitution. A target with
  no sanitizer build caps accepts at needs-human-review.
- tokei/comrak target.toml migrated to the {out} form (CARGO_TARGET_DIR=
  {out} + nightly ASan sanitizer command).

cJSON C target (v1.7.19, MIT):
- harness.c bench/golden driver (trust-layer; agent can patch workspace
  cJSON.c but not the rig), compiled with clang against the patched tree.
- 5.6 MB deterministic corpus (gen-corpus.sh) + MANIFEST/GOLDEN pins.
- gates = hermetic Unity/CTest suite (19 tests pass); sanitizer =
  ASan+UBSan; scripts/diff-fuzz-cjson.py for differential fuzzing.

coz causal profiler integration (SPEC §12):
- harness.c optional -DHOTPATH_COZ throughput progress point.
- scripts/install-coz.sh, coz-profile.sh, coz-summary.py; just coz/install-coz.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EcKPWQ3MQD4NdEHwar96u2
2026-07-11 18:17:26 +00:00

68 lines
2.6 KiB
Makefile

# hotpath task runner. `just --list` for a summary.
# Build the trust-layer workspace
build:
cargo build --workspace
# Run all trust-layer unit tests
test:
cargo test --workspace
# Lint: warnings are errors in the trust layer
lint:
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all --check
# A/A self-test of the bench harness against a sample command.
# Must print a null verdict; an "accept" is a calibration failure.
aa cmd="sleep 0.05":
cargo run -p bench-runner -- --config config/accept.toml aa --cmd "{{cmd}}"
# Interleaved A/B comparison of two shell commands
compare baseline candidate:
cargo run -p bench-runner -- --config config/accept.toml compare \
--baseline "{{baseline}}" --candidate "{{candidate}}"
# Verify a target corpus against its pinned manifest
# (wired through diff-test CLI once it exists; manual check for now)
pin-check target:
cd corpora/{{target}} && sh gen-corpus.sh
# Automated calibration: N A/A sessions (<5% false-positive required) +
# N injected-slowdown sessions (>=95% detection required), JSON evidence
calibrate cmd out sessions="20":
cargo run -p bench-runner -- --config config/accept.toml calibrate \
--cmd "{{cmd}}" --sessions {{sessions}} --out "{{out}}"
# Equivalence gates for a target: corpus pin (refuses on mismatch) ->
# upstream tests -> golden replay. Fuzz/sanitizers stay per-attempt.
gates target:
cargo run -p diff-test -- {{target}}
# One-shot attempt verdict: gates on candidate -> interleaved A/B vs a
# pristine-rebuilt baseline -> ledger row. Extra flags pass through
# (--patch-file, --needs-human-review, --baseline-bin).
verdict target candidate run_id class hypothesis hotspot *flags:
cargo run -p verdict -- {{target}} --rebuild-baseline \
--candidate-bin "{{candidate}}" --run-id "{{run_id}}" \
--playbook-class {{class}} --hypothesis "{{hypothesis}}" \
--hotspot "{{hotspot}}" {{flags}}
# One unattended agent attempt behind the SPEC §10 OS boundary:
# harnessd (trusted uid) on a Unix socket, agent loop as user hpagent.
agent-attempt target run_id max_turns="40":
sh scripts/agent-isolated.sh {{target}} {{run_id}} {{max_turns}}
# Verify the OS boundary from the agent user's side (negative + positive)
isolation-check:
sh scripts/isolation-check.sh
# Install the coz causal profiler (apt, else source build)
install-coz:
sh scripts/install-coz.sh
# Causal profile of a C/C++ target: where a speedup would raise throughput
coz target iters="200":
sh scripts/coz-profile.sh {{target}} {{iters}}
python3 scripts/coz-summary.py results/{{target}}/coz/profile.coz