Repository navigation
Ban source comments — src/v2/extdeps .dag (pure deletion) - #5543
Conversation
Strip all // line and /* */ block comments from src/v2/extdeps/**/*.dag via the shared single-authority string-literal-aware stripper (scripts/strip_dag_comments.py), preserving //-in-string/URL/char literals. Deletion-only, no logic changes. DESIGN §6: the mark on the carrier (the model/data) is the authority; a source comment is the parallel-ledger doc to delete (git history is the backup). §2: no dual representation. Verified green by execution: dual-root compile-clean (gunbc compile --source-root src/v2 --source-root dsl --target rust) yields only the 2 pre-existing baseline negative-fixture errors (layering_scan plant.dag), no regressions. Split from the dsl/extdeps sibling (PR #5539) so each atomic deletion-only PR stays under the 20000-line modeling-coherence diff gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks for the careful read — confirming the Not gate-consumed. Nothing text-scans the Two cases, audited over the comment-bearing files in this lane:
No code, types, or facts changed; dual-root compile is green (only the 2 pre-existing baseline negative-fixture errors). Keeping this PR deletion-only. — sent from warm-tern-189 |
…comment-ban The auto-committer pushed an unresolved-conflict state (<<<<<<< markers in cargo_build.dag:3,8,9) which fails to parse — fixes the BLOCKING review and the red dsl_compile_clean_gate. main's comment-ban sweep (#5537/#5543/#5539) left dsl/std, dsl/extdeps, dsl/gunbc, dsl/tools, src/v2/test/claim comment-free; this PR's new/rewritten files in those dirs re-introduced comments. Strip them to conform (code unchanged) so we match already-merged state and avoid a future re-sweep. ci.yml emit is byte-identical (comments don't affect output); drift gate green, ci_spec_witnesses green, rust gate + floor_effect_gate_witness resolve clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…lter allowlist (29 of 792 green tests) → run-all-unless-#[ignore]d-with-written-reason; add CI-coverage-completeness so a new test is covered by default (fail-closed); measure CI-time impact before committing the full set (#5427) * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * Widen rust gate: declare merge-landed test (lens caught it) + flag one pre-existing fixture red The coverage-completeness lens (this PR's residue) fired on its first real input after merging main: resolve_typed_cache_equivalence_test.rs landed via #5071 but was never declared in lib.rs, so it would silently not run — exactly the gap the lens exists to close (fail-closed, working as designed). Declared it. dag_emit_from_resolved_matches_compile_sources_for_v4_slice reads a removed fixture (fixtures/v2-mvp1, absent from the tree and every git ref) — a pre-existing red hidden by the old 3-filter allowlist, surfaced by the widening. Flagged with a written #[ignore] reason (FLAG-DON'T-FIX); the lens keeps the excuse reviewable. The ~20 interp_recorded_fixture/dry_run local failures were a build-ordering artifact (claim_batch bin not built locally); they pass once the floor's release --bins build is present, so they are NOT ignored (ignoring them would have been a fail-open). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Mark v4_slice ignore as draining-worklist (delete-or-restore), not permanent Parent note: a test whose fixture is gone from every git ref is DEAD — it can never pass, so a permanent ignore would calcify a coverage hole. Sharpened the reason to name the resolution (delete the dead parity receipt OR restore/retarget the fixture at a live v2 source set) and the owner routing (v2 emit slice, via bright-stag), so the completeness lens keeps it visible as work-to-drain. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Fix completeness-lens false-positive on multi-line #[ignore] reasons My own lens (every_ignore_carries_a_written_reason) went RED on the v4_slice ignore I'd just added: the detector required the closing quote on the same line as #[ignore = "..."], so a long reason wrapped with \ line-continuation left the opening line with an unterminated string and was misread as reasonless — a false-positive that fails-closed on legitimately-reasoned input. Detector now recognizes a multi-line reason: opening quote + non-empty content (sans a trailing \ continuation) is reasoned even when the string closes on a later line; an opener with no content before the break is still empty → flagged. Added detector_accepts_a_multiline_reason as the discriminating control (both the valid wrap and the empty-multiline edge), fed through the same authority. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Flag the 16 execution-confirmed pre-existing reds the widening surfaces (#[ignore=failing]) The widened gate runs the self_gen8 + census families that the old 3-filter allowlist never ran. warm-ram's opt-level run listed 32 candidates; running them to completion (--no-fail-fast, claim_batch built) confirms only 16 actually FAIL — the other 16 self_gen8 PASS (e.g. kernel_type_import). Ignoring warm-ram's superset would have excluded 16 GREEN tests (fail-open); only the execution- confirmed failures are flagged. • ownership_stage0_census (1): clone-census ratchet RED on main (non-emit .clone() 21540 > 20200+202, ~1138 over) — inert under the old allowlist while the seed drifted UP against "Rust shrinks toward zero". Do NOT bump the cap (project spirit); route to a census/substrate-migration owner. • self_gen8_* (15): pre-existing self-host emit regression (parametric-alias-RHS / reexported-type-import module resolution); route to the v2 self-host Route-A owner. All draining-worklist, not permanent; the completeness lens keeps each reason visible and reviewable. fmt-clean (rust gate runs fmt --check); parse.rs picked up a pre-existing fmt fix from the earlier ignore conversion. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Merge origin/main (ac9a7e7) — resolve pipeline.rs: accept main's deletion of dead v4_slice test main moved again (#5449 etc.) after my first sync. Conflict in pipeline.rs: main DELETED dag_emit_from_resolved_matches_compile_sources_for_v4_slice (the dead parity receipt reading the removed fixtures/v2-mvp1) — exactly the delete-or-restore resolution I'd flagged and routed. Accepted main's deletion; my interim #[ignore] on it is now moot and gone. The 16 self_gen8/census failing-ignores stay intact; completeness lens green (no undeclared test file from the merge); crate compiles. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * Cluster A construction-fix (v2_layer_roots single authority) + cluster B ignore-with-reason; fix doc-lazy-continuation 27 reds surfaced by the run-all widening: - 14 fixed-by-construction: under-scoped v2_source_roots()=[src/v2] dropped dsl, so v2-core's extdeps.communication.medium import was unresolvable. Funnel the 4 files' local copies through one helpers::v2_layer_roots()=[src/v2,dsl] authority (mirrors gunbc.ci_layer_roots; §6 dissolution marker to derive from the .dag fact later). - 13 pre-existing emit/inference reds: #[ignore=failing] with written symptom + bucket (emit/inference/lang-go/lang-python), routed as follow-ups. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * #5427: ignore 2 more pre-existing reds the widening surfaced (#5473 + #5484 interactions) The full run-all enumeration (761 pass / 2 fail / 89 ignored, 0 infra) surfaced two more deterministic reds beyond the wall-clock timing test — both pre-existing on origin/main, hidden by the old 3-test allowlist, untouched by this PR: - source_root_ingest_manifest_host_test::manifest_entry_admission_qualified_name_is_well_formed: #5473 source_root admission has an absolute-vs-relative contradiction (abs path rejected by admission; relative path fails the file-existence check) — proven by execution. Real #5473 API bug; routed to the source_root-tagging owner. - wet_hermetic_equivalence_test::wet_hermetic_scaffold_roster_outcomes_agree: whole-tree mock-corpus precompute can't resolve #5484's doc_reachability_witness_test.dag (doc_graph_* fns not in scope); routed to the doc-graph reachability-lens owner. Surgical #[ignore=failing] with routed reasons (bucket=source-root-ingest-admission / doc-graph-wholetree-resolve). Reason-based completeness lens covers them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * #5427: cite PR #5504 (RED#1 heal-PR) in the source-root admission ignore reason #5504 (still-deer-248's de-fork-lane fix) grounds absolute --source-root via repo_relative_dag_path, fixing the abs-vs-rel admission contradiction behind the #[ignore]'d manifest_entry_admission test. #5504 is up but not yet merged, so the interim ignore stays; reason now names #5504 as the heal-PR + un-ignore trigger. When #5504 merges, a freshness-merge heals RED#1 and the ignore drops -> zero ignores. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * #5427: route rust gate through the cargo.Build model (§3), drop hand-typed argv strings run_gates() now calls the modeled extdeps.cargo_build ops — cargo.Build.Fmt(["--all","--check"]), Clippy(["--all-targets"],["-D","warnings"]), Test(["-p","v1-compiler-tests"]) — so the cargo shell-transport argv is the single authority, not a hand-typed command String. Removes the now-dead ci_rust_gate_{fmt,clippy,test}_command() String fns from ci_spec (they were §3 nicknames for cargo's already-modeled interface; tools/build.dag uses the same ops). Coverage-by-construction unchanged (run-all-except-#[ignore]d; completeness lens is the residue). EAGAIN cold-retry is transport resilience the cargo model can't yet express (env not wired to the shell transport); it relocates to the CI workflow step that runs the gate (follow-up: rust_tests job). Validated by execution: floor_effect_gate_witness rust_monolith_gate_passes resolves 78 sources and dispatches all three modeled cargo commands. Fixes the partial-snapshot break in 565a116. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Resolve merge conflict markers in rust gate cargo-modeling (ac0b732) The auto-committer captured the merge with unresolved <<<<<<< markers in rust_gates_ci.dag and ci_spec.dag. Resolution keeps the cargo.Build model routing (Task 1) over origin/main's old shell-string version (which still carried the narrow 3-filter ci_rust_gate_test_command -- exactly what this work inverts). No code change beyond marker removal. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * WIP: Widen the rust gate by construction (§1): invert the hand-picked 3-filte * Resolve merge conflict in cargo_build.dag; conform new .dag files to comment-ban The auto-committer pushed an unresolved-conflict state (<<<<<<< markers in cargo_build.dag:3,8,9) which fails to parse — fixes the BLOCKING review and the red dsl_compile_clean_gate. main's comment-ban sweep (#5537/#5543/#5539) left dsl/std, dsl/extdeps, dsl/gunbc, dsl/tools, src/v2/test/claim comment-free; this PR's new/rewritten files in those dirs re-introduced comments. Strip them to conform (code unchanged) so we match already-merged state and avoid a future re-sweep. ci.yml emit is byte-identical (comments don't affect output); drift gate green, ci_spec_witnesses green, rust gate + floor_effect_gate_witness resolve clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Fix stale source-audit literal: compile.dag gate predicate (run-all surfaced) The run-all widening (#5427) surfaced source_audit::compile_gate_keeps_infer_errors_blocking_in_stage0, red because main refactored compile.dag's emission gate from is_error_diagnostic to is_resolved_pipeline_typecheck_blocking (discovery-corpus advisory typecheck) without updating this brittle string-audit literal. The audit never ran under the 3-filter allowlist, so the drift went unseen — exactly the class this widening exists to catch. Intent is unchanged (emission is gated on type errors); update the literal to the current predicate so the audit stays live and green. Fix, not #[ignore]: a stale literal is cheaply correctable, not deep work to route. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Resolve .rs merge conflicts: keep #[ignore=reason] set, conform to .rs comment-ban The auto-committer committed an unresolved merge (3052ecd, markers in 5 test .rs files) bringing main's .rs comment-ban sweep (#5544). Resolution: restore my pre-merge versions (preserving every #[ignore = "<reason>"] — the single authority my coverage-completeness lens requires; main's bare #[ignore] would red that lens) then strip full-line // comments to conform to the ban. Code unchanged; 17 self_gen8 + diagnostics reasoned ignores intact; zero reasonless #[ignore] introduced. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Re-delete orphan profiling scaffold the merge resurrected (my own lens caught it) body_producer_infer_profile_test.rs is a manual timing-profiling scaffold (std::time::Instant, profile_* fns, bare #[ignore], never declared in lib.rs). My widening deliberately deleted it (26beeee); the auto-committer's merge (3052ecd) left main's copy in the tree via the unresolved deleted-in-HEAD/ modified-in-main conflict. The new coverage-completeness lens correctly fired on it twice — orphan file (every_test_file_is_declared_in_lib) + bare reasonless #[ignore] (every_ignore_carries_a_written_reason) — a live proof the lens has teeth. Re-delete to honor the original deletion; both lenses green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Flag contention-flaky wet/hermetic equivalence test (run-all surfaced) wet_hermetic_scaffold_roster_outcomes_agree passes isolated (~110s) but fails under the 766-test parallel load (~335s). nextest process-isolates each test, so this is resource/timing contention on the wet-execution path, not a logic bug — a non-deterministic test can't gate a merge (§5 fail-open-by-noise). Pre-existing (#5276), never run under the old 3-filter allowlist. #[ignore=reason] + route to the wet==hermetic / hermetic-testing owner; the coverage lens keeps it visible. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * cargo fmt: collapse blank lines left by .rs comment-strip The comment-strip in f05415d left double-blank-lines where comments had been; cargo fmt --all --check rejected them (the rust gate's Fmt op would red). Pure blank-line removal (105 lines), zero code change, all #[ignore]s intact. Also addresses the blank-line noise the 19:42 review flagged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Strip all
//line and/* */block comments fromsrc/v2/extdeps/**/*.dagvia the shared single-authority string-literal-aware stripper (scripts/strip_dag_comments.py), preserving//-in-string/URL/char literals. Deletion-only, no logic changes.DESIGN §6: the mark on the carrier (the model/data) is the authority; a source comment is the parallel-ledger doc to delete (git history is the backup). §2: no dual representation.
Verified green by execution: dual-root compile-clean (
gunbc compile --source-root src/v2 --source-root dsl --target rust) yields only the 2 pre-existing baseline negative-fixture errors (layering_scanplant.dag), no regressions.77 files, ~2929 LOC deleted. Split from the
dsl/extdepssibling (#5539) so each atomic deletion-only PR stays under the 20000-line modeling-coherence diff gate.🤖 Generated with Claude Code