Skip to content

Add constrained autoregressive surface realizer (VSS3-05, SLM-73)#352

Merged
Tyler-R-Kendrick merged 1 commit into
mainfrom
slm-73-vss3-05-autoregressive-surface-realizer
Jul 18, 2026
Merged

Add constrained autoregressive surface realizer (VSS3-05, SLM-73)#352
Tyler-R-Kendrick merged 1 commit into
mainfrom
slm-73-vss3-05-autoregressive-surface-realizer

Conversation

@Tyler-R-Kendrick

@Tyler-R-Kendrick Tyler-R-Kendrick commented Jul 18, 2026

Copy link
Copy Markdown
Owner

VSS3-05 (SLM-73): constrained autoregressive surface realizer

A learned surface realizer that autoregressively fills VSS3-04 surface slots under hard constraints, always deferring to the deterministic realizer + verifier. Any dead-end or unverifiable candidate falls back to the canonical deterministic name; every emitted identifier is re-verified. The learned model only proposes — it never has authority over membership or certification.

What's here (10 files, +1499/−0 additive, on current main)

  • models/surface_autoregressor.py — constrained byte-level AR model.
  • dsl/neural_surface_realizer.py — bridges the model to VSS3-04's realize_surface_and_verify seam; torch imported lazily (mirrors models/grammar.py) so the torch-free fallback path imports without torch.
  • data/progspec/surface_rows.py — derives surface-realization training rows via resolve_surface_slot_extractor (main's pack_id registry). Fixes a latent bug in the source branch, which used getattr(pack, "surface_slot_extractor", None) — always None on main → would have emitted zero rows.
  • dsl/schema.py"surface_realization" task token; harnesses/model_build/config.py — 7 default-off AR fields (old configs load unchanged).
  • Tests (3 new files) + a design doc + a VSS3-05 section appended to verified-scope-solver.md.

New torch tests were relocated into their own files so main's canonical VSS3-04 test files stay untouched / torch-free.

Verification

  • Torch-free (local, on current main): new VSS3-05 torch-free logic 7 passed / 4 skipped + VSS3-04 no-regression 22 passed; ruff / repo_policy / diff-check / compileall clean. No-new-breakage vs clean main (identical pre-existing env failures, +7 new passing).
  • The torch model tests (surface_autoregressor + 2 realizer/rows cases) use pytest.importorskip("torch") and run in CI.

Honesty

Wiring/mechanism increment — deterministic realization stays the default; no model trained, no checkpoint, no ship claim, no gate touched.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
slm-training Ready Ready Preview, Comment Jul 18, 2026 7:23am

Request Review

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Tyler-R-Kendrick, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: df5fc8c4-011c-4c06-8864-9e6ad2ff5eca

📥 Commits

Reviewing files that changed from the base of the PR and between 29122f2 and d88f535.

📒 Files selected for processing (10)
  • docs/design/verified-scope-solver.md
  • docs/design/vss3-05-autoregressive-surface-realizer.md
  • src/slm_training/data/progspec/surface_rows.py
  • src/slm_training/dsl/neural_surface_realizer.py
  • src/slm_training/dsl/schema.py
  • src/slm_training/harnesses/model_build/config.py
  • src/slm_training/models/surface_autoregressor.py
  • tests/test_data/test_surface_rows.py
  • tests/test_dsl/test_neural_surface_realizer.py
  • tests/test_models/test_surface_autoregressor.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch slm-73-vss3-05-autoregressive-surface-realizer

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Tyler-R-Kendrick
Tyler-R-Kendrick force-pushed the slm-72-vss3-04-surface-realization branch from c88a060 to c6866ab Compare July 18, 2026 06:52
Base automatically changed from slm-72-vss3-04-surface-realization to main July 18, 2026 06:58
A learned surface realizer that autoregressively fills VSS3-04 surface
slots under hard constraints, always deferring to the deterministic
realizer + verifier: any dead-end or unverifiable candidate falls back to
the canonical deterministic name, and every emitted identifier is
re-verified. The learned model only proposes; it never has authority over
membership or certification.

- models/surface_autoregressor.py: constrained byte-level AR model.
- dsl/neural_surface_realizer.py: bridges the model to VSS3-04's
  realize_surface_and_verify seam; torch imported lazily so the torch-free
  fallback path imports without torch.
- data/progspec/surface_rows.py: derives surface-realization training rows
  via resolve_surface_slot_extractor (main's pack_id registry, not a pack
  attribute — the latter would emit zero records).
- schema.py: "surface_realization" task token; model_build/config.py adds
  7 default-off AR fields (old configs load unchanged).
- Tests: torch-free realizer/rows logic runs; torch model paths use
  importorskip and run in CI.

Wiring/mechanism increment — deterministic realization stays the default;
no model trained, no ship claim, no gate touched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017NWyjZwGMUPHXZhtqQVzUJ
@Tyler-R-Kendrick
Tyler-R-Kendrick force-pushed the slm-73-vss3-05-autoregressive-surface-realizer branch from 78ab853 to d88f535 Compare July 18, 2026 07:23
@Tyler-R-Kendrick Tyler-R-Kendrick changed the title VSS3-05 (SLM-73): constrained autoregressive surface realizer Add constrained autoregressive surface realizer (VSS3-05, SLM-73) Jul 18, 2026
@Tyler-R-Kendrick
Tyler-R-Kendrick merged commit d549706 into main Jul 18, 2026
4 checks passed
@Tyler-R-Kendrick
Tyler-R-Kendrick deleted the slm-73-vss3-05-autoregressive-surface-realizer branch July 18, 2026 07:28
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.

2 participants