Skip to content

feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0)#2647

Draft
jucor wants to merge 1 commit into
spr/edge/9f45b733from
spr/edge/4a87a6ae
Draft

feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0)#2647
jucor wants to merge 1 commit into
spr/edge/9f45b733from
spr/edge/4a87a6ae

Conversation

@jucor

@jucor jucor commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Sonnet-agent build from SPEC_A — the R1 certification backbone:

  • polismath/replay/certify.py + scripts/certify.py (click CLI: run / focus)
    over scripts/certify_battery.json (starter battery: vw uniform8 /
    front-loaded6 / single-cut + biodiversity uniform8, all clojure-legacy).
  • Clojure recording cache: reuse iff manifest matches (votes sha256,
    canonical schedule hash, replay.clj + math/src tree hashes); Python
    recording cache keyed on polismath tree hash + engine_mode. Both drivers
    invoked as subprocesses via --schedule (the only way to bake the
    collision-free schedule_id into the recording path without touching
    replay_driver.py).
  • Hash-first compare (canonical-JSON step hashes after acceptance
    projection) + content-addressed step-verdict cache; a same-input re-run
    is a pure cache hit (verified: zero subprocess calls on repeat).
  • Acceptance projection = prep-main whitelist MINUS subgroup-* trio
    (CLOJURE_QUIRKS.md Q7); the exclusion is printed on EVERY run, never
    silent.
  • First-divergence focuser (earliest divergent step, divergent key-paths
    only, ≤40-line stdout, full detail to focus-report.json) + fingerprint
    ledger docs/divergences.json (normalized path × family × engine_mode;
    ships empty — diagnoses accrue as certification proceeds).
  • Crosslang bridge PROMOTED tests/replay_harness/clj_crosslang.py →
    polismath/replay/crosslang.py (now a production API); behavior-identical
    (84 pre-existing replay-harness tests green before and after), import
    sites updated (test_clj_crosslang.py, replay_smoke.sh heredoc).

Tests: 132 passed + 1 gated integration (ran for real: actual clojure +
python drivers on vw single-cut, ~11s, then cache-hit re-run). Agent's real
smoke surfaced ~19 undiagnosed divergent fingerprints on the PRE-port base
— the certification loop's starting worklist (ledger deliberately left
empty; diagnosis is top-level work).

commit-id:4a87a6ae


Stack:


⚠️ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

…r (Spec A, Phase 0)

Sonnet-agent build from SPEC_A — the R1 certification backbone:

- polismath/replay/certify.py + scripts/certify.py (click CLI: run / focus)
  over scripts/certify_battery.json (starter battery: vw uniform8 /
  front-loaded6 / single-cut + biodiversity uniform8, all clojure-legacy).
- Clojure recording cache: reuse iff manifest matches (votes sha256,
  canonical schedule hash, replay.clj + math/src tree hashes); Python
  recording cache keyed on polismath tree hash + engine_mode. Both drivers
  invoked as subprocesses via --schedule <tmp> (the only way to bake the
  collision-free schedule_id into the recording path without touching
  replay_driver.py).
- Hash-first compare (canonical-JSON step hashes after acceptance
  projection) + content-addressed step-verdict cache; a same-input re-run
  is a pure cache hit (verified: zero subprocess calls on repeat).
- Acceptance projection = prep-main whitelist MINUS subgroup-* trio
  (CLOJURE_QUIRKS.md Q7); the exclusion is printed on EVERY run, never
  silent.
- First-divergence focuser (earliest divergent step, divergent key-paths
  only, ≤40-line stdout, full detail to focus-report.json) + fingerprint
  ledger docs/divergences.json (normalized path × family × engine_mode;
  ships empty — diagnoses accrue as certification proceeds).
- Crosslang bridge PROMOTED tests/replay_harness/clj_crosslang.py →
  polismath/replay/crosslang.py (now a production API); behavior-identical
  (84 pre-existing replay-harness tests green before and after), import
  sites updated (test_clj_crosslang.py, replay_smoke.sh heredoc).

Tests: 132 passed + 1 gated integration (ran for real: actual clojure +
python drivers on vw single-cut, ~11s, then cache-hit re-run). Agent's real
smoke surfaced ~19 undiagnosed divergent fingerprints on the PRE-port base
— the certification loop's starting worklist (ledger deliberately left
empty; diagnosis is top-level work).

commit-id:4a87a6ae
This was referenced Jul 22, 2026
@jucor
jucor marked this pull request as draft July 22, 2026 00:52
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 02:01
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 02:02
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 02:10
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 03:54
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 03:54
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 06:16
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 06:16
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 06:50
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 06:50
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 08:11
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 08:11
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 09:58
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 09:58
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) feat(delphi): certify.py battery runner + focuser + fingerprint ledge… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/9f45b733 to edge July 22, 2026 11:21
@jucor jucor changed the title feat(delphi): certify.py battery runner + focuser + fingerprint ledge… feat(delphi): certify.py battery runner + focuser + fingerprint ledger (Spec A, Phase 0) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/9f45b733 July 22, 2026 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant