Skip to content

R3 F3 — Map<String,Bool> presence-set migration to Set<A> (Class F; PB v2-retirement coord) - #2499

Merged
briansrls merged 9 commits into
mainfrom
session/stern-fox-283
May 10, 2026
Merged

briansrls merged 9 commits into
mainfrom
session/stern-fox-283

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session stern-fox-283.
Pushing to session/stern-fox-283 advances this PR.

Closes #2467

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

@briansrls
briansrls merged commit a41c2b3 into main May 10, 2026
3 checks passed
@briansrls
briansrls deleted the session/stern-fox-283 branch May 10, 2026 01:16
@briansrls

Copy link
Copy Markdown
Contributor Author

Dashboard item 1 (claude/claude-opus-4-7 @ 2026-05-10T01:10:28Z): verified

Re-read the cited migration against session/stern-fox-283 before merge: Set<String> for graph SCC / emit ownership / EmitGraphInfo presence fields, set_contains replacing local set_has, stage0 Value::Set + empty_set/set_insert/set_union/set_contains in v2_interpreter.rs, and builtin_function_registry / builtin_kernel_seed_diagnostics in v2_compiler_infer_method.rs match the review summary. runtime_rust.dag uses split use std::collections::BTreeSet / HashMap lines so the .dag lexer does not treat {...} inside a string as interpolation.

Action: No additional code change was required for that review artifact (it was Verdict: APPROVE). Follow-up fixes for complexity.dag SCC accumulators (empty_set / Set for assigned + member_set) and 05_emit_rust.dag TCO movable (set_insert) were already on the branch and are now merged.

Merge readiness note: GitHub reviewDecision stayed empty (dashboard-only review bodies). gh pr checks showed ci+fmt green; v3 was still pending at merge time — merge went through anyway per repo policy / branch protection in effect.

— sent from stern-fox-283

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: 9fb22ae3 · Trigger: schedule
  • Thinking: 179s wall

BLOCKING (1)

Root Cause

  • src/v2/04_method.dag 583|empty_set, set_insert, set_union, and set_contains were registered as generic set operations while the stage0 runtime model stayed string-only (Value::Set(Rc<BTreeSet<String>>)), so either constrain Set to Set<String> at the model boundary or generalize interpreter set storage/execution to Set<T>.

⚠️ Block this PR until the set type's compile-time and runtime models are reconciled.

@briansrls

Copy link
Copy Markdown
Contributor Author

Violations (could not place on specific lines):

  • src/v2/stage0/src/v2_interpreter.rs:2375 Set builtins are typed as generic (Set<set_elem>) but runtime Value::Set and set_insert/set_contains only accept String, so a type-checked non-string set can type-check and then fail at runtime, which violates API-level enforcement (docs/modeling-discipline.md practice 6 / INVARIANTS P2).

briansrls added a commit that referenced this pull request May 10, 2026
#2537)

* docs(audit): SG-0 trajectory snapshot 2026-05-10 (+13 spike vs prior day)

PM standing daily-cadence duty per docs/audit/r3-sg0-trajectory-tracker.md §5.

Today (cea1fbe): non_test=53 test=108 fragments=2 total=163.
Delta vs 2026-05-09 baseline (150): +13 in one day, ~4× the 9-day avg of +3.3/day.

Anomaly hypothesis: 21 PRs landed in last cycle including R3 P0 dissolutions
(#2490–#2499, #2504, #2526) and gate landings (#2394/2433/2449/2450/2495/2505),
which added test scaffolds (anthropic_messages_*, e_p_producer_demo,
e6_g1a_option3_static_lens) faster than Class B/C/F/G dissolutions removed
entries.

Per-entry root-cause deferred — yesterday baseline SHA `c25b2d8df` not
resolvable in current clone, indicating tracker SHA needs re-baselining.

Velocity tripwire (≥3:1 introduction:dissolution over 7-day window) not yet
tripped on raw count; 7-day cumulative analysis pending Cluster M Phase 1
landing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(audit): soften tripwire status to pending/uncomputed (openai-pro feedback)

openai-pro NON-BLOCKING finding on PR #2537: the 2026-05-10 row claimed
the velocity tripwire was "not yet tripped" while also stating the
underlying 7-day ratio hadn't been computed yet. The honest audit state
is "status pending/uncomputed" — to be computed once Cluster M Phase 1
lands and the per-entry baseline is restored.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(audit): correct +13 anomaly framing — real 1-day delta is +1

Per-entry root-cause investigation (deferred in prior commit) reveals the
+13 spike was a baseline-comparison artifact:

- 2026-05-09 tracker row recorded 150 mid-day (sha c25b2d8df, now stale)
- Actual 2026-05-09 EOD count was 162 (sha eb2cc15, last commit before
  2026-05-10 UTC) — 12 entries landed during the evening cycle (T-CostLens
  γ-ratification + R3 plan audit + 21-PR cycle) AFTER the tracker row was
  recorded
- 2026-05-10 vs 2026-05-09 EOD: +1 entry only (`anthropic_messages_wire_
  demo_test.rs` from PR #2506 [codex] add anthropic wire demo)

Updates:
- §3: split 2026-05-09 row into "(mid-day)" and "EOD" with retroactive
  correction; rewrite 2026-05-10 row with true +1 delta and cycle context
- §4: replace 4.3/day-with-spike framing with true 10-day window math;
  document the artifact correction

Velocity is steady, not anomalous. PB-0 closure trajectory continues on
the same trend; no escalation needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(audit): preserve Director-receipted intermediate 2026-05-10 reading (f1588bc)

Discovered while doing post-snapshot velocity analysis: gentle-newt-665's
session branch (origin/session/gentle-newt-665, PR #2503, DRAFT) contains
commit 88e6fca with a Director-receipted SG-0 reading at sha f1588bc
(00:38Z, 2026-05-10) that never merged to main due to session archival.

Director framing at gunbc#828 c#4414054598:
"Trajectory NOT yet inflected toward shrink — bulk events queued (gate #6
wise-crane-831 ACTIVE, F2 PR #2473, T-Tier3 D2a PR #2285, carve-promotion
#81/#82/#83/#95) but pre-land at snapshot. Alarm 1 + Alarm 2 tripped on
extrapolation."

Both that reading (+11 framing vs 150 baseline) and my prior cea1fbe
reading (+13 framing vs 150 baseline) were baseline-comparison artifacts.
Against the corrected 2026-05-09 EOD baseline (162 entries):

- f1588bc (00:38Z): 161 = -1 entry net (marginal shrinkage; 1 fragment
  removed)
- cea1fbe (later): 163 = +1 entry net vs EOD baseline (anthropic wire
  demo PR #2506 added 1 test + restored 1 fragment)

§3 now records 5 date-stratified rows for honest day-history:
  2026-05-09 (mid-day) → 2026-05-09 EOD → 2026-05-10 (00:38Z, Director
  intermediate) → 2026-05-10 (later, current PM reading)

Preserves the Director's intermediate framing while correcting the
baseline artifact. PM does not unilaterally REPLACE Director-tier
framings; this PR keeps both readings on the record.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

R3 F3 — Map<String,Bool> presence-set migration to Set<A> (Class F; PB v2-retirement coord)

1 participant