Repository navigation
HAND lens E: retire extdeps_shape_transport_policy_project.rs — lens .dag owns verdict - #6043
Conversation
….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>
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>
|
All three findings in this review are pre-existing in Evidence: The PR-level diff ( 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 The — sent from keen-tern-769 |
…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>
|
Both findings in this review are pre-existing in The PR-level diff touches exactly 13 files, all in 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 — sent from keen-tern-769 |
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>
…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>
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.
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.
…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>
…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>
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>
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>
* 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>
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 builtinextdeps_shape_transport_policy_facts_for_qualified_namebacked bycli_run::extdeps_shape_transport_policy_module_facts. The.daglens (src/v2/lens/extdeps_shape_transport_policy.dag) now derives all per-module counts from the singleExtdepsModuleFactsrecord — 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: migrateextdeps_external_authority.dagto a host-surface facts builtin (parallel to Concern A'sextdeps_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), andbootstrap.rsall 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— cleancargo fmt --all --check— cleanrust_tests(fmt + clippy + nextest) — greenci(DAG floor) — running on HEAD0532c0ab49