# P1-0d status — corrective documentation assignment complete

**Date:** 2026-08-05
**Branch:** `feature/p1-0d-follow-up`
**Scope:** documentation only
**Result:** complete; P1-0's C9/C11/C12/C15 carve-out and B1/O3 are closed; only O5 remains open

## Read this first — fields marked `absent`

No absent field was filled from a neighbouring row, a count, or a marginal vocabulary domain.
The complete same-cell evidence is in `docs/p1-0-c20-authored-rows.md`; this is the audit list:

| Authored row | `absent` fields | Where checked / why blank |
|---|---|---|
| C11 `EF0000000` | DetectionPattern, FlagCategory, RiskFactor, AutoReviewable, Summary, FlowDimension, AppliesToTable, AppliesToField, PolicyReference, RequiredAction, AutoActionAllowed, ReviewOwnerRole, ReviewPriority, ResolutionEvidenceRequired, EffectiveFrom, EnforcementStartsAt | C11, all 45 pinned DOCEFL rows, generating scripts, and the annex: no detector, policy, action, owner, risk, evidence, or timestamp is defensible for a sentinel whose purpose is to represent no attached rule |
| C12 `EF0000053` | DetectionPattern, FlagCategory, RiskFactor, AutoReviewable, FlowDimension, PolicyReference, AutoActionAllowed, ReviewOwnerRole, ReviewPriority, BlockingLevel, EffectiveFrom, EnforcementStartsAt | C12, the governed source seed, scripts, and annex: C12 decides Monthly-only semantics and persistent Decision identity, but none of these governance literals or timestamps; O8-D1 re-authored only its code |
| D6 `BT000012` | ReconciliationType, AutoProposeAllowed, AutoCloseAllowed, RequiresReview, MaxDateWindowDays, ToleranceAmount | D6, the 11-row BNKMAT seed, scripts, and annex: the new result has no decided legacy reconciliation label, authority switches, review flag, time window, or amount tolerance |

## Prototype pin and re-verification

The read-only prototype clone remained detached and clean at
`9359c67c4ef0101218d7e0ffff1986114ba5cc7a`. Re-verification used per-command safe-directory
configuration only and changed no prototype file or Git configuration.

| Source | Blob |
|---|---|
| `Editor/Data/document_type_rules.json` | `7e687f6fba92a237bf3ea1a132026922176e2698` |
| `Editor/Data/flag_evaluation.json` | `02ec1ac5e8e1389c7a94ccc30a6b1977414d9098` |
| `Editor/Data/itemclass_taxonomy.json` | `6fcfcf1403b68c38583bb937f50767be0ed3d1ef` |
| `Editor/Data/bnkmat.json` | `d34c1bba03fe6f1d6a23851f25c328029f57b161` |

No real financial or personal value was copied. Only the authorized controlled-vocabulary and
code-table rows entered this repository.

## Extraction and authored-row results

- **Extraction — DOCTYP:** all 19 rows and all six fields were re-verified and transcribed with
  per-field `extracted` markers plus source/blob SHA. C9 is closed.
- **Extraction — DOCEFL:** all 45 existing rows and all 20 fields were re-verified and transcribed
  with per-field `extracted` markers plus source/blob SHA.
- **Extraction — ITMCLS:** `Banks / Financing -> CL000005` and
  `Revenue / Intercompany -> CL000025`, including all five row fields, were re-verified and
  transcribed with per-field `extracted` markers. C15 is closed.
- **Authored — C11:** `EF0000000`, its four-FL FK placement, `Annotation`, `Non-Blocking`, and every
  other field's `authored|absent` provenance are in both the decision document and schema draft.
- **Authored — C12:** O8-D1's verified-free allocation produced `EF0000053`; exact Monthly-only
  semantics exclude `(assumed)`, emit `Decision`, and every field is marked `authored|absent`.
- **Authored — D6:** the no-gap next-unused allocation produced `BT000012`; the row carries the
  ledger-reference/no-entry result and field-level exclusion from the reconciliation numerator,
  with every field marked `authored|absent`.

## A3 measurement and decision

Measured over all 2,072 pinned BNKREC rows; collisions are `rows - distinct`, in C13's shape.

| Candidate key | Distinct | Collisions |
|---|---:|---:|
| `(BMCode)` | 1,960 | 112 |
| `(BMCode, EntryCode)` | 2,072 | **0** |
| `(BMCode, EntryCode, MatchType)` | 2,072 | 0 |
| `(BMCode, EntryCode, ReconciliationMatchType)` | 2,072 | 0 |
| `(BMCode, EntryCode, MatchType, ReconciliationMatchType)` | 2,072 | 0 |
| `(MatchGroupID, BMCode, EntryCode)` | 2,072 | 0 |
| all business fields except BRCode/MatchGroupID | 2,072 | 0 |

BRCode therefore keeps its bucket under authored production key
`(Company, BMCode, EntryCode, FindingDiscriminator)`; the pin-equivalent ordinary-link key is the
lowest-field zero-collision candidate `(BMCode, EntryCode)`. Issuance remains P1-1b.
MatchGroupID is run-scoped, explicitly non-permanent, has no CodeLedger bucket, and must not be
cited as stable identity. P1-1a must remove that bucket from its scope; this assignment did not
edit P1-1a work.

## Decision folding and governance

- A1–A7 and C3 are in the operative mapping: CounterpartyCodeName; stored FlowType; generated,
  versioned NormalizedDocumentID with the discriminator in the unique index;
  ProposedMatchBTCode; ImportBatch identity PK; no FailureCategory; immutable enforcement date.
- S1–S4 are in the drafts: closed identifierType vocabulary; DOCFLG ItemClass snapshot; exact Legal
  path; P1-1b hash-index swap and the recorded orphan definition.
- A2 is an exhaustive, mutually exclusive source/derived/production register.
- B2/B3/B4/B12 now specify counter-signed final-disposition discard, the exact restore target,
  entry transitions, and canonical CounterpartyCodeName.
- B1 supersedes the earlier reference-counted default. The lifecycle now requires per-capture byte
  storage with no sharing, treats `RetainedContentHash` only as a duplicate-detection index, names
  purge as storage hygiene rather than erasure, retains unchanged §3 as a second barrier, and adds
  the §7 bypass-harness acceptance case. B1 and O3 are closed; only O5 remains open in project
  state.

## Paths changed

- `docs/PROJECT-STATE.md`
- `docs/p1-0-c20-authored-rows.md`
- `docs/p1-0-claude-extraction-contract.md`
- `docs/p1-0-codes-taxonomy-archive.md`
- `docs/p1-0-design-freeze-summary.md`
- `docs/p1-0-discard-purge-lifecycle.md`
- `docs/p1-0-schema-mapping.md`
- `docs/p1-0-user-ai-roles-responsibilities-policy.md`
- `docs/p1-0d-status.md`
- `docs/project-todo.md`

No `src/`, `tests/`, `migrations/`, database, P1-1 implementation, prototype, or Git history was
changed.

## Verification

- Parsed the embedded DOCEFL block: 45 rows, 45 unique EFCodes, exact value-set comparison against
  the pinned JSON returned zero differences.
- Verified 19 unique extracted DTCode values and both required ITMCLS CLCodes in the drafts.
- Re-ran the A3 counts over all 2,072 BNKREC rows; `(BMCode, EntryCode)` remains 2,072 distinct / 0
  collisions.
- `git diff --check` passed; all changed/untracked paths are under `docs/`.
- `dotnet build GOTT.Sibyla.slnx` succeeded on the host with 0 warnings and 0 errors.
