Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
923cee7
WIP: Namespace occurrence debt receipts
Aug 1, 2026
7f9c2d9
WIP: Namespace occurrence debt receipts
Aug 1, 2026
d980ba0
Restore generated occurrence allocator
Aug 1, 2026
8584b82
Merge remote-tracking branch 'origin/main' into session/zesty-crab-882
Aug 1, 2026
c1c398a
Enroll occurrence debt receipts in Cargo CI
Aug 1, 2026
df9143d
Track parser receipt CI enrollment debt
Aug 1, 2026
fcfa6d9
WIP: Namespace occurrence debt receipts
Aug 1, 2026
47f6389
Track split rebuild receipt enrollment
Aug 1, 2026
bf28c85
WIP: Namespace occurrence debt receipts
Aug 1, 2026
c13c26d
Keep parser receipts outside compile-clean roots
Aug 1, 2026
9b3710c
Prepare governed parser receipt enrollment
Aug 1, 2026
9d608d3
Merge remote-tracking branch 'origin/main' into session/zesty-crab-882
Aug 1, 2026
4965c95
Keep occurrence debts live until roster enrollment
Aug 1, 2026
d9ebb77
Import receipt newline index in generated projection
Aug 1, 2026
bb48562
WIP: Namespace occurrence debt receipts
Aug 1, 2026
334061c
WIP: Namespace occurrence debt receipts
Aug 1, 2026
71e4667
Derive occurrence acceptance closure from receipts
Aug 1, 2026
456e5db
Bind occurrence closure to its law authority
Aug 1, 2026
dd214e0
Clarify occurrence denominator tripwire
Aug 1, 2026
3c06a65
Merge remote-tracking branch 'origin/main' into session/zesty-crab-882
Aug 2, 2026
3f451d0
WIP: Namespace occurrence debt receipts
Aug 2, 2026
8a117e7
Complete occurrence acceptance workflow relocation
Aug 2, 2026
cd93825
WIP: debt receipts
Aug 2, 2026
7f249dd
Register std.occurrence_binding{,_resolve} seed modules; regen
Aug 2, 2026
aa0941e
Merge origin/main into PR 7559 branch; resolve stage0 enrollment conf…
Aug 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
303 changes: 303 additions & 0 deletions dag/gunbc/occurrence_identity_acceptance_closure.dag

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion dag/gunbc/stage0_emit_model.dag
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ fn generated_stage0_file_count() -> Int {
fn is_generated_stage0_file(basename: String) -> Bool {
list_contains_string(xs: generated_stage0_files, needle: basename)
}

2 changes: 2 additions & 0 deletions dag/gunbc/stage0_emit_plan_generated.dag
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ data generated_stage0_files: List<String> = [
"v1_test_non_ascii_perf_fixture.rs",
"v1_tests_claim_caret_parse_smoke_test.rs",
"v1_tests_claim_occurrence_binding_parser_walk_witness_test.rs",
"v1_tests_claim_occurrence_identity_debt_receipt_test.rs",
"v1_tests_claim_pattern_binder_declaration_node_test.rs",
"v1_tests_claim_required_expr_newline_continuation_test.rs",
"wt_a.rs",
Expand Down Expand Up @@ -239,6 +240,7 @@ data generated_stage0_paths: List<String> = [
"src/v1/stage0/src/v1_test_non_ascii_perf_fixture.rs",
"src/v1/stage0/src/v1_tests_claim_caret_parse_smoke_test.rs",
"src/v1/stage0/src/v1_tests_claim_occurrence_binding_parser_walk_witness_test.rs",
"src/v1/stage0/src/v1_tests_claim_occurrence_identity_debt_receipt_test.rs",
"src/v1/stage0/src/v1_tests_claim_pattern_binder_declaration_node_test.rs",
"src/v1/stage0/src/v1_tests_claim_required_expr_newline_continuation_test.rs",
"src/v1/stage0/src/wt_a.rs",
Expand Down
78 changes: 34 additions & 44 deletions dag/std/occurrence_identity.dag
Original file line number Diff line number Diff line change
Expand Up @@ -127,52 +127,42 @@ type OccurrenceTransport {
references: List<ReferenceOccurrence>
}

type OccurrenceIdentityConsumerRedDebt {
type OccurrenceIdentityAcceptanceLaw {
id: String
required_receipt: String
owner: String
dissolve_on: String
}

data occurrence_identity_consumer_red_debt_rehome_note: String = "THE SIX ROWS BELOW ALL NAMED namespace-canonical-binding AS OWNER, which was correct while that node was the single broad namespace node and is wrong now that the recut split it (operator ruling, 2026-08-01). A roadmap split leaves every row that pointed at the old node pointing at the wrong boundary, and a debt row whose owner cannot accept it is untracked in the way that matters: nobody discovering the node can tell whether the row is theirs.\n\nCLASSIFIED BY ACTUAL BOUNDARY, not by which node the row prose happens to mention. Five are parser or collector identity facts: rebuilt-reference identity preservation, one-occurrence collector dedupe, structurally-equal distinct occurrences, pattern-declaration reachability, and same-spelling parser declaration isolation. Each is decidable at the structural producer that builds candidate populations, so each is owned by namespace-reference-derived-closure. Note that one-occurrence-collector-dedupe is the SAME obligation the operator assigned to P2 candidate construction, collapsing repeated discovery of one identical full identity before the cardinality fold is called; it was already written here and simply pointed at the wrong node.\n\nONE ROW STAYS. inferred-target-anchor-identity requires an inferred target projection to stay anchored to the exact authored occurrence rather than a rebuilt shell Node, spelling, or SourceSpan. That is a property of the production projection path, not of building the candidate population, so it stays with namespace-canonical-binding, the production changeover. It is the row most likely to be re-argued, so the reasoning is written here rather than left implicit: the question that decides it is whether the receipt can execute before the production sites are switched over. For the other five it can; for this one it cannot.\n\nNo row was deleted, weakened, or given a new dissolution trigger by this rehome. Each dissolve_on still names the RED that retires it, and each still deletes in the PR that lands its receipt."

data occurrence_identity_consumer_red_debts: List<OccurrenceIdentityConsumerRedDebt> = [
OccurrenceIdentityConsumerRedDebt {
id: "rebuilt-reference-identity-preservation",
required_receipt: "A production reference rebuild preserves the exact sidecar occurrence identity and containment path; dropping or reminting the occurrence must make the consumer RED.",
owner: "namespace-reference-derived-closure",
dissolve_on: "DISSOLVE-ON: the rebuilt-reference production RED executes through the sidecar-consuming canonical binding boundary; delete this row in the same PR.",
},
OccurrenceIdentityConsumerRedDebt {
id: "one-occurrence-collector-dedupe",
required_receipt: "Two observations of one authored occurrence enter the collector once by exact occurrence identity, never by spelling, SourceSpan, or Node structure.",
owner: "namespace-reference-derived-closure",
dissolve_on: "DISSOLVE-ON: the occurrence-safe collector dedupe RED executes against the sidecar consumer; delete this row in the same PR.",
},
OccurrenceIdentityConsumerRedDebt {
id: "structurally-equal-distinct-occurrences",
required_receipt: "Structurally equal and equally spelled authored occurrences with distinct IDs remain two collector entries.",
owner: "namespace-reference-derived-closure",
dissolve_on: "DISSOLVE-ON: the distinct-authored-occurrences collector RED executes against the sidecar consumer; delete this row in the same PR.",
},
OccurrenceIdentityConsumerRedDebt {
id: "pattern-declaration-reachability",
required_receipt: "Authoritative collection reaches every parser-minted pattern declaration occurrence, including nested pattern binders.",
owner: "namespace-reference-derived-closure",
dissolve_on: "DISSOLVE-ON: the pattern-declaration reachability RED executes through the production occurrence collector; delete this row in the same PR.",
},
OccurrenceIdentityConsumerRedDebt {
id: "inferred-target-anchor-identity",
required_receipt: "An inferred target projection remains anchored to the exact authored occurrence instead of a rebuilt shell Node, spelling, or SourceSpan.",
owner: "namespace-canonical-binding",
dissolve_on: "DISSOLVE-ON: the inferred-target anchor RED executes through the production sidecar consumer; delete this row in the same PR.",
},
OccurrenceIdentityConsumerRedDebt {
id: "same-spelling-parser-declaration-isolation",
required_receipt: "Same-spelling declarations and references in sibling match arms, nested lets, lambdas, and parameters retain distinct authored identities and containment paths without overwrite.",
owner: "namespace-reference-derived-closure",
dissolve_on: "DISSOLVE-ON: the full same-spelling parser-to-binding RED matrix executes at the canonical binding boundary; delete this row in the same PR.",
},
}

data occurrence_identity_acceptance_law_rebuilt_reference: OccurrenceIdentityAcceptanceLaw = OccurrenceIdentityAcceptanceLaw {
id: "rebuilt-reference-identity-preservation",
required_receipt: "A production reference rebuild preserves the exact sidecar occurrence identity and containment path; dropping or reminting the occurrence must make the consumer RED.",
}

data occurrence_identity_acceptance_law_collector_dedupe: OccurrenceIdentityAcceptanceLaw = OccurrenceIdentityAcceptanceLaw {
id: "one-occurrence-collector-dedupe",
required_receipt: "Two observations of one authored occurrence enter the collector once by exact occurrence identity, never by spelling, SourceSpan, or Node structure.",
}

data occurrence_identity_acceptance_law_distinct_occurrences: OccurrenceIdentityAcceptanceLaw = OccurrenceIdentityAcceptanceLaw {
id: "structurally-equal-distinct-occurrences",
required_receipt: "Structurally equal and equally spelled authored occurrences with distinct IDs remain two collector entries.",
}

data occurrence_identity_acceptance_law_pattern_reachability: OccurrenceIdentityAcceptanceLaw = OccurrenceIdentityAcceptanceLaw {
id: "pattern-declaration-reachability",
required_receipt: "Authoritative collection reaches every parser-minted pattern declaration occurrence, including nested pattern binders.",
}

data occurrence_identity_acceptance_law_parser_isolation: OccurrenceIdentityAcceptanceLaw = OccurrenceIdentityAcceptanceLaw {
id: "same-spelling-parser-declaration-isolation",
required_receipt: "Same-spelling declarations and references in sibling match arms, nested lets, lambdas, and parameters retain distinct authored identities and containment paths without overwrite.",
}

data occurrence_identity_acceptance_laws: List<OccurrenceIdentityAcceptanceLaw> = [
occurrence_identity_acceptance_law_rebuilt_reference,
occurrence_identity_acceptance_law_collector_dedupe,
occurrence_identity_acceptance_law_distinct_occurrences,
occurrence_identity_acceptance_law_pattern_reachability,
occurrence_identity_acceptance_law_parser_isolation,
]

type OccurrenceTransportRefusal
Expand Down
Loading
Loading