Files
Drew T 827295e241 tools+docs(phase-33.5): task 13.5 — the tools audit + the two dictionaries: tools/tool_census.py (two agreeing enumerations of 327 tool files; docstring/SETUP row/consumers/class derived from the tree; the authored half in config/tool_dictionary.tsv — phase · portability · the NEED each tool answers · what · adapts · verdict — with coverage asserted both ways) → docs/tool-index.md (need-keyed, KEEP-GEN, Reference-index row, wiki + how-to pointers), the kit's tools/MANIFEST.md regenerated (header states live 293 + superseded 28 = 321 rows), and the two verbatim corpora in-tree (Drew, confirmed S91): decomp-architect/corpus/tools/<phase>/ (302 copies + 28 superseded pointers + INDEX) and corpus/cookbook/ (the cookbook, its symptom index, the codegen map, a front page stating what transfers per compiler) — sha1-equal to their sources by tool_census --check in tools-health, regenerated by make kit-corpus; kit_lint exempts the corpus dirs (verbatim evidence) but syntax-checks them; G66 (consult the tool dictionary first) + G67 (translate an inherited idiom through its pass) + two memory seeds (34 at install); SETUP Step 6 installs docs/knowledge-corpus.md and checks the manifest against its own stated total; the ops-setup dictionary rows; the intake's Phase 7 cites G66/G67 and Phase 10 + Part C name the raw-cast → declared-symbol step; templates/layout-contract.md (the five-tool probe, a draft for the split). The review under Drew's criterion: 93 no-consumer tools (one Opus agent's draft, verified: 0 defects, every successor live, 0 live consumers, 0 collisions; four one-off verdicts overturned to STILL-NEEDED) → 34 retired by git mv to tools/sunset/ (28 superseded, 6 one-offs; README review table; SETUP rows moved; Archive-index group). Run 4 (fresh throwaway, the final kit): stopped on my Step-6 check (321 vs the live 293) → both sides derived → resumed → PASS 10/10, manifest 56 == 56, 4 commits, guardrails held (the one foreign path was the timeline regenerated by the detached tools-health). tools-health OK; doc_links --strict rc 0; audit_public OK over 6,842 paths; the purge probe PASSED (Phase 34's gate open). decision-log "P33.5 S91" + accelerators "P33.5 S91" banked; log + checkpoint (NEXT = task 14, xHigh, fresh session)
2026-09-07 22:09:15 -06:00

28 lines
1.2 KiB
Bash

#!/usr/bin/env bash
# S58 ox campaign launcher. usage: launch_ox.sh <wave-tag> <n-shards>
set -u
cd /home/musashi/bfm-decomp
TAG=${1:-ab}; N=${2:-12}
KEY=$(grep -m1 '^open_router_key=' .env | cut -d= -f2-)
export API_BASE=https://openrouter.ai/api/v1
export API_KEY="$KEY"
export MODEL=stealth/ox-alpha
# MAXTOK: api_draft's default is 512 — an output cap sized for a LOCAL model. A reasoning
# model asked to emit a whole C function truncates every time: measured 348 of 918 turns in
# waves AB/AC came back finish=length, and those runs reported 'no compiling draft after 0
# oracle calls' — a harness verdict wearing a model's name (R40). 8000 fits a 50-ins function
# with room for the reasoning preamble.
export MAXTOK=8000
export MAX_429=10 # ride out provider bursts: ~14 min of backoff before a call is abandoned
mkdir -p .run/wave_$TAG
for ((i=0;i<N;i++)); do
.venv/bin/python -u tools/api_agent.py \
--targets .run/wave_${TAG}_targets.$i.json \
--cards .run/wave_${TAG}_cards.json \
--out .run/wave_$TAG/shard$i \
--max-turns 24 --max-cost 1.0 --max-cost-per-fn 0.15 \
> .run/wave_$TAG/shard$i.log 2>&1 &
done
wait
echo "WAVE $TAG: ALL $N SHARDS DONE"