Skip to content

HAND lens E: retire extdeps_shape_transport_policy_project.rs — lens .dag owns verdict - #6043

Merged
briansrls merged 28 commits into
mainfrom
session/keen-tern-769
Jul 1, 2026
Merged

briansrls merged 28 commits into
mainfrom
session/keen-tern-769

Conversation

@briansrls

@briansrls briansrls commented Jun 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Retires extdeps_shape_transport_policy_project.rs (1,107 lines, HAND_MAINTAINED seed) per the lens-E migration plan. The file contained two independent concerns:

Concern A — shape/transport/policy scan (migrated in this PR): Nine per-metric interpreter builtins (extdeps_dead_param_count_for_*, extdeps_policy_leak_count_for_*, etc.) are collapsed into one compound facts builtin extdeps_shape_transport_policy_facts_for_qualified_name backed by cli_run::extdeps_shape_transport_policy_module_facts. The .dag lens (src/v2/lens/extdeps_shape_transport_policy.dag) now derives all per-module counts from the single ExtdepsModuleFacts record — verdict logic lives in .dag, Rust supplies raw facts only.

Concern B — external authority anchor checking (split, not retired): Extracted into external_authority_project.rs (~364 lines, SCAFFOLD). This is a deliberate Concern B split — it is not a new lens projector but the residual of the one being retired, tracked on its own dissolution lane. Dissolution trigger is documented in the file header: migrate extdeps_external_authority.dag to a host-surface facts builtin (parallel to Concern A's extdeps_shape_transport_policy_facts_for_qualified_name), replacing these Rust projectors. Tracked as gunbc#5364 successor, separate from Concern A's lane.

Bootstrap coherence: 05_emit_rust.dag, v1_compiler_emit_rust.rs, regen_stage0.rs (HAND_MAINTAINED list + patch_complexity_linearity_audit_mod), and bootstrap.rs all updated in lockstep.

Net hand-Rust: −1,107 + 364 (Concern B scaffold) + 241 (cli_run.rs fact-extraction shim) ≈ −502 lines.

Test plan

  • cargo check --workspace — clean
  • cargo fmt --all --check — clean
  • CI rust_tests (fmt + clippy + nextest) — green
  • CI ci (DAG floor) — running on HEAD 0532c0ab49

Brian Searls and others added 2 commits June 30, 2026 21:19
….dag owns verdict

Concern A (shape/transport/policy scan) moves to cli_run.rs as a structured-fact
extractor: extdeps_shape_transport_policy_module_facts() returns argv/fusion/input/
embedded fact lists + gist booleans + nickname literal count.  The DAG lens
v2.lens.extdeps_shape_transport_policy now calls the compound builtin
extdeps_shape_transport_policy_facts_for_qualified_name() and feeds the fact lists
into its own pure verdict functions — the scalar count host builtins are gone.

Concern B (external_authority anchor checking) splits off into the new
external_authority_project.rs with its own dissolution trigger (separate migration
to the external_authority host surface, not cli_run.rs).

The 11 old Concern A scalar builtins are removed from 04_method.dag and
v1_compiler_infer_method.rs; the single compound record builtin is registered with
type_variable_node.  All 12 Concern B v1_interpreter.rs call-sites updated to
external_authority_project.  bootstrap.rs and regen_stage0.rs swap the file name.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review June 30, 2026 21:29
Brian Searls and others added 19 commits June 30, 2026 21:43
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…uthority_project swap

- 05_emit_rust.dag + v1_compiler_emit_rust.rs: replace extdeps_shape_transport_policy_project
  with external_authority_project in hand_maintained_mods (regen would reintroduce deleted module)
- regen_stage0.rs: add complexity_linearity_audit_project.rs and decl_facts_project.rs to
  HAND_MAINTAINED_STAGE0_FILES; add patch_complexity_linearity_audit_mod call + function body
- Restore foreign files to main state (stale carry-overs from prior WIP commits)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 05_emit_rust.dag / v1_compiler_emit_rust.rs: keep external_authority_project
  (replaces extdeps_shape_transport_policy_project per lens E)
- regen_stage0.rs: keep decl_facts_project.rs once, in main's position
  (after complexity_linearity_audit_project.rs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Receipts the Concern B split: this is residual from extdeps_shape_transport_policy_project.rs
(not a new projector), with its own named dissolution lane — host-surface facts builtin for
extdeps_external_authority.dag, gunbc#5364 successor.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mirrors the marker already on external_authority_project.rs: names the Node-tree
argv projection as the dissolve-on condition, gunbc#5364 successor Concern A lane.

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

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

doc_reachability_project.rs was retired in #6035 (merged before this PR);
our merge-conflict resolution incorrectly reintroduced it. Remove from
05_emit_rust.dag and v1_compiler_emit_rust.rs hand_maintained_mods strings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Main consolidated individual project files into module_path_index/:
- Delete module_path_index/extdeps_shape_transport_policy_census.rs (our
  PR's retirement of this concern; Concern A → compound cli_run builtin,
  Concern B → external_authority_project.rs)
- Remove extdeps_shape_transport_policy_census from module_path_index/mod.rs
- Update hand_maintained_mods in 05_emit_rust.dag/v1_compiler_emit_rust.rs:
  use module_path_index (from main) + external_authority_project (ours)
- Update lib.rs: pub mod module_path_index + pub mod external_authority_project
- Update regen_stage0.rs and bootstrap.rs: module_path_index dir handles
  the moved files; external_authority_project.rs stays as flat hand-maintained
- Resolve v1_interpreter.rs: take our compound builtin + external_authority_project::
  call sites over main's individual scalar builtins + census module paths

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

gunbai-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

All three findings in this review are pre-existing in origin/main and not introduced by this PR.

Evidence:

git diff origin/main..HEAD -- src/v2/lens/unwired_model.dag    → 0 lines
git diff origin/main..HEAD -- src/v1/stage0/src/bin/complexity_linearity_audit.rs → 0 lines
git diff origin/main..HEAD -- dsl/gunbc/roadmap_authority.dag  → 0 lines
git diff origin/main..HEAD -- ROADMAP.md                       → 0 lines

The PR-level diff (origin/main..HEAD) touches exactly 13 files — all in src/v1/, src/v2/lens/extdeps_shape_transport_policy.dag, and the bootstrap wiring for this migration. unwired_model.dag, complexity_linearity_audit.rs, and roadmap_authority.dag are byte-identical to origin/main at our HEAD.

The reviewer appears to have examined the commit-level diff (WIP commit vs its merge parent), which surfaces files that passed through as intermediate staging/restore artifacts but ended up matching origin/main exactly. These are not part of this PR's change surface.

The unwired_model / inert_carrier rename incompleteness and the ROADMAP C3 discrepancy are real issues in origin/main that belong in their own PRs — they are out of scope for lens E.

— sent from keen-tern-769

Brian Searls and others added 2 commits July 1, 2026 06:58
…merge resolution

04_method.dag, v1_compiler_infer_method.rs, v1_interpreter.rs: rename
inert_carrier_names_live/declared_count builtins to unwired_model_names_live/declared_count.
cli_run.rs: replace inert_carrier census section with unwired_model census from #6078
(UnwiredModelData, unwired_decl_blocks, type/fn/data support, scaffold-exemption).

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

gunbai-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Both findings in this review are pre-existing in origin/main and not introduced by this PR.

git diff origin/main..HEAD -- dsl/gunbc/roadmap_authority.dag  → 0 lines
git diff origin/main..HEAD -- ROADMAP.md                       → 0 lines

The PR-level diff touches exactly 13 files, all in src/v1/, src/v2/lens/extdeps_shape_transport_policy.dag, and bootstrap wiring. roadmap_authority.dag and ROADMAP.md are byte-identical to origin/main at our HEAD (bd02c9b78).

The reviewer appears to be examining the commit-level diff (WIP/merge commits vs their parents), which surfaces files that transited through our branch as staging/restore artifacts but ended up matching origin/main exactly. The C3 done-flag discrepancy and SerializationKnobs description gap are real issues in origin/main that belong in their own PR — they are out of scope for lens E.

— sent from keen-tern-769

Brian Searls and others added 4 commits July 1, 2026 07:28
…names

#6085 (revert of #6078) landed in main; revert the rename I applied in the
previous commit to stay coherent with main.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove unwired_model.dag/test (reverted in #6085), restore inert_carrier.dag/test
and complexity_linearity_audit.rs to origin/main state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@briansrls
briansrls merged commit c701c67 into main Jul 1, 2026
3 checks passed
@briansrls
briansrls deleted the session/keen-tern-769 branch July 1, 2026 15:43
briansrls added a commit that referenced this pull request Jul 1, 2026
…ensus 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>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
Remove two decls retired from the live unwired census when main landed

Co-authored-by: Cursor <cursoragent@cursor.com>
#6043; unwired_model_no_unrostered_or_stale was failing batch 2.
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
Remove two decls retired from the live unwired census when main landed

Co-authored-by: Cursor <cursoragent@cursor.com>
#6043; unwired_model_no_unrostered_or_stale was failing batch 2.
briansrls added a commit that referenced this pull request Jul 1, 2026
…CI proof (#6080)

* WIP: Activate merge-admission gate (#5974): build the missing PRODUCER (stamp

* WIP: Activate merge-admission gate (#5974): build the missing PRODUCER (stamp

* WIP: Activate merge-admission gate (#5974): build the missing PRODUCER (stamp

* Activate merge-admission gate: in-repo producer + enforcement consumer (#5974)

Wire floor-emitted MergeAdmissionReceipt stamping (base_tree_hash, gate_roster_hash,
floor conclusion) and a required ci.yml merge-admission gate step that reads
merge_admission_blocks_merge. Keep GatingComputedDeferred until CI proves the
produce→consume path; flip to GatingEnforced is the follow-on activation step.

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

* Revert ci.yml from commit — workflow file push blocked by GitHub App token

ci_workflow.dag authority updated; generated_artifact_drift_gate will require
regen via main_wet on merge (operator/workflows permission).

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

* WIP: Activate merge-admission gate (#5974): build the missing PRODUCER (stamp

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* WIP: Build a floor-enrolled lens that BANS UNWIRED MODELS: any declared type/

* WIP: Build a floor-enrolled lens that BANS UNWIRED MODELS: any declared type/

* chore(unwired_model): roster-trim merge_admission decls wired by #5974

Remove current_gate_roster_hash and merge_admission_blocks_merge from the
unwired_model grandfather roster so quiet-hawk's clean_holds stays green
once #6078 lands first and this branch wires the producer/consumer path.
merge_admission_enforcement_policy stays (still test-only).

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

* feat(ci): flip merge_freshness_gating_status to GatingEnforced (#5974)

Complete merge-admission activation: merge_admission_blocks_merge now
consumes receipt_is_admissible at merge time. Dissolve enforcement
scaffolds to Terminal and update witnesses to assert enforced blocking
for stale-base receipts.

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

* fix(#6080): address review — roster scaffolds, shell exceptions, fail-closed git

- Add merge_admission_* Terminal disposition scaffolds to unwired_model_roster
  (peer pattern with gunbc_ci_footprint_granularity_disposition).
- Enroll merge_admission_produce + stamp/gate tools on
  medium_structure_exception_roster with dissolve-on trigger.
- Remove fail-open `2>/dev/null || true` from merge-target tree hash reads
  and gate fetch script (§5 stale-base path).

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

* revert(#6080): hold GatingEnforced flip until real CI floor proof

Restore GatingComputedDeferred, NOT-ENFORCING gate step scaffold, and
deferred witnesses. Flip to GatingEnforced is a follow-on after a real
CI run proves produce→consume (fresh admitted, stale/red blocked).

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

* fix(#6080): roster-enroll merge_admission metadata unwired decls

Add merge_admission_gating_activation_trigger and
merge_admission_receipt_schema to unwired_model_roster — self-tested
metadata strings with no production consumer (peer pattern with scaffold
disposition rows).

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

* fix(#6080): regen ci.yml — realize merge-admission producer + gate steps

Sync committed workflow with ci_spec/ci_workflow model: floor stamp tail
(FLOOR_EXIT + merge_admission_stamp) and merge-admission gate step.
Closes model↔workflow fork flagged by drift gate review.

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

* fix(#6080): full wire round-trip + set +e for red-floor stamp path

- parse_receipt_wire reads head_sha (line 4) and pr_number (line 5);
  witness asserts full round-trip before GatingEnforced flip.
- set +e before claim_executor so FLOOR_EXIT is captured on red floor
  and Failure receipt is stamped (ci.yml regen).

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

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(merge-admission): export CI_FLOOR_EXIT to stamp subprocess

Prefix CI_FLOOR_EXIT on the gunbc invocation line so the stamp tool
witnesses red floor exits instead of defaulting to Success (Absent env).

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

* fix(merge-admission): reject wire missing head_sha instead of fabricating zero

parse_receipt_wire now requires four lines (base, roster, conclusion,
head_sha) and returns Absent on short bodies — no minted 000…0 SHA.

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

* fix(merge-admission): stamp main-tip tree hash to match gate

KeyedReceipt requires base_tree_hash == current main's tree at CI time.
The stamp was recording merge-base tree while the gate compared origin/main
tip — causing false MergeDeniedStaleBase on normal PRs.

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

* fix(merge-admission): align stamp receipt fields and tidy shell nits

Parse PR number into stamp_floor_receipt so struct and wire agree; use
render_receipt_wire. Drop no-op concat tails; treat empty CI_FLOOR_EXIT as unset.

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

* fix(merge-admission): trim shell stdout before receipt fields

git show / pwd / jq / rev-parse stdout carries trailing newlines that
double-split the wire and break gate tree-hash comparison at enforcement.
Single authority: shell_stdout_line in merge_admission_produce.

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

* fix(merge-admission): fail-closed on partial wire and empty floor exit

Require five wire lines (incl. pr_number); unparseable pr → Absent.
Treat unset/empty CI_FLOOR_EXIT as failure, not green.

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

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(ci): unblock compile-clean gate and merge-admission stamp

- Stamp: use shell.Exec printenv instead of shell.Env (v2 shell overlay
  shadows dsl and lacks Env when both source roots are active).
- v2/extdeps/shell: restore shell.Env service for primary-precedence
  compile-clean perturb receipt.
- Remove stale inert_lens_hygiene witness (superseded by unwired_model).

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

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(merge-admission): use shell.Env.Get in stamp env_var helper

Consume the typed shell.Env transport instead of hand-built printenv
via shell.Exec — single authority for env reads (review 34244).

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

* fix(ci): repair three floor witnesses broken by merge-admission wiring

- Bump ci job step-count witness 6→7 for merge-admission gate step.
- Trim stale unwired_model_roster entries wired on main since last census.
- Align zero-budget spawn-width witness with int_min fallback semantics.

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

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(#6080): complete claude review — stamp witnesses + roster scaffold enrollment

- Witness STAMP_EXIT propagation and fail-closed CI_FLOOR_EXIT policy string.
- Enroll unwired_model roster scaffold decls + stamp policy on roster.
- Floor witness asserts owner/ceiling/dissolution-trigger documentation.

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

* fix(#6080): clarify gate step name — receipt required, freshness held

Step label now distinguishes structural receipt checks (always enforced)
from freshness verdict blocking (held until GatingEnforced flip).

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

* fix(ci): sync unwired_model_roster after main drift (#6066 ACL)

Enroll 12 Tailscale ACL unwired decls from main; trim 5 stale entries
for witnesses wired on main since last roster census.

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

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(ci): sync unwired_model_roster after #6061 affected-set rebase

Enroll floor_host_scaffold_precompute_would_skip from main drift.

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

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(ci): trim stale extdeps_shape_transport_policy roster entries

Remove two decls retired from the live unwired census when main landed

Co-authored-by: Cursor <cursoragent@cursor.com>
#6043; unwired_model_no_unrostered_or_stale was failing batch 2.

* WIP: COMPLETE merge-admission activation (royal-moth-238 archived mid-task, #

* fix(ci): sync unwired_model roster after main rebase (#deploy-access)

Rebase onto main renamed deploy access types and added GPU witness decls;
regenerate roster from live census and restore scaffold metadata decls.

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

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.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>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 3, 2026
Move Concern B anchor projection from the hand-maintained 369 LOC
external_authority_project.rs into cli_run.rs as a structured-facts
extractor (parallel to #6043 extdeps_shape_transport_policy). The v2
lens now calls the compound builtin
extdeps_external_authority_facts_for_qualified_name(); seven per-module
scalar builtins are removed from 04_method.dag.

#5364 accessor gap (documented, not fabricated): concept_decl_facts_live
and data_init_decl_facts_live cover type decls and literal data inits
only — they do not project structured record/variant anchor bodies
(ExternalAuthority { uri: Uri { scheme: Https, locator: ... } }).
Until a Node-tree structured-data-init reader lands, cli_run parse
projection remains the host SOURCE half; dissolution trigger registered
in hand_lens_host_bridge_scaffold_index.

Receipts: facts_readback_verdict_perturb witness + live corpus + RED
fixtures + scaffold watchdog — all green-by-execution.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 3, 2026
Move Concern B anchor projection from the hand-maintained 369 LOC
external_authority_project.rs into cli_run.rs as a structured-facts
extractor (parallel to #6043 extdeps_shape_transport_policy). The v2
lens now calls the compound builtin
extdeps_external_authority_facts_for_qualified_name(); seven per-module
scalar builtins are removed from 04_method.dag.

and data_init_decl_facts_live cover type decls and literal data inits
only — they do not project structured record/variant anchor bodies
(ExternalAuthority { uri: Uri { scheme: Https, locator: ... } }).
Until a Node-tree structured-data-init reader lands, cli_run parse
projection remains the host SOURCE half; dissolution trigger registered
in hand_lens_host_bridge_scaffold_index.

Receipts: facts_readback_verdict_perturb witness + live corpus + RED
fixtures + scaffold watchdog — all green-by-execution.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jul 3, 2026
* Dissolve external_authority_project.rs — lens .dag owns verdict (#5364)

Move Concern B anchor projection from the hand-maintained 369 LOC
external_authority_project.rs into cli_run.rs as a structured-facts
extractor (parallel to #6043 extdeps_shape_transport_policy). The v2
lens now calls the compound builtin
extdeps_external_authority_facts_for_qualified_name(); seven per-module
scalar builtins are removed from 04_method.dag.

and data_init_decl_facts_live cover type decls and literal data inits
only — they do not project structured record/variant anchor bodies
(ExternalAuthority { uri: Uri { scheme: Https, locator: ... } }).
Until a Node-tree structured-data-init reader lands, cli_run parse
projection remains the host SOURCE half; dissolution trigger registered
in hand_lens_host_bridge_scaffold_index.

Receipts: facts_readback_verdict_perturb witness + live corpus + RED
fixtures + scaffold watchdog — all green-by-execution.

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

* WIP: Dissolve external_authority_project.rs (gunbc#5364 landed)

* fix: rustfmt cli_run + v1_interpreter (rust gate)

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

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.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