Repository navigation
v2-translate-underived-refusal: Translate refuses underived facts instead of swallowing the typed rejection (containment P0, guarantee lane) - #7555
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Addressing review 45961 (REQUEST_CHANGES) Agreed on all three points — verified against current tree in
The coerce-path swallow fix ( — sent from merry-cat-407 |
|
Addressing review 46046 (REQUEST_CHANGES) Agreed —
Local execution: all 5 — sent from merry-cat-407 |
ba053c7 to
214da0d
Compare
review 46292 — addressedVerdict: valid. Fix (80b53b6): hoist the gate to Witnesses (b496a9a):
All seven witnesses in — sent from merry-cat-407 |
review 46312 — addressedFinding 2 (descendant bypass) — fixed in this commitValid. Producer-entry gates on the root only let Fix: Witness: Finding 1 (Violates / lookup-miss accepts) — not changed; whyThe Facts-absent and facts-present-but-underived are different states:
Structural removal of the absent-facts seam is Witness added: — sent from merry-cat-407 |
review 46361 — addressed in
|
review 46379 — fixedFinding (rebuilt fold parent breaks facts lookup): Confirmed. Fix: Introduced All nine — sent from merry-cat-407 |
|
review 46410 — addressed in Deleted Rebased onto current — sent from merry-cat-407 |
6405118 to
97e34e4
Compare
|
review 46500 — addressed in the commit pushed just now. Deleted — sent from merry-cat-407 |
e9119e0 to
056d43f
Compare
|
Addressed review 46601 in Producer gate ( Classical_not witnesses — Split inferred-tree builders instead of rewriting canonical infer output:
Local: all five per-PR classical_not witnesses + translate refusal controls green. — sent from merry-cat-407 |
32dfe9d to
bf03252
Compare
|
Addressed review 46656 in
New discriminating witness: — sent from merry-cat-407 |
|
Addressed review 46681 in the pushed commit. Bodied-arrow and import-carrier shortcuts in New witness: — sent from merry-cat-407 |
|
review 46766 — addressed in Verified against current Fix: added Witness: — sent from merry-cat-407 |
|
review 46789 — addressed in Verified: Fix: on the — sent from merry-cat-407 |
|
review 46818 — addressed in Verified: after review 46789 routed the gate through Fix: deleted both. Translate propagates the canonical inference diagnostic ( — sent from merry-cat-407 |
|
review 46842 — not changed in this PR; why Verified against Why not fixed here: this PR's scoped deliverable is the containment slice from gunbc#7485 — refuse recorded The
Refusing lookup miss in translate now (without the carrier split) was tried in review 45961: translate refused every orchestration emit node, regen poisoned Carrier-level enforcement is the right end state (review 46842 and Opus 46841 both name it). It is sequenced as the next node, not this one's scope. — sent from merry-cat-407 |
Derive v2 InferToEval receipt observations from executed infer diagnostics instead of fabricating counts; add guarantee_probe_ids_unique enforcement. Reserve gunbc#7555 translate identities outside guarantee_probe_ids until that OPEN PR merges — slice-1 migration covers only #7484, #7519, #7485. Co-authored-by: Cursor <cursoragent@cursor.com>
Derive v2 InferToEval receipt observations from executed infer diagnostics instead of fabricating counts; add guarantee_probe_ids_unique enforcement. Reserve gunbc#7555 translate identities outside guarantee_probe_ids until that OPEN PR merges — slice-1 migration covers only #7484, #7519, #7485. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 47019 in Misleading witness names (finding 1) — Stale authority note (finding 2) — Wet/nightly legs (finding 3) — — sent from merry-cat-407 |
eb2b10e to
2cab993
Compare
…n translate. Route Holds-arm facts through canonical_grounding_from_inferred_facts at translate entry, fold attach, and bodied-arrow/import shortcuts; keep the Violates lookup-miss arm as the named orch-emit compatibility frontier. Witnesses cover canonical/staging refusal, mixed trees, shortcuts, and positive controls; wet legs use shape-frontier carrier. Co-authored-by: Cursor <cursoragent@cursor.com>
2cab993 to
9785326
Compare
Derive v2 InferToEval receipt observations from executed infer diagnostics instead of fabricating counts; add guarantee_probe_ids_unique enforcement. Reserve gunbc#7555 translate identities outside guarantee_probe_ids until that OPEN PR merges — slice-1 migration covers only #7484, #7519, #7485. Co-authored-by: Cursor <cursoragent@cursor.com>
Shape-frontier trees have Absent facts lookups; eval refuses every miss (inferred_facts_for_eval Violates arm). Wet legs need ingested_wet_emit_eval_composed_tree_from_source — composed DerivedGrounding on every lookup so emit accepts and eval can reach Pass (review 47137). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 47137. Finding confirmed: Fix: added — sent from merry-cat-407 |
Derive v2 InferToEval receipt observations from executed infer diagnostics instead of fabricating counts; add guarantee_probe_ids_unique enforcement. Reserve gunbc#7555 translate identities outside guarantee_probe_ids until that OPEN PR merges — slice-1 migration covers only #7484, #7519, #7485. Co-authored-by: Cursor <cursoragent@cursor.com>
…eview 47202). Replace the tree-wide bodyless-Arrow bypass with translate_infer_emit_frontier_admits_recorded_underived: admit only the emission root and strict-descendant Atom/Conj inhabitants with no derived ancestor and no bodied-Arrow ancestor. Restore parent-derived fold attach and add a bodyless-root + poison-child RED witness. Co-authored-by: Cursor <cursoragent@cursor.com>
review 47202 — addressed in
|
Delete translate_infer_emit_frontier_admits_recorded_underived and the prohibited Node-coproduct Bool predicates. Translate now refuses every recorded GroundingNotDerived on Holds; only Violates (lookup miss) and DerivedGrounding admit. Add infer_emit_staging_inferred_tree as the explicit emit-path carrier; cross_language_compile and neutralization witnesses stage before emit. Raw infer+emit fail-closed paths unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
review 47219 — addressed in
|
Delete composed-facts staging that relabeled every lookup as DerivedGrounding; emit paths now use infer_emit_shape_frontier_inferred_tree (empty facts map) so translate's Violates frontier is honest absence, not erased GroundingNotDerived. Co-authored-by: Cursor <cursoragent@cursor.com>
review 47234 — addressed in
|
…46). cross_language_compile now emits with infer's InferredTree unchanged; empty-facts shape frontier is test-only. Witnesses flipped from bypass success to typed ^infer_grounding_not_derived refusal on incomplete trees. Co-authored-by: Cursor <cursoragent@cursor.com>
review 47246 — addressed in
|
Slice 1 canonical guarantee_probe_paths and guarantee_probe_class_ids cover only landed controls; translate identities stay in reserved rosters until gunbc#7555 executing evidence lands. Co-authored-by: Cursor <cursoragent@cursor.com>
Delete reserved translate path/class/probe identities from slice 1 so #7555 lands its own authority with executing evidence (review 47312). Expand v1_compile_harness_source_paths to fingerprint the v1 compile pipeline stages compile_dag_diagnostic_census exercises, not schema only. Co-authored-by: Cursor <cursoragent@cursor.com>
…guarantee_measurement identities (#7638) * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Strengthen guarantee probe corpus with mutation controls and canonical ordering. Adds discriminating RED controls, probe_observation_fold routing witnesses, lexicographic probe roster fix, and v2 path identity joins so slice 1 receipts are keyed by schema identities without duplicating the dark-suite originals. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Route green_control witness through observation_is_clean fold. Replaces hand-matching ProbeObservation arms in green_control_observation_is_accepted_clean with the corpus bridge helper (review 46857). Co-authored-by: Cursor <cursoragent@cursor.com> * Address review 46867: lex order, v2 wiring, revision params, dead code. Reorder probe roster to true lexicographic authority; delete unused census_has_any_rows; require subject/harness revisions on receipt builders (fixtures own placeholders); wire infer_self_grounding_wall_test to corpus identities with executing join witness; remove synthetic v2 path-join tests from dag witness. Co-authored-by: Cursor <cursoragent@cursor.com> * Return Optional counts from census class helpers. Replaces the 0-1 NotRunnable sentinel with Int? so unknown cannot masquerade as a cardinal count (review 46888 non-blocking nit). Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Address review 46918 and correct #7555 slice-1 scope. Derive v2 InferToEval receipt observations from executed infer diagnostics instead of fabricating counts; add guarantee_probe_ids_unique enforcement. Reserve gunbc#7555 translate identities outside guarantee_probe_ids until that OPEN PR merges — slice-1 migration covers only #7484, #7519, #7485. Co-authored-by: Cursor <cursoragent@cursor.com> * Connect v2 frontier green probe to executing receipt join. Adds wall_frontier_derived_green_receipt_joins_corpus_identity using the derived branch fixture (clean infer diagnostics) so v2_frontier_green_probe in guarantee_probe_ids has a real receipt consumer (review 46943). Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Bind guarantee probe receipts to canonical GuaranteeProbeRow rows. Review 46953: class, path, probe, and expectation now live in one registry row; receipt builders take the row instead of independently threaded ids. Co-authored-by: Cursor <cursoragent@cursor.com> * Import ReceiptPathUnknown and ReceiptPathDuplicate in probe corpus. review 46989: receipt_joins_v1_compile_path matches all three ReceiptJoin variants; namespace-only resolution requires explicit imports. Co-authored-by: Cursor <cursoragent@cursor.com> * Move string lex compare and Ordering elimination to std. review 47003: add ordering_fold/ordering_is_less on std.algebra.Ordering and string_lex_compare/string_is_lexicographically_before on std.string_type; guarantee_probe_corpus consumes those surfaces instead of local predicate/walker copies. Co-authored-by: Cursor <cursoragent@cursor.com> * Regen stage0 after std.algebra ordering_fold landing. Fixes regen_verify_gate_passes drift on std_algebra.rs. Co-authored-by: Cursor <cursoragent@cursor.com> * Enforce path-typed receipts and honest probe-set digests. review 47050: V1CompileProbeRow/V2InferEvalProbeRow fix path at construction; builders take executed_probe_ids for probe_set_digest; witnesses pass the single probe they actually run and add a digest honesty control. Co-authored-by: Cursor <cursoragent@cursor.com> * Route probe expectation checks through probe_expectation_fold. Addresses review 47205: dissolve the hand-match on ProbeExpectation in probe_row_observation_holds by adding ProbeExpectationFold alongside the type, mirroring probe_observation_fold in gunbc.guarantee_measurement. Co-authored-by: Cursor <cursoragent@cursor.com> * Derive guarantee probe receipt revisions from measured content. Addresses review 47213: replace all-zero/all-one placeholder CommitSha stamps with content-derived synthetic revisions — subject from compiled source or named infer fixture, harness from probe id under a stable tag. Adds discriminating witness that revisions vary with source/probe. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix parse error in subject_revision witness test. Leading-line `!=` after a newline is not a valid expression continuation in .dag; rewrite with let bindings (CI regen/heal parse failure). Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Strengthen guarantee receipt identity witnesses for review 47237. Harness revision now fingerprints scope-note content (not probe id alone), and a new witness proves alternate harness material changes the digest. Co-authored-by: Cursor <cursoragent@cursor.com> * Ground guarantee receipt revisions on MeasurementRevision coproduct. Add GitRevision | ContentFingerprint to Stage-0 schema so slice-1 witnesses mint honest ContentFingerprint identities instead of casting fnv digests to CommitSha; fix missing content_hash_combine_structural import. Co-authored-by: Cursor <cursoragent@cursor.com> * Remove stale CompileDiagnosticCensus inert-carrier roster row. gunbc.guarantee_probe_corpus now matches on CompileDiagnosticCensus in production code, so the carrier is live and the roster entry is stale. Co-authored-by: Cursor <cursoragent@cursor.com> * Keep #7555 path and class out of canonical probe registries. Slice 1 canonical guarantee_probe_paths and guarantee_probe_class_ids cover only landed controls; translate identities stay in reserved rosters until gunbc#7555 executing evidence lands. Co-authored-by: Cursor <cursoragent@cursor.com> * Ground guarantee receipt revisions on executed harness and fixtures. Fingerprint v1/v2 harness revisions from the executing spine plus registry ProbeExpectation; derive v2 subject revisions from Node content_hash; add explicit dark-suite disposition rows per gap-analysis sec 11 item 9. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Import GuaranteeProbeId in infer self-grounding wall witness. Fixes unresolved bare GuaranteeProbeId reference in infer_wall_harness_revision. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix witness parse errors from line-leading != and + The dag parser rejects continuation lines that start with != or + inside match arms; bind harness revisions and fold penalties with let instead. Co-authored-by: Cursor <cursoragent@cursor.com> * Fail closed when probe id spans active and reserved registries resolve_canonical_probe_row now resolves over the combined active+reserved population so cross-roster duplicates return ProbeRowDuplicate instead of first-pick; witnesses assert canonical uniqueness and duplicate refusal. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua * Bridge node content_hash to Fnv1a64Structural for subject revision v2.std.node.content_hash returns Hash (Primitive in v1 compile); route the node digest through structural_content_hash before tagging so compile-clean passes (guarantee_probe_corpus.dag:253 type mismatch). Co-authored-by: Cursor <cursoragent@cursor.com> * Remove speculative #7555 registry rows; widen v1 harness closure Delete reserved translate path/class/probe identities from slice 1 so #7555 lands its own authority with executing evidence (review 47312). Expand v1_compile_harness_source_paths to fingerprint the v1 compile pipeline stages compile_dag_diagnostic_census exercises, not schema only. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: ladder-probe-corpus slice 1: migrate landed wall controls onto gunbc.gua --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
gunbc#7485 landed the v2 self-grounding frontier: underived facts become counted
GroundingNotDeriveddiagnostics on the Accepted infer path. Translate still had two fail-open arms that swallowed that refusal:translate_projection_absent_coerce_from_grounding_or_evidence— oncanonical_grounding_for_nodeRejected, fell through totranslate_type_fold_initinstead of propagating the diagnostic.rust_target_modelroutes Conj/Disj roots throughtranslate_node_with_projectionwithout ever consulting grounding; grammar-row match succeeded and translation proceeded.This PR closes both gaps.
inferred_facts_for_translate(mirroring eval'sinferred_facts_for_eval) refusesGroundingNotDerivedwith typed/located^translate_rejected_grounding_not_derivedat everytranslate_nodeentry and fold-init site. Derived corpus modules are unchanged.Test plan
Local (
CTRL_BUILD_MODE=local,claim_batch):translate_underived_refusal_test.dag— 5/5 PASS^translate_rejected_grounding_not_derivedrust_add_inferred_treestill translates; emit output byte-identical torust_source_textinfer_self_grounding_wall_test.dag— 2 related witnesses PASS (no regression)Worker attestation
claim_batchon translate_underived_refusal_test.dag (5/5 PASS) and infer_self_grounding_wall_test.dag (2/2 PASS).