Commit Graph

7 Commits

Author SHA1 Message Date
Drew T 4162c32d6e fix(phase-30 S48): unescaped backtick in the wave prompt (2nd occurrence) + a guard note
A markdown backtick inside the prompt's template literal terminates the string
and the workflow dies at parse time. Cheap (0 agents, 0 tokens) but it has now
cost two launches, so the file carries a warning at the top: use double quotes
for inline code in prompt prose.
2026-08-12 16:46:51 -06:00
Drew T 67b0d70493 fix(phase-30 S48): parameterize the wave output dir (it was hardcoded to wave4)
Wave 5 wrote its drafts into .run/wave4/ because the script was built by
sed-ing the wave-3 copy. Harmless (per-function dirs) but wrong. Pass
{wave:'waveN'} on any target; defaults to '.run/wave/' so a missing field can
never silently reuse a prior wave's directory. Meta name/description are now
generic too — this is THE crack-wave script, not wave 4's copy.
2026-08-12 16:45:35 -06:00
Drew T 8d261f0c4f feat(phase-30 S48): wave harness — in-situ TU gating for gate-refused repeats
A prior attempt that was GATE-REFUSED (standalone MATCH, whole-binary DIFF) has
an in-TU residual, so the standalone gate cannot see it. A wave-5 agent closed
exactly this by splicing into the real destination TU, running the pinned
triple end-to-end, and masked-diffing the function out of the WHOLE-TU object
(0 mismatched, 279/279). That is now instruction, not luck.

Carries both gotchas it paid for: the wrong --aspsx-version produces ~32
spurious mismatches all of the ori-vs-addiu li-form shape (the fingerprint of a
version mismatch, not a codegen residual), and engine_core.h resolves relative
to the including file so the spliced TU needs a directory + shared symlink.

Also warns that two wave-5 agents found their predecessor's file/line citations
wrong while its idioms were right — re-derive the TU, don't trust quoted lines.
2026-08-12 16:45:15 -06:00
Drew T a867deab68 fix(phase-30 S48): wave harness — a DEAD ORACLE is not a negative verdict
crack_wave.js classified anything without verdict_check.confirmed as 'refuted'.
When the usage limit killed 22 verifiers mid-wave, the result read
'refuted: 22' — 22 good drafts reported as rejected, with evidence 'verifier
died' as the only tell. Acting on that would have discarded the wave.

Same disease as the no-diagnostic classifier (S47) and this session's
poisoned-tree 0/17: a tool stating a conclusion it never reached. UNVERIFIED is
now its own outcome, returned with the draft path and sha1 and the instruction
'VERIFIER NEVER RAN — re-verify, do not discard'.
2026-08-12 16:21:33 -06:00
Drew T c666450df4 fix(phase-30 S48): wave harness — backticks in the §165 citation broke the template literal
A workflow script is plain JS; the cookbook citation I added used markdown
backticks inside a template string, which terminated it. Caught at launch
(parse error, 0 agents, 0 tokens) rather than mid-wave.
2026-08-12 13:33:28 -06:00
Drew T 165e2a3e82 chore(phase-30 S48): wave harness cites §165 (129 vetted laws, 48 refutations) 2026-08-12 13:31:05 -06:00
Drew T 54de1bf245 feat(phase-30 S48): check the crack-wave harness into tools/wave
The wave script encodes contracts paid for in real failures (per-agent output
dirs after wave 2 lost 21 verified drafts; sha1-last verification; prior-notes
seeding at 7/9 then 10/12; size routing). It was living only in the workflow
scratch dir, so each wave rebuilt it from memory — which is how the cookbook
citation list went stale: it still named only §162 while §163 and §164 (87 more
entries) had been banked in between.

Updated the citation list to §160-§164 and pointed agents at §164z, the 28
REFUTED claims, so they do not re-derive a disproved mechanism.
2026-08-12 12:58:47 -06:00