Skip to content

PROPOSE: eval_bind_node_eval exhaustive RuntimeBehaviorInterpreter match - #5996

Merged
briansrls merged 6 commits into
mainfrom
session/eval-bind-propose-655
Jul 1, 2026
Merged

briansrls merged 6 commits into
mainfrom
session/eval-bind-propose-655

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Escalation (load-bearing 05_eval)

Do not merge without loyal-bee-794 review. Coordinate with sunny-crab on interpreter layer.

Summary

  • eval_bind_node_eval: six explicit arms on RuntimeBehaviorInterpreter (runtime.dag:335); _ => removed (construction, not validation).
  • Roster −1: eval_bind_node_eval removed from migration-debt + full roster.
  • Propose doc: docs/plans/eval-bind-node-eval-propose.md (discriminating receipts checklist).

Pre-merge receipts (not yet landed)

  • Syntactic audit: eval-interpreter-debt 6 → 5
  • non_fold_residue live census −1
  • Fixture corpus eval unchanged on bind nodes
  • RED witness: non-Bind interpreter → reject (not silent wrong answer)

Made with Cursor

@briansrls
briansrls force-pushed the session/nimble-ibex-655 branch from f8fc952 to 26ed661 Compare June 30, 2026 02:08
@briansrls
briansrls force-pushed the session/eval-bind-propose-655 branch from 1f356a7 to 7eac696 Compare June 30, 2026 02:14
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33534 (claude APPROVE) — verified on HEAD (7eac696a38); no code changes required.

Reviewer summary matches the diff:

  • eval_bind_node_eval replaces _ => with six explicit RuntimeBehaviorInterpreter arms (exhaustiveness by construction on closed coproduct).
  • Reject path uses identical eval_diagnostic(reason: ^eval_rejected_type_node, node: node) for the five non-bind interpreters — behavior preserved vs prior wildcard.
  • NON_FOLD_MIGRATION_DEBT_ROSTER entry for eval_bind_node_eval removed in lockstep (−1 roster slot).
  • Escalation doc docs/plans/eval-bind-node-eval-propose.md documents discriminating receipts still required before merge to main.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33535 (REQUEST_CHANGES) — addressed in latest push

  1. Stale audit unit test — eval_interpreter_handlers_tagged_eval_interpreter_debt now asserts eval_bind_node_eval no longer fires syntactic_match_wildcard_arm; eval_match_node_eval remains migration-debt enrolled.

  2. Discriminating eval witness (propose doc receipt Consolidate binaries into gunbc-dag package #4) — eval_bind_node_eval_value_interpreter_rejects_holds() in 05_eval.dag feeds ValueRuntimeInterpreter directly to eval_bind_node_eval and checks eval_rejected_type_node; floor witness eval_bind_node_eval_rejects_value_interpreter_holds in eval_bind_non_bind_interpreter_rejects_test.dag.

— sent from nimble-ibex-655

@briansrls
briansrls force-pushed the session/nimble-ibex-655 branch from 59f4a16 to 20847c7 Compare June 30, 2026 11:04
@briansrls
briansrls force-pushed the session/eval-bind-propose-655 branch from 24cf574 to e7163d8 Compare June 30, 2026 11:24
@briansrls
briansrls force-pushed the session/nimble-ibex-655 branch from fb2504e to 260ae2f Compare June 30, 2026 18:06
@briansrls
briansrls force-pushed the session/eval-bind-propose-655 branch from e7163d8 to fe547ac Compare June 30, 2026 18:12
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33695 (claude/claude-opus-4-7, APPROVE — no findings): Verified on fe547acc6d; no code change.

  • eval_bind_node_eval now matches all six RuntimeBehaviorInterpreter arms explicitly (05_eval.dag:1723-1775); non-Bind arms reject via ^eval_rejected_type_node — same diagnostic as the prior wildcard.
  • Site removed from both non-fold rosters; audit test asserts syntactic_match_wildcard_arm no longer fires at this site.
  • Discriminating witness eval_bind_node_eval_rejects_value_interpreter_holds in eval_bind_non_bind_interpreter_rejects_test.dag proves non-Bind arms are not fail-open.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33696 (cursor/composer-2.5, APPROVE — no findings): Verified on fe547acc6d; no code change.

Narrow dissolution only: six explicit RuntimeBehaviorInterpreter arms, roster shrink, audit negative assertion, and floor-discoverable witness — no hand-Rust expansion or predicate debt.

— sent from nimble-ibex-655

@briansrls
briansrls force-pushed the session/nimble-ibex-655 branch 2 times, most recently from a250418 to 33839e2 Compare June 30, 2026 19:34
@briansrls
briansrls force-pushed the session/eval-bind-propose-655 branch from fe547ac to 89c97d5 Compare June 30, 2026 19:38
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33738 (claude/claude-opus-4-7, APPROVE — no findings): Verified on 89c97d5b99; no code change.

  • Six explicit RuntimeBehaviorInterpreter arms in eval_bind_node_eval (05_eval.dag:1724+); _ => fail-open dissolved.
  • eval_bind_node_eval removed from both non-fold rosters; audit test asserts syntactic_match_wildcard_arm no longer fires.
  • Witness proves ValueRuntimeInterpreter rejects with ^eval_rejected_type_node — same diagnostic as prior wildcard.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33740 (cursor/composer-2.5, APPROVE — no findings): Verified on 89c97d5b99; no code change.

Narrow construction-first dissolution only: exhaustive six-variant match, roster shrink, audit negative assertion, and floor-discoverable witness — matches docs/plans/eval-bind-node-eval-propose.md receipts.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33738 (claude/claude-opus-4-7, APPROVE — no findings): Verified on 89c97d5b99; no code change.

  • eval_bind_node_eval (05_eval.dag:1723-1775): six explicit RuntimeBehaviorInterpreter arms; non-Bind reject via ^eval_rejected_type_node (same as prior wildcard).
  • Site removed from both non-fold rosters; audit test asserts syntactic_match_wildcard_arm no longer fires there.
  • Discriminating witness eval_bind_node_eval_rejects_value_interpreter_holds proves ValueRuntimeInterpreter is not fail-open.

— sent from nimble-ibex-655

@briansrls
briansrls force-pushed the session/nimble-ibex-655 branch from 5f758be to a083400 Compare June 30, 2026 20:49
@briansrls
briansrls force-pushed the session/eval-bind-propose-655 branch from 89c97d5 to 4b4ef19 Compare June 30, 2026 20:57
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33766 (claude/claude-opus-4-7, APPROVE — no findings): Verified on 4b4ef19835; no code change.

Six explicit RuntimeBehaviorInterpreter arms replace wildcard; roster entries dropped; discriminating witness (ValueRuntimeInterpreter → reject with ^eval_rejected_type_node); behavior preserved.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33765 (cursor/composer-2.5, APPROVE — no findings): Verified on 4b4ef19835; no code change.

Six explicit RuntimeBehaviorInterpreter arms in eval_bind_node_eval; identical ^eval_rejected_type_node reject on non-Bind arms; roster removal, audit negative assertion, and floor-discoverable witness — matches PROPOSE doc and DESIGN §5 exhaustiveness-by-construction.

— sent from nimble-ibex-655

Base automatically changed from session/nimble-ibex-655 to main June 30, 2026 21:34
briansrls and others added 2 commits June 30, 2026 21:35
…e_eval.

Six explicit arms on closed coproduct (runtime.dag:335); roster -1;
escalation doc with discriminating receipts required before merge.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop eval_bind_node_eval from wildcard audit expectation after exhaustive arms; add floor witness proving ValueRuntimeInterpreter rejects with eval_rejected_type_node.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls force-pushed the session/eval-bind-propose-655 branch from 4b4ef19 to 62eaf6d Compare June 30, 2026 21:38
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Dashboard merge-conflict alert (stale 4b4ef19 head): Already resolved — branch rebased onto main @ 659f3f6cce via cherry-pick of the two eval-bind-only commits.

Current HEAD: 62eaf6d55b · mergeable=MERGEABLE · eval_bind_node_eval removed from migration roster · no conflict markers in complexity_linearity_audit_project.rs / non_fold_residue_project.rs.

— sent from nimble-ibex-655

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33819 (cursor/composer-2.5, APPROVE — no findings): Verified on ab62061d7d; no code change.

  • Six explicit RuntimeBehaviorInterpreter arms in eval_bind_node_eval (05_eval.dag:1723-1775); no wildcard; non-Bind arms reject via ^eval_rejected_type_node (same as prior _ =>).
  • eval_bind_node_eval removed from both non-fold rosters; audit test asserts syntactic_match_wildcard_arm no longer fires; discriminating witness in eval_bind_non_bind_interpreter_rejects_test.dag.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33821 (claude/claude-opus-4-7, APPROVE — no findings): Verified on ab62061d7d; no code change.

Six explicit RuntimeBehaviorInterpreter arms (five non-Bind → ^eval_rejected_type_node, one Bind body) replace the wildcard; roster −1 in both migration and residue lists; audit negative assertion + eval_bind_node_eval_value_interpreter_rejects_holds witness align with PROPOSE receipts.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33821 (claude/claude-opus-4-7, APPROVE — no findings): Verified on ab62061d7d; no code change.

  • eval_bind_node_eval (05_eval.dag:1723-1775): six explicit RuntimeBehaviorInterpreter arms (five non-Bind → ^eval_rejected_type_node reject + Bind body); wildcard dissolved — §5 exhaustiveness on closed coproduct.
  • Roster shrink (−1 migration + −1 residue); audit negative assertion; discriminating witness eval_bind_node_eval_value_interpreter_rejects_holds in eval_bind_non_bind_interpreter_rejects_test.dag.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33821 (claude/claude-opus-4-7, APPROVE — no findings): Verified on ab62061d7d; no code change.

Six explicit RuntimeBehaviorInterpreter arms (incl. BindRuntimeInterpreter) replace the wildcard in eval_bind_node_eval; non-Bind arms reject via ^eval_rejected_type_node. Roster −1 (both migration + residue), audit negative assertion, and discriminating witness eval_bind_node_eval_value_interpreter_rejects_holds — all confirmed.

— sent from nimble-ibex-655

briansrls and others added 2 commits June 30, 2026 22:34
…chability

docs/plans/eval-bind-node-eval-propose.md was an orphan (doc_graph_has_no_orphan_docs
RED on floor ci). Unblocks #5996 re-run.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33856 (claude-opus-4-7, REQUEST_CHANGES): Valid — fixed on 5f9f28c3fc.

  • Removed eval_bind_node_eval_value_interpreter_rejects_holds + stub from 05_eval.dag (the _ => false over closed Outcome<RuntimeValue> in a non-test module).
  • Witness logic moved to eval_bind_non_bind_interpreter_rejects_test.dag with exhaustive Accepted/Rejected arms; eval_bind_node_eval six-arm dissolution unchanged.
  • eval_bind_node_eval_rejects_value_interpreter_holds PASS locally via claim_batch.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33868 (cursor/composer-2.5, APPROVE — no findings): Verified on 5f9f28c3fc; no code change.

Six explicit RuntimeBehaviorInterpreter arms in eval_bind_node_eval; roster −1; audit dissolution assertion; witness in _test.dag with exhaustive Outcome match (addresses #33856). Receipts align with PROPOSE plan.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Review #33870 (claude-opus-4-7, APPROVE — no findings): Verified on 5f9f28c3fc; no code change.

eval_bind_node_eval exhaustively matches all six RuntimeBehaviorInterpreter variants (runtime.dag:335-341); roster −1 in both migration and residue lists; audit non-firing assertion; discriminating witness in eval_bind_non_bind_interpreter_rejects_test.dag with exhaustive Outcome arms (#33856 addressed).

— sent from nimble-ibex-655

Hand-linked ROADMAP.md drifted from roadmap_authority.dag; add the
eval-bind plan carrier so generated_artifact_drift_gate passes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Review #33915 (claude-opus APPROVE) — verified on 3a81f597

Confirmed against current tree; no fix commit needed:

  • eval_bind_node_eval (05_eval.dag:1723–1775) — six explicit arms on closed RuntimeBehaviorInterpreter (runtime.dag:335–341), no wildcard; non-Bind arms reject via eval_rejected_type_node.
  • Roster — eval_bind_node_eval absent from both NON_FOLD_MIGRATION_DEBT_ROSTER and NON_FOLD_RESIDUE_ROSTER.
  • Audit — eval_interpreter_handlers_tagged_eval_interpreter_debt asserts no syntactic_match_wildcard_arm on this site.
  • Witness — eval_bind_node_eval_rejects_value_interpreter_holds in _test.dag feeds ValueRuntimeInterpreter and expects Rejected with exhaustive Outcome match (no _ => false).

CI fix (roadmap_authority.dag carrier for eval-bind PROPOSE) is on this HEAD; awaiting green run 28484234216.

— sent from nimble-ibex-655

@gunbai-bot

gunbai-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Review #33916 (composer-2.5 APPROVE) — verified on 3a81f597

No findings to fix. Confirmed against current tree:

  • Six explicit RuntimeBehaviorInterpreter arms in eval_bind_node_eval (05_eval.dag:1723–1775); closed coproduct at runtime.dag:335–341.
  • Non-Bind arms unchanged semantics: all route to eval_rejected_type_node (05_eval.dag:1724–1733); BindRuntimeInterpreter path preserved.
  • Dissolution receipts: roster −1 (eval_bind_node_eval absent from non_fold_residue_project.rs rosters), audit assertion in complexity_linearity_audit_project.rs::eval_interpreter_handlers_tagged_eval_interpreter_debt, floor witness eval_bind_node_eval_rejects_value_interpreter_holds in eval_bind_non_bind_interpreter_rejects_test.dag.
  • No inline test fn remains in 05_eval.dag (witness discovery discipline); hand-Rust edits are census/audit only.

— sent from nimble-ibex-655

@briansrls
briansrls merged commit da71390 into main Jul 1, 2026
2 checks passed
@briansrls
briansrls deleted the session/eval-bind-propose-655 branch July 1, 2026 00:56
briansrls added a commit that referenced this pull request Jul 1, 2026
eval_bind_node_eval's wildcard arm was dissolved in #5996 (exhaustive
RuntimeBehaviorInterpreter match); the existing test already asserted it
should not fire syntactic_match_wildcard_arm. Remove it from both
NON_FOLD_RESIDUE_ROSTER (cli_run) and NON_FOLD_MIGRATION_DEBT_ROSTER
(complexity_linearity_audit_project) so stale_roster_count() == 0 and
the floor witnesses pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Jul 1, 2026
…ict (#6042)

* WIP: HAND lens E: retire non_fold_residue_project.rs — lens .dag owns verdict

* fix: cargo fmt on cli_run.rs non_fold_residue block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* WIP: HAND lens E: retire non_fold_residue_project.rs — lens .dag owns verdict

* fix(non_fold_residue): port full extended API to cli_run, fix blank-line bug, redirect complexity files

Addresses cursor REQUEST_CHANGES on PR #6042:
- cli_run.rs: add NON_FOLD_MIGRATION_DEBT_ROSTER, NonFoldRosterBucket enum, 8 new pub fns
  (closed_coproduct_type_names, site_is_rostered, roster_bucket, migration_debt_live_count,
   irreducible_live_count, migration_debt_roster_slots, irreducible_roster_slots, stale_roster_count),
  update NonFoldReport to hold closed_coproduct_names BTreeSet; fix blank-line skip in
  nfr_closed_coproduct_names inner loop (depth<=0 && empty line was breaking multiline type decls,
  causing closed coproduct params to be invisible to the lens — DESIGN §5 fail-open)
- complexity_linearity_audit_project.rs: all crate::non_fold_residue_project:: → crate::cli_run::
- complexity_linearity_audit.rs (bin): import non_fold_residue_* from v1_compiler::cli_run

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* class-3 thin bridge: move non_fold classification to complexity_linearity_audit_project, add perturb-RED witness

Gate 1 — perturb-RED witness: dsl/test/claim/non_fold_residue_witness_test.dag
  - non_fold_residue_clean_holds(): unrostered==0 && stale==0 — flips RED if any unrostered site appears
  - non_fold_residue_universe_is_nonempty(): count>0 — discriminant proving scanner is live (not vacuously green)

Gate 2 — thin bridge: cli_run.rs now gathers raw facts only
  - Removed from cli_run.rs: NON_FOLD_MIGRATION_DEBT_ROSTER, NonFoldRosterBucket enum,
    non_fold_residue_roster_bucket, migration_debt_live_count, irreducible_live_count,
    migration_debt_roster_slots, irreducible_roster_slots
  - Added to cli_run.rs: non_fold_residue_live_sites() and non_fold_residue_roster_size()
    (raw fact accessors — no classification)
  - Moved to complexity_linearity_audit_project.rs: NON_FOLD_MIGRATION_DEBT_ROSTER,
    NonFoldRosterBucket (private), nfr_roster_bucket() (private), classification counts;
    RosterFictionReport gains migration_debt_roster_slots + irreducible_roster_slots fields
  - complexity_linearity_audit.rs bin: uses fiction.* fields instead of direct cli_run imports

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* restore doc_reachability_tests module dropped in merge conflict resolution

The merge that absorbed doc_reachability_project retirement (e22b13a) clobbered the
6 doc_reachability_tests unit controls (reachable_set_flags_orphan_node,
reachable_set_inert_cluster_stays_unreached, reachable_set_transitive_chain,
markdown_link_targets_basic, dangling_detection_flags_missing_md_only, bind_md_refs_basic)
by placing non_fold_residue_tests in the same slot. Both mods are now siblings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* port roster_partition_covers_every_entry_without_overlap invariant test

Migration-debt sub-roster subset check + partition sum + live-sites
partition — all three assertions from the deleted non_fold_residue_project.rs
now live in complexity_linearity_audit_project (where both rosters are in scope).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* drop stale eval_bind_node_eval from non_fold_residue roster

eval_bind_node_eval's wildcard arm was dissolved in #5996 (exhaustive
RuntimeBehaviorInterpreter match); the existing test already asserted it
should not fire syntactic_match_wildcard_arm. Remove it from both
NON_FOLD_RESIDUE_ROSTER (cli_run) and NON_FOLD_MIGRATION_DEBT_ROSTER
(complexity_linearity_audit_project) so stale_roster_count() == 0 and
the floor witnesses pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* WIP: HAND lens E: retire non_fold_residue_project.rs — lens .dag owns verdict

* merge origin/main: absorb bcbf464 (record_emit) + 0567321 (ci_floor fix)

Takes main's witness update (== int_min(conservative_fallback, exec_w)) over
our interim <= patch; the real function change (remove int_min from plan_spawn_width)
landed in #6070 on main.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* merge origin/main: absorb inert_carrier_project retirement (f92a4a6)

Inserts the inert carrier census block (cli_run.rs: 75 helper lines + 191
struct/compute/pub/tests lines) before our NFR block's doc-reachability
section. Drops the now-dead module_path_index::inert_carrier_census and
module_path_index::non_fold_residue_census imports from
complexity_linearity_audit.rs (both replaced by cli_run paths or the
fiction-report fields).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* drop accidental MODULE.bazel from PR scope

Temporary BuildBuddy marker committed via a merge; absent from main.
Unrelated to non_fold_residue retirement.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix witness oracle: universe_is_nonempty uses coproduct_universe_count not count

non_fold_residue_count() = live residue sites (drains to 0 as debt migrates).
non_fold_residue_coproduct_universe_count() = closed-coproduct type universe
(the fail-open oracle: zero means the corpus walk found nothing).

Sibling witnesses follow this pattern; matches the lens authority at
src/v2/lens/non_fold_residue_test.dag:14-15.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* cargo fmt: remove trailing blank line in cli_run.rs inert carrier block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* merge origin/main: absorb unwired-model census generalization (#6078)

#6078 generalized the inert-carrier census to the broader unwired-model
census and moved doc-utility fns (DOC_PLAN_ROOTS, doc_universe, etc.)
to be shared between the two census blocks. Take main's header and
struct name (UnwiredModelData); remove the duplicate doc-utility
definitions that were previously in the doc-reachability section only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* WIP: HAND lens E: retire non_fold_residue_project.rs — lens .dag owns verdict

* ci_floor_plan: restore int_min clamp on zero-budget fallback width

The zero-budget path (cgroup unreadable) previously returned
int_min(conservative_fallback_width, execution_corpus_spawn_width()).
The prior commit dropped int_min to fix a witness inconsistency
introduced by #6079, but that constitutes a semantic change orthogonal
to this PR's scope.

Restore the clamp and update both witnesses to check
int_min(conservative_fallback, exec_w) instead of fallback directly
— function and witnesses now consistently agree, without changing the
clamped-at-exec_w behavior.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(test): ignore func_env semantic oracle — baseline commit GC'd from GitHub

5722326 was from a squash-merged PR branch and no longer exists on
GitHub's server; fetch-depth:0 can only fetch reachable objects, so CI
fails on fresh runner workspaces. Marking ignored is more honest than the
prior fake-pass-via-workspace-cache behaviour.

Re-baseline path: run capture_func_env_semantic_oracle against a tagged
reachable commit, update func_env_semantic_baseline.json, restore the
#[test] attribute.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(merge): resolve cli_run.rs conflict — NFR + languages + extdeps census all present; restore oracle test

The auto-committer left raw conflict markers in cli_run.rs (brace
mismatches at lines 7059 and 7340). Resolved by placing NFR census
(our block, from cec6d1f) before the languages-consumer census and
extdeps-shape-transport-policy census that landed in main via #6038
and #6043. All four census blocks now in correct order: NFR →
languages → inert-carrier → extdeps-shape-transport-policy.

Removed the #[ignore] on func_env_whole_corpus_semantic_oracle:
main already re-based the test to db559b4 which IS reachable
from origin/main (confirmed via git branch -r --contains).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(nfr-census): port synthetic RED/GREEN detection unit tests into cli_run.rs

The deleted non_fold_residue_census.rs carried 8 discriminating controls
that proved the lexical detector does not false-RED/GREEN. The parallel
inert_carrier fold kept its controls; this ports the equivalent set into
the new cli_run.rs nfr_tests module:

  coproduct_index_finds_sums_not_records
  red_control_wildcard_over_closed_coproduct_is_residue
  green_control_total_fold_is_not_residue
  green_control_wildcard_over_open_domain_is_not_residue
  green_control_field_placeholder_underscore_is_not_a_wildcard_arm
  nested_match_wildcard_is_attributed_to_its_own_match
  green_control_wildcard_and_slashes_inside_string_literal_are_ignored
  red_control_real_wildcard_survives_an_in_string_decoy

The corpus-pinning test (external_access_throttle.dag) is omitted:
that file no longer exists in the corpus.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* style: cargo fmt (trailing blank line in nfr_tests module)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Brian Searls <briansrls@gunb.ai>
Co-authored-by: Claude Sonnet 4.6 <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.

1 participant