summaryrefslogtreecommitdiff
path: root/STAGE_MAP.md
diff options
context:
space:
mode:
Diffstat (limited to 'STAGE_MAP.md')
-rw-r--r--STAGE_MAP.md38
1 files changed, 19 insertions, 19 deletions
diff --git a/STAGE_MAP.md b/STAGE_MAP.md
index 1cf0691..26077a3 100644
--- a/STAGE_MAP.md
+++ b/STAGE_MAP.md
@@ -1,17 +1,22 @@
# GAP paper-to-code map
-| Paper operation | Implementation | Validated output |
+The original implementation batches adjacent conceptual stages into two model
+calls. Prompt-A returns the ordered proof-plan nodes and mutable slots; Prompt-B
+re-instantiates that plan and returns the regenerated proof and question.
+The package writes each conceptual output separately so every paper stage is
+visible in an end-to-end run without changing either prompt.
+
+| Paper operation | Implementation | Saved artifact |
|---|---|---|
-| Surface rename | `surface.py` | `SurfaceVariant` with a collision-free one-to-one identifier map |
-| 1. Reference solution to proof DAG | `KernelPipeline.construct_dag` | Acyclic `ProofDAG` connected to the terminal claim |
-| 2. Content-free method plan | `KernelPipeline.summarize_methods` | `MethodPlan` with the DAG's node IDs and topological order |
-| 3. Guarded leaf replacement | `KernelPipeline.generate_replacement` | `ReplacementSpec` with explicit guards and evidence |
-| 4. Diffusion through the DAG | `KernelPipeline.diffuse_dag` | `DiffusedProof` preserving node order, dependencies, and method labels |
-| 5. Problem rendering | `KernelPipeline.render_question` | Self-contained `KernelCandidate` aligned with the regenerated proof |
-| Five-judge verification | `KernelPipeline.verify_candidate` | Five `JudgeVerdict` objects per round |
-| Consecutive-pass protocol | `KernelPipeline.verify_candidate` | `K=2`; rejection resets the streak |
-| Repair loop | `KernelPipeline._repair` | Corrected candidate with a distinct content hash; maximum `T=15` rounds |
-| Audit sampling flag | `KernelPipeline._audit_selected` | Deterministic 10% post-hoc audit selection |
+| Surface rename | `SurfacePipeline.run_family` | `surface_<family>_variant.json` |
+| 1. Reference solution to proof structure | `KernelPipeline.extract_plan` | `01_proof_dag.json` |
+| 2. Content-free method plan | `KernelPipeline.extract_plan` | `02_method_plan.json` |
+| 3. Mutable-slot identification | `KernelPipeline.extract_plan` | `03_mutable_slots.json` |
+| 4. Proof regeneration | `KernelPipeline.generate_candidate` | `04_regenerated_proof.json` |
+| 5. Problem rendering | `KernelPipeline.generate_candidate` | `05_variant_question.json` |
+| Five-judge verification | `KernelPipeline.verify_candidate` | five call records and one iteration record per round |
+| Consecutive-pass protocol | `KernelPipeline.verify_candidate` | `K=2`; any rejection resets the streak |
+| Repair loop | `KernelPipeline._repair` | complete corrected question and solution; at most `T=15` rounds |
## Per-item artifacts
@@ -25,11 +30,6 @@ items/<item-id>/
final.json
```
-Each JSON artifact includes a SHA-256 digest of its canonical payload. Judge
-calls remain separate rather than being collapsed into a vote count.
-
-## Claim boundary
-
-The verifier is a filtering protocol, not a formal proof of mathematical
-correctness. Accepted variants should additionally be inspected in the
-post-hoc human audit described in the accompanying paper.
+Prompt literals are byte-locked by `PROMPT_SHA256SUMS` and
+`tests/test_prompts.py`. The OpenAI adapter does not pass a temperature
+argument; `o3` therefore uses its supported default.