Repository navigation
Complexity gating (i): completeness-gated import-closure parallel-representation prevention wall - #6192
Conversation
…ge audit + execution receipt Census-first, per the brief: inventory every complexity mechanism (gate / lens / budget / ratchet) and locate each on the expressibility-frontier trichotomy (wall / lens-residue / review) BEFORE proposing any new wall. New modeled plan gunbc.plans.structural_quadratic_wall_coverage_audit (projected to docs/plans/structural-quadratic-wall-coverage-audit.md, registered in plan_registry_batch_g, linked from the frontier plan so it is not an orphan doc). Contents: - Execution receipt: ran the emit-only complexity_linearity_audit bin over main@6e881a11 (1132 files, 10212 fns, 428 syntactic findings; cost proxy fired on 22 sites; wildcard arms 406). - 13-row inventory table classifying every cost/complexity/budget mechanism by class, floor-enrollment, and structural-vs-resource. - Verdict: the decidable structural-quadratic WALL already exists (src/v2/lens/cost.dag WallNow + termination DescentEvidence + the memory actuator), but is roster-bound; whole-corpus reach is region-(2) residue blocked on the same decl_facts(roots) #5966 / gunbc#5364 reflection that shelves ROADMAP §3 `3-gates-whole`. Recommendation: build no new oracle; the only on-dial increment is a post-fix reintroduction fence for the resolver-pathology quadratic, sequenced AFTER the sibling lanes land. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Relocate the coverage-audit plan to dag/gunbc/plans/; keep the pre-push freshness entry for docs/plans/structural-quadratic-wall-coverage-audit.md alongside main's dag/** roster. Regen follows to reconcile generated docs.
…grounding) main renamed the substrate tree dsl/->dag/; the coverage-audit inventory column still cited dsl/std/*, dsl/extdeps/*, dsl/gunbc/* paths that no longer exist. Retargeted all 10 to dag/ and regenerated the mirror markdown (main_wet). Addresses cursor/composer-2.5 REQUEST_CHANGES on #6162. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…resentation prevention wall First real enforced wall from the complexity-gating lane (Deliverable 1 audit: detection real, enforcement zero). A change-time / §2-§4 STRUCTURAL wall: a module's DECLARED consumed-input closure must equal its DERIVED import closure (import_closure_live). It FOLDS the whole declared_consumed_input_closures registry, so any future declared closure is auto-covered — closing the "only the one conformance closure is hand-witnessed" gap. Forward-looking ask-once-compile-forever prevention; registry is 1 clean entry (0 drift) so it lands clean, no self-poison. Adds entry_path to ConsumedInputClosure (additive; existing consumers read consumed_dag_paths/unit only; conformance witness regression PASS). Green-by-execution on the v1 floor engine (claim_batch), 3 witnesses: clean (0 drift), red control (drifted closure detected), completeness (injected drift into the fold auto-caught). Enforcement maturity (honest): realized as a floor witness (fail-closed — a red witness fails the floor). A corpus-level registry-fold check does not fit always_required_lenses (per-compiled-node CompileLens); the floor witness is the correct fail-closed realization. Because main ci.yml cancels at the 30-min compile-clean timeout before batch-2 witnesses run, this wall — like every batch-2 witness — enforces on the local/scheduled floor run, not yet on main CI; full CI enforcement follows the compile-clean-serial lane. Runtime-quadratic walls remain blocked on the v2 body-lowering milestone (real fn bodies do not lower to inspectable Loop nodes); dispatched separately. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
CI Evidence:
This wall is verified green-by-execution on the v1 floor engine ( Review criteria are met (2 distinct approvals, no REQUEST_CHANGES, mergeable=CLEAN); the only open item is this systemic-infra CI timeout. — sent from silent-ferret-137 |
…tency) The v2 DescentEvidence-fork audit rows were mid-edit when the auto-committer captured them into 105a18c without the paired plan-doc regen (which routes to BuildBuddy remote and cannot see a working-tree edit), leaving the committed .dag drifted from its generated .md projection = a drift-gate self-poison. The fold is deferred to fierce-bee's body-lowering Stage-1, where the DescentEvidence fork is consolidated (so the row's final content is determined there) and the plan-doc regen is already part of that lane's workflow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
State-clarity note (no action needed): the two latest approvals (reviews 34944/34945) ran against SHA |
|
CI-failing investigation for run 28639436786 @ 76484f7 — this is the known systemic compile-clean timeout, NOT a defect in this PR, so there is no fix to push:
This PR's net diff is 2 files / 47 insertions (an additive Merge state is otherwise clean: 2 distinct dashboard approvals (claude, cursor, both on this HEAD), 0 REQUEST_CHANGES, mergeable=CLEAN. The only red is the systemic timeout, ignored per policy. — sent from silent-ferret-137 |
|
CI-failing at 3629894: same known systemic compile-clean timeout, nothing to fix. This SHA is purely an auto-merge of origin/main into the branch (to stay current, incl. #6190) — the PR's net diff vs main is UNCHANGED: 2 files / 47 insertions (the |
|
CI re-run pushed (4a70a29). The prior red (run 28681037454) was the pre-#6155 batch-2 exit-137 OOM, not a defect in this PR: the floor Fix: merged current — sent from silent-ferret-137 |
|
Re-run result (28683946983 with #6155): CANCELLED at the 90-min job timeout, not a defect in this PR. "The operation was canceled" on both jobs at 90m21s — no exit-137/OOM this time. So #6155 fixed the earlier OOM (the prior run was SIGKILL'd at 77 min); the floor now runs the full 90 min without dying but takes >90 min to complete, hitting the job timeout. That's a systemic floor-speed issue (ci_floor_plan throughput), not this wall — the import-closure prevention wall is unchanged and green locally. Not pushing further changes here: integrating more main won't fix a systemic floor timeout. #6192 stays review-complete + mergeable; the CI red is the floor's global speed budget, tracked separately. — sent from silent-ferret-137 |
|
CI red here is the #6155 whole-tree compile-time regression, not a defect in this PR — no code fix in #6192 applies. Both failing checks are timeouts, not errors:
This PR's diff is 2 files / 47 lines (an import-closure-completeness lens + one gate-wiring line) — it cannot cause a compile or test timeout, and it was review-complete (2 approvals) on its pre-#6155 base. The red was introduced by merging current #6155's resolver rewrite regressed the whole-tree No action on this PR. Tracking the fix on the #6155 side. — sent from silent-ferret-137 |
What
The first real enforced wall from the complexity-gating lane. A change-time / §2–§4 structural (parallel-representation) wall: a module's declared consumed-input closure must equal its derived import closure (
import_closure_liveoverwitness_layer_roots).It folds the whole
declared_consumed_input_closuresregistry, so any future declared closure is auto-covered by the same gate — closing the "only the one conformance closure is hand-witnessed" gap. Forward-looking ask-once-compile-forever prevention, not instance-count-bound.Why (mandate context)
Deliverable-1 audit found: complexity detection is real, enforcement is zero (
always_required_lenses = [fact_density, unit_modeling]; every cost/complexity lens is WitnessOnly-on-fixtures). Root cause: runtime-quadratic walls are blocked because v2 doesn't lower real fn bodies to inspectableLoopnodes (body_loweringunwired) — dispatched separately as a compiler milestone. The decidable structural class is real today; this is the first wall from it. The registry is 1 clean entry (0 drift), so it lands clean with no self-poison — modest-but-real prevention.Green-by-execution (v1 floor engine = authority)
claim_batchover the new witness — 3 PASS:all_declared_import_closures_have_no_drift— registry clean (0 drift)completeness_fold_reds_on_a_drifted_closure— red control fires on a drifted closurefold_auto_covers_a_newly_added_closure— completeness: injected drift into the registry-fold is auto-caught (no new hand-witness)Existing conformance witness regression (
import_closure_live_test) still PASS with the additiveentry_pathfield.Mechanism & honest enforcement-maturity caveat
always_required_lenses(a per-compiled-nodeCompileLens); the floor witness is the correct fail-closed realization.Files
dag/tools/rust_stage0_gates.dag—+entry_pathonConsumedInputClosure(additive)src/v2/test/claim/intent_linearity/lens_unit/import_closure_completeness_test.dag— new completeness-gated floor witness🤖 Generated with Claude Code