The snapshot and manifest schemas, both example dataspaces, and the shared text renderer now pass the fixture validator and the negative contract tests. JSON, NDJSON, and Markdown frontmatter publish a snapshot only when rights, identity, and references allow it. CONTENT-WP-0001 and CONTENT-WP-0003 are marked finished against those artifacts. CONTENT-WP-0000-T04 stays open. SCOPE.md and the 19:05 scope-against-intent note record the stop. Assistant: grok Assistant-Session: 01a130f1-abfb-7d71-9cd6-a8b75ec7f95a
19 lines
1.1 KiB
Markdown
19 lines
1.1 KiB
Markdown
# Fact policy v0.1
|
|
|
|
A claim is a statement about one entity field. It is not a proof. The snapshot keeps every claim. The manifest `factPolicy` only decides what a display may show.
|
|
|
|
| Situation | Claim shape | `resolve_claims` state |
|
|
|---|---|---|
|
|
| No claim for that key | absent | `missing` |
|
|
| The field was checked and has no value | `status: unknown` | `unknown` |
|
|
| One asserted value | `status: asserted` | `present` |
|
|
| The holder asked not to display it | `status: withheld` | `withheld` |
|
|
| Two asserted values | both `status: asserted` | `contradicted` |
|
|
|
|
Policies when values disagree:
|
|
|
|
- `show-all` returns every asserted value and state `contradicted`.
|
|
- `withhold` returns no values and state `contradicted`.
|
|
- `preferred` returns the single claim with `preferred: true`. If none or more than one is marked, it returns no values and state `contradicted`.
|
|
|
|
Absence is not the same as unknown, and unknown is not the same as false. A relation with no `sourceRefs` is invalid. It is not stored as an unsourced fact. Conflicting claims stay in the snapshot either way. The policy does not delete them.
|