Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions notations/CONTRACT.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ For `admission_state: proposed`, the §6 requirement on `admitted_at` / `admitte
| `ADMIT-006` | error | `reviewer_authority` is present and not one of `ai_reviewed` / `expert_confirmed` (§6.2). |
| `ADMIT-007` | error | The admitter does not match the tier: `reviewer_authority: ai_reviewed` but `admitted_by` identifies a human, or `reviewer_authority: expert_confirmed` but `admitted_by` identifies a tool. A tool writes `ai_reviewed`; a human writes `expert_confirmed` (§6.2). |
| `ADMIT-008` | warning | `admission_state: proposed` and `owner_to_confirm` is absent — the open item has no designated reviewer and will not route to any inbox. |
| `ADMIT-009` | warning | An admitted artefact (`admission_state: active` or absent) in the `canon` zone carries `extraction_confidence` — a review flag that belongs to an ingest candidate and is never persisted into canon (§11.1). Cite the provenance through `derived_from` and the field artefact it came from instead. Does not apply to `canon/unresolved/` (§13, untyped) or to candidates under `_intake/`, where the flag is correct. |

This lifecycle is what an automated regulatory-intelligence collector (a separate task) depends on: the collector emits `proposed` drafts plus a review digest, and the human gate admits or rejects. The per-TYPE specs note it where relevant ([15-requirement.md](elements/15-requirement.md), [16-assertion.md](elements/16-assertion.md)).

Expand Down Expand Up @@ -646,6 +647,8 @@ Confidence is **metadata about certainty, not a contradiction flag.** A low-conf

The two are deliberately separate. Collapsing them into one decaying number would erase the authored signal. A statement's overall confidence combines them (§11.4).

**A third signal exists upstream and never reaches canon — `extraction_confidence`.** It answers a different question from either of the two above: *did the extractor read the source document correctly*. It is a review flag on an ingest **candidate** (`candidate.extraction_confidence`, [vocabulary.yaml](vocabulary.yaml)), surfaced in the review queue and used to route reviewer authority (§6.2). It is **never persisted into canon**, is never folded into `source_quality`, and never enters the §11.4 formula: once a candidate is admitted, the candidate is gone, and how confidently a now-superseded extraction was read is not a property of the element. An admitted element carrying it misrepresents a one-time routing signal as a permanent, citable attribute — the provenance an admitted element does carry is `derived_from` plus the cited field artefact (an `OBSERVATION` or other source record, [IDS_AND_REFERENCES.md](IDS_AND_REFERENCES.md) §3.4). Enforced by `ADMIT-009` (§6.1); stated per TYPE in [ELEMENT_PRIMITIVES.md](ELEMENT_PRIMITIVES.md) §7.29.

### 11.2 Source-trust scale

`source_quality` is a closed ordinal set. The numeric weight is used only for the arithmetic in §11.4–11.6; authors record the label, never the number.
Expand Down
2 changes: 1 addition & 1 deletion notations/ELEMENT_PRIMITIVES.md
Original file line number Diff line number Diff line change
Expand Up @@ -1015,7 +1015,7 @@ A `RELEASE` is a dated/versioned **state of a modelled subject** — one shipped

**Provenance — no per-TYPE fields, because the envelope already carries it.** A `RELEASE` admitted from tag/branch evidence rather than a signed release document cites that evidence through **`derived_from`** (§3) — an envelope field every `standalone` TYPE carries, not one a TYPE opts into. There is consequently nothing for this section to add and nothing missing: a tag-sourced release is exactly as auditable as a document-sourced one, and its provenance belongs there rather than buried in free-text `description`. The matching field artefact for a repository/tag survey is an `OBSERVATION` ([IDS_AND_REFERENCES.md](IDS_AND_REFERENCES.md) §3.4).

`RELEASE` has **no** `extraction_confidence` field — and neither does any other canon element, of any TYPE. `extraction_confidence` is a review flag on an ingest **candidate** (`candidate.extraction_confidence`, [vocabulary.yaml](vocabulary.yaml)); it is surfaced in the review queue, drives reviewer-authority routing ([CONTRACT.md](CONTRACT.md) §6.2), and is **never persisted into canon**. An admitted element carrying it is a defect in whatever wrote it, not a precedent to follow. (Decision recorded per `transitrix-hq#197`: documented convention, no schema extension.)
`RELEASE` has **no** `extraction_confidence` field — and neither does any other canon element, of any TYPE. `extraction_confidence` is a review flag on an ingest **candidate** (`candidate.extraction_confidence`, [vocabulary.yaml](vocabulary.yaml)); it is surfaced in the review queue, drives reviewer-authority routing ([CONTRACT.md](CONTRACT.md) §6.2), and is **never persisted into canon**. An admitted element carrying it is a defect in whatever wrote it, not a precedent to follow — flagged by `ADMIT-009` ([CONTRACT.md](CONTRACT.md) §6.1), which points the author at `derived_from` and the cited field artefact instead. (Decision recorded per `transitrix-hq#197`: documented convention, no schema extension.)

```yaml
# canon/elements/05_implementation/releases/RELEASE-PAYMENTS-GATEWAY-2.yaml
Expand Down
3 changes: 3 additions & 0 deletions notations/vocabulary.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,9 @@ rule_codes:
ADMIT-008:
severity: warning
spec: notations/CONTRACT.md
ADMIT-009:
severity: warning
spec: notations/CONTRACT.md
AGREE-001:
severity: error
spec: notations/CONTRACT.md
Expand Down
Loading