Commit Graph

4718 Commits

Author SHA1 Message Date
boshu 3f0e38870d chore(provenance): bind pawl CONFIRMED verdict for age-h433.56 #trivial 2026-07-12 06:51:49 -04:00
boshu 7fb729c71d feat(refactor): converge preservation contract (age-h433.56) 2026-07-12 06:47:02 -04:00
boshu ad64eb7d32 chore(provenance): bind pawl CONFIRMED verdict for age-h433.54 #trivial 2026-07-12 06:29:22 -04:00
boshu c57eaffbe6 feat(rch): converge recovery contract (age-h433.54) 2026-07-12 06:25:27 -04:00
boshu 28e6cd543d chore(provenance): bind pawl CONFIRMED verdict for age-h433.53 #trivial 2026-07-12 05:48:55 -04:00
boshu db82f3680c feat(push): converge release contract (age-h433.53) 2026-07-12 05:43:21 -04:00
boshu 0f49341eb6 chore(provenance): bind pawl CONFIRMED verdict for age-h433.52 #trivial 2026-07-12 05:21:34 -04:00
boshu e294bb84c7 feat(product): converge runtime contract (age-h433.52) 2026-07-12 05:17:42 -04:00
boshu bd45c9707c chore(provenance): bind pawl CONFIRMED verdict for age-h433.51 #trivial 2026-07-12 04:54:34 -04:00
boshu 22bef5d78a feat(pre-mortem): consult pawl before andon (age-h433.51) 2026-07-12 04:50:51 -04:00
boshu 3fdb3bdd46 chore(provenance): bind pawl CONFIRMED verdict for age-h433.45 #trivial 2026-07-12 04:13:41 -04:00
boshu 6b61eb4771 fix(skills): converge operationalize contract (age-h433.45) 2026-07-12 04:09:50 -04:00
boshu 1b856446ac chore(provenance): bind pawl CONFIRMED verdict for age-h433.44 #trivial 2026-07-12 04:01:00 -04:00
boshu 2dabca4bb2 fix(skills): converge ntm contract (age-h433.44) 2026-07-12 03:56:35 -04:00
boshu 6eeea67fe0 chore(provenance): bind pawl CONFIRMED verdict for age-h433.43 #trivial 2026-07-12 03:42:51 -04:00
boshu 5d14db1ad8 fix(skills): converge ms contract (age-h433.43) 2026-07-12 03:38:59 -04:00
boshu 820c098243 chore(provenance): bind pawl CONFIRMED verdict for age-h433.42 #trivial 2026-07-12 03:21:34 -04:00
boshu bf8ba19ddc fix(skills): converge implement contract (age-h433.42) 2026-07-12 03:14:49 -04:00
boshu 4b8c0bcffb chore(provenance): bind pawl CONFIRMED verdict for age-h433.40 #trivial 2026-07-12 00:34:11 -04:00
boshu 7bbd3e5b81 fix(skills): converge heal-skill contract (age-h433.40) 2026-07-12 00:29:25 -04:00
boshu d68e5005d1 chore(provenance): bind pawl CONFIRMED verdict for age-h433.39 #trivial 2026-07-12 00:00:36 -04:00
boshu 679c353b62 fix(skills): converge handoff contract (age-h433.39) 2026-07-11 23:57:32 -04:00
boshu cb6e0edc31 chore(provenance): bind pawl CONFIRMED verdict for age-h433.37 #trivial 2026-07-11 23:21:17 -04:00
boshu 5118783aab fix(skills): converge goal-design contract (age-h433.37) 2026-07-11 23:18:16 -04:00
boshu e4e2215b80 chore(provenance): bind pawl CONFIRMED verdict for age-h433.36 #trivial 2026-07-11 23:01:27 -04:00
boshu 6e23736511 fix(skills): converge gc-membrane contract (age-h433.36) 2026-07-11 22:57:33 -04:00
boshu b30ef37ddd chore(provenance): bind pawl CONFIRMED verdict for age-h433.35 #trivial 2026-07-11 22:31:11 -04:00
boshu a0f6c00248 fix(skills): converge evolve contract (age-h433.35) 2026-07-11 22:27:09 -04:00
boshu 25ccb7e5eb chore(provenance): bind pawl CONFIRMED verdict for age-h433.33 #trivial 2026-07-11 22:07:45 -04:00
boshu 1ed241da43 fix(skills): converge domain contract (age-h433.33) 2026-07-11 22:04:45 -04:00
boshu 2177890e8b chore(provenance): bind pawl CONFIRMED verdict for age-h433.32 #trivial 2026-07-11 21:51:14 -04:00
boshu 14a3544cac fix(skills): converge doc contract (age-h433.32) 2026-07-11 21:47:49 -04:00
boshu 8ac7d202c6 chore(provenance): bind pawl CONFIRMED verdict for age-h433.31 #trivial 2026-07-11 21:33:52 -04:00
boshu 65bbb0c016 fix(skills): converge discovery contract (age-h433.31) 2026-07-11 21:29:46 -04:00
boshu b128877e3b chore(provenance): bind pawl CONFIRMED verdict for age-h433.30 #trivial 2026-07-11 20:49:10 -04:00
boshu c26d5b366e fix(skills): converge dcg contract (age-h433.30) 2026-07-11 20:44:50 -04:00
boshu dda9215815 chore(provenance): bind pawl CONFIRMED verdict for age-h433.29 #trivial 2026-07-11 20:35:41 -04:00
boshu 8bea03f8ce fix(skills): converge crank contract (age-h433.29) 2026-07-11 20:29:40 -04:00
boshu a169cff7ab chore(provenance): bind pawl CONFIRMED verdict for age-h433.28 #trivial 2026-07-11 20:09:52 -04:00
boshu 8f2f3174fd fix(skills): converge council contract (age-h433.28) 2026-07-11 20:05:46 -04:00
boshu 5b7fc463f8 chore(provenance): bind pawl CONFIRMED verdict for age-h433.27 #trivial 2026-07-11 19:57:06 -04:00
boshu 8266cca459 fix(skills): converge converter contract (age-h433.27) 2026-07-11 19:54:33 -04:00
boshu 5cf6443f97 chore(provenance): bind pawl CONFIRMED verdict for age-pawl-intent-zhndq.19 #trivial 2026-07-11 19:49:06 -04:00
boshu 287c2797eb feat(pawl): surface the embedded bundle stamp in ao pawl doctor — trust-honest (age-pawl-intent-zhndq.19)
F4 stamped the embedded pawl bundle with a deterministic content hash; this surfaces it in
`ao pawl doctor` so the landed!=installed class (an installed ao silently running OLD pawl scripts —
it bit this very session) is diagnosable.

THE DESIGN IS THE LESSON. Two cross-family codex refutes killed the obvious implementation:
  round 1 — I hashed any repo containing scripts/pawl-*.sh and reported STALE. A stranger repo with
            same-named files would be falsely failed.
  round 2 — I gated that on "identity markers" (the verdict schema + pawls contract). Codex refuted
            again, correctly: FILE PRESENCE IS NOT IDENTITY. Every marker is attacker-controlled and
            spoofable, so no marker list can ever make it safe.
The real fix is not a better marker list — it is a TRUST BOUNDARY. A staleness FAILURE must never be
asserted against a repo the binary does not trust. So:
  - trusted dogfood path (untrustedRoot == "", i.e. the ao binary lives inside the checkout — the ONE
    trust decision the whole pawl surface is built on): the LIVE scripts run in place, so there is
    nothing to compare and nothing to warn about;
  - untrusted/installed path: surface the stamp INFORMATIONALLY (so the operator can diagnose
    landed!=installed themselves and rebuild), and assert NO verdict about a repo we cannot trust.
This is the honest feature, not a weaker one: the diagnostic signal is preserved while doctor cannot
be weaponized into failing on an untrusted tree.

Tests: TestPawlBundleStaleness — dogfood surfaces the stamp and never says STALE; an untrusted repo
is never reported STALE *whatever it contains*, including a repo that SPOOFS every identity marker a
naive check might have used.

Claude-Session: https://claude.ai/code/session_01RDWPYn4ZS2SyBkcBvAM18u
2026-07-11 19:49:05 -04:00
boshu 5e329b132a chore(provenance): bind pawl CONFIRMED verdict for age-h433.26 #trivial 2026-07-11 19:39:52 -04:00
boshu cc76e242d1 fix(skills): converge converge contract (age-h433.26) 2026-07-11 19:37:18 -04:00
boshu 17284f340c chore(provenance): bind pawl CONFIRMED verdict for age-pawl-intent-zhndq.10 #trivial 2026-07-11 19:32:25 -04:00
boshu a914ae8757 fix(pawl): defuse the evidence-floor auto-flip — 76% false-positive rate measured (age-pawl-intent-zhndq.10)
THE ADVISORY WINDOW DID EXACTLY ITS JOB, and the answer is NOT the one the bead expected.

Measured over the 261 local verdicts whose head_sha is a live commit: 26 PASS, **199 FLOOR-fail
(76%)**, 36 fail for unrelated (stale/missing) reasons. The FLOOR failures include verdicts from
unambiguously SUBSTANTIVE reviews — codex caught 3 real defects in this session and those verdicts
still fail the floor.

ROOT CAUSE: pawl_evidence_floor demands a `file:line` finding OR a reviewed-scope attestation. But a
CONFIRMED review has, by definition, NO DEFECT TO CITE — a clean review legitimately reads "no
blocking defects". The floor CONFLATES "no defects found" with "no review performed", so every clean
CONFIRM from codex/agy fails it. Right idea, wrong signal.

CONSEQUENCE: FLOOR_ENFORCE_AFTER=2026-07-16 was FIVE DAYS AWAY and would have started HOLDing ~76%
of real reviews on a CALENDAR TRIGGER with nobody watching — silently breaking the membrane.

THIS COMMIT DEFUSES THE CLOCK ONLY (the minimal, safe, time-critical fix): the date is pushed to a
deliberately distant 2027-01-01 so no calendar event can auto-enforce a floor with a measured 76%
false-positive rate. The floor still MEASURES and WARNs (unchanged), and PAWL_FLOOR_ENFORCE=1 still
forces enforcement for tests/opt-in operators — enforcement is now an EXPLICIT, evidence-gated
decision instead of a silent clock event.

FIXING THE SIGNAL stays on .10: a clean CONFIRM must be provable-substantive WITHOUT a defect
citation, which means changing the REVIEWER PROMPT + verdict writer (emit an explicit reviewed-scope
attestation every time), then re-measuring, then flipping deliberately.

Tests: the floor suite is green (it pins behavior via the env override, clock-independent) + a new
regression pinning that the date cannot auto-fire in the near term.

Claude-Session: https://claude.ai/code/session_01RDWPYn4ZS2SyBkcBvAM18u
2026-07-11 19:32:24 -04:00
boshu c7299780d6 chore(provenance): bind pawl CONFIRMED verdict for age-h433.23 #trivial 2026-07-11 19:21:08 -04:00
boshu af3dcc26de fix(skills): converge cc-hooks contract (age-h433.23) 2026-07-11 19:18:54 -04:00