SLM-267: streaming uniform-policy ProgramSpec corpus CLI + saturation reading - #894
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 8 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 (6)
✨ 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 |
|
CI red on Generated by Claude Code |
Tyler-R-Kendrick
left a comment
There was a problem hiding this comment.
Sound work, but not mergeable as-is — needs a rebase with a real (code-semantics) conflict resolution.
Verification at head acdfc8b: PR's own tests pass (5/5, tests/test_scripts/test_generate_programspec_corpus.py), verify_version_stamps ok, repo_policy ok. Docs are honest: inconclusive disposition, no checkpoint/ship claims, blockers filed.
Blocker: PR #893 (merged, 0cb3718) landed a different scripts/generate_programspec_corpus.py and tests/test_scripts/test_generate_programspec_corpus.py at the exact same paths — a 141-line wiring-evidence fixture CLI (--mode plan-only/fixture, Slm267ProgramspecCoverageScalingManifestV1, claim_class=wiring). This PR's streaming/resumable CLI is an add/add conflict with it: both define main() with incompatible CLI surfaces. Merging would either revert #893's fixture or lose this PR's core work — that is a code-semantics decision for the author, not a mechanical versions.json fix.
Suggested resolution: rebase onto main and either (a) rename this CLI (e.g. generate_programspec_corpus_stream.py) so both coexist, or (b) absorb #893's plan-only/fixture modes into this CLI as subcommands and keep its manifest schema + tests intact. versions.json: keep union of components (data.progspec.corpus_stream new v1 alongside whatever main has since added). Happy to re-review immediately after the rebase — the substantive content here (streaming/resumable uniform-policy CLI, honest saturation reading of VSD-H7a) looks good and is not superseded by #893.
… reading Adds scripts/generate_programspec_corpus.py, the first increment toward VSD2-02's 10k/100k/1M compiler-inverted corpus matrix: a resumable, exact-dedup, rejection-ledger streaming CLI over the existing typed ProgramGenerator, uniform policy only, writing under the canonical DataStore programspec root. A measured smoke run found the current default candidate grid is only 1,781 roots (seed-independent, dominated by pairwise/prop-target coverage rather than depth/width) and that the MVP replay-based resume mechanism nets zero new records on a second shard. Both are documented as concrete blockers for the next increment. Disposition is honestly inconclusive for VSD-H7a per docs/design/compiler-inverted-program-data.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LrpUNRDWqyatkAec3MzxLe
acdfc8b to
292118c
Compare
|
Rebased onto main (now at d3965f8) and resolved via option (b):
Verified at new head 292118c:
Ready for re-review. Generated by Claude Code |
# Conflicts: # src/slm_training/resources/versions.json
Summary
First increment toward VSD2-02's 10k/100k/1M compiler-inverted
ProgramSpeccorpus matrix (SLM-267).scripts/generate_programspec_corpus.py— a resumable, streaming CLI over the existing typedProgramGenerator: deterministic seeded generation, exact disk-backed dedup keyed onProgramSpec.id, an immutable rejection ledger, resumablestate.json, a content-addressedmanifest.json, all under the canonicalDataStoreprogramspecroot. Uniform policy only.tests/test_scripts/test_generate_programspec_corpus.py— 5 tests covering dry-run, dedup/determinism, monotonic resume, config-mismatch rejection, and saturation detection.docs/design/compiler-inverted-program-data.md+docs/design/iter-slm267-uniform-saturation-20260725.{json,md}— the iron-law design doc pair for this run, with an honestinconclusivedisposition for hypothesis VSD-H7a.src/slm_training/resources/versions.json— registers new componentdata.progspec.corpus_streamv1.Findings
A measured local smoke run (two capped 2.5-minute shards) found:
Neither the 10k target nor the 1,781-candidate grid was exhausted, so VSD-H7a is disposed
inconclusiverather than claimed as a win. Both blockers (small default grid, replay-based resume) are documented as concrete next-increment work indocs/design/compiler-inverted-program-data.md. No gate was weakened and no ship/checkpoint readiness claim is made.Test plan
pytest tests/test_scripts/test_generate_programspec_corpus.py— 5/5 passpython -m scripts.verify_version_stamps --check --base d3d0a4f— version-stamp gate passes (1 component bumped)scripts/generate_programspec_corpus.py(results captured indocs/design/iter-slm267-uniform-saturation-20260725.json)Generated by Claude Code