Repository navigation
Harvest gate: refuse reference-derived use-lines absent from authored module source - #7631
Conversation
src/v1/tests enrollment forced an unregistered stage0 emit of the witness module and failed regen_verify. Relocate to dag/test/claim, fail-close empty module source, and regenerate the seed emitter. Co-authored-by: Cursor <cursoragent@cursor.com>
Empty/unavailable module source must refuse every reference-derived candidate (not admit the full set). Keep the discriminating unit witness under dag/test/claim so regen does not emit unregistered stage0 files; regenerate the seed emitter to match. Co-authored-by: Cursor <cursoragent@cursor.com>
Floor compile-clean witness_layer_roots do not close over src/v1, so importing v1.compiler.emit_rust hard-failed the whole-tree dag compile. Mirror the production predicate locally with an explicit dissolve-on. Co-authored-by: Cursor <cursoragent@cursor.com>
|
CI batch-1 Own-lane fix pushed: compile-clean also reded — sent from deep-heron-234 |
Integrate post-#7571 main so the extdeps_scope_placement gate sees a non-degenerate merge-base (standing branch-behind-main integration).
DeclarationExposure sole authority, fail-closed index refusals, omit self DirectModuleDependency, refused-population RED control. Parser-walk deferred to B (#7515). Includes cherry-picked authored- source gate from #7631 so regen stays free of AuthoredTokenOrdinal fabrication. Rebase onto main after #7631 merges. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Dashboard CI alert: sole failure on This is inherited from main — |
|
CI note (fleet red 2 / #7648): inherited upstream breakage — expect either |
|
Fleet hold lifted: head kept at |
|
Fleet hold lifted: head kept at |
|
Hold at bar (quiet-hawk): |
|
Close/reopen verdict: build/regen/heal green; |
|
Close/reopen #2: run
Will re-check the run's checkout |
|
Close/reopen #2 verdict: FULL GREEN ( Checkout |
…candidate kernel (#7673) * WIP: P2a namespace-reference-derived-closure: derive module dependency edges * fix(emit): move authored-source gate witness off stage0 emit path src/v1/tests enrollment forced an unregistered stage0 emit of the witness module and failed regen_verify. Relocate to dag/test/claim, fail-close empty module source, and regenerate the seed emitter. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(emit): fail-close authored-source use-line gate and relocate witness Empty/unavailable module source must refuse every reference-derived candidate (not admit the full set). Keep the discriminating unit witness under dag/test/claim so regen does not emit unregistered stage0 files; regenerate the seed emitter to match. Co-authored-by: Cursor <cursoragent@cursor.com> * slice-A: occurrence-binding candidate kernel (pre-stage) DeclarationExposure sole authority, fail-closed index refusals, omit self DirectModuleDependency, refused-population RED control. Parser-walk deferred to B (#7515). Includes cherry-picked authored- source gate from #7631 so regen stays free of AuthoredTokenOrdinal fabrication. Rebase onto main after #7631 merges. Co-authored-by: Cursor <cursoragent@cursor.com> * slice-A: keep candidates/binding/resolve off stage0 emit roster Without the B parser-walk emit edge those modules are not in the regen closure. Drop the unregistered committed outputs and narrow enrollment to identity so regen_stage0 --verify stays clean. Co-authored-by: Cursor <cursoragent@cursor.com> * Address review 47424 and operator slice-A verification gaps. Ground AuthoredTokenOrdinal on std.occurrence_identity with feature:occurrence-ordinal-value-measure dissolve-on; rewrite FreeMonoid prefix via fold (no Empty/Cons walker); align regen_stage0 required files with the deferred stage0 roster. Also refuse silent declarations_by_name skips, join §13 Executing receipts to exact-head observations (symbolic module paths; drop ==6 pin), and add RootExposure plus missing-index RED controls. Co-authored-by: Cursor <cursoragent@cursor.com> * Add dissolve-on for section13 symbolic-path string heuristic. review 47440: the / and .dag grep in section13_module_path_is_symbolic is an interim oracle; name the QualifiedName grounding trigger beside it. Co-authored-by: Cursor <cursoragent@cursor.com> * Use roster_frontier declaration_ref_eq for §13 receipt join. review 47449: delete the local section13_declaration_ref_eq fork and import the existing DeclarationRef equality authority instead. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: gunbc-ci-auto-heal <gunbc-ci-auto-heal@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
Interim gate in
reference_derived_use_lines: synthesize apub useonly when the candidate name is spelled in the module's authored source text (NewlineIndexchar codes).Failure directions (both required):
AuthoredTokenOrdinalafter occurrence-binding enrollment previously fabricatedpub use …::AuthoredTokenOrdinalfromstd.http_path, which never mentions it.Dissolve-on: derive use-lines from the module's bound-reference structure (
BoundReferenceProvider/ P2a candidate-producer). This text-presence gate is the conservative interim, not the destination.CI note
extdeps_scope_placement_gate_passesred is inherited from main —dag/extdeps/session_dashboard.dagunenrolled on main (added by #7573 after #7571's passing run); fix pending in #7640/#7633. Not this PR. Merge decision with the known red is the operator's.Test plan
dag/test/claim/reference_derived_authored_source_gate_witness_test.dag(admit spelled / refuseAuthoredTokenOrdinal/ refuse on empty source) — 3/3 PASS viaclaim_batchdag/test/claim(notsrc/v1/tests) so regen does not emit an unregistered stage0 fileregen_stage0 --verify→regen_divergence_count=0with fail-closed seed regeneratedregen_stage0 --emit-freshemitsstd_http_path.rswithoutAuthoredTokenOrdinal; installing that file into the living stage0 tree,cargo check -p v1-compileris greenextdeps_scope_placementexpected red (inherited)CI note
CI note (fleet red 2 / #7648): inherited upstream breakage — expect either
ContentHash not found in std.types(resolve) or aCoproduct(ContentHash)type mismatch; both the same main defect, neither this PR. #7648 + cool-wren seed bridge in flight. No main merges / no localrest.dagor fixture patches until quiet-hawk signals main green by execution.CI hold
Hold at bar (quiet-hawk):
gh run rerunreplays the frozen merge ref — does not pick up repaired main. Diff includes regenerated.rs→ whole-tree compile-clean. Fresh close/reopen today would trade extdeps red for known layer-2rest_exchange_replay_test.dag:44(expected Coproduct(ContentHash), got Primitive(String)); fix pending #7648. HOLD as-is until #7648 merges, then close/reopen for a fresh merge ref. Not diagnosing either inherited shape.