e7738de6d2
CI / Deep Native Runtime Cases (1/6) (push) Has been skipped
CI / Native Preflight (push) Failing after 1s
CI / Native Runtime Cases (1/2) (push) Failing after 0s
CI / Native Runtime Cases (2/2) (push) Failing after 1s
CI / Native Metadata Reports (push) Failing after 0s
CI / Native Direct Backend Artifacts (push) Failing after 0s
CI / Native Sanitizer Smoke (push) Failing after 1s
CI / Command Contract Snapshots (push) Failing after 1s
CI / Deep Conformance Suite (push) Has been skipped
CI / Graph Build Perf (push) Failing after 1s
CI / Deep Native Preflight (push) Has been skipped
CI / Deep Native Runtime Cases (2/6) (push) Has been skipped
CI / Deep Native Runtime Cases (3/6) (push) Has been skipped
CI / Conformance Suite (push) Failing after 1s
CI / Workspace Checks (push) Failing after 0s
CI / Deep Native Runtime Cases (5/6) (push) Has been skipped
CI / Deep Native Runtime Cases (6/6) (push) Has been skipped
CI / Deep Native Runtime Cases (4/6) (push) Has been skipped
CI / Deep Graph Build Perf (push) Has been skipped
394 lines
11 KiB
JSON
394 lines
11 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"kind": "zero-provenance-surface-matrix",
|
|
"surfaces": [
|
|
{
|
|
"surface": "Identifier reads",
|
|
"action": "Preserve stored provenance or synthesize direct ref provenance",
|
|
"owners": [
|
|
"expr_value_provenance",
|
|
"expr_reference_provenance",
|
|
"type_value_provenance_from_place"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Field reads",
|
|
"action": "Project provenance through value_path and root storage paths",
|
|
"owners": [
|
|
"expr_reference_provenance",
|
|
"place_storage_value_provenance_under_path"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Index reads",
|
|
"action": "Project indexed provenance and widen uncertain array paths to [*]",
|
|
"owners": [
|
|
"expr_reference_provenance",
|
|
"origin_path_join",
|
|
"origin_path_overlaps"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Direct borrows",
|
|
"action": "Create provenance for the borrowed place and check lexical conflicts",
|
|
"owners": [
|
|
"expr_value_provenance",
|
|
"check_borrow_conflict_at"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Mutable borrows",
|
|
"action": "Create mutable provenance and reject overlapping mutable/shared borrows",
|
|
"owners": [
|
|
"expr_value_provenance",
|
|
"check_borrow_conflict_at",
|
|
"check_read_not_mutably_borrowed"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Shape literals",
|
|
"action": "Preserve field provenance under field paths",
|
|
"owners": [
|
|
"expr_reference_provenance",
|
|
"value_provenance_add_all_with_prefix"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Array literals",
|
|
"action": "Preserve literal element provenance under precise paths and widen unknown paths to [*]",
|
|
"owners": [
|
|
"expr_reference_provenance",
|
|
"value_provenance_add_all_with_prefix"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Maybe<T> values",
|
|
"action": "Preserve nested provenance under .value",
|
|
"owners": [
|
|
"type_value_provenance_from_place",
|
|
"maybe_unwrapped_value_provenance"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Choice payloads",
|
|
"action": "Preserve constructor payload provenance under case paths and bind match payload provenance from the matched case",
|
|
"owners": [
|
|
"type_value_provenance_from_place",
|
|
"choice_constructor_value_provenance",
|
|
"register_match_payload_binding_provenance"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/choice-payload-reference-return.0",
|
|
"conformance/native/pass/choice-match-payload-reference-origin.0",
|
|
"conformance/native/pass/choice-match-payload-return-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "check unwraps",
|
|
"action": "Project successful value provenance and apply checked-call storage effects",
|
|
"owners": [
|
|
"expr_reference_provenance",
|
|
"apply_expr_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "rescue values",
|
|
"action": "Merge fallible value and fallback provenance conservatively",
|
|
"owners": [
|
|
"expr_reference_provenance",
|
|
"provenance_scope_snapshot_restore_optional_branch",
|
|
"apply_expr_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Primitive casts",
|
|
"action": "Reject non-primitive casts before references can pass through",
|
|
"owners": [
|
|
"check_expr_expected",
|
|
"expr_reference_provenance"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Plain calls",
|
|
"action": "Resolve through the shared call resolver, instantiate return provenance, and replay storage effects",
|
|
"owners": [
|
|
"resolve_provenance_call",
|
|
"resolve_named_provenance_call",
|
|
"call_result_value_provenance",
|
|
"apply_checked_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/function-mutref-reference-store.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Generic calls",
|
|
"action": "Resolve generic bindings once and use the same summary pipeline",
|
|
"owners": [
|
|
"resolve_provenance_call",
|
|
"resolve_named_provenance_call",
|
|
"call_result_value_provenance",
|
|
"function_provenance_summary"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/generic-mutref-reference-store.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Shape namespace calls",
|
|
"action": "Resolve static shape methods through the shared call resolver",
|
|
"owners": [
|
|
"resolve_provenance_call",
|
|
"finish_shape_method_provenance_call",
|
|
"build_shape_method_bindings",
|
|
"apply_checked_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/static-method-namespace.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Receiver calls",
|
|
"action": "Treat self as parameter zero and replay receiver storage effects",
|
|
"owners": [
|
|
"resolve_provenance_call",
|
|
"resolve_receiver_shape_provenance_call",
|
|
"collect_effect_target_places",
|
|
"apply_checked_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/receiver-method-reference-store.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Static interface calls",
|
|
"action": "Resolve constrained interface calls and concrete shape instantiations through the same summary/effect path",
|
|
"owners": [
|
|
"resolve_provenance_call",
|
|
"resolve_concrete_constrained_shape_provenance_call",
|
|
"resolve_constrained_interface_provenance_call",
|
|
"finish_shape_method_provenance_call",
|
|
"build_constrained_interface_method_bindings",
|
|
"apply_checked_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/static-interface-return-reference-origin.0",
|
|
"conformance/native/pass/static-interface-mutref-reference-store.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Incomplete summaries",
|
|
"action": "Reject incomplete mutable-parameter summaries instead of assuming no effects",
|
|
"owners": [
|
|
"function_provenance_summary",
|
|
"apply_provenance_call_storage_effects"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Let bindings",
|
|
"action": "Install initializer provenance on the binding",
|
|
"owners": [
|
|
"register_borrow_binding",
|
|
"scope_set_value_provenance"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/borrow-shadowed-root-reassignment.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Assignments",
|
|
"action": "Clear and install provenance at canonical target places",
|
|
"owners": [
|
|
"assignment_provenance_snapshot_clear",
|
|
"update_borrow_assignment",
|
|
"collect_assignment_target_places"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/assignment-rhs-side-effect-clears-old-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Field assignments",
|
|
"action": "Preserve sibling provenance and update only the overwritten field path",
|
|
"owners": [
|
|
"collect_assignment_target_places",
|
|
"update_borrow_assignment",
|
|
"scope_set_value_provenance_path_in_scope"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/shape-field-reference-reassignment-clears-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Index assignments",
|
|
"action": "Update indexed storage using precise or widened paths",
|
|
"owners": [
|
|
"collect_assignment_target_places",
|
|
"update_borrow_assignment",
|
|
"origin_path_overlaps",
|
|
"origin_path_is_definitely_within"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/index-reference-assignment-clears-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Returns",
|
|
"action": "Reject local-origin escapes and summarize return provenance for callers",
|
|
"owners": [
|
|
"check_return_reference_escape",
|
|
"collect_return_value_provenance_from_stmt_vec",
|
|
"function_provenance_summary"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "If joins",
|
|
"action": "Merge provenance from continuing branches",
|
|
"owners": [
|
|
"provenance_scope_snapshot_restore_union",
|
|
"collect_return_value_provenance_from_stmt_vec"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/branch-overwrite-away-reference-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Match joins",
|
|
"action": "Merge provenance from continuing match arms",
|
|
"owners": [
|
|
"provenance_scope_snapshot_restore_union",
|
|
"collect_return_value_provenance_from_stmt_vec"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/borrow-unreachable-match-return-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Loop-carried values",
|
|
"action": "Merge before-loop and after-body provenance conservatively",
|
|
"owners": [
|
|
"provenance_scope_snapshot_restore_union",
|
|
"collect_return_value_provenance_from_stmt_vec"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Short-circuit expressions",
|
|
"action": "Merge skipped and evaluated RHS storage effects conservatively",
|
|
"owners": [
|
|
"apply_expr_call_storage_effects",
|
|
"provenance_scope_snapshot_restore_optional_branch"
|
|
],
|
|
"fixtures": {
|
|
"fail": []
|
|
}
|
|
},
|
|
{
|
|
"surface": "Early returns",
|
|
"action": "Exclude unreachable post-return provenance from branch joins",
|
|
"owners": [
|
|
"collect_return_value_provenance_from_stmt_vec",
|
|
"stmt_vec_guarantees_exit"
|
|
],
|
|
"fixtures": {
|
|
"pass": [
|
|
"conformance/native/pass/borrow-unreachable-return-origin.0",
|
|
"conformance/native/pass/borrow-unreachable-if-return-origin.0"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"surface": "Mutref aliases",
|
|
"action": "Resolve alias targets to canonical storage before clearing or replaying effects",
|
|
"owners": [
|
|
"collect_effect_target_places",
|
|
"collect_assignment_target_places",
|
|
"actual_storage_value_provenance_under_path"
|
|
],
|
|
"fixtures": {
|
|
"fail": [],
|
|
"pass": [
|
|
"conformance/native/pass/mutref-alias-assignment-same-origin.0"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|