# GAP paper-to-code map The repository retains a consolidated A/B interface in `prompts.py`: Prompt-A returns 1--5 `core_steps` plus mutable-slot descriptions, and Prompt-B returns a complete question and solution. Those prompt values remain byte pinned. The default executable path in `paper_pipeline.py` exposes the manuscript's five operations explicitly, using the stage prompts in `kernel_prompts.py`. Each intermediate representation is typed, validated, and saved. Verification uses the byte-pinned Appendix F.3 judge prompt. | Paper operation | Implementation | Saved artifact | |---|---|---| | Surface rename | `SurfacePipeline.run_family` | `surface__variant.json` | | 1. Reference solution to concrete proof DAG | `PaperKernelPipeline.construct_dag` + `ProofDAG` validation | `01_proof_dag.json` | | 2. Content-free method plan | `PaperKernelPipeline.summarize_methods` | `02_method_plan.json` | | 3. Guarded replacement generation | `PaperKernelPipeline.generate_replacements` | `03_replacement_vNN.json` | | 4. Node-by-node DAG diffusion | `PaperKernelPipeline.diffuse_dag` | `04_diffused_proof_vNN.json` | | 5. Answer-to-question rendering | `PaperKernelPipeline.render_variant` | `05_rendered_variant_vNN.json` | | Five-judge verification | `PaperKernelPipeline.verify` | five call records and one iteration record per round | | Consecutive-pass protocol | `PaperKernelPipeline.verify` | `K=2` on the unchanged bundle hash | | Repair loop | `PaperKernelPipeline.build_bundle` | minimally repair the prior bundle and rerun stages 3--5 from judge feedback; at most `T=15` rounds | ## Enforced contracts - The concrete DAG may branch; every dependency must reference an earlier node, and every node must contribute to the terminal node. - The method plan contains exactly one method label per DAG node. - Every replacement targets a source leaf and records its exact old/new values, mathematical guard, and guard justification. - The diffused proof must preserve node IDs, dependencies, and method labels. - The rendered solution must cite every node in order and retain the diffused terminal answer. - The five LLM judges' structured verdicts drive acceptance and repair. ## Per-item artifacts ```text items// input.json config.json calls/.json stages/.json iterations/.json final.json ``` Consolidated prompt literals and the Appendix F.3 judge prompt are byte-locked by `PROMPT_SHA256SUMS` and `tests/test_prompts.py`. The five-stage prompts are versioned source code and covered by schema and end-to-end tests. The OpenAI adapter does not pass a temperature argument; `o3` therefore uses its supported default.