0056: Decision-bound content observations¶
Status: accepted for development.
Decision¶
Explicit resource fingerprints, representation fingerprints and file facts require a decision base, including first and unchanged observations. Initial facts stored with a new imported resource/representation remain part of the additive import. A fingerprint observation replaces a current value in its domain; adding a previously unseen domain is still an explicit observation.
Changed size/modification-time facts emit resource_file_facts_observed and
advance a resource file-facts conflict key. An unchanged value emits nothing.
Unchanged observations still check their conflict key at commit.
Facts remain cheap discovery filters, not identity evidence, and retain no
history. A successful facts-only edit has its own revision/receipt. Content
observation commits resource facts, fingerprints and recomputed aggregate
fingerprints together. A stale conflicting edit rolls all of them back.
Validate the base at the storage and native staging boundaries before work; early rejection leaves the edit open. Import remains available without a base. Decision keys protect mutated observations, not every membership or read fact; this does not promise full read-set serializability.
Migration and standards impact¶
Use a read session’s edit for explicit observations. CLI media fingerprint
requires a scoped --decision-base. Existing IDs and fingerprint bytes retain
their meanings. Schema 18 permits the additional journal event and preserves
the old journal, event-kind index and query indexes during migration. C ABI
47 gains additive event/conflict tags; signatures and public layouts do not
change. Use matching development projections to recognize the new tags.
Reviewed against the standards policy: this changes concurrency and journal attribution, without new fingerprint algorithms, metadata mappings or standards normalization.