crates.sage_ir.metadata.explicit_incompleteness

Missing metadata remains explicit incompleteness. A missing, unsupported, or conservatively incomplete external fact is never replaced by an inferred default, a successful interface, or exhaustive logical failure. This is the metadata consequence of Incompleteness is an explicit terminal outcome.

Read in specification context · design/crates/sage_ir/metadata.sage

Implementation

Implemented crates/sage-ir/src/tcx/mod.rs:267–272

sage_ir::tcx · lib:sage_ir

#![allow(unused)]
fn main() {
// {anchor}`crates.sage_ir.metadata.explicit_incompleteness`
// {anchor}`crates.sage_ir.metadata.product_boundaries`
// {anchor}`crates.sage_ir.symbols.external_fact_queries`
pub trait TcxDb: Send + Sync {
    fn extern_crate(&self, name: &str) -> Option<CrateNum>;


}

See more source ↗

Tests and review

Indexed tests and the implementation-completeness and test-adequacy review; no test run is implied.

TODO sage_meta::todo::metadata_explicit_incompleteness

crates/sage-meta/tests/semantic_spec.rs · test:semantic_spec

#![allow(unused)]
fn main() {
#[test]
    #[sage::test(crates.sage_ir.metadata.explicit_incompleteness)]
    fn metadata_explicit_incompleteness() {
        // TODO: Complete the claim-specific verification matrix:
        // Fixture providers return missing, unsupported, and incomplete values at every semantic
        // boundary; callers preserve the distinction in diagnostics and completeness, and solver tests
        // prove none of those values can produce a false `Yes` or `No`.
    }
}

See more source ↗

Review: Accepted · Codex /root/final_quality.

Reviewed the complete explicit_incompleteness claim, its ordinary TcxDb implementation association and the sole TODO test. The requirement covers missing, unsupported and conservatively incomplete external facts: these must not be replaced by guessed facts, successful interfaces or exhaustive negative conclusions. Captured metadata design and the linked architectural-foundations terminal-incompleteness rationale.

TcxDb inspection: semantic signature/value/candidate operations return Option, with default implementations returning None. RawTraitSignature/RawImplSignature/RawAssociatedTypeValue and item/candidate inventories carry completeness; function and ADT signatures distinguish ordinary completeness from const/deferred completeness. RawGenericDefault distinguishes Absent from Unsupported, preventing an unavailable default from masquerading as a required omitted argument. adt_is_always_sized returns Option<bool> and documents that false is not necessarily proof of unsizedness. These are explicit transport representations, not by themselves proof that all consumers preserve the statuses.

Captured consumer assessment: external_syms propagates missing signatures/values through Option, incomplete associated item enumeration as None, and missing impl/inherent candidate sources as complete=false rather than a complete empty list. Wrong candidate kinds reduce completeness. Trait/function/impl lowering preserves incomplete predicate/type information through solver eligibility or None. Partial function fallback types are accompanied by Unsupported eligibility and are not assessed as complete interfaces. apply_external_adt_signature rejects absent/incomplete declaration metadata and unsupported required defaults as MetadataUnavailable; supplied explicit arguments can legitimately avoid needing a declaration default. The captured cst type consumer emits an unavailable-metadata diagnostic and Ty::Error for this failure. Ordinary versus const/deferred flags remain distinct: a complete ordinary operation does not imply that deferred const semantics are supported.

Captured clauses::assemble_candidates treats absent/ineligible trait signatures, incomplete source inventories, unavailable impl signatures and ineligible headers as incomplete search. Captured method selection sets unknown for missing or ineligible trait facts and selects a unique candidate only when unknown is false; incomplete inherent discovery emits an explicit diagnostic instead of falling through as an exhaustive miss. Captured candidate merging gates exhaustive No and ordinary unique-answer selection on complete discovery and passes an unconstrained possible branch to hint merging when discovery is incomplete. An independently established unconditional Proven answer can still win: this is an existing proof, not success fabricated from missing metadata. A Type output does not receive that exception. The captured hint merger represents incomplete possibilities conservatively rather than narrowing to only known candidates.

Test adequacy is explicitly deferred: todo::metadata_explicit_incompleteness contains no assertions and asks for provider fixtures returning missing, unsupported and incomplete values at every semantic boundary, caller diagnostics/completeness checks, and solver evidence excluding false Yes/No. This is the needed all-boundary matrix; source inspection of the representative status propagation above does not replace it. Completing that matrix requires controllable provider facts and source-driven calls through each consumer, with both incomplete-empty and incomplete-nonempty discovery, unsupported defaults/types/predicates, ordinary/deferred distinctions, and legitimate independent proof cases. Auxiliary naming/module APIs have different non-Option return shapes; this report does not infer exhaustive absence/error guarantees for them merely from the semantic Option APIs. Their missing-provider behavior belongs in the stated full-boundary verification work. No ordinary test or runtime coverage is claimed for the current associated test set.

Commands executed: fresh review start with coordinator instructions, exact claim/test/source inspection, review read captures for metadata design/RFD, external lowering, type diagnostic consumer, candidate assembly, method selection and result/hint merging. A read attempted for a nonexistent hints.rs failed; the actual anti_unify.rs helper was subsequently captured. No tests or build executed by this reviewer; central suites remain separate evidence. No source edits or new reproduced behavioral defect. No requested edits; the broad provider/consumer verification TODO remains explicitly deferred.

Browse crates anchors

139 anchors

Specification anchors and declared coverage
AnchorImplementationTests
crates (139)114 Implemented37 TODO2 N/A74 Implemented107 TODO
crates.sage_inspector (15)13 Implemented1 TODO2 N/A3 Implemented15 TODO
crates.sage_inspector.inspection (15)13 Implemented1 TODO2 N/A3 Implemented15 TODO
balanced_tracesImplementedTODO
canonical_ownershipImplementedImplementedTODO
derive_reflectionImplementedImplementedTODO
detail_free_indexImplementedTODO
deterministic_traceImplementedTODO
durable_navigationN/ATODO
generic_browserN/ATODO
owned_reflectionImplementedImplementedTODO
product_availabilityImplementedTODO
revision_and_demandImplementedTODO
semantic_phase_boundaryImplementedTODO
source_evidenceImplementedTODO
typed_serviceImplementedTODO
unknown_workImplementedTODOTODO
workspace_actorImplementedTODO
crates.sage_ir (90)67 Implemented34 TODO40 Implemented88 TODO
crates.sage_ir.checking (12)12 Implemented3 TODO5 Implemented12 TODO
crates.sage_ir.checking.body (5)5 Implemented2 TODO3 Implemented5 TODO
elaborationImplementedImplementedTODO
expected_typesImplementedTODOTODO
interface_dependenciesImplementedImplementedTODO
isolated_completionImplementedImplementedTODO
operator_callsImplementedTODOTODO
identity_mintingImplementedTODO
owned_productsImplementedImplementedTODO
crates.sage_ir.checking.signature (4)4 Implemented1 TODO1 Implemented4 TODO
body_independenceImplementedTODO
narrow_detailImplementedTODOTODO
owner_binderImplementedImplementedTODO
storageImplementedTODO
symbol_keyed_interfacesImplementedTODO
crates.sage_ir.crate (9)9 TODO9 TODO
explicit_restrictionsTODOTODO
identity_before_detailTODOTODO
incremental_evidenceTODOTODO
narrow_demandsTODOTODO
reexecution_and_invalidationTODOTODO
represented_completenessTODOTODO
restrictions_and_gapsTODOTODO
semantic_query_boundariesTODOTODO
terminal_incompletenessTODOTODO
crates.sage_ir.inference (8)8 Implemented6 Implemented8 TODO
atomic_checkingImplementedImplementedTODO
body_local_quiescenceImplementedImplementedTODO
canonical_boundaryImplementedImplementedTODO
completed_body_boundaryImplementedTODO
numeric_domainsImplementedImplementedTODO
subtyping_and_coercionImplementedImplementedTODO
terminal_obligationsImplementedTODO
transaction_isolationImplementedImplementedTODO
crates.sage_ir.metadata (4)4 Implemented1 TODO4 TODO
explicit_incompletenessImplementedTODO
keyed_reuseImplementedTODOTODO
product_boundariesImplementedTODO
provider_authorityImplementedTODO
crates.sage_ir.modules (8)7 Implemented1 TODO4 Implemented8 TODO
crates.sage_ir.modules.expand (4)4 Implemented2 Implemented4 TODO
completenessImplementedImplementedTODO
dependenciesImplementedTODO
direct_membersImplementedTODO
recursion_and_fixpointImplementedImplementedTODO
crates.sage_ir.modules.parse (4)3 Implemented1 TODO2 Implemented4 TODO
dependenciesImplementedTODO
detail_firewallImplementedImplementedTODO
recovery_completenessTODOTODO
syntax_identitiesImplementedImplementedTODO
crates.sage_ir.resolution (5)5 Implemented1 TODO3 Implemented4 TODO
crates.sage_ir.resolution.lookup (5)5 Implemented1 TODO3 Implemented4 TODO
completenessImplementedTODOImplementedTODO
dependenciesImplementedTODO
expansion_import_ambiguityImplementedImplemented
identity_onlyImplementedTODO
precedenceImplementedImplementedTODO
crates.sage_ir.solver (9)7 Implemented7 TODO5 Implemented9 TODO
alternative_isolationImplementedTODOImplementedTODO
bounded_completenessImplementedTODOTODO
candidate_completenessImplementedTODO
canonical_cyclesTODOTODO
canonical_outputsImplementedImplementedTODO
local_index_firewallTODOTODO
normalization_demandImplementedTODOImplementedTODO
schedule_independenceImplementedTODOImplementedTODO
shared_final_resultImplementedTODOImplementedTODO
crates.sage_ir.symbols (8)8 Implemented4 Implemented7 TODO
associated_identityImplementedImplemented
associated_interfacesImplementedTODO
body_interfacesImplementedImplementedTODO
definition_identityImplementedTODO
external_fact_queriesImplementedTODO
external_identityImplementedTODO
kind_wrappersImplementedImplementedTODO
local_identityImplementedImplementedTODO
crates.sage_ir.types (27)16 Implemented12 TODO13 Implemented27 TODO
crates.sage_ir.types.aliases (2)1 Implemented1 TODO1 Implemented2 TODO
identityImplementedImplementedTODO
revelationTODOTODO
crates.sage_ir.types.binder (1)1 Implemented1 TODO1 Implemented1 TODO
owner_parametersImplementedTODOImplementedTODO
crates.sage_ir.types.body (13)4 Implemented9 TODO3 Implemented13 TODO
awaitTODOTODO
closuresTODOTODO
conditional_patternsTODOTODO
coroutinesTODOTODO
diagnosed_recoveryImplementedImplementedTODO
elaboratedTODOImplementedTODO
for_iterationTODOTODO
indexingTODOTODO
macro_expansionTODOTODO
no_inferenceImplementedImplementedTODO
resolved_referencesImplementedTODO
try_residualTODOTODO
typed_provenanceImplementedTODO
crates.sage_ir.types.calls (2)1 Implemented1 TODO1 Implemented2 TODO
dispatch_familiesTODOTODO
selected_semanticsImplementedImplementedTODO
crates.sage_ir.types.lifetimes (2)2 Implemented2 Implemented2 TODO
dummyImplementedImplementedTODO
unchecked_borrowsImplementedImplementedTODO
crates.sage_ir.types.operators (2)2 Implemented1 Implemented2 TODO
lazy_control_flowImplementedTODO
trait_callsImplementedImplementedTODO
scoped_identitiesImplementedTODO
crates.sage_ir.types.spans (4)4 Implemented4 Implemented4 TODO
generated_identityImplementedImplementedTODO
item_originImplementedImplementedTODO
offset_reuseImplementedImplementedTODO
relative_compositionImplementedImplementedTODO
crates.sage_oracle_harness (4)4 Implemented2 TODO1 Implemented4 TODO
crates.sage_oracle_harness.crate (4)4 Implemented2 TODO1 Implemented4 TODO
deterministic_emissionImplementedTODO
exact_comparisonImplementedTODOImplementedTODO
fixed_projectionImplementedTODO
independent_coverageImplementedTODOTODO
crates.sage_stash (5)5 Implemented5 Implemented
crates.sage_stash.storage (5)5 Implemented5 Implemented
handle_ownershipImplementedImplemented
immutable_entriesImplementedImplemented
query_valueImplementedImplemented
rooted_equalityImplementedImplemented
typed_interningImplementedImplemented
crates.sage_test_harness (25)25 Implemented25 Implemented
crates.sage_test_harness.compile_tests (25)25 Implemented25 Implemented
annotation_validationImplementedImplemented
blessing_gateImplementedImplemented
callsite_updatesImplementedImplemented
checking_scopeImplementedImplemented
compiler_conditionsImplementedImplemented
completed_typesImplementedImplemented
coordinatesImplementedImplemented
dependenciesImplementedImplemented
diagnostic_countsImplementedImplemented
diagnostic_locationsImplementedImplemented
editionImplementedImplemented
fixturesImplementedImplemented
grouped_observationsImplementedImplemented
invocationImplementedImplemented
production_executionImplementedImplemented
project_isolationImplementedImplemented
query_captureImplementedImplemented
query_projectionImplementedImplemented
renderingImplementedImplemented
resolved_symbolsImplementedImplemented
review_visibilityImplementedImplemented
rustc_executionImplementedImplemented
rustc_lintsImplementedImplemented
starting_expressionsImplementedImplemented
target_lineImplementedImplemented