0077: Canonical known-media lookup inputs¶
Status: accepted for development 0.9.
Decision¶
Python uses find_known_media(source, *, limit, cursor=None) on productions
and retained views. C++ uses findKnownMedia(source, limit, cursor) overloads.
Sources are ordinary file paths, exact locator identities or resource
fingerprints. Remove the separate public locator/fingerprint method names.
Strings are paths; URI inputs require LocatorIdentity. Paths use the native
canonicalization already used by import, including existence and symlink
checks, without hashing media bytes. Explicit locators need not exist locally.
Sequence lookup still requires the exact naming descriptor; a bare directory
path does not silently acquire sequence meaning. Python conversion uses the
reader’s loaded library rather than constructing another loader.
Keep native C and Rust’s typed evidence queries as the lower-level operations. The CLI already accepts a file path for locator lookup. These surfaces do not need a second query owner, runtime input hierarchy or changed ABI signature.
Preserved behavior and impact¶
Lookup is read-only. Results retain asset, representation and resource IDs. No-match, multiple candidates, continuation and cursor scope remain visible. Content equality never authorizes adoption or identity merging. Values are copied; retained-view lookup uses the original coherent knowledge and rejects use after close. Invalid inputs leave storage unchanged.
Migrate Blender adoption and current SDK recipes/tests to the single method. Historical evidence retains its recorded syntax. Package versions, ABI 53, schema 27, CLI JSON 1 and protocol 1 remain unchanged by this projection change.
Standards-policy review: no identifier normalization, vocabulary mapping or standards cardinality is introduced; canonical paths retain existing meaning.