Wire the topology solver into grammar-diffusion decoding (VSS3-03, SLM-71)#356
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 22 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…M-71)
Adds a torch-free topology solver (exact expander/verifier + monotone
exact-closure prune) and a default-off decode seam that routes
grammar-diffusion decoding through it. When disabled the decode path is
byte-identical (only an extra telemetry key); when enabled the solver
filters candidates by exact closure and records a trace, never expanding
the hard domain.
- dsl/solver/topology_solver.py: expander/verifier + topology_solver_prune.
- dsl/solver/topology_adapter.py: additive derive_topology_state +
parent_id hole metadata (main's list-based TopologyEdit payload kept).
- models/grammar_diffusion.py: guarded _topology_solver_survivors seam in
_decode_one; harnesses/model_build/{factory,config}.py: default-off
topology_solver_* fields + a capsule-requires-verified-solver guard.
- tests/test_models/test_grammar_diffusion_solver.py: 6 torch-gated tests
(importorskip) run in CI.
No-new-breakage verified against a clean-main baseline (identical
pre-existing failures; +143 torch-free passing). Disabled-by-default; old
configs/checkpoints load unchanged. Mechanism increment, no ship claim.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017NWyjZwGMUPHXZhtqQVzUJ
ac1b977 to
93e2627
Compare
VSS3-03 (SLM-71): topology solver → grammar-diffusion decode seam
Adds a torch-free topology solver and a default-off seam that routes grammar-diffusion decoding through it. When disabled the decode path is byte-identical (only an extra telemetry key); when enabled the solver filters candidates by exact closure and records a trace — it never expands the hard domain.
What's here (8 files, +1020/−6 additive, on current
main)dsl/solver/topology_solver.py(NEW) — torch-free expander/verifier + monotonetopology_solver_pruneexact-closure.dsl/solver/topology_adapter.py— additivederive_topology_state+parent_idhole metadata (main's canonical list-basedTopologyEditpayload kept; the branch's dict rewrite dropped).models/grammar_diffusion.py— guarded_topology_solver_survivorsseam in_decode_one; disabled path byte-identical.harnesses/model_build/{factory,config}.py— default-offtopology_solver_*fields + a capsule-requires-verified-solver guard; old configs/checkpoints load unchanged.dsl/solver/__init__.py— additive exports.tests/test_models/test_grammar_diffusion_solver.py— 6 torch-gated tests (importorskip), run in CI.Dropped the branch's wholesale re-implementations of
dsl/solver/*(capsule_solver/closure/controller/decode/replay/state/support),pack.py,progspec/*,twotower.py, doc/README/MODEL_CARD clobbers, and its test-weakening of main'stest_topology_adapter.py. Also did NOT apply the branch's stale reverts ofdesign_md_dropout/surface_ar_*(VSS3-05 landed after the fork).Verification
mainbaseline:test_dslfailure list byte-identical (8 pre-existing, unrelated to solver/topology);test_models0-failed both, +1 new torch-gated skip. Targeted torch-free solver/surface/topology: 143 passed.ruff/repo_policy/diff-check/compileallclean.Honesty
Wiring/mechanism increment — disabled-by-default; no model trained, no ship claim, no gate touched. Meaningful-parse out of scope.
🤖 Generated with Claude Code