Red5Sorcery / Data Sculptor

WASM-002 adversarial QA review — Pass 3 gate verification

Pass 3 — focused verification of the six Pass 2 gate items, Tuesday 29 September 2026. Findings only; no requirement text has been changed.

Review identity

Audited decisionsPass 2 reconciliation log, SHA-256 F564FFC263F9A236F6996BD06D9CFC691CC8F9482D21B8A41E2347F26EE45603
ScopeP2-01, P2-02, F-02, F-03, F-06 and F-09, plus how these six decisions interact with each other, with Revision BL and with the Pass 1 decisions they rely on
Baseline contractRevision BL review cut, SHA-256 828C6A81B2C0A8B97546F728628059C53CC61256FAB23B142E452A8E566E025F, unchanged
Prior passesPass 1 7BCD850A…F58A67C; Pass 2 D87E352F…EEB39197
ReviewerClaude, independent adversarial QA (no implementation seen)
Record disciplineAppend-only. Passes 1 and 2 are not edited.

Method and conventions

Each of the six decisions was read in full and attacked on its own terms. The attack asked whether an implementer with no permission to fill gaps could build and test from the text. Each decision was then checked against the other five, against the Revision BL requirements it relies on or supersedes, and against the Pass 1 decisions it inherits. "RESOLVED — DECISION FROZEN" labels were not taken as evidence. Requirement IDs were checked mechanically against the 384 IDs in the cut.

Section numbers (§) refer to the Pass 2 reconciliation log unless marked "Pass 1 log". Dispositions and severity follow the Pass 2 instructions and scale. In section C, E marks evidence and I marks interpretation.

Wording boundary. Nothing in this report describes WASM-002, Revision BL or any successor PRD as approved, frozen, implemented, built, accepted or ready for implementation. Revision BL is not reported as corrected. A favourable gate would mean only that the reconciliation decisions are coherent enough to integrate into a successor PRD revision.

Summary

Gate items CLOSED - INTEGRATION OBLIGATION2
Gate items PARTIALLY CLOSED4
Gate items REOPEN0
New Pass 3 findings10

This is good work. Every question Pass 2 asked has a real answer, and the reasoning is sound: one lineage per Store MAP, splitting MAP validity from Store health, the narrow registry-repair bootstrap, and the exact CSV location oracle. Nothing needs reopening, and every blocking residual from Pass 2 is closed on its own terms.

Checked against each other, two of the decisions collide. P2-02 re-freezes the materialization grammar without the MAP clause that P2-01 now relies on (P3-01). F-06 freezes refusal facts that the F-09 Receipt table has no place for (P3-02). Each is a small decision — a line or a few keys — but until it is made, two frozen texts contradict each other. Of the 10 new findings, 2 are blocking, 7 are material and 1 is clarity.

The gate conclusion (section F) is NOT READY FOR CANONICAL PRD INTEGRATION, on P3-01 and P3-02 only.

A. Package integrity

All inputs were hashed. The sidecar matches, the source chain from Revision BL through Pass 1, the Pass 1 log and Pass 2 to this record is intact, and the audit proceeded.

Pass 2 reconciliation log (audited)WASM002_Pass2_Reconciliation_20260929.html
F564FFC263F9A236F6996BD06D9CFC691CC8F9482D21B8A41E2347F26EE45603
Matches the supplied sidecar (73,497 bytes). The sidecar names the file Red5Sorcery_Data_Sculptor_WASM002_Claude_QA_Reconciliation_Log_Pass2_20260929.html; the upload name differs, and content is identified by hash.
Pass 2 reconciliation sidecarWASM002_Pass2_Reconciliation_20260929.sha256.txt
States source QA Pass 2 SHA-256 D87E352F…EEB39197, which is my Pass 2 report. States Revision BL unchanged and PRD integration not performed.
My Pass 2 audit (source)Red5Sorcery_Data_Sculptor_WASM002_Adversarial_QA_Review_RevBL_Pass2_2026-09-29.html
D87E352F0FCC9101FD3B01BAC72BD8BE25A7D821CD1FC9FF70F28556EEB39197
Matches my Pass 2 sidecar. The log accurately restates its counts (19 / 15 / 0 / 7) and gate.
Pass 1 reconciliation logRed5Sorcery_Data_Sculptor_WASM002_Claude_QA_Reconciliation_Log_Pass1.html
9A73DB717BE09D3ED92B3F0F775EEB09A214000049341FE435B7EC6DFA9255B7
Unchanged since Pass 2. Used to check what earlier decisions froze.
Revision BL review cutWASM-002_ADVERSARIAL_QA_PRD.html
828C6A81B2C0A8B97546F728628059C53CC61256FAB23B142E452A8E566E025F
Unchanged. 384 requirements. All cited IDs in this report were checked against it.

B. The six gate items

ItemPass 2 severityPass 3 dispositionResidual
P2-01BLOCKINGCLOSED - INTEGRATION OBLIGATIONNone of its own. Its reachability depends on P3-01.
P2-02BLOCKINGCLOSED - INTEGRATION OBLIGATIONNone of its own. Fix P3-01 in the same §4.4 text.
F-02BLOCKINGPARTIALLY CLOSEDMATERIAL: P3-03. The blocking residual is closed.
F-03BLOCKINGPARTIALLY CLOSEDMATERIAL: P3-05, P3-06, P3-07; P2-04 remains open. The blocking questions are closed.
F-06BLOCKINGPARTIALLY CLOSEDBLOCKING through P3-02. MATERIAL: P3-09.
F-09BLOCKINGPARTIALLY CLOSEDBLOCKING through P3-02. MATERIAL: P3-04.

P2-01Pass 2: BLOCKINGCLOSED - INTEGRATION OBLIGATION

Issue carried into Pass 3
The multi-Store MAP clause added under F-05 let an alias update from an older MAP drop another Store from current state, so the next routine run would fork it.
What the Council decided
One Store MAP file holds exactly one Store lineage (one rid_filename, one source_filename). Current state is chosen per lineage. Historical-base operations affect only their own lineage. Exact-source routing: none → new Store; one → that lineage; more than one → refuse and require an explicit MAP (§3).
What holds under attack
  • The disappearance path is gone. Store B's state now lives only in Store B's own MAP history, so nothing published for Store A can remove it (§3.4–3.5). The Pass 2 scenario fails at its first step.
  • The single-source predicate, the F-04 cardinality gate and the no-positional-join rule carry over unchanged (§3.3). The Join MAP boundary is clean (§3.7).
  • This matches Revision BL's own schema. W002-STOR-019.6 and 019.9 already require every row to repeat one rid_filename, so the withdrawn clause was the anomaly.
What does not yet hold
  • The ambiguity exit in §3.6 and historical-base materialization in §3.5 need a MAP clause in the materialization Work Order. §4.4 does not provide one. See P3-01.
  • The routing word "eligible" in §3.6 must cover DEGRADED and INVALID lineages, and a lineage whose every MAP is damaged is not covered. See P3-07.
Revision BL requirements affected
W002-STOR-010.1, W002-STOR-019.1, W002-STOR-019.2, W002-STOR-019.9, W002-WKO-012.3, W002-UI-ACC-016
Integration consequence
As listed in §3.10. Also remove store_source_filename, which is still in W002-STOR-019.2 (routing), 019.6, 019.8, 019.9, 019.12, W002-MAT-ACC-002.1, W002-WKO-012.6, W002-STEPS-008 and W002-UI-ACC-017.
Residual
None of its own. Its reachability depends on P3-01.

P2-02Pass 2: BLOCKINGCLOSED - INTEGRATION OBLIGATION

Issue carried into Pass 3
The F-08 grammar made WORK ORDER AS mandatory and dropped trailing comments, contradicting Revision BL and F-02 without saying so.
What the Council decided
WORK ORDER AS is mandatory, appears exactly once, is non-empty, and applies to every operation. Revision BL's trailing-comment rule is retained. The superseded text is listed (§4).
What holds under attack
  • Both questions now have explicit decisions with named supersessions (§4.6), which is what Pass 2 asked for.
  • The comment rules match W002-STEPS-001.2 exactly: first # outside quotes, # inside quotes is content, and comment bytes are part of WKO identity (§4.3). The canonical W002-STEPS-001 example is valid again.
  • A mandatory alias fits the three-column WKO MAP and removes the empty-alias special case from registry repair.
What does not yet hold
  • §4.4 re-freezes the materialization structure without the optional MAP clause that Revision BL W002-WKO-012.3 provides and P2-01 depends on. The defect is in this text, but it is not the P2-02 question, so it is reported as P3-01.
Revision BL requirements affected
W002-STEPS-001, W002-STEPS-001.1, W002-STEPS-001.2, W002-STOR-018.2, W002-MAT-ACC-002.3, W002-MAT-ACC-002.4
Integration consequence
§4.8 lists the core rewrites. The optional-alias wording also survives in W002-STOR-018 ("optional immutable Work Order content"), 018.2 ("the empty string when no alias is declared"), 018.3 ("its optional Work Order alias"), W002-STEPS-001 ("the optional immutable human-facing WKO alias"), W002-UI-023 ("optional WORK ORDER AS") and the canonical INVENTORY form in W002-INV-001, which has no alias.
Residual
None of its own. Fix P3-01 in the same §4.4 text.

F-02Pass 2: BLOCKINGPARTIALLY CLOSED

Issue carried into Pass 3
Pass 2 residual: registry repair could not be reached when the registry was stale. Material residuals: DEPRECATED Run eligibility, WKO validity predicate, WKO MAP row order, and the missing operation token.
What the Council decided
Bounded bootstrap: while the registry is repair-required, a saved repair-only WKO may Run by exact filename without being registered. The decision also defines the discovery rules, a structural-validity predicate, the three-column WKO MAP serialization, DEPRECATED Run by exact filename only, and the REPAIR_WORK_ORDER_REGISTRY token (§5).
What holds under attack
  • The bootstrap is narrow and honest. It needs a visible, saved, immutable repair-only WKO; it runs by exact filename; no other operation gains eligibility; and Save does not pretend the registry is healthy (§5.2–5.3). The Pass 2 deadlock is broken.
  • All four material residuals are answered: DEPRECATED runs by exact filename only (§5.7); structural validity is separate from runtime success (§5.5); rows sort by wko_filename (§5.6); and the token exists (§5.8). F-14's missing WKO predicate is answered by §5.5 as well.
  • Discovery keeps the no-winner-by-time principle (§5.4).
What does not yet hold
  • Nothing defines when the registry counts as repair-required. Revision BL's rule for choosing the current WKO MAP would make a stale MAP non-current and silently revert alias authority. See P3-03.
  • §5.5 requires a WKO to parse under "exactly one defined operation grammar", but the INVENTORY, UPDATE ALIASES and CONVERT structures are still unfrozen (F-08 material). Until they are, registry repair cannot classify copied-in WKOs of those kinds.
Revision BL requirements affected
W002-STOR-018.2, W002-STOR-018.3, W002-STOR-018.4, W002-UI-023
Integration consequence
As listed in §5.10, plus the W002-STOR-018.4 current-selection rewrite from P3-03.
Residual
MATERIAL: P3-03. The blocking residual is closed.

F-03Pass 2: BLOCKINGPARTIALLY CLOSED

Issue carried into Pass 3
Pass 2 residuals: REPAIR MAP had no target, repairing a Store whose every COL was broken would erase it, and "untrustworthy MAP means INVALID" conflicted with the malformed-newer-MAP fallback.
What the Council decided
MAP structural validity is separate from Store health. Only structurally valid MAPs compete for current state, and malformed newer MAPs fall back. VALID, DEGRADED and INVALID are evaluated, not persisted. REPAIR MAP names the exact current MAP, and it refuses when the Store is not DEGRADED or when repair would leave zero COLs. Damaged lineages route to refusal, never to re-creation (§6).
What holds under attack
  • The validity/health split (§6.1) removes the INVALID-versus-fallback conflict. §6.9's three cases form a usable oracle, and "don't fall back to hide present damage" is the right principle.
  • REPAIR MAP now has an exact target. The target must be current and DEGRADED; historical and wrong-profile targets refuse; and Data Sculptor, not the analyst, decides which bindings are broken (§6.6–6.7).
  • The all-COLs-broken case refuses without inventing an anchor row (§6.8). Status is evaluated rather than stored (§6.4). Routing treats damage as refusal, not absence (§6.10).
What does not yet hold
  • An INVALID Store, or a DEGRADED Store with every COL broken, blocks its source filename indefinitely, and Help is not given the exit. See P3-05.
  • "Exact original restored byte-for-byte" cannot be checked from what the MAP records. Validation depth (P2-04) now determines REPAIR MAP output. See P3-06.
  • A lineage whose only MAP is damaged becomes invisible to routing and forks. See P3-07.
Revision BL requirements affected
W002-STOR-019.10, W002-STOR-019.11, W002-RID-009, W002-RID-010, W002-STEPS-010, W002-RCP-011
Integration consequence
As listed in §6.12.
Residual
MATERIAL: P3-05, P3-06, P3-07; P2-04 remains open. The blocking questions are closed.

F-06Pass 2: BLOCKINGPARTIALLY CLOSED

Issue carried into Pass 3
Pass 2 residual: CSV refusal-location facts and condition tokens were undefined, and the bare-CR rule was not scoped to unquoted context.
What the Council decided
Five governed facts and seven condition tokens, each with a location rule, a field-ordinal rule, first-condition precedence and window invariance. Bare CR refuses only outside quotes. EOF inside quotes refuses explicitly. Semicolon and tab files are not refused merely for their delimiter (§7).
What holds under attack
  • The location oracle is exact. Offsets are absolute and include the BOM, physical lines count LFs, logical records include the header, and field ordinals are fixed for each condition (§7.1–7.4). I worked the edge cases: blank CRLF record, short last record with no terminator, doubled quotes, a CR straight after a closing quote, and a quote after leading whitespace. Each has one answer.
  • Precedence follows source-byte order, with the right tie rules (§7.7). Byte coordinates line up with F-07 (§7.10).
What does not yet hold
  • The facts are frozen, but no artifact is named to record them, and the MATERIALIZE Receipt table excludes them. See P3-02.
  • None of the "exactly seven" tokens covers a source with no header record. See P3-09.
Revision BL requirements affected
W002-MAT-003.2, W002-MAT-ACC-003, W002-MAT-001.7
Integration consequence
As listed in §7.12, plus the P3-09 token.
Residual
BLOCKING through P3-02. MATERIAL: P3-09.

F-09Pass 2: BLOCKINGPARTIALLY CLOSED

Issue carried into Pass 3
Pass 2 residual: the six-key envelope dropped Revision BL's core Receipt facts, MATERIALIZE, INVENTORY and REPAIR_MAP had no key tables, Inventory lacked per-file fields, and three-digit indices overflowed.
What the Council decided
The Revision BL core is restored and RECEIPT_UTC is defined. There are key tables for all six operations, a three-key Inventory entry, indices with a three-digit minimum and no maximum, a concrete fallback disclosure, and mandatory byte-exact fixtures (§8).
What holds under attack
  • The envelope now matches Revision BL W002-RCP-006 plus RECEIPT_UTC, which is defined exactly (§8.2). The Pass 2 conflict is gone.
  • Every executable operation has a table. Inventory carries all three W002-INV-003 fields plus the generating WKO and the Suitcase declaration (§8.10). Fallback disclosure is concrete (§8.8). Golden fixtures are required for all six operations and for INV (§8.15).
  • I checked the arithmetic behind the no-maximum index rule: a 16,384-column Store-establishing run creates RID + 16,384 COLs + MAP = 16,386 artifacts, as §8.4 and §8.16 state.
What does not yet hold
  • The MATERIALIZE key order is frozen as exact and has no slot for the F-06 and F-07 refusal facts. See P3-02.
  • Refusal serialization still turns on "the applicable absence token". RESULT is an open set, UNKNOWN_OPERATION has no form, NOT_APPLICABLE is missing from §8.3, and some key names are given only by ellipsis. See P3-04.
Revision BL requirements affected
W002-RCP-005, W002-RCP-006, W002-RCP-007, W002-RCP-008, W002-RCP-011, W002-INV-003, W002-INV-006
Integration consequence
As listed in §8.17. W002-RCP-008 also still names RECOVER RID.
Residual
BLOCKING through P3-02. MATERIAL: P3-04.

C. New Pass 3 findings

IDSeverityFinding
P3-01BLOCKINGThe frozen materialization structure has no MAP clause, so the explicit-MAP path P2-01 depends on cannot be written
P3-02BLOCKINGThe UTF-8 and CSV refusal facts have no place in the MATERIALIZE Receipt, whose key order is frozen as exact
P3-03MATERIAL NON-BLOCKINGThe rule for choosing the current WKO MAP does not separate structural validity from missing referenced files, so the repair-required state has no defined trigger
P3-04MATERIAL NON-BLOCKINGRefusal Receipts still depend on judgment: "the applicable absence token", an open RESULT set, and no form for UNKNOWN_OPERATION
P3-05MATERIAL NON-BLOCKINGAn INVALID Store, or a DEGRADED Store with every COL broken, blocks its source filename indefinitely, and Help is not given the exit
P3-06MATERIAL NON-BLOCKING"Exact original restored byte-for-byte" cannot be checked, and P2-04 validation depth now determines REPAIR MAP output
P3-07MATERIAL NON-BLOCKINGIf every Store MAP in a lineage is structurally damaged, routing no longer sees the Store and forks it, and "eligible" means two things
P3-08MATERIAL NON-BLOCKINGA Windows-1252 source cannot continue its Store across a refresh, because every conversion produces a new CVT filename
P3-09MATERIAL NON-BLOCKINGThe "exactly seven" CSV condition tokens do not cover a source with no header record
P3-10CLARITYSmall wording and consistency items

P3-01BLOCKING

The frozen materialization structure has no MAP clause, so the explicit-MAP path P2-01 depends on cannot be written

Pass 2 log sections: §3.5, §3.6, §3.9, §3.10, §4.4, §4.6 (and Pass 1 log §11.5, §11.6)

Revision BL: W002-WKO-012.3 W002-STOR-019.1 W002-STOR-019.2

Evidence

Why it matters

Impact if integrated as written. A routine routing refusal becomes a dead end, and an independent grammar test of §4.4 fails Revision BL's own canonical selector.

Question / direction for T. Add the clause to §4.4 with a frozen position and cardinality. For example: at most one MAP "<filename>" clause, immediately after SOURCE and before KEEP, binding the run to that Store lineage under P2-01 §3.3. If explicit MAP in materialization is instead being withdrawn, retire it from W002-WKO-012.3, W002-STOR-019.1 and 019.2 and give §3.6 a different exit. I recommend the first option. It is one line.

P3-02BLOCKING

The UTF-8 and CSV refusal facts have no place in the MATERIALIZE Receipt, whose key order is frozen as exact

Pass 2 log sections: §7.1, §7.11, §8.7, §8.14, §8.15 (and Pass 1 log §10.4, §19.1)

Revision BL: W002-RCP-007

Evidence

Why it matters

Impact if integrated as written. F-06's blocking residual, usable location facts, is closed on paper but not in any artifact a tester can compare bytes against.

Question / direction for T. Decide where the facts live. I recommend adding them to the MATERIALIZE table: the two F-07 facts after STAGE1_ELAPSED_MS, and the five F-06 facts after STAGE2_ELAPSED_MS, each carrying NOT_APPLICABLE when that refusal did not occur. Prefixed names such as CSV_SOURCE_BYTE_OFFSET keep them unambiguous. If they are meant to live only in Help or HLP, say so and name the artifact and field names. Settle the CONVERT undefined-byte offset at the same time.

P3-03MATERIAL NON-BLOCKING

The rule for choosing the current WKO MAP does not separate structural validity from missing referenced files, so the repair-required state has no defined trigger

Pass 2 log sections: §5.2, §5.10, §6.1, §6.2 (and Pass 1 log §8.7)

Revision BL: W002-STOR-018.3 W002-STOR-018.4 W002-UI-023

Evidence

Why it matters

Impact if integrated as written. A literal integration silently rolls back Work Order alias authority, which is the failure the registry exists to prevent.

Question / direction for T. Mirror F-03 for WKO MAPs. Choose the current WKO MAP by structural validity only. A structurally valid current WKO MAP with a missing referenced WKO stays current and is repair-required. A structurally malformed newer WKO MAP never becomes current and is reported. Replace "or is otherwise in the specifically defined…" with that definition, or delete it.

P3-04MATERIAL NON-BLOCKING

Refusal Receipts still depend on judgment: "the applicable absence token", an open RESULT set, and no form for UNKNOWN_OPERATION

Pass 2 log sections: §8.3, §8.6, §8.7, §8.9, §8.11, §8.12, §8.13 (and Pass 1 log §21.4)

Revision BL: W002-RCP-006 W002-RCP-007

Evidence

Why it matters

Impact if integrated as written. The byte-exact oracle is incomplete exactly where refusals happen.

Question / direction for T. For each operation, add a small matrix of refusal stage (parse, validation, Stage 1, Stage 2, gate, publication) by key, giving the token. Close RESULT to an exact set. State the UNKNOWN_OPERATION form, presumably the envelope followed by CREATED_ARTIFACT_COUNT: 0. Spell every indexed key in full.

P3-05MATERIAL NON-BLOCKING

An INVALID Store, or a DEGRADED Store with every COL broken, blocks its source filename indefinitely, and Help is not given the exit

Pass 2 log sections: §6.4, §6.8, §6.10

Revision BL: — (no Revision BL text; the defect is in the reconciliation decisions)

Evidence

Why it matters

Impact if integrated as written. A recoverable situation looks like a permanent lock to a non-programmer analyst.

Question / direction for T. Freeze the Help content for both states. It should name the blocked lineage and state the analyst-owned exits and what each one does: restore the exact artifacts; rename the source to begin a new Store; or retire the lineage by moving its MAPs out. No new operation is needed.

P3-06MATERIAL NON-BLOCKING

"Exact original restored byte-for-byte" cannot be checked, and P2-04 validation depth now determines REPAIR MAP output

Pass 2 log sections: §3.11, §6.4, §6.7, §6.8, §6.13

Revision BL: W002-STOR-019.6

Evidence

Why it matters

Impact if integrated as written. Status can report a substituted Store as VALID, and one gate operation's output is not yet determined.

Question / direction for T. Either record per-artifact evidence in the Store MAP so status can prove identity (for example RID N, plus byte length or SHA-256 for the RID and each COL), or reword §6.4 and §6.8 to "a file under the original name that passes the governed checks" and accept the boundary. Close P2-04 no later than integration, with REPAIR MAP fixtures for each validation tier.

P3-07MATERIAL NON-BLOCKING

If every Store MAP in a lineage is structurally damaged, routing no longer sees the Store and forks it, and "eligible" means two things

Pass 2 log sections: §3.6, §6.2, §6.10, §6.11

Revision BL: W002-STOR-019.10

Evidence

Why it matters

Impact if integrated as written. The unconditional no-silent-fork promise does not hold for the one-MAP case.

Question / direction for T. (1) Route over every lineage that has at least one structurally valid Store MAP, regardless of health, and use that term in §3.6. (2) Decide the all-MAPs-damaged boundary. Either refuse to establish a new Store while any structurally malformed MAP-class artifact is present, with Help naming it, or accept the boundary explicitly and require Help to report malformed MAP artifacts whenever a new Store is established. The first is safer; the second is cheaper.

P3-08MATERIAL NON-BLOCKING

A Windows-1252 source cannot continue its Store across a refresh, because every conversion produces a new CVT filename

Pass 2 log sections: §3.3, §3.6 (and Pass 1 log §13)

Revision BL: — (no Revision BL text; the defect is in the reconciliation decisions)

Evidence

Why it matters

Impact if integrated as written. Legacy-encoded sources get weaker lineage continuity than UTF-8 sources, without anyone saying so.

Question / direction for T. Either state that CVT sources always begin a new Store, and have Help say so at conversion and at materialization, or let a CVT carry its original source filename as the Store's source identity. The second is a larger change. I would take the first for WASM-002.

P3-09MATERIAL NON-BLOCKING

The "exactly seven" CSV condition tokens do not cover a source with no header record

Pass 2 log sections: §7.2, §7.3

Revision BL: W002-MAT-001.7

Evidence

Why it matters

Impact if integrated as written. A predictable fixture, the empty file, has no oracle.

Question / direction for T. Add one token (for example NO_HEADER_RECORD). Its location is offset = source byte length (0 or 3), PHYSICAL_LINE 1, LOGICAL_RECORD 1, FIELD_ORDINAL 1. Add a fixture for each of the two byte forms.

P3-10CLARITY

Small wording and consistency items

Pass 2 log sections: §4.1, §5.4, §6.6, §7.9, §8.10

Revision BL: W002-INV-006

Evidence

Why it matters

Impact if integrated as written. Minor misreadings during integration.

Question / direction for T. Correct them in the integrated text.

D. Effect on other open items

This pass did not re-audit the other findings. The six decisions do change some of them:

ItemEffect
F-05Its blocking dependency on P2-01 is lifted. Still open (material): the Store MAP column set. Removing store_source_filename touches nine requirements; see P2-01.
F-07Still open (material): the STOP_REASON and STAGE1_UTF8_OUTCOME token sets. Where the facts are serialized is now P3-02.
F-08The blocking dependency moves from P2-02 to P3-01. REPAIR MAP (§6.6) and REPAIR WORK ORDER REGISTRY (§5.1) now have forms. INVENTORY, UPDATE ALIASES and CONVERT structures, the RUN trigger and token separation remain material. F-02 §5.5 now depends on them.
F-10The conversion Receipt table is carried over unchanged (§8.14). The undefined-byte refusal offset is noted under P3-02.
F-14The WKO validity predicate is now supplied by F-02 §5.5. SCR naming, attribution and the CER path remain open.
F-18 / P2-05Still open. §8.3 now omits NOT_APPLICABLE (P3-04).
P2-03Per-lineage history (§3.4) makes "predecessor" definable as the lineage's current MAP, but the text doesn't say so. A future-dated MAP still locks its lineage (or the WKO registry) with no governed exit.
P2-04Still open, and now load-bearing for REPAIR MAP output (P3-06).
P2-06Still open. P2-01 rewrites W002-STOR-010.1, but the Pass 1 log §14 citations still need an erratum.
P2-07Partly addressed. This record came with a SHA-256 sidecar. The Pass 1 log erratum is still pending.
All other Pass 1 findingsUnchanged from Pass 2.

E. Integration checklist additions

These add to the Pass 2 checklist; they do not replace it.

Resolve before integration (blocking)

Decide no later than integration (material)

Revision BL sweep for mandatory aliases (P2-02)

Revision BL sweep for store_source_filename (P2-01 / F-05)

Other Revision BL rewrites introduced by the six decisions

F. Gate conclusion

NOT READY FOR CANONICAL PRD INTEGRATION

Two contradictions between the frozen decisions must be resolved first:

  1. P3-01 — add the MAP clause to the materialization structure (or retire explicit MAP and give P2-01 another exit).
  2. P3-02 — say where the UTF-8 and CSV refusal facts are serialized, and put them in the MATERIALIZE key order if that is the Receipt.

Nothing else stands in the way. P3-03 to P3-10 and the carried material items can be settled no later than integration. A full Pass 4 is not needed for P3-01 and P3-02: an erratum to the Pass 2 reconciliation log covering the two items can be checked in one short sitting. If it resolves both without introducing a new contradiction, the gate can move to READY FOR CANONICAL PRD INTEGRATION.