diff options
Diffstat (limited to 'STAGE_MAP.md')
| -rw-r--r-- | STAGE_MAP.md | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/STAGE_MAP.md b/STAGE_MAP.md index 9e05842..fe90ebb 100644 --- a/STAGE_MAP.md +++ b/STAGE_MAP.md @@ -1,14 +1,13 @@ -# GAP paper-to-code and provenance map +# GAP paper-to-code map -The recovered original Putnam generator at `PutnamVariants@c3bed737` makes two -model calls: Prompt-A returns 1--5 `core_steps` plus mutable-slot descriptions, -and Prompt-B directly returns a complete question and solution. Those exact -historical prompts remain byte pinned in `prompts.py`. +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 manuscript describes a richer five-stage procedure. The default executable -path in `paper_pipeline.py` implements those operations explicitly, using the -paper-aligned prompts in `kernel_prompts.py`. It does not claim these new -prompts are byte-identical to the historical two-call generator. +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 | |---|---|---| @@ -20,19 +19,19 @@ prompts are byte-identical to the historical two-call generator. | 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` | rerun stages 3--5 from judge feedback; at most `T=15` rounds | +| 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 records its source node, exact old/new values, mathematical - guard, and guard justification. +- 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. -- Every judge must discuss every node ID and every replacement slot ID. +- Every judge must discuss every method-plan node ID. ## Per-item artifacts @@ -46,7 +45,8 @@ items/<item-id>/ final.json ``` -Historical prompt literals are byte-locked by `PROMPT_SHA256SUMS` and -`tests/test_prompts.py`. The new 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. +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. |
