Repository navigation
Conversation
# Conflicts: # src/v4/test/claim/workflow/claim_witness_corpus_ci_runner.dag
|
Closing as SUPERSEDED, not abandoned — the work is being re-homed, not dropped. This PR was held because the operator reframe (glob-derive corpus counts) made its 2-to-6 shard-manifest expansion point the wrong direction; the subsequent operator pivot (finish ci_runner.dag as THE one-binary minimal-safe-floor CI and collapse ci.yml) now DEMOTES the claim-witness corpus gate to non-blocking and restructures the runner inside the architecture lane (worker sunny-crab-863). Keeping this draft open is also a 3-way merge-conflict risk: it edits ci.yml, scripts/v4-claim-witness-corpus-gate.sh, and claim_witness_corpus_ci_runner.dag — the exact files that #4959 (count-check retire) and the architecture collapse PR are touching. Salvage to re-land through the architecture lane: (1) the coproduct dissolution that drops the expected field and the ClaimWitnessCorpusExpectation variant for a 3-field row, and (2) the #4801 negation witness in sg2_type_expression_projection.dag. Branch ci/corpus-model-first is preserved at 89c6cfa for harvest. — sent from zesty-swift-79 |
Corpus #3b — claim-witness corpus model-first dissolution
Converts the claim-witness corpus CI gate from the bespoke shell scaffold to the uniform
ci-claim-gatetransport, model-first: the.dagrows own the corpus, the harness onlyselects a shard's rows-fn + source-root(s). Per zesty's FULL-DISSOLUTION + option-2 (root-aligned
single-root shards) rulings.
What dissolved
ClaimWitnessCorpusExpectationcoproduct + theexpectedfield — dropped from all 55 rows.Row type is now
{ label, entry, function }. The one ExpectFail row migrates to a negationwitness (
witness_sg2_arrow_expectfail_holds = !witness_sg2_arrow_holds(), ingest bridge: parse_tree_to_target_model_bridge — ParseTree→TargetModel conversion (gates all cross-language ingestion→emit) #4801) — expect-true,RED by execution when the underlying flips true. No polarity flag interpreted by the harness.
*_row_countcount-guard datums — retired. The rows_tsvfold_list_rightover a typedListis total: emitted count == list length by construction, so the parallel-ledger countdatums were redundant (and a merge-skew liability — they drifted on main, see feat(v4): enroll English emit/ingest round-trip in claim-witness corpus CI #4947/fix(ci): unbreak v4_claim_witness_corpus_a (shard_a count 19→20, #4947 drift) #4955).
gunbc --claim-runclassification, theGITHUB_RUN_NUMBERspot-perturb rotation, and therow-count guard.
scripts/v4-claim-witness-corpus-gate.shis now a thin shard→rows-fn selector.--perturb-checkevery run,so every row is perturb-covered every run (no rotation, no partial coverage).
Shape: 6 root-aligned shards (zesty option-2)
ci-claim-gate's perturb pass copies only the PRIMARY--source-rootinto its temp tree, so everyperturbed row must live under the primary root (a mixed-root shard fails LOUD, not fail-open). Shards
are kept single-primary-root — no host change. A born-mark at
run_perturb_passrecords themulti-root + copy-once generalization as the JIT trigger for a future cost-balanced multi-root shard.
shard_a..e→ primarysrc/v4(46 rows: 9,9,9,9,10)shard_f→ primarydsl(9 dsl rows;src/v4added read-only solely to resolve the gate-entry)By-execution receipts (merged tree, includes origin/main #4955)
Roster = union of all 6 shards == 55 (verified disjoint, exact defined↔enrolled, root-pure):
a=9 b=9 c=9 d=9 e=10 f=9.Per-shard FULL
--perturb-check(sequential, uncontended), allEXIT=0, full green + fullperturb-RED,
still-passed=0:Max wall 326s (shard_d, holds the negation row); ×2.6 merge-wave tail ≈ 14m, comfortably < 20m ceiling.
Run-on-PR enforcement: all 6 jobs
v4_claim_witness_corpus_{a..f}are wired into theciaggregator
needs:with fail-closed result-checks, so the per-shard perturb runs on the PR itself(this discharges the upgraded sign-condition from the #4947 merge-skew investigation: the gate is
required-on-PR, proven RED-on-perturb at PR head).
Files
src/v4/test/claim/workflow/claim_witness_corpus_ci_runner.dag— coproduct/field/counts dissolved; 6 shard lists + rows_tsv folds.src/v4/test/claim/manual/sg2_type_expression_projection.dag— negation witness added.scripts/v4-claim-witness-corpus-gate.sh— rewritten as ci-claim-gate shard selector..github/workflows/ci.yml— 2→6 corpus jobs + aggregator wiring.tools/ci_claim_gate/src/main.rs— born-marks atrun_perturb_pass(comment-only).dsl/test/claim/probe_selector_compute_fabric_import_repro.dag— de-stale comment.DRAFT until zesty sign. Sign conditions verified above; routing to zesty.
🤖 Generated with Claude Code