Red5Sorcery / Data Sculptor
WASM-002 adversarial QA review — Pass 2 reconciliation audit
Pass 2 — independent audit of the Pass 1 reconciliation decisions against Revision BL, Tuesday 29 September 2026. Findings only; no requirement text has been changed.
Review identity
| Audited decisions | Red5Sorcery_Data_Sculptor_WASM002_Claude_QA_Reconciliation_Log_Pass1.html, SHA-256 9A73DB717BE09D3ED92B3F0F775EEB09A214000049341FE435B7EC6DFA9255B7 |
|---|---|
| Baseline contract | Revision BL review cut, SHA-256 828C6A81B2C0A8B97546F728628059C53CC61256FAB23B142E452A8E566E025F, 384 requirements, unchanged by the reconciliation |
| Pass 1 baseline | SHA-256 7BCD850ABA444E434494BD5B70636907F9D126DFD693E459A840E03C4F58A67C, 34 findings (11 blocking, 15 material, 8 clarity) |
| Instructions | Pass 2 Reconciliation Audit Instructions (Lead Architect), SHA-256 93F849DE9BA98CBA5A749CECA7BE804A55D55C8E297CA5FD805103B637930489 |
| Reviewer | Claude, independent adversarial QA (no implementation seen) |
| Record discipline | Append-only. Pass 1 is not edited. Corrections to this pass will be filed as addenda with the original text preserved. |
Method and conventions
Each of F-01 to F-34 was re-read against its Pass 1 text, then its reconciliation section was attacked on its own terms. The attack asked whether an implementer with no permission to fill gaps could build and test from the decision alone. A "RESOLVED" label in the log was not taken as evidence. Each decision was then checked for collisions with the other 33 and with the Revision BL text it will replace. Every requirement ID cited in this report was mechanically checked against the 384 IDs in the cut.
Dispositions follow the instructions. CLOSED: the finding is resolved and needs no PRD change. CLOSED - INTEGRATION OBLIGATION: the decision is sound, but Revision BL text must be changed when it is integrated. "Revision BL still says X" is recorded as an integration obligation, not as a defect. PARTIALLY CLOSED: the decision moves the finding forward but leaves a gap an implementer could not close without inventing behaviour. REOPEN: the decision does not address the finding or makes it worse.
In section D, E marks evidence, meaning a direct reading of the reconciliation log or the cut. I marks interpretation, which is contestable. Severity uses the Pass 1 scale.
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 below would mean only that the reconciliation decisions are coherent enough to integrate into a successor PRD revision.
Summary
| CLOSED | 0 |
|---|---|
| CLOSED - INTEGRATION OBLIGATION | 19 |
| PARTIALLY CLOSED | 15 |
| REOPEN | 0 |
| New Pass 2 findings | 7 |
The reconciliation is serious work. Nothing needs reopening, and most of the Pass 1 oracle gaps now have real answers: the conversion fixture, the UTF-8 offset, the cardinality gate and exact name comparison are all good. Every decision needs Revision BL text changed, so none is plain CLOSED.
Fifteen findings are only partially closed. Four of them still carry a blocking residual in their own right: F-02, F-03, F-06, F-08, F-09. Two more are blocking only through a new finding. Of the 7 new findings, 2 are blocking (4 material, 1 clarity). The most serious new finding, P2-01, is that the multi-Store MAP clause added under F-05 lets an ordinary alias update drop a Store from current state and fork it on the next run. That is the failure Pass 1 F-03 was raised to prevent.
The gate conclusion (section G) is NOT READY FOR CANONICAL PRD INTEGRATION. Most of what stands in the way needs a decision from T rather than new machinery.
A. Package integrity
All inputs were hashed on receipt. Package identity and the evidence chain are intact, so the audit proceeded.
| Revision BL review cut | WASM-002_ADVERSARIAL_QA_PRD.html828C6A81B2C0A8B97546F728628059C53CC61256FAB23B142E452A8E566E025FMatches the BL sidecar and the Pass 1 baseline byte-for-byte (626,877 bytes). Same bytes as the earlier-named copy. |
|---|---|
| Pass 1 review | Red5Sorcery_Data_Sculptor_WASM002_Adversarial_QA_Review_RevBL_Pass1.html7BCD850ABA444E434494BD5B70636907F9D126DFD693E459A840E03C4F58A67CMatches my Pass 1 sidecar exactly. 34 findings: 11 / 15 / 8. |
| Reconciliation log | Red5Sorcery_Data_Sculptor_WASM002_Claude_QA_Reconciliation_Log_Pass1.html9A73DB717BE09D3ED92B3F0F775EEB09A214000049341FE435B7EC6DFA9255B7No sidecar supplied; hash recorded here. Claims 34/34 resolved; states it does not modify Revision BL. |
| Pass 2 instructions | Red5Sorcery_WASM002_Claude_Pass2_Reconciliation_Audit_Instructions.pdf93F849DE9BA98CBA5A749CECA7BE804A55D55C8E297CA5FD805103B637930489Authored by the Lead Architect; defines dispositions and report structure. |
| BL sidecar | …_RevBL_2026-09-22_sha256.txtD82210E263FDF1A82DF354664C50109ADE9BF93414B1E47F354058ED6D31B2C1Unchanged. |
Filenames differ from those named in the instructions (upload suffixes such as "(2)" and a timestamp); content is identified by hash, and the review cut is byte-identical to the earlier-named Revision BL copy. There is one localized content discrepancy. Reconciliation §14.4, §14.7 and §14.8 quote Revision BL text that does not exist in the cut. This does not break package identity, so it is reported as finding P2-06 rather than as a stop condition. The reconciliation log arrived without a SHA-256 sidecar (P2-07).
B. Closure table
| ID | Orig. severity | Disposition | Short reason |
|---|---|---|---|
| F-01 | BLOCKING | CLOSED - INTEGRATION OBLIGATION | The contradiction is removed rather than implemented, and the replacement gate is testable from the text. |
| F-02 | BLOCKING | PARTIALLY CLOSED | Residual — BLOCKING: the repair deadlock. MATERIAL: DEPRECATED Run eligibility, WKO validity predicate, WKO MAP row order, missing OPERATION token. |
| F-03 | BLOCKING | PARTIALLY CLOSED | Residual — BLOCKING: REPAIR MAP targeting; all-COLs-broken repair; INVALID vs fallback. MATERIAL: status persistence wording; validation depth (P2-04). |
| F-04 | BLOCKING | CLOSED - INTEGRATION OBLIGATION | The count gate is precise: phase (before any COL/MAP promotion), comparison, outcome (existing Store stays VALID) and Help all stated. |
| F-05 | BLOCKING | PARTIALLY CLOSED | Residual — MATERIAL: freeze the column set and order (my reading: W002-STOR-019.6 minus store_source_filename, other names unchanged — the Council should confirm). BLOCKING via P2-01. |
| F-06 | BLOCKING | PARTIALLY CLOSED | Residual — BLOCKING: define the CSV refusal-location facts and condition tokens. |
| F-07 | BLOCKING | PARTIALLY CLOSED | Residual — MATERIAL: STOP_REASON token set; key-casing mapping. |
| F-08 | BLOCKING | PARTIALLY CLOSED | Residual — BLOCKING via P2-02. MATERIAL: five operation grammars; RUN trigger; token separation. |
| F-09 | BLOCKING | PARTIALLY CLOSED | Residual — BLOCKING: envelope vs RCP-006; MATERIALIZE/INVENTORY/REPAIR_MAP key tables; Inventory per-file fields; index width. |
| F-10 | BLOCKING | CLOSED - INTEGRATION OBLIGATION | Every Pass 1 question has an answer, and the golden fixture 63 61 66 E9 0D 0A → 63 61 66 C3 A9 0D 0A is a genuine oracle. |
| F-11 | BLOCKING | CLOSED - INTEGRATION OBLIGATION | Store Index retired from WASM-002; STOR-010 narrowed to aliases; 010.3/010.4 move to DIR (WASM-003) (§14). |
| F-12 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | The two failure modes Pass 1 named (silent staleness, self-inflicted ties) now produce visible refusals. |
| F-13 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | An explicit boundary is the right closure for a lone-analyst product. |
| F-14 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual — MATERIAL: WKO predicate, SCR form, attribution, CER path. |
| F-15 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | Both halves are closed and cross-platform deterministic. |
| F-16 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual (MATERIAL) — The mechanism for the suggestion is not defined, and later decisions forbid the obvious ones. |
| F-17 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | Fallback and required-fact authority are closed. |
| F-18 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual (MATERIAL via P2-05) — W002-HELP-009 fixes the provenance JSON as ten fields with null for absent lineage. §21.2 says the governed value is the token. |
| F-19 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual (MATERIAL) — The finding was about the HLP, a support-handoff artifact designed to leave the machine. |
| F-20 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual (MATERIAL) — 'Operational column name' is new and its reach is undefined. |
| F-21 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | The behaviour is now explicit and deliberate, and the base MAP is on the Receipt (UPDATE_ALIASES BASE_MAP_FILENAME; MATERIALIZE inherited MAP), so the revert is evidenced. |
| F-22 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | This is a scope decision, not a fix: QA independence for the condition→diagnostic mapping is knowingly waived for WASM-002. |
| F-23 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | Coverage principle with named gaps; governed test-only seams (clock, UUID, filesystem faults, source handles) inert in release; evidence of absence required (§26). |
| F-24 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual (MATERIAL) — The CER-history ZIP is a new governed artifact with no identity. |
| F-25 | MATERIAL NON-BLOCKING | PARTIALLY CLOSED | Residual (MATERIAL) — Firefox does not, to my knowledge, implement showDirectoryPicker or writable streams for user-chosen directories; PB-STOR-001 forbids an OPFS fallback. |
| F-26 | MATERIAL NON-BLOCKING | CLOSED - INTEGRATION OBLIGATION | One exact Suitcase-root filename; analyst-owned CSV or published CVT only; paths, traversal, governed non-CVT and non-CSV refused (§30). |
| F-27 | CLARITY | CLOSED - INTEGRATION OBLIGATION | Wording becomes 'read-only governed alias where applicable' (§31). |
| F-28 | CLARITY | CLOSED - INTEGRATION OBLIGATION | HTML: 'uses the canonical built-in Data Sculptor presentation'; TXT: no branding term (§32). |
| F-29 | CLARITY | CLOSED - INTEGRATION OBLIGATION | Headings follow scope and subject; IDs stable (§33). |
| F-30 | CLARITY | CLOSED - INTEGRATION OBLIGATION | Restore only from authoritative sources; mark unrecoverable damage explicitly (§34). |
| F-31 | CLARITY | CLOSED - INTEGRATION OBLIGATION | Omitted-ID table from authoritative metadata (§35). |
| F-32 | CLARITY | CLOSED - INTEGRATION OBLIGATION | Closed. |
| F-33 | CLARITY | CLOSED - INTEGRATION OBLIGATION | DGN, RCV reserved-not-emitted; unknown classes preserved and reported by INFO diagnostic and Inventory (§37). |
| F-34 | CLARITY | PARTIALLY CLOSED | Residual — MATERIAL (HLP schema); dependent on F-14/F-24. |
Partially closed findings are detailed in section C. Findings closed with an integration obligation have full records in the appendix.
C. Partially closed and reopened findings
No finding is reopened. The 15 partially closed findings follow in ID order. Of these, 7 were originally blocking and 8 were material or clarity.
F-02Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- An aliased WKO could not be edited and re-saved, the WKO MAP had no retirement path, and a missing or copied-in WKO left the registry deadlocked or ambiguous.
- What the reconciliation changed
- Three-column WKO MAP (wko_status, wko_alias, wko_filename); CURRENT/DEPRECATED; Replace alias target / Cancel at save; REPAIR WORK ORDER REGISTRY removes stale rows and registers unregistered valid WKOs (§7, §8).
- Why it does or does not resolve the finding
- The alias-lifecycle half is genuinely closed: edit, re-save, supersede without deletion, one CURRENT per alias, no timestamp arbitration.
- The registry repair cannot be reached when it is needed. §8.7 says a registry-changing transaction must not bypass a stale row. Saving any WKO is a registry-changing transaction (W002-STOR-018.3 publishes a successor WKO MAP). §8.8 says an unregistered WKO is not a Run target. So when a registered WKO file goes missing, the analyst cannot save a Work Order containing
REPAIR WORK ORDER REGISTRY, and cannot Run one unsaved or unregistered. The only exit is a pre-existing, registered, CURRENT repair WKO. The deadlock Pass 1 described is still there, one level down. - Run eligibility of a DEPRECATED WKO is left open (§8.3: 'governed Run eligibility follows the current registry and other separately frozen Run rules' — no such rule exists). Can last month's superseded Work Order be re-run for reproduction? Unstated.
- 'Passes the governed WKO validity checks' (§8.8) has no defined predicate. F-14 deferred class-specific validity; nothing later supplied it for WKO.
- The §8.4 'physical CSV truth' example is not in any deterministic row order (neither by filename nor alias), contradicting W002-STOR-018.2 byte-order serialization, and freezes no replacement order. Its WKO filenames (
…__D4.txt) are not valid UUID identities. REPAIR WORK ORDER REGISTRYhas no Receipt OPERATION token in F-09 (§12.7 lists MATERIALIZE, INVENTORY, UPDATE_ALIASES, REPAIR_MAP, CONVERT only).
- Revision BL requirements affected
- W002-STOR-018, 018.1–018.4, W002-UI-020, W002-UI-023, W002-MAT-ACC-002.3, W002-MAT-ACC-002.4
- Reconciliation log sections
- §7, §8
- Integration consequence
- Rewrite W002-STOR-018.2 (schema, ordering, one-CURRENT invariant), 018.3 (save transaction with Replace/Cancel), 018.4 (current registry selection vs F-12); add registry-repair operation, grammar, Receipt token and gates.
- Residual risk
- BLOCKING: the repair deadlock. MATERIAL: DEPRECATED Run eligibility, WKO validity predicate, WKO MAP row order, missing OPERATION token.
F-03Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- A missing RID or COL made the whole lineage ineligible, so the next MATERIALIZE silently forked a new Store; the RID recovery base was undefined.
- What the reconciliation changed
- Three Store statuses (VALID, DEGRADED, INVALID). Missing/invalid RID is INVALID and terminal. Missing/invalid COL is DEGRADED; only
REPAIR MAPis allowed, which drops broken COL bindings into a successor MAP. RID recovery retired. Ordinary materialization must not create a replacement Store for a DEGRADED or INVALID one (§3, §4, §7). - Why it does or does not resolve the finding
- The silent-fork path via ineligibility is closed for the single-Store-per-MAP reading: damage becomes an explicit status, and same-filename materialization refuses instead of forking.
- Lost COLs are now recoverable in two explicit steps (REPAIR MAP, then rematerialize from the same source under the F-04 gate). That is a clean improvement.
- REPAIR MAP has no target. §3.5 says the user names no MAP, Store alias or column, and 'Data Sculptor resolves the Store's current/latest governed MAP'. With several Stores in a Suitcase — and with F-05 allowing several Stores in one MAP — which Store is repaired? All DEGRADED Stores? Unstated.
- Repairing a Store whose every COL is broken deletes the Store. Store identity (rid_filename, store alias, source filename) exists only on COL rows (W002-STOR-019.6; F-05 §6.1). Removing all broken rows leaves no row for that lineage. The Store disappears from the MAP, and the next MATERIALIZE of the same source finds no lineage and creates a new Store — the exact silent fork F-03 was meant to close. The decision must refuse this case or keep a Store-level row.
- INVALID on 'untrustworthy current MAP' contradicts the malformed-newer-MAP fallback. W002-MAT-ACC-002 requires fallback to the greatest earlier valid MAP when a newer one is malformed; W002-STOR-019.10 says the same. F-03 §3.1 makes an untrustworthy current MAP INVALID and terminal. Which wins? Under F-05's multi-Store MAP, one corrupted file would make every Store in it terminal.
- 'Terminal' is not well defined. Status is not persisted anywhere; it is evaluated from file state. If a sync client finishes downloading the missing RID, the Store evaluates VALID again. Either 'terminal' means 'refused while the condition holds' (then say so) or status must be recorded (then say where).
- The depth of 'missing or invalid' checking is undefined. See P2-04.
- Revision BL requirements affected
- W002-STOR-019.2, 019.5, 019.8, 019.10, 019.11, W002-RID-001, 002, 008, 009, 010, W002-STEPS-010, W002-RID-ACC-005, W002-RCP-011, W002-MAT-ACC-002
- Reconciliation log sections
- §3, §4, §7
- Integration consequence
- Retire RID-009, RID-010, STEPS-010, RCP-011, RID-ACC-005 and the recovery clauses of RID-001/002/008, STOR-019.5/019.8/019.11, PB-STOR-013; add status, REPAIR MAP form, Receipt facts and gates.
- Residual risk
- BLOCKING: REPAIR MAP targeting; all-COLs-broken repair; INVALID vs fallback. MATERIAL: status persistence wording; validation depth (P2-04).
F-05Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- The source-to-MAP compatibility rule was cited but never defined, leaving join semantics to the implementer.
- What the reconciliation changed
- Single-source Store lineages; SOURCE must equal the lineage's common source_filename; no positional join; store_source_filename removed; one MAP may contain several Store lineages; Join MAP deferred (§6).
- Why it does or does not resolve the finding
- The compatibility predicate itself is now exact and testable, and the no-positional-join rule is clear.
- The Store MAP schema is explicitly left unfrozen ('does not freeze the final complete Store MAP column set, column order, or serialization', §6.2, §6.5). W002-MAT-ACC-002.1 is a byte-exact gate; the integrator would be designing the schema. The §6.2 example also renames columns (col_filename, col_alias) and drops source_column_number and source_header, which W002-STOR-019.7 and RESET COL depend on.
- The multi-Store MAP clause is a new model with wide consequences. It is raised separately as P2-01.
- Revision BL requirements affected
- W002-STOR-019.3, 019.6, 019.9, 019.12, W002-WKO-012.3, W002-WKO-012.6, W002-WKO-ACC-008, W002-MAT-ACC-002.1
- Reconciliation log sections
- §6, §7
- Integration consequence
- Rewrite 019.6/019.9 schema and row-consistency rule; RESET STORE ALIAS restores the lineage source_filename; add compatibility and no-positional-join gates.
- Residual risk
- MATERIAL: freeze the column set and order (my reading: W002-STOR-019.6 minus store_source_filename, other names unchanged — the Council should confirm). BLOCKING via P2-01.
F-06Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- The CSV input grammar and malformed-input rules were not frozen, so refusal condition and location could not be independently derived.
- What the reconciliation changed
- Comma only; quote placement rules; LF/CRLF only, bare CR refuses; EOF termination; single trailing terminator; one-column
""; BOM only at offset 0 (§9). - Why it does or does not resolve the finding
- Cases (a)–(g) from Pass 1 now have answers. This is a real improvement.
- Refusal location is still unfrozen. §9.3 delegates location facts to F-07. F-07 (§10) froze only the UTF-8 invalid offset. Nothing states what a malformed-CSV refusal reports: byte offset of which byte, logical record ordinal, physical line, field ordinal. W002-MAT-003.2 and W002-MAT-ACC-003 require 'first refusal location' to be window-invariant, so the oracle is still missing.
- 'A bare CR ... refuses' (§9.1) is not scoped to unquoted context. W002-MAT-ACC-004 requires CR inside quoted values to round-trip. The rule must say 'outside a quoted field'.
- EOF inside an open quoted field is not listed explicitly as a refusal condition (it is implied).
- A semicolon-delimited file does not refuse: it parses as a valid one-column CSV. That is truthful under the profile, but Pass 1 asked which diagnostic tells the analyst; the answer is none, so Help for 'HEADER not found' should mention delimiters.
- Revision BL requirements affected
- W002-MAT-002.8, W002-MAT-003.2, W002-MAT-003.3, W002-MAT-ACC-003, W002-MAT-ACC-004, W002-MAT-ACC-005, W002-MAT-001.6
- Reconciliation log sections
- §9, §10.5
- Integration consequence
- Add a normative CSV input-profile requirement; scope bare-CR to unquoted context; add refusal-location facts; extend MAT-ACC-003/005 fixtures.
- Residual risk
- BLOCKING: define the CSV refusal-location facts and condition tokens.
F-07Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- The UTF-8 first-invalid offset had no defined meaning, and the error contract it cited was not in the cut.
- What the reconciliation changed
- Zero-based absolute offset of the first byte of the invalid sequence; lead byte for sequences invalidated later or truncated at EOF; window-independent; BOM bytes counted (§10).
- Why it does or does not resolve the finding
- The offset oracle is now exact. For
E2 82 41,E0 80 80,ED A0 80and truncated sequences an independent fixture author gets one answer. - STOP_REASON is named but its token set is not enumerated. W002-ENC-004.15 and Receipts need exact values (EVID-W001B-UTF8-006 used INVALID_UTF8_SEQUENCE). One token, or a taxonomy (invalid lead, invalid continuation, truncated at EOF)?
- The fact names are uppercase (FIRST_INVALID_BYTE_OFFSET) while W002-HELP-001.4 requires lowercase snake-case fact keys; the registry example uses
byte_offset. Receipt keys and diagnostic fact keys need an explicit mapping.
- The offset oracle is now exact. For
- Revision BL requirements affected
- W002-ENC-004.10, W002-ENC-004.15, W002-ENC-ACC-006, 007, 008, 009, W002-HELP-001.4
- Reconciliation log sections
- §10
- Integration consequence
- Rewrite W002-ENC-004.10; enumerate STOP_REASON tokens; map Receipt keys to diagnostic fact keys.
- Residual risk
- MATERIAL: STOP_REASON token set; key-casing mapping.
F-08Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- DS-STEPS lexical rules were incomplete and the 'governed string-literal rules' were not in the cut.
- What the reconciliation changed
- Doubled-quote escaping; single-line strings; ASCII case-insensitive keywords; whitespace; whole-line comments only; canonical ordinals; enforced materialization clause order and cardinality; unknown lines refuse; no operation mixing; WKO bytes; RUN as sole composition token (§11).
- Why it does or does not resolve the finding
- The materialization grammar is now close to derivable by an independent parser.
- Only the materialization form has frozen structure. INVENTORY, UPDATE ALIASES (with AS/CLEAR/RESET, SOURCE-or-MAP), REPAIR MAP, REPAIR WORK ORDER REGISTRY and CONVERT (F-10 gives a form but not cardinality/order rules) have no clause order, cardinality or optional-clause rules. Is WORK ORDER AS allowed or required on INVENTORY?
- 'RUN ... when parsed as a construct' (§11.8) does not define the construct. A line whose first token is RUN? RUN followed by a string? The refusal gate needs the trigger shape.
- Token separation around
SUITCASE: .(isSUITCASE:.valid? is the colon a token?) and between the words of multi-word keywords is not stated. - Two decisions contradict Revision BL and other reconciliation decisions without disposition. Raised as P2-02.
- Revision BL requirements affected
- W002-STEPS-001, 001.1, 001.2, 002, 003, W002-WKO-012.1, 012.2, 012.5, 012.6, W002-WKO-013, W002-WKO-ACC-006, W002-INV-001, W002-MAT-ACC-002.4
- Reconciliation log sections
- §11, §13.2
- Integration consequence
- Add a lexical-rules requirement; add a per-operation structure table for all six operations; define the RUN trigger.
- Residual risk
- BLOCKING via P2-02. MATERIAL: five operation grammars; RUN trigger; token separation.
F-09Original: BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- Receipt and Inventory TXT must be tested byte-for-byte but their serialization was left to the implementation.
- What the reconciliation changed
- Physical form, KEY: VALUE, quoting, absence tokens, UNKNOWN_OPERATION, six-key common envelope, indexed lists, UPDATE_ALIASES facts, Inventory header and filename ordering (§12).
- Why it does or does not resolve the finding
- The shared grammar (encoding, line form, quoting, absence tokens, indexed lists) is sound and closes most of the original finding.
- The common envelope silently drops Revision BL core facts. W002-RCP-006 requires RECEIPT_FILENAME, RUN_STARTED_UTC, RUN_FINISHED_UTC and IDENTITY_COLLISION_RETRIES; W002-STOR-007.3 requires collision retries on the Receipt. §12.5 lists six keys (adding RECEIPT_UTC) and says nothing about the other four. Retired, or moved to operation facts?
- Operation facts are frozen only for UPDATE_ALIASES and CONVERT. MATERIALIZE (the main operation, whose facts W002-RCP-007 lists without key names or order), INVENTORY and REPAIR_MAP have no key names or order. §12.10 requires golden fixtures only for operations 'whose grammar is frozen' — which excludes MATERIALIZE.
- Inventory lines carry filenames only. W002-INV-003 requires byte length and last-modified per file; W002-INV-006 requires generating WKO identity and the Suitcase declaration. §12.9 has no key for any of them.
- Three-digit indices overflow. F-20 permits KEEP of 16,384 columns, so a Store-establishing Receipt lists 16,386 created artifacts; a Suitcase can hold more than 999 files. CREATED_ARTIFACT_nnn and FILE_nnn have no defined form past 999, and the F-20 maximum-width gate cannot produce a conforming Receipt.
- REPAIR WORK ORDER REGISTRY has no OPERATION token; F-20 fallback disclosure (§23.5) has no key form.
- Revision BL requirements affected
- W002-RCP-005, 006, 007, 008, W002-RCP-ACC-001, 002, W002-STOR-007.3, W002-INV-003, 006, W002-CONV-004.2–004.4
- Reconciliation log sections
- §12, §13.9, §23.5, §38.3
- Integration consequence
- Rewrite RCP-005/006/007/008 and INV-006 as full key tables per operation; add golden fixtures per operation.
- Residual risk
- BLOCKING: envelope vs RCP-006; MATERIALIZE/INVENTORY/REPAIR_MAP key tables; Inventory per-file fields; index width.
F-14Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- Publication path, validity predicates, SCR/RCV naming and attribution for non-Store artifacts were undefined.
- What the reconciliation changed
- All-or-Refuse principle for non-Store artifacts; validity distinct from authority (§17, second §17).
- Why it does or does not resolve the finding
- The principle is correct and needed.
- It does not supply what Pass 1 asked for. The WKO validity predicate is still undefined (F-02 depends on it). SCR filename form, content and extension are undefined (F-34.11's path-length calculation depends on them). Receipts are not required to list retained SCR evidence, so debris cannot be attributed. §27 explicitly left 'still-unresolved class-specific obligations' to later findings; F-33 did not take them up.
- CER: W002-STOR-022 makes direct create/write/close the validation test. F-14's 'no promotion before validation' would imply staging and rename for CER, which BL says the certificate does not certify. Is CER exempt?
- Revision BL requirements affected
- PB-STOR-008, PB-STOR-012, W002-STOR-018.3, W002-RCP-010, W002-MAT-002.6, W002-INV-002, W002-STOR-022, W002-HELP-009
- Reconciliation log sections
- §17 (F-14), §27
- Integration consequence
- Add a per-class publication table (path, validity predicate) and an SCR naming/attribution requirement.
- Residual risk
- MATERIAL: WKO predicate, SCR form, attribution, CER path.
F-16Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- A conversion suggestion conflicted with fixed per-diagnostic next_action, and the Windows-1252 mapping was not frozen.
- What the reconciliation changed
- Mapping frozen with the five undefined bytes refusing; UTF-8 diagnostic unchanged; Help may suggest conversion only when the complete source is compatible (§19).
- Why it does or does not resolve the finding
- The mapping and the refusal of undefined bytes are closed (integration should cite the normative table, e.g. Unicode.org CP1252.TXT, explicitly).
- The mechanism for the suggestion is not defined, and later decisions forbid the obvious ones. F-17 says Help renders only diagnostic facts; F-34.1 makes Help's inputs closed-world. So Help can suggest conversion only if compatibility is a declared diagnostic fact or a separate diagnostic. Neither is chosen. And the fixed next_action of the UTF-8 refusal diagnostic (the registry example says CONVERT_SOURCE_TO_UTF8) is still wrong for incompatible sources.
- When the compatibility pass runs (inside the refused run? a second whole-file pass?) and what the Receipt records about it remain unstated.
- Revision BL requirements affected
- W002-HELP-001.6, 001.7, 001.8, W002-CONV-002, 002.1–002.5, W002-CONV-003.5, W002-ENC-004.10
- Reconciliation log sections
- §19
- Integration consequence
- Choose: a compatibility fact on the UTF-8 diagnostic, or a separate INFO diagnostic; set next_action accordingly; specify the pass and its Receipt facts.
- Residual risk
- MATERIAL.
F-18Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- HLP provenance merged 'not applicable' with 'unavailable', and absence tokens differed across artifacts.
- What the reconciliation changed
- Shared four-token vocabulary adding NOT_APPLICABLE; HLP provenance must distinguish the two (§21).
- Why it does or does not resolve the finding
- The semantic distinction is exactly what Pass 1 asked for.
- W002-HELP-009 fixes the provenance JSON as ten fields with
nullfor absent lineage. §21.2 says the governed value is the token. Isoriginating_rcp_filenamenow the string"NOT_APPLICABLE", stillnull, or something else? The byte oracle for HP-ACC-010 depends on it. See P2-05.
- Revision BL requirements affected
- W002-HELP-009, W002-HP-ACC-010, W002-RCP-010
- Reconciliation log sections
- §21
- Integration consequence
- Rewrite HELP-009 JSON rules and HP-ACC-010.
- Residual risk
- MATERIAL via P2-05.
F-19Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- The HLP allowlist did not cover aliases, and a 'header' could be data in a headerless CSV.
- What the reconciliation changed
- Local Help may show relevant headers and aliases without redaction; relevance rule; local-processing boundary (§22).
- Why it does or does not resolve the finding
- For the live Help surface this is a clean decision.
- The finding was about the HLP, a support-handoff artifact designed to leave the machine. The local-processing argument (§22.4) does not apply to it. Does F-19 extend W002-HELP-010's HLP allowlist to aliases and headers, or only govern live Help?
- If a headerless CSV's first data row is rendered into an HLP as 'header', the HLP's frozen Disclosure section still declares
Source values included: NO. That declaration would be false.
- Revision BL requirements affected
- W002-HELP-010, W002-HP-ACC-011, W002-HELP-004.7
- Reconciliation log sections
- §22
- Integration consequence
- State whether aliases/headers enter HLP and in which tier; add a Disclosure caveat for header-derived text.
- Residual risk
- MATERIAL.
F-20Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- 'Bounded memory' had no limits; header width and KEEP width were unlimited.
- What the reconciliation changed
- 16,384-column source maximum; 1,024-scalar operational column name with 'Column <LETTERS>' fallback and collision suffixes; KEEP to 16,384; bounded writer concurrency with declared bound (§23, §27).
- Why it does or does not resolve the finding
- The width limits and the declared-bound evidence close the measurability gap.
- 'Operational column name' is new and its reach is undefined. Does
HEADERmatch the original header or the operational name? What goes into the MAPsource_headerfield, the COL header record (W002-MAT-002.11 says 'exact decoded source header'), and the default COL alias? RESET COL restores 'recorded source_header' — which one? - 'Repeatable multi-pass processing' contradicts one-pass. §23.7 permits it; W002-MAT-002.2 and W002-MAT-ACC-001 require the data records to be traversed exactly once.
- The collision suffixes (
[ordinal],-2) sit uneasily with W002-STEPS-006's 'must not invent suffixes', if the operational name becomes a default alias. - Maximum-width KEEP overflows the Receipt index width (see F-09).
- Revision BL requirements affected
- W002-ENC-001.5, W002-MAT-001.7, W002-MAT-002.2, 002.5, 002.10, 002.11, W002-MAT-ACC-001, 006, W002-STEPS-002, 006, W002-STOR-019.7
- Reconciliation log sections
- §23, §27
- Integration consequence
- Add width and name limits; define operational-name use in selectors, MAP, COL, alias; resolve one-pass vs multi-pass.
- Residual risk
- MATERIAL.
F-24Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- A new CER every session, no remembered Suitcase, no preferences, lost drafts.
- What the reconciliation changed
- Fresh CER per opening; superseded CERs compacted into one replaceable CER-history ZIP; no browser-private handle or preferences; unsaved-draft warning where possible (§28).
- Why it does or does not resolve the finding
- The session decisions (no remembered handle, no preferences, transient drafts with a warning) are clean.
- The CER-history ZIP is a new governed artifact with no identity. No class token, filename, extension rule or singleton name is given; W002-STOR-004 allows a well-known singleton only when its contract fixes the name.
- ZIP bytes are not deterministic unless compression method and entry timestamps are frozen; only entry order is.
- Replacing a singleton by name needs overwrite or delete-then-rename; both have crash windows (two ZIPs, a temporary-named ZIP, no ZIP). Recovery for those states is unstated. §28.3 covers leftover standalone CERs only.
- This introduces Data Sculptor-initiated deletion of governed artifacts, a new mutation class against PB-STOR-011's never-overwrite/mutate posture. It needs its own explicit rule.
- Canonical defaults for theme and Help voice are not named.
- Revision BL requirements affected
- W002-UI-017, W002-STOR-022, 022.1, PB-STOR-001, W002-STOR-004, PB-STOR-011
- Reconciliation log sections
- §28
- Integration consequence
- Define the container identity, format and crash states, or drop compaction and accept one CER per session.
- Residual risk
- MATERIAL.
F-25Original: MATERIAL NON-BLOCKINGPARTIALLY CLOSED
- Original issue (Pass 1)
- Target platform and small-screen baseline were undefined.
- What the reconciliation changed
- N100 11-inch Windows 11 laptop at 1920×1200; Edge primary; Firefox secondary; exact versions and display settings retained (§29).
- Why it does or does not resolve the finding
- The Edge baseline and evidence rules close the reproducibility gap.
- [I] Firefox does not, to my knowledge, implement
showDirectoryPickeror writable streams for user-chosen directories; PB-STOR-001 forbids an OPFS fallback. If so, the Suitcase-first gate can never pass in Firefox and the whole workspace stays locked. §29.3 says Firefox is 'exercised for WASM/core behavior and every capability it exposes' but defines no testable pass condition. What exactly passes in Firefox — a harness running the core against fixtures? Byte-identical outputs to Edge? Only a correct refusal diagnostic? This should be verified on current Firefox before integration.
- Revision BL requirements affected
- W002-UI-011, W002-UI-ACC-007, W002-UI-ACC-011, W002-STOR-022.1
- Reconciliation log sections
- §29
- Integration consequence
- Add a platform requirement; define Firefox pass criteria.
- Residual risk
- MATERIAL.
F-34Original: CLARITYPARTIALLY CLOSED
- Original issue (Pass 1)
- Eleven smaller underspecified points.
- What the reconciliation changed
- Closed-world Help fields; exact build id; Inventory directories; STOR-014 principle only; read-only Flight Recorder UI; operation-bound context; success events as INFO; one HLP per report request; Help semantics in Rust core; N=0 RID; path-length from longest emitted name (§38).
- Why it does or does not resolve the finding
- Nine of eleven are closed.
- HLP multiplicity (§38.8) conflicts with HLP provenance. One HLP now carries several diagnostics, but W002-HELP-009's frozen payload has one
diagnostic_id. Also, HLPs exist for diagnostics that have no run (Suitcase validation failure, WKO save refusal); '§38.8 for a run' does not cover them, and W002-UI-016 generates from 'an active governed diagnostic'. - Path-length (§38.11) cannot be computed because SCR filename forms (F-14) and the CER-history ZIP name (F-24) are undefined.
- Help semantics in the Rust core (§38.9) vs W002-HELP-002.11 ('the browser Help layer reads only this embedded payload'): the catalog must reach the core from the HTML, and the later native CLI needs a catalog source too. Resolvable, but say how.
- Revision BL requirements affected
- W002-HELP-005, 006, 009, 002.11, W002-INV-005, W002-STOR-012, 014, W002-UI-007, W002-UI-016, W002-UI-ACC-016, W002-RID-004, W002-STOR-022.1
- Reconciliation log sections
- §38
- Integration consequence
- Rewrite HELP-009 for multi-diagnostic HLP and non-run HLP; add Flight Recorder surface requirement; add path-length gate once names exist.
- Residual risk
- MATERIAL (HLP schema); dependent on F-14/F-24.
D. New Pass 2 findings
| ID | Severity | Finding |
|---|---|---|
| P2-01 | BLOCKING | The multi-Store MAP model introduced in F-05 is not carried through current state, successors, history, status or selectors, and it reopens a silent Store disappearance and fork path |
| P2-02 | BLOCKING | The F-08 grammar makes WORK ORDER AS mandatory and forbids trailing comments, contradicting Revision BL and F-02 without disposition |
| P2-03 | MATERIAL NON-BLOCKING | The strict-monotonic UTC guard has two unhandled edges: a future-dated MAP locks the Suitcase with no governed exit, and 'exact predecessor' is ambiguous for historical bases |
| P2-04 | MATERIAL NON-BLOCKING | How deeply RID and COL validity are checked is undefined, yet Store status, routing and the cardinality gate depend on it |
| P2-05 | MATERIAL NON-BLOCKING | The absence vocabulary has no defined encoding in typed JSON facts, Boolean boundary facts or HLP provenance |
| P2-06 | MATERIAL NON-BLOCKING | The F-11 resolution cites Revision BL requirement text that is not in the reviewed cut |
| P2-07 | CLARITY | The reconciliation log's own record has integrity defects |
P2-01BLOCKING
The multi-Store MAP model introduced in F-05 is not carried through current state, successors, history, status or selectors, and it reopens a silent Store disappearance and fork path
Reconciliation sections: §3, §6, §18, §24 (resolutions F-03, F-05, F-15, F-21, F-34)
Revision BL: W002-STOR-010.1 W002-STOR-019.1 W002-STOR-019.2 W002-STOR-019.9 W002-UI-ACC-016 W002-WKO-012.3
Evidence
- E F-05 §6.1: 'one Store MAP may describe multiple Stores'. §6.2's example shows Store B's successor MAP carrying Store A's rows 'copied forward'.
- E Revision BL still says the opposite in several places: W002-STOR-010.1 ('the single Store metadata snapshot'), W002-STOR-019.1 ('An explicitly named valid MAP binds the run to exactly the Store identified by that MAP's rid_filename'), W002-STOR-019.9 (first four fields byte-identical on every row).
- E W002-WKO-012.3: an alias-only Work Order uses SOURCE or MAP as its selector, 'not both'.
- E F-21 §24.3: a successor derived from a historical MAP becomes current if it is latest. F-03 §3.5: REPAIR MAP takes no selector. F-15 §18.3: comparison happens within 'the same applicable ... class/lineage', undefined for a shared file.
Why it matters
- I Concrete fork. Store A (crime.csv) is established in MAP1. Store B (population.csv) is added; MAP2 carries A and B. The analyst runs
UPDATE ALIASESwithMAP "MAP1", which F-21 permits. MAP3 is derived from MAP1 and contains only Store A. MAP3 is latest, so it is current. Store B is no longer in current state; its RID and COLs are orphaned. The nextMATERIALIZE SOURCE "population.csv"finds no lineage and establishes a new Store with a new RID. No refusal, no warning: the F-03 failure mode, by a different route. - I An alias-only Work Order selecting by MAP cannot name which lineage in a multi-Store MAP it targets, since SOURCE may not accompany MAP.
- I It is not stated whether a DEGRADED or INVALID Store A blocks publication of successors for Store B when the successor must carry A's broken rows, nor whether a malformed shared MAP makes every Store INVALID (see F-03).
- I UI-ACC-016's 'MAP associated with the current governed context' and F-34.6's operation-bound context both assume one MAP per Store.
Impact if integrated as written. Integrating F-05 as written would make one analyst action silently remove a Store from current state and let the next routine run fork it. That breaks the row-identity promise WASM-002 exists to prove.
Question / direction for T. Two coherent options. (a) One Store lineage per Store MAP file — keep F-05's single-source invariant and its compatibility predicate, drop the multi-Store clause. Current state is the latest MAP per lineage, as in Revision BL. This is the smaller change and I recommend it. (b) A Suitcase-wide Store MAP — then freeze: successors are always derived from the current Suitcase MAP with only the target lineage changed; historical selection selects a lineage state, not a whole file; status is per lineage; every selector (UPDATE ALIASES, REPAIR MAP) names a lineage; and a malformed MAP falls back rather than bricking all Stores.
P2-02BLOCKING
The F-08 grammar makes WORK ORDER AS mandatory and forbids trailing comments, contradicting Revision BL and F-02 without disposition
Reconciliation sections: §7, §8, §11 (resolutions F-02, F-08)
Revision BL: W002-MAT-ACC-002.3 W002-MAT-ACC-002.4 W002-STEPS-001 W002-STEPS-001.1 W002-STEPS-001.2 W002-STOR-018.2
Evidence
- E F-08 §11.5: the materialization form contains 'exactly one WORK ORDER AS "..." clause'.
- E Revision BL: W002-STEPS-001.1 ('at most one optional top-level clause'), W002-STOR-018.2 (wko_alias is 'the empty string when no alias is declared'), W002-MAT-ACC-002.3 (fixture must save 'one without a WORK ORDER AS clause'). F-02 §8.8 also relies on 'an unaliased valid WKO'. BL's INVENTORY and RECOVER RID forms have no alias.
- E F-08 §11.3: '#' begins a comment only as the first non-whitespace character; 'Inline comments are not part of the WASM-002 lexical contract'.
- E Revision BL: W002-STEPS-001.2 ('Whole-line comments and trailing comments are permitted'); the canonical W002-STEPS-001 example itself has a trailing comment (
# reporting year) and would now refuse as unknown syntax; W002-MAT-ACC-002.4 requires trailing comments to be ignored. - E Neither reversal appears in the §7 integration consequences or the F-08 acceptance list as a retirement of BL text.
Why it matters
- I An independent parser author cannot tell whether an unaliased materialization WKO validates, or whether the canonical example in the contract is valid.
- I If the alias is mandatory, F-02's unaliased-WKO registry rules are dead text; if optional, §11.5 is wrong.
Impact if integrated as written. Save-time validation, the canonical example and two acceptance gates disagree; a build cannot pass them all.
Question / direction for T. Decide both explicitly. If trailing comments and optional aliases are being withdrawn deliberately, list the BL text to retire (STEPS-001, 001.1, 001.2, STOR-018.2, MAT-ACC-002.3, 002.4). If not, correct §11.3 and §11.5. Then give the structure table for the other five operations (F-08 residual).
P2-03MATERIAL NON-BLOCKING
The strict-monotonic UTC guard has two unhandled edges: a future-dated MAP locks the Suitcase with no governed exit, and 'exact predecessor' is ambiguous for historical bases
Reconciliation sections: §16, §24 (resolutions F-02, F-03, F-12, F-21)
Revision BL: W002-STOR-018.3 W002-STOR-018.4
Evidence
- E F-12 §16.1/§16.3: successor UTC must exceed 'the exact predecessor MAP UTC'; otherwise refuse, no retry, no synthesized time.
- E W002-STOR-018.3: every WKO save publishes a successor WKO MAP. F-02/F-03: repairs are Work Order operations, so they need a saved WKO.
- E F-21 §24: successors may be derived from a historical base.
Why it matters
- I Lockout. A Suitcase last written on a machine whose clock was ahead — a laptop with a wrong time zone writing local time as UTC is enough — carries a WKO MAP timestamped hours or days in the future. Until the local clock passes it, no WKO can be saved, so no Work Order of any kind (including a repair) can be authored. The only exit is manual file surgery, which the product otherwise tells the analyst not to do.
- I Unreachable successor. If 'exact predecessor' means the derivation base, a successor derived from an older MAP can pass the guard while being older than the current MAP. It publishes successfully but never becomes current: the run reports success and nothing changes. If it means the current latest MAP in the domain, say so.
Impact if integrated as written. A plausible clock misconfiguration can freeze a Suitcase; a historical-base publication can succeed invisibly.
Question / direction for T. Define 'predecessor' as the current latest MAP in the comparison domain. Decide a governed exit for future-dated state (at minimum a Help path naming the offending artifact and the manual remedy, or an explicit acknowledgment Work Order that does not itself need a WKO MAP successor).
P2-04MATERIAL NON-BLOCKING
How deeply RID and COL validity are checked is undefined, yet Store status, routing and the cardinality gate depend on it
Reconciliation sections: §3, §5 (resolutions F-03, F-04, F-20)
Revision BL: W002-WKO-012.4
Evidence
- E F-03 §3.1: status turns on whether the RID and each mapped COL are 'missing or invalid'.
- E F-04 §5.3: 'a valid RID must be internally consistent with its own header' (exactly N records, exactly 1..N); the gate 'reads N from the already-valid RID header' without scanning it.
- E W002-WKO-012.4: alias-only execution 'must not reread source data rows'; F-20 allows 16,384 COLs over tens of millions of rows.
Why it matters
- I Full validation means reading every bound RID and COL end to end — potentially hundreds of GB for a wide, long Store — before every Store operation, including a one-line alias change.
- I Existence-only checking would miss truncated or corrupt COLs and mark damaged Stores VALID.
- I F-04's 'already valid' is circular unless validation depth is defined. Two correct implementations would assign different statuses to the same Suitcase.
Impact if integrated as written. Store status — which decides whether work is refused, repaired or routed — becomes implementation-defined.
Question / direction for T. Freeze validation tiers: for example, routing and status use a structural check (present, readable, canonical header, byte length consistent with N where computable), and full content validation happens only when an operation reads the artifact. Say which tier each operation uses and what 'invalid' means in each.
P2-05MATERIAL NON-BLOCKING
The absence vocabulary has no defined encoding in typed JSON facts, Boolean boundary facts or HLP provenance
Reconciliation sections: §20, §21 (resolutions F-17, F-18)
Revision BL: W002-HELP-001.4 W002-HELP-004.11 W002-HELP-009 W002-HP-ACC-009
Evidence
- E F-17 §20.4 and F-18 §21.1: absence is NONE, NOT_RUN, NOT_AVAILABLE, NOT_APPLICABLE, and 'the governed value is NOT_APPLICABLE'.
- E Revision BL: W002-HELP-001.4 (an optional fact 'may be absent' — the key is omitted), W002-HELP-004.11 (Boolean facts are JSON booleans, 'never the strings'), W002-HELP-009 (absent lineage is JSON null, exactly ten fields).
Why it matters
- I For a Boolean boundary fact that is unavailable, is the key omitted, set to
null, or set to the string"NOT_AVAILABLE"(which BL forbids)? For HLP provenance, is itnullor"NOT_APPLICABLE"? Placeholder rendering, fixtures and HP-ACC-009/010 all depend on the answer.
Impact if integrated as written. Two encodings of absence would coexist, which is exactly the ambiguity F-18 set out to remove.
Question / direction for T. Freeze one encoding table: TXT artifacts use the bare tokens; JSON artifacts use a stated form per fact type (e.g. omitted key = not applicable, explicit token string for the other three), with W002-HELP-004.11 and 009 amended to match.
P2-06MATERIAL NON-BLOCKING
The F-11 resolution cites Revision BL requirement text that is not in the reviewed cut
Reconciliation sections: §14 (resolutions F-05, F-11)
Revision BL: PB-STOR-002 W002-STOR-010.1 W002-STOR-012 W002-STOR-015
Evidence
- E §14.4 says 'W002-STOR-010.1 remains in force: an alias may orient a user to a Store, column, operation, source, Receipt, Help event, or artifact'. In the cut, W002-STOR-010.1 is 'WASM-002 MAP artifacts are unified Store MAP snapshots' and contains no such text; the phrase appears nowhere in the cut.
- E §14.7 says W002-STOR-012 has a 'Store Index reference'; the cut's W002-STOR-012 has none.
- E §14.8 says W002-STOR-015 contains a 'current Store Map/Index selection rule' and an 'illustrative Store Index example'; neither is in the cut's W002-STOR-015. (The only 'Store Map/Index' is in PB-STOR-002.)
Why it matters
- I The integration map for F-11 was built against text other than the reviewed baseline — perhaps the master, perhaps an earlier revision. An integrator following §14 would edit phantom clauses and leave the real W002-STOR-010.1 — which conflicts with F-05's multi-Store MAP — declared 'in force'.
Impact if integrated as written. Integration would be driven by a misquote; the real conflicting requirement would survive.
Question / direction for T. Re-derive §14.4, §14.7 and §14.8 against the cut (or cite the master by hash if it differs), and resolve the real W002-STOR-010.1 together with P2-01.
P2-07CLARITY
The reconciliation log's own record has integrity defects
Reconciliation sections: §8, §18, §36 (resolutions F-01, F-03, F-07, F-08, F-09, F-10, F-11, F-13, F-14, F-32, F-33)
Revision BL: none — the defects are in the reconciliation log itself
Evidence
- E Two sections numbered 17 and two numbered 18; §18 'Next reconciliation target' and the document footer sit between F-13 and F-14.
- E Per-section closure counts are stale (F-08 says '7 of 34 closed; 27 remain'; F-09 '8 of 34'; F-10 '9'; F-11 '10'), because F-03–F-07 were closed out of order.
- E §36.8, under F-32, says F-01 through F-33 are resolved.
- E The §8.4 'physical CSV truth' example uses non-UUID filenames and unsorted rows.
- E No SHA-256 sidecar accompanies the log; I have identified it by hash myself (Section A).
Why it matters
- I The log is append-only evidence. Its errors become permanent unless corrected by addendum.
Impact if integrated as written. Low, but a later reader could misdate or misattribute a decision.
Question / direction for T. Add an erratum addendum and a sidecar; do not edit the earlier text.
E. Cross-finding coherence
Store state and recovery
The three-status model is sound only once P2-01 is decided. With multi-Store MAPs, a historical-base alias update (F-21) removes other Stores from current state, a malformed shared MAP could make every Store INVALID (F-03), and REPAIR MAP cannot tell which Store to repair. Independently, repairing a Store with no surviving COL deletes it and re-opens the fork. Store status is evaluated, not recorded, so an INVALID Store 'revives' if its RID reappears; that is acceptable once 'terminal' is reworded.
WKO lifecycle and registry
Alias supersession works. The registry cannot repair itself when broken (F-02), and a future-dated WKO MAP blocks all saves (P2-03), so both registry failure modes end in lockout. The Replace/Cancel choice happens in a dialog at save time and leaves no Receipt; the MAP diff is its only evidence. Consider recording it.
Publication and chronology
All-or-Refuse (F-14) and strict monotonic UTC (F-12) combine well for ordinary work. The gaps are the predecessor definition for historical bases (a valid successor can be published yet never become current) and the future-dated lockout (P2-03).
Store/source compatibility
No path creates an implicit positional join: single-source lineage (F-05), exact filename match (F-15), cardinality gate (F-04) and root-only SOURCE (F-26) together close it. Note that CVT filenames are unique per conversion, so re-converting a legacy file always starts a new Store.
CSV, encoding, conversion
Byte-level rules agree: the BOM counts toward offsets (F-07) but not toward the first header (F-06); conversion adds no BOM and treats EF BB BF as data (F-10); certification precedes conversion. Byte-preserving conversion means bare-CR legacy files convert and then refuse at materialization — honest, but Help should say so. CSV refusal location is the open oracle (F-06).
DS-STEPS grammar
An independent parser can now be built for materialization only. The other five operations lack structure rules, and P2-02 leaves the canonical example itself invalid.
Receipts, Inventory, diagnostics, Help
The TXT grammar is good; its per-operation content is mostly missing (F-09), including for the most important operation. Help cannot suggest conversion under the closed-world fact rule unless compatibility becomes a declared fact (F-16). Absence encoding in JSON is unresolved (P2-05). HLP provenance cannot carry several diagnostics as frozen (F-34). QA independence for the diagnostic catalogue is knowingly waived (F-22); record it as accepted risk.
Browser, session, storage
No implicit browser state alters analytical meaning: no persisted handle, no preferences, exact name comparison, root-only SOURCE. The CER-history ZIP introduces deletion and an unnamed singleton (F-24). The Firefox role is untestable as written (F-25).
F. PRD integration checklist
This is the work the successor revision must do, grouped by kind. The first two groups are decisions for T; the rest are editing obligations once those decisions are made.
Decide before integration (blocking)
- P2-01 — choose one-lineage-per-Store-MAP or a fully specified Suitcase-wide Store MAP; then rewrite W002-STOR-010.1, 019.1, 019.2, 019.9, W002-WKO-012.3, W002-UI-ACC-016 to match.
- P2-02 — decide WORK ORDER AS optionality and trailing comments; list retired BL text (W002-STEPS-001, 001.1, 001.2, W002-STOR-018.2, W002-MAT-ACC-002.3, 002.4).
- F-02 — make registry repair reachable when the registry is broken (e.g. the save of a WKO whose only operation is REPAIR WORK ORDER REGISTRY is exempt from successor-WKO-MAP validation, or the operation runs without a saved WKO under a defined evidence rule). Freeze DEPRECATED Run eligibility, the WKO validity predicate and WKO MAP row order; add the OPERATION token.
- F-03 — REPAIR MAP target selection; refuse (or keep a Store-level row) when every COL is broken; reconcile 'untrustworthy current MAP → INVALID' with the malformed-newer-MAP fallback in W002-MAT-ACC-002 and W002-STOR-019.10; state that status is evaluated, not persisted.
- F-06 — freeze CSV refusal-location facts and condition tokens; scope bare-CR refusal to unquoted context.
- F-09 — reconcile the six-key envelope with W002-RCP-006 and W002-STOR-007.3; freeze key tables for MATERIALIZE, INVENTORY, REPAIR_MAP and registry repair; Inventory per-file size, last-modified, WKO identity and Suitcase declaration; index width beyond 999.
Decide no later than integration (material)
- F-05 — freeze the Store MAP column set and order (confirm BL nine columns minus store_source_filename).
- F-07 — enumerate STOP_REASON tokens; map uppercase Receipt keys to lowercase diagnostic fact keys.
- F-08 — structure tables for INVENTORY, UPDATE ALIASES, REPAIR MAP, REPAIR WORK ORDER REGISTRY, CONVERT; define the RUN trigger and token separation.
- F-14 — per-class publication path and validity predicate (WKO, RCP, INV, CER, HLP, CVT); SCR filename form; Receipt lists retained SCR evidence; CER exemption from staging.
- F-16 — carry compatibility as a declared diagnostic fact or a separate INFO diagnostic; fix next_action; specify when the compatibility pass runs and its Receipt facts; cite the normative CP1252 table.
- F-19 — state whether aliases and headers enter the HLP allowlist and in which tier; add a Disclosure caveat for header-derived text.
- F-20 — define operational column name use in HEADER matching, MAP source_header, COL header, default alias, RESET; resolve multi-pass against W002-MAT-002.2 / MAT-ACC-001.
- F-24 — CER-history container class, filename, format determinism, crash states and deletion rule; or drop compaction.
- F-25 — define what passes in Firefox, after verifying its directory-access support.
- F-34 — multi-diagnostic and non-run HLP vs the W002-HELP-009 payload; path-length gate after SCR and ZIP names exist; catalog delivery to the Rust core.
- P2-03 — 'predecessor' = current latest MAP in the domain; governed exit for future-dated state.
- P2-04 — validation tiers for RID/COL per operation.
- P2-05 — one absence-encoding table for TXT and JSON; amend W002-HELP-001.4, 004.11, 009.
- P2-06 — re-derive F-11 §14.4/14.7/14.8 against the cut.
Retire or rescope (Revision BL)
- RID recovery: W002-RID-009, W002-RID-010, W002-STEPS-010, W002-RCP-011, W002-RID-ACC-005; recovery clauses in W002-RID-001, 002, 008, W002-STOR-019.5, 019.8, 019.11, PB-STOR-013, W002-STOR-015, W002-RCP-008, W002-WKO-012.1.
- Store Index: W002-STOR-010.3, 010.4 → DIR / WASM-003; retitle W002-STOR-010; PB-STOR-002 'Store Map/Index' → 'Store MAP'.
- Description: W002-UI-ACC-019 replaced; 'persistent Work Order description storage' removed from W002-STOR-015.
- RCV as an emitted class: every 'SCR/RCV' mention (W002-MAT-002.6, 002.7, W002-STOR-018.3, 019.5, 019.10, W002-RID-002, W002-WKO-012.4, W002-MAT-ACC-005).
- store_source_filename: W002-STOR-019.6, 019.9, 019.12, W002-UI-ACC-017, W002-MAT-ACC-002, 002.1, W002-WKO-012.6 (RESET STORE ALIAS restores the lineage source_filename).
Amend (Revision BL)
- Storage: PB-STOR-006 (MAP profiles; DGN, RCV reserved-not-emitted; CER-history container if kept), PB-STOR-009 (INFO + Inventory reporting, including known-but-not-emitted classes), W002-STOR-018.x (three-column WKO MAP, CURRENT/DEPRECATED, Replace/Cancel, repair), W002-STOR-019.10 (reference-bounded eligibility, status), W002-STOR-020 (exact scalar-value comparison; shadowing at publication only), W002-STOR-022.x (fresh CER per session; built-in presentation wording).
- RID: W002-RID-004 (header N=<value>, N=0 form), W002-RID-ACC-001 (new golden bytes), W002-RID-008 (DEGRADED/INVALID/REPAIR MAP).
- Materialization: W002-MAT-002.8 plus a new CSV input-profile requirement; W002-MAT-002.6/002.7 (cardinality gate before promotion); W002-MAT-ACC-003/004/005 fixtures; new width and header-name limits (F-20).
- Encoding and conversion: W002-ENC-004.10 (offset rule), W002-ENC-ACC-006/009 (exact offsets); W002-CONV-001–004 (form, CVT serialization, precondition, Receipt facts); W002-CONV-ACC-001 extended; W002-CONV-004.2/.3 colon form.
- Receipts and Inventory: W002-RCP-005/006/007/008, W002-RCP-ACC-001/002, W002-INV-005 (directories mandatory), W002-INV-006 (full grammar; drop 'branded').
- Help: W002-HELP-001.8 and W002-HP-ACC-013 (narrowed scope), W002-HELP-005 (closed-world fields), W002-HELP-006 and 002.11 (Rust core and catalog delivery), W002-HELP-009 (build id, absence encoding, multiplicity), W002-HELP-010 (aliases/headers), W002-HELP-003.2 and W002-HP-ACC-003 (wording).
- Work Orders: W002-STEPS-001/001.1/001.2/003 per F-08 and P2-02; W002-WKO-008/009 SOURCE root-only; W002-WKO-013 and W002-WKO-ACC-006 (RUN trigger).
- UI: W002-UI-006 (read-only alias), W002-UI-016 (drop 'Brand'), W002-UI-017 (fresh CER, compaction), W002-UI-011 and W002-UI-ACC-007 (platform), W002-UI-ACC-016 (operation-bound context), W002-UI-025 (name the defaults).
Add (new normative requirements and gates)
- Store status (VALID/DEGRADED/INVALID), REPAIR MAP form, Receipt facts, and gates: missing COL → DEGRADED; missing RID → INVALID; repair removes only broken bindings; non-repair operations refuse while DEGRADED; all-COLs-broken case.
- Existing-Store cardinality gate with facts and refusal gate; distinct-filename new-Store gate.
- Single-source lineage and source/MAP compatibility; no positional join (equal-N different-source refusal).
- CSV input profile; DS-STEPS lexical section; per-operation structure table.
- Strict monotonic successor UTC with injected-clock gate.
- Single-writer boundary; All-or-Refuse for non-Store artifacts; per-class publication table.
- Absence vocabulary and encoding table.
- Governed test seams with release-absence evidence.
- Session model: no persisted handle or preferences; unsaved-draft warning.
- Platform baseline (N100, Edge, Firefox role) with retained environment evidence.
- Read-only Flight Recorder surface; exact build identifier.
- Gates listed in §26.1 of the log (CLEAR/RESET, Receipt-publication failure, collisions, unknown classes, case-variant names, WKO save rollback, catalog HTML safety, UPDATE_ALIASES/INVENTORY Receipt facts).
Structure and terminology
- Headings regenerated from scope and subject (F-29); EVID-W001B-UTF8-003 restored from the master or marked unrecoverable (F-30); omitted-ID table (F-31); MAP / Store MAP / WKO MAP sweep (F-32).
Explicitly outside WASM-002
- Join MAP (F-05 §6.7); DIR (WASM-003); configurable branding / Brand Manifest; persisted UI preferences; NEW STORE syntax (deliberately not added); multi-writer coordination; RID recovery; Work Order composition beyond the RUN refusal.
G. Gate conclusion
NOT READY FOR CANONICAL PRD INTEGRATION
The decisions below must be resolved first. Each is an unresolved contradiction or an unreachable path that an implementer could not close without inventing behaviour:
- P2-01 — the Store MAP cardinality model: one lineage per Store MAP file (recommended) or a fully specified Suitcase-wide MAP.
- P2-02 — whether
WORK ORDER ASis mandatory and whether trailing comments are withdrawn, with the Revision BL text to retire. - F-02 — make REPAIR WORK ORDER REGISTRY reachable while the registry is stale.
- F-03 — REPAIR MAP targeting, the all-COLs-broken case, and INVALID versus the malformed-newer-MAP fallback.
- F-06 — CSV refusal-location facts and condition tokens.
- F-09 — the Receipt envelope against W002-RCP-006, and key tables for MATERIALIZE, INVENTORY and the repair operations.
Once these are decided, the material residuals and P2-03 to P2-07 can be settled no later than integration. None of them needs a further QA pass on its own. A short Pass 3 on the six items above, together with the resulting successor text, would be enough to move this gate.
Appendix — records for findings closed with an integration obligation
Full per-finding records for the 19 findings not detailed in section C, in ID order.
F-01Original: BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- W002-UI-ACC-019 required an editable Work Order Description that three other requirements forbid.
- What the reconciliation changed
- Retires the mutable Description model and replaces the gate with one proving there is no Description field and that any WKO byte change produces a derived draft (§15).
- Why it does or does not resolve the finding
- The contradiction is removed rather than implemented, and the replacement gate is testable from the text.
- Same-alias successors now route through the F-02 lifecycle (§15.5), so the rewrite depends on F-02 being sound. See F-02.
- Revision BL requirements affected
- W002-UI-ACC-019, W002-UI-023, W002-STOR-018, W002-STOR-015, W002-MAT-ACC-002.4
- Reconciliation log sections
- §15
- Integration consequence
- Replace W002-UI-ACC-019; remove 'Persistent Work Order description storage' from W002-STOR-015; consider merging with W002-MAT-ACC-002.4.
- Residual risk
- None beyond F-02.
F-04Original: BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- A same-filename source refresh routed into last month's Store with no cardinality check, and there was no way to ask for a new Store.
- What the reconciliation changed
- RID header becomes
N=<value>; existing-Store materialization refuses before promotion when candidate N differs; a distinct source filename is the explicit new-row-universe signal; no NEW STORE syntax (§5). - Why it does or does not resolve the finding
- The count gate is precise: phase (before any COL/MAP promotion), comparison, outcome (existing Store stays VALID) and Help all stated.
- Rejecting NEW STORE syntax in favour of a visible distinct filename is a legitimate design choice, and it is now explicit rather than a hidden trick.
- The RID byte form changes (literal
RID→N=5); W002-RID-004 and W002-RID-ACC-001 golden bytes must change. §38.10 gives N=0. - The cardinality gate trusts the RID header only if the RID is 'already valid' (§5.3). How valid is established is P2-04.
- Revision BL requirements affected
- W002-RID-004, W002-RID-005, W002-RID-ACC-001, W002-MAT-002.6, W002-MAT-002.7, W002-STOR-019.2
- Reconciliation log sections
- §5, §38.10
- Integration consequence
- Rewrite W002-RID-004 and RID-ACC-001; add a normative cardinality-gate requirement, diagnostic facts (expected_N, candidate_N) and refusal gate; add a distinct-filename new-Store gate.
- Residual risk
- Equal-N refreshes still align silently; this is the accepted assurance boundary (W002-HELP-011).
F-10Original: BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Windows-1252 conversion had no Work Order form, output contract, or CVT serialization.
- What the reconciliation changed
- Canonical CONVERT WINDOWS-1252 TO UTF-8 form; strict-UTF-8-first precondition; transcoding only; byte-preserved CR/LF/CRLF; no BOM added and leading EF BB BF mapped as data; SCR→CVT commit; Receipt facts; golden bytes (§13).
- Why it does or does not resolve the finding
- Every Pass 1 question has an answer, and the golden fixture
63 61 66 E9 0D 0A → 63 61 66 C3 A9 0D 0Ais a genuine oracle. - Byte-preserving line endings mean a legacy file with bare-CR records converts to a CVT that F-06 will refuse at materialization. That is honest and consistent, but Help should anticipate it.
- Each conversion gets a new CVT filename, so under F-04 a monthly re-conversion always creates a new Store and never extends one. Consistent, worth stating in Help.
- Every Pass 1 question has an answer, and the golden fixture
- Revision BL requirements affected
- W002-CONV-001–004.5, W002-CONV-ACC-001, 002, PB-STOR-006
- Reconciliation log sections
- §13
- Integration consequence
- Add the form, CVT serialization, precondition and Receipt facts as normative requirements; extend CONV-ACC-001; move CONV-ACC out of the '6A' heading.
- Residual risk
- Minor: Help for bare-CR CVTs and re-conversion routing.
F-11Original: BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- The Store Index was an in-scope obligation with no class, trigger or content contract.
- What the reconciliation changed
- Store Index retired from WASM-002; STOR-010 narrowed to aliases; 010.3/010.4 move to DIR (WASM-003) (§14).
- Why it does or does not resolve the finding
- The decision is right and cheap.
- However, §14.4, §14.7 and §14.8 describe Revision BL text that does not appear in the reviewed cut (see P2-06). The integration map for this finding must be re-derived from the actual baseline.
- Revision BL requirements affected
- W002-STOR-010, 010.1–010.4, PB-STOR-002, W002-STOR-012, W002-STOR-015
- Reconciliation log sections
- §14
- Integration consequence
- Retire 010.3/010.4; retitle 010; fix PB-STOR-002; re-derive 010.1 against P2-01.
- Residual risk
- MATERIAL via P2-06.
F-12Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Greatest-UTC current-state selection had no guard against clock steps or same-millisecond ties.
- What the reconciliation changed
- A successor MAP must carry observed UTC strictly greater than its predecessor, else publication refuses; no synthesized timestamps (§16).
- Why it does or does not resolve the finding
- The two failure modes Pass 1 named (silent staleness, self-inflicted ties) now produce visible refusals.
- The fix creates two new edges, raised as P2-03: a future-dated MAP locks the Suitcase with no governed exit, and 'exact predecessor' is ambiguous when the base is a historical MAP.
- Revision BL requirements affected
- PB-STOR-013, PB-STOR-011, W002-STOR-019.2, W002-STOR-018.4
- Reconciliation log sections
- §16
- Integration consequence
- Add the monotonic rule, diagnostic facts (predecessor_utc, observed_utc) and the injected-clock gate.
- Residual risk
- MATERIAL via P2-03.
F-13Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- The single-writer assumption was not stated.
- What the reconciliation changed
- One user, one Suitcase, one writing execution context; concurrent writers out of contract; observable invalidation before commit fails safely (§17, first §17; §17.5).
- Why it does or does not resolve the finding
- An explicit boundary is the right closure for a lone-analyst product.
- Two tabs of Data Sculptor on the same Suitcase are an easy accident with no detection. Accepted boundary, but Help should mention it.
- Revision BL requirements affected
- W002-ARCH-014, W002-STOR-018.3, W002-STOR-019.5
- Reconciliation log sections
- §17 (F-13), §27
- Integration consequence
- Add a normative single-writer requirement.
- Residual risk
- Accepted boundary.
F-15Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- MAP eligibility could change when unrelated files appeared, and comparison rules were undefined.
- What the reconciliation changed
- Reference-bounded eligibility; exact Unicode scalar-value comparison, no case folding or normalization; ambiguous resolution refuses (§18).
- Why it does or does not resolve the finding
- Both halves are closed and cross-platform deterministic.
- W002-STOR-020's shadowing rule still exists; integration should state that shadowing is evaluated at publication only, or eligibility can still depend on unrelated files.
- The 'comparison domain' depends on how multi-Store MAPs work (P2-01).
- Revision BL requirements affected
- W002-STOR-020, 019.10, 019.2, PB-STOR-010, W002-STEPS-002
- Reconciliation log sections
- §18, §27
- Integration consequence
- Add the comparison rule; scope shadowing to publication.
- Residual risk
- Via P2-01.
F-17Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Help lacked a coverage fallback, absent-value rendering, and a consistent notion of required facts.
- What the reconciliation changed
- Diagnostics own facts; deterministic generic fallback; required facts cannot be defaulted; absence tokens reused (§20).
- Why it does or does not resolve the finding
- Fallback and required-fact authority are closed.
- §20.3 says a diagnostic whose required facts cannot be produced 'must not be presented as though its required fact contract were complete' but not what is presented instead.
- How absence is encoded in the JSON event (omitted key vs token) is raised as P2-05.
- Revision BL requirements affected
- W002-HELP-001.4, 001.8, 002.9, 002.10, 004.11, W002-UI-007
- Reconciliation log sections
- §20, §25.7
- Integration consequence
- Add fallback requirement and gate.
- Residual risk
- MATERIAL via P2-05; minor: incomplete-facts outcome.
F-21Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Publishing from a historical MAP silently changed current state.
- What the reconciliation changed
- One chronological history, no branching; a successor from a historical base becomes current if latest (§24).
- Why it does or does not resolve the finding
- The behaviour is now explicit and deliberate, and the base MAP is on the Receipt (UPDATE_ALIASES BASE_MAP_FILENAME; MATERIALIZE inherited MAP), so the revert is evidenced.
- I still recommend a CONTINUE/INFO diagnostic when a successor is derived from a non-current base; otherwise dropping later COLs from current state is visible only in a Receipt.
- Combined with multi-Store MAPs this decision becomes destructive across Stores — P2-01.
- Revision BL requirements affected
- W002-STOR-019.3, W002-WKO-ACC-008, W002-STOR-019.2
- Reconciliation log sections
- §24
- Integration consequence
- Add the chronology rule and gate.
- Residual risk
- BLOCKING via P2-01; recommendation only otherwise.
F-22Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Expected diagnostics came from a registry the implementer delivers.
- What the reconciliation changed
- Acceptance scope narrowed to diagnostic→ID→Help wiring and generic registry invariants; F-17 fact structure retained (§25).
- Why it does or does not resolve the finding
- This is a scope decision, not a fix: QA independence for the condition→diagnostic mapping is knowingly waived for WASM-002. Recording it as accepted risk is honest and sufficient.
- Several decisions do pin required facts for specific conditions (F-04, F-07, F-12), which limits the exposure.
- Revision BL requirements affected
- W002-HELP-001.8, W002-HP-ACC-013
- Reconciliation log sections
- §25, §27
- Integration consequence
- Rewrite HELP-001.8/HP-ACC-013 to the narrowed scope.
- Residual risk
- Accepted risk.
F-23Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Acceptance coverage had gaps and there were no governed test seams.
- What the reconciliation changed
- Coverage principle with named gaps; governed test-only seams (clock, UUID, filesystem faults, source handles) inert in release; evidence of absence required (§26).
- Why it does or does not resolve the finding
- The seam boundary is exactly right.
- The gates themselves are not drafted; that is integration work. New operations and lifecycles from this reconciliation (REPAIR MAP, registry repair, CER compaction, alias replacement dialog, cardinality refusal, header fallback) also need gates.
- Revision BL requirements affected
- W002-WKO-012.5, 012.6, W002-RCP-010, PB-STOR-011, W002-STOR-007.3, PB-STOR-009, PB-STOR-010, W002-STOR-018.3, W002-HELP-002.11, W002-ENC-ACC-003
- Reconciliation log sections
- §26
- Integration consequence
- Author the gates listed in §26.1 plus those for the new mechanisms.
- Residual risk
- None beyond integration effort.
F-26Original: MATERIAL NON-BLOCKINGCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Allowed SOURCE forms were undefined.
- What the reconciliation changed
- One exact Suitcase-root filename; analyst-owned CSV or published CVT only; paths, traversal, governed non-CVT and non-CSV refused (§30).
- Why it does or does not resolve the finding
- Boundary and permitted classes are clear.
- 'Analyst-owned CSV' needs an operational test: .csv extension required? case-sensitive? a user file named
__DS__notes.csvthat is not a governed name? - 'Successfully published' CVT needs the CVT validity predicate (F-14).
- Revision BL requirements affected
- W002-WKO-009, W002-INV-005, PB-STOR-005, PB-STOR-008
- Reconciliation log sections
- §30
- Integration consequence
- Add a SOURCE-reference requirement with the extension rule.
- Residual risk
- CLARITY.
F-27Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- W002-UI-006 said 'editable human alias'.
- What the reconciliation changed
- Wording becomes 'read-only governed alias where applicable' (§31).
- Why it does or does not resolve the finding
- Closed.
- Revision BL requirements affected
- W002-UI-006
- Reconciliation log sections
- §31
- Integration consequence
- Edit W002-UI-006.
- Residual risk
- None.
F-28Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Brand-Manifest wording survived in in-scope text.
- What the reconciliation changed
- HTML: 'uses the canonical built-in Data Sculptor presentation'; TXT: no branding term (§32).
- Why it does or does not resolve the finding
- Closed.
- Revision BL requirements affected
- W002-UI-016, W002-INV-006, W002-STOR-022.2, W002-HELP-003.2, W002-HP-ACC-003
- Reconciliation log sections
- §32
- Integration consequence
- Edit the five requirements.
- Residual risk
- None.
F-29Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Headings misplaced in-scope requirements and were out of order.
- What the reconciliation changed
- Headings follow scope and subject; IDs stable (§33).
- Why it does or does not resolve the finding
- Closed.
- Revision BL requirements affected
- W002-WKO-007, 012.1, W002-CONV-ACC-001, W002-STOR-016, W002-WKO-ACC-003
- Reconciliation log sections
- §33
- Integration consequence
- Restructure headings.
- Residual risk
- None.
F-30Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Truncated text in titles, evidence and rationale.
- What the reconciliation changed
- Restore only from authoritative sources; mark unrecoverable damage explicitly (§34).
- Why it does or does not resolve the finding
- Closed; depends on access to the master PRD.
- Revision BL requirements affected
- W002-ENC-006, W002-STOR-001.2, W002-ENC-004.1
- Reconciliation log sections
- §34
- Integration consequence
- Restore EVID-W001B-UTF8-003; merge fragment titles.
- Residual risk
- None.
F-31Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Numbering gaps were unexplained.
- What the reconciliation changed
- Omitted-ID table from authoritative metadata (§35).
- Why it does or does not resolve the finding
- Closed.
- Revision BL requirements affected
- W002-RCP-005, W002-HP-ACC-008, W002-WKO-007, W002-ARCH-008
- Reconciliation log sections
- §35
- Integration consequence
- Add the table to the cut front matter.
- Residual risk
- None.
F-32Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Terminology drift around MAP.
- What the reconciliation changed
- MAP = class; Store MAP and WKO MAP = profiles (§36).
- Why it does or does not resolve the finding
- Closed. If P2-01 keeps multi-Store MAPs, 'Store MAP' should be defined as the Store-state profile, not 'a Store's MAP'.
- Revision BL requirements affected
- PB-STOR-002, PB-STOR-006, W002-STOR-009, W002-STOR-010.1
- Reconciliation log sections
- §36
- Integration consequence
- Terminology sweep.
- Residual risk
- None.
F-33Original: CLARITYCLOSED - INTEGRATION OBLIGATION
- Original issue (Pass 1)
- Registered classes without producers; unknown-class reporting unspecified.
- What the reconciliation changed
- DGN, RCV reserved-not-emitted; unknown classes preserved and reported by INFO diagnostic and Inventory (§37).
- Why it does or does not resolve the finding
- Closed.
- Known-but-not-emitted classes (LCK, BRD, DGN, RCV) found in a Suitcase should get the same preserve-and-report treatment; state it.
- Retiring RCV touches about a dozen BL requirements that say 'SCR/RCV' (W002-MAT-002.6, 002.7, W002-STOR-018.3, 019.5, 019.10, W002-RID-002, 010, W002-WKO-012.4, W002-MAT-ACC-005).
- Revision BL requirements affected
- PB-STOR-006, PB-STOR-009, W002-STOR-003.5
- Reconciliation log sections
- §37
- Integration consequence
- Mark classes; rewrite SCR/RCV mentions.
- Residual risk
- CLARITY.