Skip to content

test(vcr-mem): pin scry 2.5.0 FEAT-039 open-world reachability soundness (#383, #242)#527

Merged
avrabe merged 1 commit into
mainfrom
chore/scry-2.5.0-feat039-reachability-soundness
Jun 27, 2026
Merged

test(vcr-mem): pin scry 2.5.0 FEAT-039 open-world reachability soundness (#383, #242)#527
avrabe merged 1 commit into
mainfrom
chore/scry-2.5.0-feat039-reachability-soundness

Conversation

@avrabe

@avrabe avrabe commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

What

Issue-hunt pass external signal: scry v2.5.0 released (seen set was v2.3.0). Both new minors are no-API-change updates — v2.4.0 (FEAT-038) models memory.size/grow; v2.5.0 (FEAT-039) is a soundness fix to reachable_from_exports, the exact "sound superset" synth's VCR-MEM-001 layer-1 shadow-stack pruning consumes.

Triaged + validated

  • Bumped lockfile scry-sai-core 2.3.0 → 2.5.0. The consumed surface (max_stack_bytes / function_summaries[].recursive / reachable_from_exports) is unchanged → scry_proves_msgq_shadow_stack_budget_383 stays GREEN (the "2.x transparent" claim is tested on 2.5.0).
  • NEW scry_reachable_superset_is_open_world_sound_383_feat039: pins the FEAT-039 property synth depends on. A function reachable only via an escaped funcref (exported funcref table, never called in-module) MUST be in the superset — under scry ≤2.4.0 it was dropped, so pruning the complement would under-reserve a genuinely-reachable function's shadow stack. The closed-world contrast (same func index pruned when escape-free) keeps it non-vacuous and makes it discriminate — it would FAIL on pre-FEAT-039 scry. A future scry regression now reddens synth's gate instead of silently re-introducing the under-reservation.

Frozen-safe

scry stays a DEV-dependency (no production pull, no codegen). Frozen anchors 3/3 green; fmt + clippy clean.

Refs #383, #242.

🤖 Generated with Claude Code

…ess (#383, #242)

Issue-hunt pass external signal: scry v2.5.0 released (seen set was v2.3.0). Both
new minors are no-API-change updates — v2.4.0 (FEAT-038) models memory.size/grow;
v2.5.0 (FEAT-039) is a SOUNDNESS fix to `reachable_from_exports`, the exact "sound
superset" synth's VCR-MEM-001 layer-1 shadow-stack pruning consumes.

Triaged + validated:
- Bumped the lockfile scry-sai-core 2.3.0 -> 2.5.0; the consumed surface
  (max_stack_bytes / function_summaries[].recursive / reachable_from_exports) is
  unchanged, so scry_proves_msgq_shadow_stack_budget_383 stays GREEN — the
  "2.x transparent" claim is tested on 2.5.0, not just asserted.
- NEW scry_reachable_superset_is_open_world_sound_383_feat039: pins the FEAT-039
  property synth depends on. A function reachable ONLY via an escaped funcref
  (exported funcref table, never called in-module) MUST be in the superset —
  under scry <=2.4.0 it was dropped, so pruning the complement would under-reserve
  a genuinely-reachable function's shadow stack. The closed-world contrast (same
  func index pruned when escape-free) keeps it non-vacuous and makes it
  discriminate: it would FAIL on pre-FEAT-039 scry. A future scry regression now
  reddens synth's gate instead of silently re-introducing the under-reservation.

Frozen-safe — scry stays a DEV-dependency (no production pull, no codegen);
frozen anchors 3/3 green, fmt + clippy clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@avrabe avrabe merged commit b7eee84 into main Jun 27, 2026
42 of 43 checks passed
@avrabe avrabe deleted the chore/scry-2.5.0-feat039-reachability-soundness branch June 27, 2026 06:58
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.

1 participant