Red5Sorcery / Data Sculptor

WASM-002 Claude QA Reconciliation Log

Pass 1 — separate Council decision record derived from Claude's adversarial QA review. Created 23 September 2026.

Scope boundary. This document does not modify, supersede, or silently rewrite the Product Backlog PRD or Revision BL. It is a separate reconciliation record for decisions made in response to Claude's review. Formal PRD integration remains a later, explicit step.

1. Source review

Claude reviewPass 1Independent adversarial QA of WASM-002 Revision BL.
Findings34 total11 blocking · 15 material non-blocking · 8 clarity.
Contract reviewed384 requirementsAll retained requirements in the WASM-002 cut were under review.
Current reconciliationF-01 through F-34 resolved34 of 34 findings closed · 0 remain · all 11 BLOCKING, all 15 MATERIAL NON-BLOCKING, and all 8 CLARITY findings reconciled. The stale mutable Work Order Description acceptance model is retired; WKO registry lifecycle/repair, Store damage/recovery, existing-Store cardinality, source-to-MAP compatibility, the WASM-002 CSV input profile, deterministic UTF-8 refusal offsets, DS-STEPS lexical/string-literal rules, deterministic Receipt/Inventory TXT serialization, the isolated Windows-1252-to-UTF-8 conversion contract, retirement of the redundant WASM-002 Store Index in favor of MAP truth + aliases with DIR deferred to WASM-003, strict monotonic successor-UTC publication guards, reference-bounded MAP eligibility/current-state comparison, the frozen Windows-1252 compatibility/diagnostic-separation contract, the read-only governed-alias wording for the Suitcase Directory, the fixed built-in presentation boundary with Brand Manifest/configurable branding deferred beyond WASM-002, the PRD heading/section-structure cleanup rule, the document-text integrity/restoration rule, the omitted-requirement-ID audit-trail rule, the canonical MAP / Store MAP / WKO MAP terminology rule, the artifact-class scope / unknown-class reporting rule, and the final cross-contract clarification package are frozen by Council decision. Pass 1 reconciliation is complete. Canonical PRD integration has not yet been performed; Revision BL remains the reviewed baseline.
Day 050 high-effort sanity review. After F-23 was frozen, the Council re-read today's F-13–F-23 decisions as one system against Claude's source findings. Four targeted clarifications were added without changing the closure count: F-13 now states the boundary for external mutation during an active publication; F-15 freezes exact filename/reference comparison semantics; F-20 makes Unicode counting, fallback-name collision handling, and bounded output-writer concurrency explicit; and F-22 reconciles the Help-wiring scope with F-17's required-fact contract. F-14, F-16, F-17, F-18, F-19, F-21, and F-23 remain substantively unchanged.

Claude's review identified F-03 as: “A missing or damaged RID or COL silently forks the Store, and the RID recovery base is undefined.” The review asked for explicit decisions separating degraded from invalid state and defining the recovery path.

F-05 is now closed by a single-source-per-Store-lineage rule: one Store MAP may contain multiple Stores, each Store lineage is identified by its rid_filename, and every materialized COL row within that lineage must carry the same source_filename. Different Store lineages in the same MAP may name different source files. Cross-source joins are deferred to a separate future join-specific artifact design.

2. Finding register

FindingSeverityClaude finding titleReconciliation state
F-01BLOCKINGAn acceptance gate requires a capability the contract forbidsRESOLVED — DECISION FROZEN
F-02BLOCKINGAn aliased Work Order cannot be edited and re-saved, and the WKO alias registry has no retirement pathRESOLVED — DECISION FROZEN
F-03BLOCKINGA missing or damaged RID or COL silently forks the Store, and the RID recovery base is undefinedRESOLVED — DECISION FROZEN
F-04BLOCKINGA same-filename source refresh has no cardinality check against the inherited RID, and there is no way to start a new StoreRESOLVED — DECISION FROZEN
F-05BLOCKINGThe source-to-MAP compatibility rule is referenced but never definedRESOLVED — DECISION FROZEN
F-06BLOCKINGThe CSV dialect and the rules for malformed input are not frozenRESOLVED — DECISION FROZEN
F-07BLOCKINGThe meaning of the UTF-8 first-invalid offset is undefined, and the frozen error contract it points to is not in the cutRESOLVED — DECISION FROZEN
F-08BLOCKINGThe DS-STEPS lexical rules are incomplete, and the governed string-literal rules they cite are not in the cutRESOLVED — DECISION FROZEN
F-09BLOCKINGReceipt and Inventory TXT must be tested byte-for-byte, but their serialization is not specifiedRESOLVED — DECISION FROZEN
F-10BLOCKINGWindows-1252 conversion has no Work Order form, output contract or class-level serializationRESOLVED — DECISION FROZEN
F-11BLOCKINGThe Store Index is an in-scope obligation with no artifact class, trigger or content contractRESOLVED — DECISION FROZEN
F-12MATERIALSelecting current state by the greatest UTC has no guard against clock movementRESOLVED — DECISION FROZEN
F-13MATERIALThe single-writer assumption is not statedRESOLVED — DECISION FROZEN
F-14MATERIALPublication and validity rules for non-Store artifacts are undefinedRESOLVED — DECISION FROZEN
F-15MATERIALMAP eligibility can change when unrelated files appear, and the comparison rules are undefinedRESOLVED — DECISION FROZEN
F-16MATERIALThe conversion suggestion conflicts with fixed diagnostic semantics, and the Windows-1252 mapping is not frozenRESOLVED — DECISION FROZEN
F-17MATERIALThe Help rendering contract is missing a coverage fallback, absent-value rendering, and a consistent notion of required factsRESOLVED — DECISION FROZEN
F-18MATERIALHLP provenance merges not applicable with unavailable, and absence tokens differ across artifactsRESOLVED — DECISION FROZEN
F-19MATERIALHLP disclosure edge cases: a header can be data, and aliases are not covered by the allowlistRESOLVED — DECISION FROZEN
F-20MATERIALBounded memory has no stated limits, and header width and KEEP width are unlimitedRESOLVED — DECISION FROZEN
F-21MATERIALPublishing from a historical MAP silently changes what is currentRESOLVED — DESIGN CLARIFIED / DECISION FROZEN
F-22MATERIALExpected diagnostics come from a registry the implementer delivers, which undercuts QA independenceRESOLVED — SCOPE CLARIFIED / DECISION FROZEN
F-23MATERIALAcceptance coverage has gaps, and test seams are missingRESOLVED — DECISION FROZEN
F-24MATERIALSession model: a new CER every session, no remembered Suitcase, no preferences, and lost draftsRESOLVED — SESSION/CER LIFECYCLE FROZEN
F-25MATERIALThe target platform and the small-screen baseline are not defined within the cutRESOLVED — PLATFORM / BROWSER BASELINE FROZEN
F-26MATERIALAllowed SOURCE reference forms are undefinedRESOLVED — SOURCE REFERENCE CONTRACT FROZEN
F-27CLARITYW002-UI-006 says editable human aliasRESOLVED — WORDING CORRECTED / DECISION FROZEN
F-28CLARITYBrand-Manifest wording survives in in-scope textRESOLVED — BRANDING SCOPE WORDING CORRECTED / DECISION FROZEN
F-29CLARITYSection headings misplace in-scope requirements and are out of orderRESOLVED — DOCUMENT STRUCTURE CORRECTED / DECISION FROZEN
F-30CLARITYTruncated text in titles, evidence and rationaleRESOLVED — DOCUMENT TEXT INTEGRITY / RESTORATION RULE FROZEN
F-31CLARITYNumbering gaps are not explainedRESOLVED — OMITTED-ID AUDIT TRAIL REQUIRED / DECISION FROZEN
F-32CLARITYTerminology driftRESOLVED — CANONICAL MAP TERMINOLOGY FROZEN
F-33CLARITYSome registered classes have no WASM-002 producer or contract, and unknown-class reporting is unspecifiedRESOLVED — ARTIFACT-CLASS SCOPE AND UNKNOWN-CLASS REPORTING FROZEN
F-34CLARITYSmaller underspecified pointsRESOLVED — FINAL CROSS-CONTRACT CLARIFICATIONS FROZEN

3. F-03 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

3.1 Exactly three Store statuses

There is no fourth ABANDONED Store status.

3.2 RID is the hard boundary

If the RID is missing or invalid, the Store is INVALID, not DEGRADED.

An INVALID Store is terminal and non-recoverable for analytical use. Data Sculptor must not regenerate the RID, repair the Store, inherit from it, materialize into it, mutate aliases against it, or perform any other Store operation.

Read-only Help, status, Inventory, and historical/evidence inspection may explain the condition; they are not Store operations.

3.3 DEGRADED is deliberately narrow

A DEGRADED Store still has trustworthy Store identity because both its current MAP and RID remain valid. Its only defect is that one or more non-RID COL artifacts named by the current MAP are missing or invalid.

The meaning or origin of a COL does not affect this status rule. A COL may be source-derived, calculated, a future 1/0 selection/filter column, or another future same-row column type. Store health does not need to know how the COL was built.

3.4 Operation gate for DEGRADED

When a Store is DEGRADED, no Store operation is enabled except the single recovery operation REPAIR MAP.

Materialization, extension with new columns, transformations, alias mutation, other recovery operations, and ordinary analytical execution against that Store are refused until the Store returns to VALID.

Read-only Help, Inventory, and status inspection remain available to explain the condition; they are not Store operations.

3.5 Frozen DS-STEPS recovery syntax

REPAIR MAP

REPAIR MAP is the sole governed recovery path for a DEGRADED Store.

3.6 Why this resolves Claude's F-03 concern

The revised model prevents a missing COL from making the Store silently disappear from routing and prevents a missing RID from triggering a quiet new Store lineage. Damage becomes an explicit Store status, and recovery requires explicit human authority through a saved Work Order.

The recovery rule also avoids committing WASM-002 to future column semantics. Data Sculptor does not need to know how a missing calculated, selection, source-derived, or future column was originally produced in order to restore the Store's MAP to truthful agreement with the governed artifacts that still exist.

4. Draft Technical Help text for F-03

Status of this prose: DRAFT TECHNICAL FLAVOR ONLY. The underlying Store-status and REPAIR MAP semantics are frozen, but this Help wording is not frozen. Gemini may later finalize wording, presentation, and additional Help flavors in a later milestone.

4.1 Technical Help — Store status: DEGRADED

What happened

Data Sculptor found that the Store's current governed MAP and RID are valid, but one or more non-RID COL artifacts referenced by the MAP are missing or invalid.

The Store remains identifiable and its row identity remains trustworthy, but its current MAP no longer matches the complete set of valid governed files in the Suitcase.

What Data Sculptor did

Data Sculptor changed the Store status to DEGRADED.

While a Store is DEGRADED, all Store operations are disabled except:

REPAIR MAP

Read-only Help, Inventory, and status inspection remain available.

How to fix it

Run a saved Work Order containing:

REPAIR MAP

Data Sculptor will:

  1. Resolve the Store's current governed MAP.
  2. Confirm that the MAP and RID are valid.
  3. Identify every mapped non-RID COL artifact that is missing or invalid.
  4. Create a successor MAP that removes exactly those broken COL bindings.
  5. Preserve every valid mapped COL binding.
  6. Validate the successor MAP and all remaining governed Store artifacts.
  7. Return the Store to VALID if validation succeeds.

What REPAIR MAP will not do

Historical MAPs remain unchanged.

If repair fails

The Store remains DEGRADED. No other Store operation becomes available.

4.2 Technical Help — Store status: INVALID

What happened

Data Sculptor cannot trust the Store's governing state.

A Store is INVALID when its current governed MAP cannot be trusted, or when its RID is missing or invalid.

Because the RID defines the Store's row-identity spine, Data Sculptor cannot safely reconstruct, substitute, or infer it.

What Data Sculptor did

Data Sculptor changed the Store status to INVALID and disabled all Store operations.

Read-only Help, Inventory, status, and historical evidence may still be inspected.

How to continue

This Store cannot be repaired.

To continue analytical work, establish a new Store from an appropriate source through a new governed Work Order.

REPAIR MAP is not available for an INVALID Store.

Why Data Sculptor refuses

Continuing with an untrustworthy MAP or RID could falsely associate columns with rows or create a new analytical lineage while presenting it as the old one.

Data Sculptor refuses rather than guess.

4.3 Technical Help — MAP repair completed

Result

The DEGRADED Store was successfully repaired.

Data Sculptor published a successor MAP that removed the bindings for mapped non-RID COL artifacts that were missing or invalid. Valid COL bindings and the existing RID were preserved.

The previous MAP remains unchanged as historical evidence.

Store status

VALID

Normal Store operations are now available.

5. F-04 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Decision: cardinality is guarded by the existing RID header, and an analyst intentionally establishes a new Store by using a distinct source filename. No NEW STORE syntax is added.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

5.1 Existing-Store cardinality gate

When a materialization targets an existing VALID Store, the candidate materialization must produce exactly the Store's expected row count N before any new Store publication may commit.

This gate proves cardinality compatibility only. Equal row counts do not, by themselves, prove byte identity or semantic row identity. Broader source-to-Store compatibility remains separately governed by F-05.

5.2 Frozen RID serialization

The RID is a one-column UTF-8 CSV. Its header is structural metadata and is exactly:

N=<value>

<value> is the canonical decimal representation of the Store's total logical data-row count N.

Example for a five-row Store:

N=5
1
2
3
4
5

5.3 RID self-validation consequence

A valid RID must be internally consistent with its own header: the header declares N, the file contains exactly N logical data records after that header, and those records are exactly the sequence 1..N.

For the F-04 comparison, Data Sculptor therefore does not need to scan the existing RID merely to rediscover its expected cardinality. It reads N from the already-valid RID header.

No new Store-level MAP field is introduced solely for this F-04 check. Existing MAP row-count/provenance fields are not removed or otherwise changed by this decision.

5.4 Draft Technical Help — existing Store row-count mismatch

Status of this prose: DRAFT TECHNICAL FLAVOR ONLY. The cardinality refusal semantics are frozen; this wording is not. Gemini may later finalize the Help catalogue and other voices.

What happened

Data Sculptor attempted to materialize into an existing Store, but the candidate source produced a different number of logical data rows than the Store RID declares.

Expected Store rows: {expected_N}
Candidate rows: {candidate_N}

What Data Sculptor did

The Run was refused before any candidate COL or successor Store MAP was published. The existing Store remains VALID and unchanged.

Why Data Sculptor refuses

Columns with a different row count cannot be safely attached to the Store's existing RID row spine.

This refusal establishes only that the row counts differ. Data Sculptor does not infer who changed the source or why.

What to do next

If this source was meant to extend the existing Store, restore or select the source whose row universe matches the Store RID. If this source intentionally represents a new row universe, preserve it under a distinct filename and reference that filename in a new Work Order so Data Sculptor can establish a new Store and RID.

5.5 Intentional new row universe / new Store routing

The analyst-controlled source filename is the explicit Store-routing boundary for WASM-002.

This is a visible, analyst-controlled workflow rather than a hidden filename trick: the distinct analyst-owned source filename is the explicit evidence of intent to establish a separate row universe.

5.6 Draft Technical Help — intentional new Store after cardinality refusal

Status of this prose: DRAFT TECHNICAL FLAVOR ONLY. The underlying routing rule is frozen; this wording is not. Gemini may later finalize the Help catalogue and other voices.

If the source is intentionally a different row universe

Keep or create a separate copy of the CSV under a distinct filename, update the Work Order SOURCE to that filename, save the Work Order, and Run it as a new source.

Because the new source filename is not bound to the existing Store lineage, Data Sculptor will establish a new Store and generate a new RID for that row universe.

Do not rename or overwrite the existing Store's source merely to force continuation. Preserve the distinct source files visibly in the Suitcase.

6. F-05 — source-to-MAP compatibility and single-source Store lineages

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Decision: a Store MAP may contain multiple Store lineages. Each Store lineage is identified by its governed rid_filename and is single-source: every materialized COL row belonging to that RID lineage records the same source_filename. Different Store lineages in the same MAP may have different source filenames. The Store MAP does not carry a separate store_source_filename field. An explicit MAP must never authorize a different source file to enter the selected Store lineage.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

6.1 Multi-Store MAP / single-source Store-lineage invariant

For WASM-002, one Store MAP may describe multiple Stores. Each Store lineage is distinguished by its governed rid_filename. Within one Store lineage, one physical analyst-owned source filename establishes the row universe and one or more materialized COL artifacts may be derived from that same source.

This keeps the model narrow without limiting the MAP to one Store: one MAP may describe many Stores, while each individual Store remains single-source.

6.2 Detailed Store MAP examples

Illustrative subset only. These examples deliberately show the physical-to-human mapping fields needed to teach F-05: source filename, Store alias, RID physical filename and alias, and COL physical filename and alias. They do not freeze the final complete Store MAP column set, column order, or serialization. Governed RID, COL, and MAP filenames follow the frozen ordinary immutable form __DS__CCC__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.<extension>.

Valid example — two Stores in one MAP, each internally single-source

Assume Store A was established first at publication UTC 20260924T191500000Z. Store B was established later at publication UTC 20260924T191600000Z. The later successor MAP is therefore:

__DS__MAP__20260924T191600000Z__7e8f9a0b-5555-4000-8000-000000000005.csv

An illustrative subset of that MAP's rows is:

source_filename,store_alias,rid_filename,rid_alias,col_filename,col_alias
CrimeData.csv,Crime Data,__DS__RID__20260924T191500000Z__a1b2c3d4-1111-4000-8000-000000000001.csv,Crime Rows,__DS__COL__20260924T191500000Z__e5f6a7b8-2222-4000-8000-000000000002.csv,Region
CrimeData.csv,Crime Data,__DS__RID__20260924T191500000Z__a1b2c3d4-1111-4000-8000-000000000001.csv,Crime Rows,__DS__COL__20260924T191500000Z__c9d0e1f2-3333-4000-8000-000000000003.csv,Value
Population.csv,Population,__DS__RID__20260924T191600000Z__4a5b6c7d-4444-4000-8000-000000000004.csv,Population Rows,__DS__COL__20260924T191600000Z__8e9f0a1b-6666-4000-8000-000000000006.csv,Age
Population.csv,Population,__DS__RID__20260924T191600000Z__4a5b6c7d-4444-4000-8000-000000000004.csv,Population Rows,__DS__COL__20260924T191600000Z__2c3d4e5f-7777-4000-8000-000000000007.csv,Population Count

This is valid under the F-05 rule. The two rows sharing the CrimeData.csv source also share one exact RID physical filename and therefore form one Store lineage. The two Population.csv rows share a different exact RID physical filename and form a second Store lineage. Each governed file keeps its opaque physical identity while the MAP carries the analyst-facing aliases that explain what those files mean.

The example also illustrates publication identity correctly: Store A's RID and COLs share Store A's creation UTC but have distinct UUIDs. Store B's newly published RID, COLs, and the successor MAP share Store B's later publication UTC, again with distinct UUIDs. Historical Store A artifacts retain their earlier physical identities when copied forward into the successor MAP snapshot.

Invalid example — one Store lineage contains mixed source filenames

source_filename,store_alias,rid_filename,rid_alias,col_filename,col_alias
CrimeData.csv,Crime Data,__DS__RID__20260924T191500000Z__a1b2c3d4-1111-4000-8000-000000000001.csv,Crime Rows,__DS__COL__20260924T191500000Z__e5f6a7b8-2222-4000-8000-000000000002.csv,Region
OtherData.csv,Crime Data,__DS__RID__20260924T191500000Z__a1b2c3d4-1111-4000-8000-000000000001.csv,Crime Rows,__DS__COL__20260924T191700000Z__9a0b1c2d-8888-4000-8000-000000000008.csv,Age
Population.csv,Population,__DS__RID__20260924T191600000Z__4a5b6c7d-4444-4000-8000-000000000004.csv,Population Rows,__DS__COL__20260924T191600000Z__8e9f0a1b-6666-4000-8000-000000000006.csv,Age

The Population Store lineage is internally consistent. The Crime Data lineage is invalid for WASM-002 because two rows claim the same exact RID lineage while naming different physical source files: CrimeData.csv and OtherData.csv. The aliases do not cure that conflict, and equal row counts would not cure it either. A human-friendly alias is orientation metadata; it never overrides the physical Store-lineage identity or authorizes a cross-source positional attachment.

6.3 Explicit MAP compatibility predicate

When a Work Order explicitly names a Store MAP for materialization, Data Sculptor must validate compatibility against the Store lineage being continued before materialization begins.

6.4 No implicit positional join

WASM-002 must never use an explicit MAP as permission to attach a different source file to an existing Store lineage by physical row position, even when the two files happen to have the same row count.

Equal cardinality is not evidence of row identity. A different source filename therefore refuses against that Store lineage rather than being treated as a positional join, silent append, or alternate source for the Store.

6.5 Store MAP simplification consequence

The Revision BL Store MAP profile must be revised during later PRD integration so that WASM-002 no longer stores both store_source_filename and per-row source_filename.

The WASM-002 direction is to retain one per-materialized-COL source_filename field and remove the redundant store_source_filename field. Store source identity is derived per RID lineage: all rows sharing one rid_filename must agree on source_filename. The MAP continues to pair opaque governed physical filenames with human-facing Store/RID/COL aliases and other frozen provenance fields; removing store_source_filename does not weaken that physical-to-logical mapping role.

The exact final column order and full revised Store MAP schema remain an integration task for the PRD revision; this reconciliation decision freezes the semantics, not a new full serialized row example.

6.6 Acceptance consequences

6.7 Future join direction — proposal only, outside WASM-002

Scope status: FUTURE DESIGN PROPOSAL ONLY. This subsection does not add a WASM-002 requirement, artifact class, syntax form, acceptance gate, or implementation obligation.

When explicit joins are designed in a later build, the preferred direction is to preserve single-source Store-lineage semantics and represent cross-Store relationships through a separate governed Join MAP or equivalent join-specific artifact.

A future join-specific artifact could record facts such as the left Store/MAP, right Store/MAP, left key, right key, join type, and the governed evidence needed to prove the relationship. The exact artifact class, filename grammar, schema, syntax, lifecycle, and acceptance rules are deliberately not frozen here.

This preserves a clean boundary: a Store MAP may describe multiple single-source Store lineages; a future Join MAP would record how two governed Stores were explicitly related.

6.8 Why F-05 is closed

Claude's F-05 concern is resolved because the compatibility predicate is now explicit and independently testable at the Store-lineage level: the target RID lineage is internally single-source, the Work Order source must match that lineage's source filename, and matching source identity is followed by the existing F-04 cardinality gate.

Different Store lineages may coexist in one MAP without being treated as joined. A Store lineage cannot become a hidden positional-join mechanism, and future cross-source joins remain a separate, deliberately designed capability.

7. Consequences to carry into later PRD integration

These are integration consequences, not edits to the official PRD in this document.

8. F-02 — WKO registry lifecycle and repair

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Supersession note: This CURRENT/DEPRECATED model supersedes the earlier ACTIVE/INACTIVE draft recorded during this reconciliation pass.
Closure: alias reuse, missing registered WKOs, and visible valid but unregistered WKOs now have explicit deterministic handling.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

8.1 Immutable WKO files; lifecycle authority lives in the WKO MAP

A saved WKO remains an immutable governed artifact. Editing a loaded WKO and saving the result creates a new immutable WKO identity; the older WKO file is neither overwritten nor deleted.

The lifecycle distinction belongs to the WKO registry row, not to the bytes of the WKO itself. A deprecated WKO therefore retains its original WORK ORDER AS text and every other byte exactly as saved.

The WKO alias-registry MAP remains a governed CSV artifact. For this lifecycle model its frozen profile is:

wko_status,wko_alias,wko_filename

The only frozen values of wko_status are CURRENT and DEPRECATED.

8.2 Saving a new WKO with an existing non-empty alias

When a save would create a new immutable WKO whose non-empty alias is already held by a CURRENT WKO row, Data Sculptor must not silently choose between the two and must not require the analyst to invent a different alias.

Before the alias-registry commit, Data Sculptor presents the analyst with exactly two lifecycle choices:

If Replace alias target is chosen and the save transaction commits successfully, the successor WKO MAP:

No permanent deletion is part of alias replacement.

8.3 Alias-resolution invariant

For any non-empty alias represented in the current WKO MAP, at most one row may have wko_status=CURRENT. Any superseded rows with that same former/current alias are retained as DEPRECATED.

When a user or governed operation resolves a WKO by human-facing alias, Data Sculptor considers the CURRENT row. It does not resolve by greatest filename timestamp or greatest UTC.

A DEPRECATED WKO is historical governed evidence. Deprecation does not mean that its physical WKO file is invalid, deleted, or rewritten.

DEPRECATED describes registry authority for alias resolution; it does not mutate or invalidate the physical WKO artifact. Direct historical inspection may remain available, while governed Run eligibility follows the current registry and other separately frozen Run rules.

8.4 Physical CSV truth

The governed WKO MAP remains one deterministic CSV file. Example after Prepare monthly crime data has been edited and the analyst chose Replace alias target:

wko_status,wko_alias,wko_filename
CURRENT,Prepare monthly crime data,__DS__WKO__20260923T175010331Z__D4.txt
CURRENT,Create Halifax subset,__DS__WKO__20260921T091233442Z__B7.txt
CURRENT,Export executive report,__DS__WKO__20260922T164455006Z__C3.txt
DEPRECATED,Prepare monthly crime data,__DS__WKO__20260920T140501123Z__A1.txt

8.5 Human-facing rendering

The UI may render the same CSV truth in two explicit sections so the analyst can see current authority and preserved history immediately.

CURRENT WORK ORDERS

AliasWork Order
Prepare monthly crime data__DS__WKO__20260923T175010331Z__D4.txt
Create Halifax subset__DS__WKO__20260921T091233442Z__B7.txt
Export executive report__DS__WKO__20260922T164455006Z__C3.txt

DEPRECATED WORK ORDERS

Former aliasWork Order
Prepare monthly crime data__DS__WKO__20260920T140501123Z__A1.txt

The two-section presentation is a human-facing rendering of the governed three-column CSV; it is not a second persistent registry.

8.6 Why this resolves the alias-lifecycle part of Claude F-02

Claude identified that Revision BL simultaneously required immutable new WKO identities for edits and unique current aliases, but supplied no retirement/supersession path. The frozen rule above supplies that path at save time: the analyst explicitly chooses whether to replace the alias target or cancel; replacement preserves the previous WKO as DEPRECATED history and makes the new immutable WKO the sole CURRENT alias target.

This removes the need to invent a different human alias for every saved revision, avoids timestamp arbitration, avoids destructive overwrite/delete behavior, and keeps the current WKO MAP itself human-readable as a record of both present alias authority and superseded history.

8.7 Missing registered WKO — explicit registry repair

A WKO MAP row whose referenced physical WKO file is no longer present is a stale registry reference. Data Sculptor must not silently fall back to an older WKO MAP, reconstruct the missing WKO, or automatically promote a deprecated WKO to replace it.

The frozen governed repair syntax is:

REPAIR WORK ORDER REGISTRY

Repair resolves the current WKO MAP, compares its rows with the visible Suitcase, and removes every row whose referenced WKO file is missing. The affected Work Order is therefore gone from the successor registry. Surviving WKO files are not edited or deleted, and predecessor WKO MAPs remain immutable historical evidence.

Until repair, a missing referenced WKO cannot be loaded or Run. A registry-changing transaction that requires a fully valid successor WKO MAP must not silently bypass the stale reference.

8.8 Visible valid WKO absent from the registry

A visible WKO that is well-formed and passes the governed WKO validity checks but is absent from the current WKO MAP is unregistered. It is not a governed Run target merely because its file is present.

REPAIR WORK ORDER REGISTRY also reconciles this direction:

This means newly discovered files can be brought under governance without letting their mere arrival silently displace a Work Order that the current registry already treats as authoritative.

8.9 Repair publication and Help boundary

Repair is structural reconciliation, not content recovery. It publishes a successor WKO MAP only after the repaired registry satisfies its validity rules. It never rewrites a WKO, recreates a missing WKO, infers that a deprecated WKO should be current, or selects a winner by greatest UTC.

Help must explain which stale rows were removed, which visible WKOs were newly registered, and which discovered alias-colliding WKOs were registered as DEPRECATED. The human remains free to use the ordinary load/edit/save alias-replacement workflow later if a deprecated WKO should become the new current target.

8.10 Why F-02 is closed

F-02 now has deterministic rules for all lifecycle edges Claude raised: editing and re-saving an aliased immutable WKO, superseding alias authority without deletion, a registered WKO disappearing from the Suitcase, and a valid visible WKO appearing without a registry row.

The WKO MAP remains the governed registry truth; immutable WKO files remain visible evidence; and REPAIR WORK ORDER REGISTRY reconciles filesystem reality without guessing away established current authority.

9. F-06 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

9.1 Normative WASM-002 CSV input profile

WASM-002 uses a deliberately explicit Data Sculptor CSV profile. It is RFC 4180-inspired but is not defined merely by reference to RFC 4180 or by the behavior of any parser library. The rules below are the product contract.

9.2 UTF-8 BOM boundary

9.3 Deterministic malformed-input behavior

Any violation of the frozen CSV profile above is a deterministic malformed-CSV refusal. Parser-library leniency must not broaden the accepted language. Streaming window boundaries must not change whether input is accepted, which malformed condition is encountered first, or the governed location reported for that condition.

F-06 freezes what constitutes valid and malformed CSV. The exact common diagnostic location facts and byte-offset convention are intentionally delegated to F-07 so that WASM-002 has one error-location contract rather than two competing definitions. That dependency does not leave the CSV grammar open.

9.4 Why F-06 is closed

Claude's seven unresolved CSV cases now have deterministic answers: quote placement, post-quote characters, bare CR handling, EOF termination, final line-ending behavior, one-column empty values, and delimiter scope. The Council additionally froze UTF-8 BOM handling because the BOM sits directly at the encoding-to-CSV boundary and must never silently become analytical data.

Independent fixtures can now be authored against the accepted/refused byte forms without inheriting undocumented behavior from the Rust csv crate or another parser. F-07 remains responsible only for the shared error-location/offset oracle.

10. F-07 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

10.1 Governed UTF-8 first-invalid offset

The governed UTF-8 first-invalid offset is the zero-based absolute byte offset, measured from the first physical byte of the source file, of the first byte of the invalid UTF-8 sequence.

The offset is a property of the physical source byte stream. It is not a character index, code-point index, logical CSV position, decoded-text position, or streaming-window-relative offset.

10.2 Deterministic invalid-sequence cases

10.3 UTF-8 BOM and absolute offsets

The F-06 CSV profile permits one UTF-8 BOM, byte sequence EF BB BF, only at absolute offsets 0 through 2. That leading BOM is an encoding signature and is not analytical CSV data.

Nevertheless, the BOM bytes remain physical source bytes. Therefore all governed absolute byte offsets count them. For example, the first byte following a permitted UTF-8 BOM is at absolute byte offset 3, not 0.

This preserves one literal meaning of “absolute source byte offset” regardless of whether a permitted BOM is present.

10.4 Frozen diagnostic facts for UTF-8 refusal

A UTF-8 validation refusal must expose, at minimum, the following deterministic facts to the governed diagnostic/Receipt/Help path:

An implementation may retain or expose an offending-byte evidence window where separately required, but such a window is not the authority for the first-invalid offset. The offset rule above is authoritative.

The exact human-facing wording of the diagnostic remains a Help/rendering concern; it must not change these machine-deterministic facts.

10.5 Relationship to F-06

F-06 freezes the CSV input grammar and states that malformed-input failures must be deterministically locatable. F-07 freezes the common absolute-source-byte convention for UTF-8 validation failures. The two rules are compatible: the optional leading UTF-8 BOM is excluded from analytical CSV content but included when counting physical source bytes.

F-07 does not reopen the CSV grammar decisions frozen under F-06.

10.6 Why F-07 is closed

Claude identified that Revision BL required exact offsets but did not define whether an invalid multibyte sequence reports its lead byte, the later offending byte, or EOF, and did not state whether streaming-window boundaries affect the result. The frozen rules above supply one independent oracle: the first byte of the invalid sequence, counted as a zero-based absolute offset from the first physical source byte.

This makes lone-byte, malformed multibyte, truncated-EOF, BOM-bearing, and cross-window fixtures deterministic without allowing the implementation library to choose the contract.

11. F-08 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 7 of Claude's 34 Pass 1 findings are now closed; 27 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

11.1 Governed string literals

Example: a header named The "official" rate is written as HEADER "The ""official"" rate".

11.2 Keyword case

DS-STEPS keywords are parsed ASCII case-insensitively. Canonical Data Sculptor examples and renderings use uppercase keywords. String contents, filenames, aliases, headers, and other quoted values are not altered merely because keyword matching is case-insensitive.

11.3 Whitespace, blank lines, and comments

11.4 Column ordinal numerals

The COLUMN n selector accepts only an unsigned base-10 integer in canonical lexical form [1-9][0-9]*. Therefore COLUMN 7 is valid. COLUMN 07, COLUMN +7, COLUMN 0, COLUMN -7, decimal forms, and other numeric spellings refuse.

11.5 Bounded WASM-002 materialization structure

For the WASM-002 materialization Work Order form, clause order is enforced, not merely canonical presentation. Ignoring blank lines and whole-line comments, the form contains:

  1. exactly one SUITCASE: . clause;
  2. exactly one WORK ORDER AS "..." clause;
  3. exactly one SOURCE "..." clause;
  4. exactly one KEEP clause;
  5. one or more valid selector lines belonging to that KEEP block; and
  6. exactly one terminal MATERIALIZE clause.

Duplicate structural clauses refuse. An empty KEEP refuses. After MATERIALIZE, only blank lines or whole-line comments may follow.

11.6 Unknown syntax and operation mixing

11.7 Work Order TXT byte form

11.8 Deferred composition token

For WASM-002, RUN is the exact recognized Work Order composition/invocation keyword that triggers the deferred-composition refusal when parsed as a construct. WASM-002 does not invent additional aliases such as CALL, EXEC, or INCLUDE merely to broaden that gate. If such a line is not part of another defined operation grammar, it is unknown syntax and refuses under Section 11.6.

11.9 Acceptance consequences

11.10 Why F-08 is closed

Claude's F-08 concern was that save-time validation, run-time validation, string handling, and the deferred-composition gate depended on lexical rules that Revision BL cited but did not define. The frozen rules above now supply an independent oracle for quoting, keyword case, whitespace, comments, ordinal numerals, clause order/cardinality, unknown lines, operation mixing, WKO byte form, and the exact deferred-composition token.

An implementation no longer has discretion to import accidental syntax from a parser library or another language for these points. Revision BL remains the reviewed evidence baseline until the frozen decisions in this log are deliberately integrated into a later PRD revision.

12. F-09 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 8 of Claude's 34 Pass 1 findings are now closed; 26 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

12.1 Physical TXT byte form

12.2 Shared line grammar

Every ordinary serialized fact uses exactly:

KEY: VALUE

12.3 Value serialization and escaping

12.4 Frozen absence and unknown-operation tokens

An unparseable Work Order therefore records OPERATION: UNKNOWN_OPERATION; the field is not left blank or omitted.

12.5 Receipt common key envelope and order

Every WASM-002 Receipt begins with the following common keys in this exact order:

  1. RECEIPT_VERSION
  2. RECEIPT_UTC
  3. WORK_ORDER_FILENAME
  4. OPERATION
  5. RESULT
  6. DIAGNOSTIC_ID

Operation-specific facts follow in their frozen operation order, followed by the created-artifact list defined in Section 12.6. DIAGNOSTIC_ID is never omitted: successful execution records DIAGNOSTIC_ID: NONE; a refusal records the exact governed diagnostic ID.

12.6 List-valued artifact facts

Created artifacts are serialized by a declared count followed by one-based, three-digit, contiguous indexed keys:

CREATED_ARTIFACT_COUNT: 3
CREATED_ARTIFACT_001: "__DS__RID__...csv"
CREATED_ARTIFACT_002: "__DS__COL__...csv"
CREATED_ARTIFACT_003: "__DS__MAP__...csv"

12.7 Operation tokens and F-03 consistency

Where the operation is known, the Receipt uses the governed operation token. At the point F-09 was frozen, the operation tokens were MATERIALIZE, INVENTORY, UPDATE_ALIASES, and REPAIR_MAP. The F-10 resolution below subsequently freezes CONVERT_WINDOWS_1252_TO_UTF_8 and its conversion-specific Receipt facts without reopening the shared serialization grammar frozen here.

RECOVER_RID is not a valid WASM-002 operation token. F-03 already froze that a missing or invalid RID makes the Store INVALID and that RID recovery is not permitted; REPAIR MAP is the sole DEGRADED Store recovery operation.

12.8 UPDATE ALIASES Receipt facts

The UPDATE_ALIASES Receipt includes, in operation-specific fact order:

  1. BASE_MAP_FILENAME
  2. SUCCESSOR_MAP_FILENAME

Both use the common quoted-text serialization. If execution refuses before a successor MAP exists, SUCCESSOR_MAP_FILENAME: NONE is recorded together with the applicable diagnostic ID.

12.9 Inventory TXT grammar and deterministic ordering

Inventory TXT uses the same UTF-8/no-BOM/LF physical rules and the same KEY: VALUE grammar. Its frozen header is:

  1. INVENTORY_VERSION
  2. INVENTORY_UTC
  3. FILE_COUNT

The header is followed by exactly FILE_COUNT filename lines using one-based, three-digit, contiguous keys: FILE_001, FILE_002, and so on. Filenames use the common quoted-text serialization.

Inventory ordering is exact ascending order of the physical filename's UTF-8 byte sequence. Locale-aware collation, case-folded collation, and filesystem enumeration order are not permitted as the serialization authority.

12.10 Acceptance oracle and golden fixtures

12.11 Why F-09 is closed

Claude's F-09 concern was that Revision BL required byte-for-byte Receipt and Inventory testing while leaving the byte grammar partly to the implementation. The frozen rules above now define the physical text encoding, line grammar, quoting/escaping, absence vocabulary, unknown-operation token, common Receipt key order, indexed list form, UPDATE ALIASES facts, Inventory line form, and deterministic filename ordering.

The acceptance obligation now has a spec-side oracle rather than merely testing whether one implementation is self-consistent. Revision BL remains the reviewed evidence baseline until these frozen decisions are deliberately integrated into a later PRD revision.

13. F-10 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 9 of Claude's 34 Pass 1 findings are now closed; 25 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

13.1 Scope boundary and superseded earlier direction

Windows-1252-to-UTF-8 conversion remains an in-scope but separate governed Work Order operation. It is not silently invoked by a failed analytical Work Order, UTF-8 certification, or materialization. The analyst must explicitly authorize the conversion operation.

An earlier Day 039 design note contemplated transcoding while materializing. Revision BL superseded that direction by defining conversion as a distinct operation. The F-10 decision follows Revision BL: conversion produces a governed UTF-8 derivative first; any later analytical use occurs through a separate Work Order.

13.2 Canonical DS-STEPS conversion form

SUITCASE: .
WORK ORDER AS "Convert legacy source to UTF-8"
SOURCE "legacy_source.csv"
CONVERT WINDOWS-1252 TO UTF-8

13.3 Conversion precondition and classification gate

  1. Validate the complete source as strict UTF-8.
  2. If the complete source is already valid strict UTF-8, refuse the conversion as unnecessary; do not create a CVT artifact.
  3. Only after strict UTF-8 fails, assess compatibility with the frozen Windows-1252 mapping.
  4. If any source byte is undefined or unsupported by that mapping, refuse rather than guess.
  5. Only a source that fails strict UTF-8 and passes the Windows-1252 compatibility assessment may be converted.

The exact full Windows-1252 mapping and its undefined-byte semantics remain part of the separate F-16 reconciliation. F-10 freezes the operation and output contract for a source that is accepted by that mapping.

13.4 Conversion semantics — encoding conversion only

The conversion operation performs deterministic character transcoding only. It does not parse, repair, normalize, or reinterpret CSV structure.

Accordingly, “canonical UTF-8 output” means a deterministic UTF-8 encoding of the accepted source characters, not a normalization of line endings, CSV quoting, delimiters, records, headers, or fields.

13.5 BOM rule

13.6 Governed CVT artifact identity

A successful conversion publishes exactly one converted-source artifact with semantic class CVT and physical CSV serialization:

__DS__CVT__<UTC>__<UUID>.csv

The three-letter class describes the artifact's role; the .csv extension describes its physical representation. The converted artifact receives its own governed identity and is distinct from the analyst-owned source.

13.7 Bounded publication path and commit point

13.8 Relationship to later Store work

Conversion does not create or mutate a Store, RID, COL, or Store MAP and performs no analytical materialization.

To use a successful converted artifact analytically, a later saved Work Order names the exact physical CVT filename as its source, for example:

SOURCE "__DS__CVT__20260926T190000000Z__00000000-0000-4000-8000-000000000000.csv"

The CVT then enters the ordinary strict UTF-8 certification and materialization path as a governed source artifact. No automatic handoff or hidden Store registration occurs.

13.9 Conversion Receipt contract

F-09's shared RCP grammar applies unchanged. The exact operation token is:

OPERATION: CONVERT_WINDOWS_1252_TO_UTF_8

Conversion-specific facts are serialized in this order before the common created-artifact list:

  1. SOURCE_FILENAME
  2. SOURCE_ENCODING
  3. MATERIALIZED_ENCODING
  4. TRANSCODING
  5. SOURCE_CHANGED
  6. OUTPUT_FILENAME

On successful conversion, the frozen values include:

SOURCE_FILENAME: "legacy_source.csv"
SOURCE_ENCODING: WINDOWS-1252-COMPATIBLE
MATERIALIZED_ENCODING: UTF-8
TRANSCODING: BOUNDED_STREAMING
SOURCE_CHANGED: NO
OUTPUT_FILENAME: "__DS__CVT__...csv"

On refusal before a CVT exists, OUTPUT_FILENAME: NONE is recorded with the applicable governed DIAGNOSTIC_ID. A successful conversion's created-artifact list contains the one CVT artifact.

13.10 Golden-byte fixture and acceptance consequences

At minimum, PRD integration must carry a byte-exact conversion fixture proving character transcoding, line-ending preservation, and BOM absence. One frozen minimal fixture is:

Windows-1252 source bytes:
63 61 66 E9 0D 0A

UTF-8 CVT bytes:
63 61 66 C3 A9 0D 0A

This represents café followed by CRLF. The expected CVT begins immediately with 63; no EF BB BF prefix is present.

Acceptance for the conversion operation must also demonstrate:

13.11 Why F-10 is closed

Claude's F-10 concern was that an in-scope operation with an acceptance gate still required the implementer to invent its Work Order syntax, output serialization, BOM and line-ending behavior, publication path, and evidence contract. The frozen rules above now provide those decisions while preserving Revision BL's separation between conversion and analytical materialization.

The converter now has one deliberately narrow responsibility: produce a faithful, governed UTF-8 derivative from a source accepted by the frozen Windows-1252 mapping. It does not repair CSV, normalize records, silently rewrite the analyst's file, or attach the derivative to a Store. Revision BL remains the reviewed evidence baseline until this decision is deliberately integrated into a later PRD revision.

14. F-11 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 10 of Claude's 34 Pass 1 findings are now closed; 24 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

14.1 Core decision — no separate Store Index artifact in WASM-002

WASM-002 shall not create, publish, discover, validate, select, or maintain a separate HTML Store Index artifact. No Store Index artifact class is allocated for WASM-002.

The separate Store Index concept is retired from the WASM-002 implementation contract rather than completed by inventing a new governed class, trigger, or serialization. The useful human-orientation intent survives through aliases in WASM-002 and through the governed Suitcase Directory (DIR) in WASM-003.

14.2 Machine truth remains the Store MAP

The Store MAP remains the authoritative machine-readable relationship between governed Store identity, RID, COL artifacts, source binding, aliases, lineage, status, hashes, and related provenance.

No HTML orientation artifact may compete with, replace, or silently become a second source of Store truth in WASM-002.

14.3 W002-STOR-010 is narrowed to alias orientation

The WASM-002 meaning of W002-STOR-010 is narrowed from “Store Index and aliases as human orientation” to “Aliases as human orientation.”

14.4 W002-STOR-010.1 and W002-STOR-010.2 remain in WASM-002

14.5 Store-Index-specific HTML requirements leave WASM-002

W002-STOR-010.3 and W002-STOR-010.4 are removed from the WASM-002 implementation obligation because both are specifically about the retired Store Index presentation layer.

14.6 PB-STOR-002 wording cleanup

The no-subfolder rule remains unchanged, but the obsolete Store Index reference is removed.

For WASM-002, the phrase:

open metadata, Store Map/Index, and human-facing aliases

is replaced by:

open metadata, Store MAP, and human-facing aliases

14.7 W002-STOR-012 preserves the invariant without Store Index

The important invariant remains: current state and durable history are different truths.

For WASM-002, W002-STOR-012 is interpreted and later integrated without the Store Index reference: the current Store MAP and any other explicitly governed current-state artifacts are selected without deleting or rewriting historical artifacts. Historical fact remains preserved in durable history / Flight Recorder evidence.

14.8 W002-STOR-015 freeze-item cleanup

The WASM-002 storage freeze item is current Store MAP selection rule, not “current Store Map/Index selection rule.”

The old illustrative Store Index example is removed from the WASM-002 normative integration path so that it cannot be mistaken for a required artifact or current architecture.

14.9 DIR owns the future durable human-orientation surface

The governed Suitcase Directory is the later human-facing project-orientation artifact. It remains deliberately outside WASM-002 and is currently sequenced as WASM-003.

WASM-002 establishes the foundation DIR depends on: validated Suitcase access, governed identities, Store MAP truth, aliases, Stores, Work Orders, Receipts, Help, and visible persistence. WASM-003 may then publish durable DIR HTML snapshots over that already-governed foundation without redefining Store truth.

14.10 Why F-11 is closed

Claude's F-11 concern was that the contract made a persistent HTML Store Index mandatory while providing no registered class, generation trigger, or content contract. The implementer therefore had no conforming way to satisfy the requirement without inventing architecture.

The frozen decision removes that contradiction. WASM-002 now has one machine-truth substrate for Store state—the Store MAP—plus aliases for human orientation. The richer durable HTML project-orientation role belongs to the separately governed DIR build. No additional Store Index artifact is required or permitted in WASM-002.

15. F-01 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 11 of Claude's 34 Pass 1 findings are now closed; 23 remain. All 11 BLOCKING findings are reconciled.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

15.1 Core decision — retire the old mutable Work Order Description model

The pre-Revision-BB meaning of W002-UI-ACC-019 is retired. WASM-002 shall not expose or persist an independent mutable Work Order Description separate from the governed Work Order TXT.

There is no standalone editable Description field for a draft or saved Work Order and no separate hidden or mutable Work Order-description store.

15.2 Human-facing Work Order label

The human-facing Work Order label in WASM-002 is the WORK ORDER AS value contained in the governed WKO TXT itself.

Because that label is part of the governed WKO bytes, changing it is an edit to the Work Order artifact rather than an out-of-band metadata edit.

15.3 Saved WKO immutability

Editing any byte of a loaded saved Work Order—including WORK ORDER AS, comments, or operational instructions—creates a derived draft.

15.4 Replacement acceptance gate for W002-UI-ACC-019

The old acceptance gate is replaced by a gate proving the architecture that WASM-002 actually permits:

15.5 Same-alias successor uses the frozen F-02 lifecycle

If the derived draft is saved with the same non-empty WORK ORDER AS alias already held by the current predecessor WKO, the save follows the frozen F-02 lifecycle.

15.6 Integration consequences

15.7 Why F-01 is closed

Claude's F-01 concern was a direct contradiction: the old acceptance gate required editing a separate Work Order Description while the later architecture forbade exactly that mutable path. The frozen decision removes the stale requirement instead of implementing prohibited machinery.

WASM-002 now has one coherent rule: human Work Order labeling lives inside the immutable governed WKO TXT. Any change to that label or any other WKO byte creates a new draft and, after save, a new WKO identity under the already-frozen F-02 lifecycle.

16. F-12 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 12 of Claude's 34 Pass 1 findings are now closed; 22 remain. All 11 BLOCKING findings are reconciled.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

16.1 Successor state requires strictly increasing UTC

Every successor state MAP published by WASM-002 must carry a transaction UTC that is strictly greater than the exact predecessor MAP UTC.

This rule applies to both Store MAP successors and WKO MAP successors. A successor whose observed UTC is equal to or earlier than its predecessor is not eligible for publication.

16.2 UTC remains truthful clock observation

Data Sculptor must use the actual observed host UTC. It must not synthesize, increment, round forward, or otherwise fabricate a later timestamp merely to make a publication sort after its predecessor.

The canonical UTC token therefore remains evidence of observed time, not a hidden sequence number.

16.3 Equal or backward clock refuses publication

If the observed host UTC is less than or equal to the predecessor UTC, the state publication must refuse.

Example: if the predecessor UTC is 20260926T180000500Z, then both 20260926T180000499Z and 20260926T180000500Z refuse; 20260926T180000501Z is acceptable.

16.4 Check occurs before state commit

The strict-greater-than comparison is a publication precondition. A candidate may not be promoted into a successor WKO MAP or Store MAP unless its transaction UTC passes this check.

A failed clock check must not alter current governed state and must not publish a successor state MAP.

16.5 First MAP in a lineage

The first MAP in a new lineage has no predecessor UTC to compare against and therefore uses the observed host UTC normally.

The monotonic successor rule begins only when publication is explicitly creating a successor to an existing governed state.

16.6 Diagnostic and Help consequences

A refusal caused by a non-increasing clock must emit the canonical diagnostic condition for this boundary and expose the ordinary Help path.

The diagnostic facts must include, at minimum, the predecessor UTC and the observed host UTC so the analyst can see why publication was refused. Final diagnostic-ID allocation remains governed by the diagnostic-registry work reconciled separately under Claude Pass 1.

16.7 Acceptance and injected-clock fixtures

Acceptance must use an injected/test clock seam sufficient to prove the rule deterministically.

16.8 Why F-12 is closed

Claude's F-12 concern was that greatest-UTC current-state selection could silently preserve stale state after a backward clock step or create a self-inflicted tie when two publications received the same millisecond UTC.

The frozen rule prevents both outcomes without corrupting the meaning of UTC. Data Sculptor may publish a successor state only when the truthful observed UTC is strictly later than its predecessor. Otherwise publication refuses visibly and leaves the prior state authoritative.

17. F-13 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 13 of Claude's 34 Pass 1 findings are now closed; 21 remain. All 11 BLOCKING findings are reconciled.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

17.1 Single-user / single-writer Suitcase model

Data Sculptor is designed for one user operating one user-owned Suitcase at a time. WASM-002 assumes that only one Data Sculptor execution context writes governed artifacts to that Suitcase at any given time.

Concurrent writers to the same Suitcase are outside the WASM-002 operating contract.

17.2 User ownership remains explicit

The single-writer assumption does not transfer ownership of the Suitcase to Data Sculptor. The Suitcase and its visible files remain user-owned.

The user may inspect, copy, move, add, or delete files with ordinary filesystem tools. If those actions alter or damage governed state, Data Sculptor applies the separately frozen validity, degradation, invalidity, repair, refusal, and evidence rules. The single-writer contract does not require Data Sculptor to prevent external filesystem changes.

17.3 No concurrent-write coordination obligation

WASM-002 does not implement or promise safe simultaneous mutation of one Suitcase by multiple writers. Therefore this build has no requirement for:

These are outside the WASM-002 contract rather than silently delegated to browser, filesystem, or host behavior.

17.4 Acceptance consequence

WASM-002 acceptance is evaluated under the frozen single-user / single-writer operating model. Acceptance fixtures are not required to prove correctness under simultaneous writers to the same Suitcase.

The PRD integration must state this operating assumption explicitly so implementers and QA do not infer an unstated concurrency guarantee.

17.5 External mutation during an active governed operation

User ownership permits ordinary filesystem changes between Data Sculptor operations. It does not create a concurrency guarantee while Data Sculptor is actively reading, validating, staging, or publishing governed state.

If another browser tab, process, sync client, filesystem tool, or the user mutates the same Suitcase during an active governed operation, that mutation is a concurrent external write and is outside the WASM-002 operating contract. Data Sculptor is not required to lock out or coordinate that writer.

If such a mutation becomes observable before publication commits and invalidates a governed precondition, Data Sculptor must fail/refuse safely under the All-or-Refuse Publication Discipline rather than knowingly publish from invalidated state. WASM-002 does not promise correctness for an undetectable race caused by an out-of-contract concurrent writer.

17.6 Why F-13 is closed

Claude's F-13 concern was that the contract relied on a single-writer assumption without stating it. The Council has now made that architectural boundary explicit: one user owns and operates one Suitcase, and one Data Sculptor execution context writes governed artifacts to it at a time.

F-13 therefore requires no new collaboration, locking, merge, or concurrency subsystem. It is closed by making the intended operating model explicit and testable.

18. Next reconciliation target

Continue Claude Pass 1 one finding at a time. F-01 through F-13 are now resolved by frozen Council decisions. Thirteen of 34 findings are closed and 21 remain. All 11 BLOCKING findings remain reconciled. The next unresolved finding is F-14: publication and validity rules for non-Store artifacts are undefined. No unresolved finding is silently treated as decided in this log.

17. F-14 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Decision: governed non-Store artifacts follow All-or-Refuse Publication Discipline. A candidate becomes published governed evidence only after its complete bytes and governed identity satisfy the applicable artifact contract. Validity and current authority are separate concepts.
Closure count: 14 of Claude's 34 Pass 1 findings are now closed; 20 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

17.1 All-or-Refuse Publication Discipline

A governed non-Store artifact becomes published only after its complete artifact bytes and governed identity satisfy the applicable artifact-class contract.

17.2 Successor publication

Where a governed operation publishes a successor artifact, the existing valid predecessor remains authoritative until the successor publication commits successfully. Publication never edits the predecessor in place.

If successor generation, validation, or publication fails, the predecessor remains unchanged and authoritative under its existing current-state rules.

17.3 Validity is distinct from current authority

An artifact may remain valid governed evidence without being current. Historical predecessor artifacts remain immutable evidence after a valid successor becomes current.

Likewise, a DEPRECATED WKO may remain a valid physical WKO artifact; deprecation describes registry authority for alias resolution, not corruption or invalidity of the WKO bytes.

17.4 Scope across WASM-002 non-Store artifacts

This publication discipline applies to governed non-Store artifact classes produced in WASM-002, including WKO, WKO registry MAP, Receipt, Inventory, CVT, and other in-scope governed non-Store outputs whose specific contracts are frozen elsewhere in the PRD/reconciliation.

Artifact-specific grammars and validity predicates remain authoritative for the details of each class; F-14 supplies the common publication boundary and does not replace those class-specific contracts.

17.5 Acceptance consequences

17.6 Why F-14 is closed

Claude identified that WASM-002 specified several governed non-Store artifact classes without one explicit common boundary between candidate output and published governed evidence. The frozen All-or-Refuse rule now supplies that boundary: complete validated bytes plus valid governed identity are required before publication, failed candidates cannot masquerade as governed truth, and existing authority survives a failed successor publication.

This closes the ambiguity without introducing collaborative locking, multi-writer coordination, or a separate lifecycle system for every artifact class.

18. F-15 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Decision: MAP eligibility is reference-bounded. A MAP is evaluated from its own governed identity/content and the governed artifacts it explicitly references; unrelated Suitcase contents cannot alter its eligibility. Current-state comparison is deterministic within the applicable governed MAP class/lineage, using governed publication UTC under the F-12 strict monotonic successor-UTC guard. UUID establishes artifact identity, not temporal precedence. If the frozen rules cannot uniquely resolve current authority, Data Sculptor refuses rather than guesses.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

18.1 Reference-bounded MAP eligibility

Whether a governed MAP is eligible must not depend on arbitrary or unrelated files merely being present in the Suitcase.

18.2 Referenced damage is not unrelated

If a file explicitly referenced by a MAP is missing or invalid, that condition is governed by the artifact-specific rules already frozen elsewhere. For Store state, F-03 determines VALID, DEGRADED, or INVALID consequences. WKO registry discrepancies use the F-02 registry and repair rules.

F-15 does not create a second repair path and does not reinterpret referenced damage as an unrelated-file event.

18.3 Deterministic current-state comparison

When more than one otherwise eligible MAP participates in current-state resolution for the same applicable governed MAP class/lineage, temporal precedence is determined by the governed publication UTC encoded in the artifact filename, subject to the strict monotonic successor-UTC publication guard frozen under F-12.

18.4 Appearance of unrelated files cannot change current authority

Adding, copying, or otherwise causing an unrelated file to appear in the user-owned Suitcase cannot by itself change which eligible MAP is current. Current authority changes only through the governed publication/lifecycle rules applicable to that MAP class or through an explicitly governed repair/lifecycle operation already defined for the affected state.

18.5 Exact filename and reference comparison semantics

WASM-002 uses exact Unicode scalar-value sequence equality for governed filename and Suitcase-entry reference matching after the filename/reference text has been decoded under the applicable governed text rules.

This rule deliberately favors cross-platform reproducibility over host-specific filename leniency.

18.6 Acceptance consequences

18.7 Why F-15 is closed

Claude identified that MAP eligibility could drift as unrelated Suitcase contents changed and that the comparison authority was not explicit. The frozen rule makes eligibility reference-bounded and current-state comparison explicit: unrelated files cannot perturb governed MAP authority, relevant referenced damage follows its existing contract, and temporal precedence is governed rather than inherited from filesystem behavior.

19. F-16 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Decision: Windows-1252 compatibility is a deterministic classification separate from the governed UTF-8 diagnostic. Data Sculptor uses one frozen Windows-1252 byte-to-Unicode mapping. Undefined bytes 0x81, 0x8D, 0x8F, 0x90, and 0x9D make the source incompatible and cause conversion refusal. A UTF-8 validation failure retains its governed UTF-8 diagnostic facts regardless of Windows-1252 compatibility. Help may separately suggest the explicit Windows-1252-to-UTF-8 conversion operation only when the complete source passes the frozen Windows-1252 compatibility assessment. Conversion is never automatic.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

19.1 Frozen Windows-1252 compatibility mapping

For WASM-002, Windows-1252 compatibility is defined by the frozen Windows-1252 byte-to-Unicode mapping, not by the permissive behavior of a browser, Rust crate, operating-system decoder, or replacement-character fallback.

19.2 UTF-8 diagnosis remains authoritative

A source that fails strict UTF-8 validation remains a UTF-8 validation failure. The deterministic F-07 facts, including FIRST_INVALID_BYTE_OFFSET and STOP_REASON, remain the governed diagnostic facts for that failure.

A later Windows-1252 compatibility assessment does not replace, relabel, suppress, or mutate the UTF-8 diagnostic. Encoding compatibility and diagnostic classification are separate facts.

19.3 Help suggestion is guidance, not reclassification

After strict UTF-8 validation fails, Data Sculptor may assess the complete source against the frozen Windows-1252 compatibility mapping solely to determine whether the explicit conversion path is available.

19.4 Conversion remains explicit and separate

The F-10 operation boundary remains unchanged. A failed analytical Work Order, UTF-8 validation, or materialization never silently converts the source. Conversion occurs only through the separately saved and explicitly authorized Windows-1252-to-UTF-8 conversion Work Order.

F-16 therefore freezes the classification oracle used by the F-10 compatibility gate without reopening F-10's Work Order form, CVT artifact contract, or conversion semantics.

19.5 Acceptance consequences

19.6 Why F-16 is closed

Claude identified two ambiguities: conversion guidance could be mistaken for a change to fixed diagnostic semantics, and the Windows-1252 compatibility oracle itself was not frozen. The Council resolution separates those concerns. UTF-8 failure retains its deterministic diagnostic identity, while a separate complete-source compatibility test uses one explicit Windows-1252 mapping with five undefined bytes that refuse rather than guess.

This gives F-10 a deterministic classification gate and allows Help to suggest an explicit conversion path without changing the meaning of the original failure.

20. F-17 — frozen Council resolution

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 17 of Claude's 34 Pass 1 findings are now closed; 17 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

20.1 Help never manufactures diagnostic truth

Diagnostics own facts. Help renders facts. Help does not manufacture facts.

Help presentation may explain, organize, and render governed diagnostic facts, but it must not invent, default, infer, replace, or override machine-deterministic facts merely to satisfy a Help template.

20.2 Deterministic coverage fallback

Every governed diagnostic must have a usable Technical Help rendering path even when no diagnostic-specific Help entry has been authored.

20.3 Required facts and optional/contextual facts

Each governed diagnostic definition explicitly identifies the machine facts required to establish that diagnostic. Those required facts form part of the diagnostic contract.

20.4 Absent-value rendering

Where absence semantics apply, Help reuses the frozen meanings already established for governed text artifacts rather than creating Help-only ambiguity:

Human-facing Help may render these states in natural language such as “None,” “Not run,” or “Not available,” but the presentation must preserve the underlying meaning. Absence must not silently become an empty field, zero, a generic “unknown,” or omission whose meaning cannot be distinguished.

20.5 Acceptance consequences

20.6 Why F-17 is closed

Claude identified that the Help contract could fail when catalogue coverage was incomplete, could render absent values inconsistently, and did not define whether a fact was required because of the diagnostic or merely because a template expected it. The frozen rules separate these responsibilities: diagnostics define required truth; Help renders that truth; and a deterministic fallback guarantees coverage without fabrication.

This closes the rendering-contract gap without requiring WASM-002 to author final bespoke prose for every diagnostic or Help voice.

21. F-18 — shared absence-state vocabulary and HLP provenance semantics

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 18 of Claude's 34 Pass 1 findings are now closed; 16 remain.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

21.1 One governed absence-state vocabulary

WASM-002 uses one shared governed absence-state vocabulary wherever a present governed fact field needs to express absence:

These states are semantically distinct and must not be substituted for one another.

21.2 HLP provenance rule

HLP provenance must distinguish non-applicability from unavailability. If a provenance concept does not apply to the Help event, the governed value is NOT_APPLICABLE. If the provenance concept applies but the value cannot be obtained, the governed value is NOT_AVAILABLE.

HLP must not use NOT_AVAILABLE merely as a generic placeholder for a fact that does not apply.

21.3 Cross-artifact consistency

The shared absence tokens retain the same meanings across WASM-002 governed fact-bearing artifacts and diagnostic/Help paths wherever their artifact grammars permit those fields. Artifact-specific synonyms or ambiguous alternatives such as N/A, UNKNOWN, UNAVAILABLE, blank values, or prose variants must not acquire competing machine meanings where the shared governed vocabulary applies.

An artifact's own frozen grammar still determines whether a field is present. F-18 does not require every artifact to serialize every possible fact. It governs the value used when a present governed field expresses one of these absence states.

21.4 Relationship to F-09 and F-17

F-18 extends the shared absence vocabulary frozen under F-09 by adding NOT_APPLICABLE; it does not change the existing meanings of NONE, NOT_RUN, or NOT_AVAILABLE.

F-17 remains authoritative that diagnostics own facts and Help renders facts. Human-facing Help may translate the machine tokens into readable language, but the rendering must preserve the underlying absence state and must not manufacture a value.

21.5 Acceptance consequences

21.6 Why F-18 is closed

Claude identified two related ambiguities: HLP provenance treated a fact that did not apply as though its value were merely unavailable, and different artifacts used inconsistent absence representations. The frozen vocabulary now gives those states separate meanings and applies one governed semantic model across WASM-002.

A consumer can therefore distinguish “there is no value,” “this stage did not run,” “the value could not be obtained,” and “this fact does not apply” without inferring meaning from artifact-specific blanks or synonyms.

22. F-19 — local Help disclosure of relevant headers and aliases

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 19 of Claude's 34 Pass 1 findings are now closed; 15 remain.
Decision: local Help may reproduce source headers and Data Sculptor aliases when relevant to understanding the current diagnostic, operation, artifact, or corrective action. Headers and aliases do not require redaction merely because their text may contain sensitive information.
PRD state: NOT YET INTEGRATED. Revision BL remains the reviewed baseline.

22.1 Analyst-visible Suitcase facts

WASM-002 treats source headers and Data Sculptor aliases as ordinary analyst-visible Suitcase facts for Help purposes. The analyst owns and can inspect the source CSV and governed artifacts in the Suitcase; Help does not create a separate secrecy boundary around text the analyst is already authorized to work with locally.

A header may contain ordinary data-like or sensitive text. That fact does not require Data Sculptor to redact the header from local Help when reproducing it materially improves understanding of the event.

22.2 Relevance boundary

Help may reproduce a header or alias when it is relevant to explaining the current diagnostic, operation, governed artifact, or corrective action. Help must not dump unrelated headers, aliases, source values, or other Suitcase content merely because those facts are locally available.

The governing question is relevance to understandable Help, not whether the text appears sensitive.

22.3 Headers and aliases are explicitly covered

22.4 Local-processing boundary

WASM-002 Help rendering is local. Rendering Help does not transmit Suitcase facts, source headers, aliases, source values, diagnostic context, or other Suitcase content to an external service.

This local-processing boundary is what permits Help to remain specific and understandable without introducing a redaction layer between the analyst and the analyst's own data.

22.5 Help voices and fallback rendering

Technical Help, later alternate Help voices, and the F-17 deterministic fallback all obey the same relevance and local-processing rules. A rendering voice may change explanation and presentation; it may not broaden the event into an unrelated disclosure of Suitcase content.

22.6 Acceptance consequences

22.7 Why F-19 is closed

Claude correctly identified that the prior disclosure model did not clearly cover aliases and that a header can itself contain data-like text. The Council resolves those edge cases by making the product boundary explicit rather than by hiding useful context: the Suitcase belongs to the analyst, Help is local, and relevant headers and aliases may be shown to make Help understandable.

Data Sculptor therefore does not need a sensitivity classifier or blanket redaction rule for headers and aliases. It needs a relevance rule and a local-processing guarantee.

23. F-20 — bounded width, operational header fallback, and KEEP maximum

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 20 of Claude's 34 Pass 1 findings are now closed; 14 remain.
Decision: WASM-002 freezes a 16,384-column V1 source-width maximum, a 1,024-Unicode-character operational column-name maximum with deterministic Excel-style ordinal fallback for oversized source headers, Receipt disclosure whenever fallback is used, and KEEP support through the full permitted 16,384-column source width. Streaming/out-of-core bounded-memory behavior remains mandatory.
PRD state: decision frozen here; canonical PRD integration remains pending.

23.1 V1 source CSV width

A WASM-002 source CSV may contain at most 16,384 columns. This V1 product limit deliberately aligns with the Excel A-through-XFD column range and generalizes the project's existing 16,384-column transpose safety boundary into the WASM-002 source-width contract.

A source containing more than 16,384 columns is refused clearly and deterministically before analytical publication. Data Sculptor does not silently discard, merge, or ignore excess columns.

23.2 Operational column-name length

The maximum operational column-name length is 1,024 Unicode characters after CSV parsing and decoding.

A source header of 1,024 characters or fewer is preserved as the operational column name, subject to the other frozen header/identity rules. A source header longer than 1,024 characters is not truncated and does not by itself cause the CSV to be rejected.

23.3 What “1,024 Unicode characters” means

For this WASM-002 limit, one “Unicode character” means one Unicode scalar value in the decoded header string. The limit is therefore exactly 1,024 Unicode scalar values after successful decoding.

Data Sculptor does not normalize the header before counting and does not count user-perceived grapheme clusters. Combining marks and other independently encoded scalar values each count toward the 1,024-value limit. This makes the boundary deterministic and testable.

23.4 Deterministic oversized-header fallback

When a source header exceeds 1,024 Unicode characters, Data Sculptor assigns the deterministic operational name Column <LETTERS>, where <LETTERS> is the Excel-style letter reference derived from the column's one-based physical ordinal.

The source CSV remains untouched. The oversized source header remains source evidence; Data Sculptor does not rewrite it or truncate it into a different apparent source header.

23.5 Receipt disclosure

Whenever the oversized-header fallback is used during a consequential operation, the resulting Receipt must record that fallback use. At minimum it records the affected column ordinal, the assigned deterministic operational name, and that the substitution occurred because the source header exceeded the 1,024-character operational column-name limit.

The Receipt is not required to reproduce the complete oversized source header merely to document the fallback.

23.6 KEEP width

KEEP may select any number of columns from 1 through the full V1 source-width maximum of 16,384 columns. WASM-002 imposes no smaller KEEP-specific width limit. Therefore a valid 16,384-column source may be kept in its entirety.

23.7 Bounded-memory and output-writer contract

WASM-002 processing remains streaming/out-of-core. Peak working memory must not scale with source row count or total source-file size. Structural state may scale only within the frozen V1 width bounds needed to represent the header/column metadata and the requested KEEP selection; accumulated row data must not be retained in memory merely because the source is large.

Output-writer concurrency must also remain bounded independently of KEEP width, row count, and total source-file size. A maximum-width KEEP does not authorize one permanently open writable stream or a full-row data buffer per selected column. The implementation may use fixed-size batching, visible governed scratch/staging where otherwise permitted, repeatable multi-pass processing, or another deterministic bounded-resource strategy.

The accepted build must declare the configured upper bound for simultaneously active writable output streams in retained acceptance evidence, and test instrumentation may report the observed peak. The bound is an implementation resource limit, not an analyst-facing syntax limit.

23.8 Fallback-name collision handling

Oversized-header fallback labels must not silently create ambiguous operational names. Before fallback assignment, Data Sculptor knows the set of preserved operational header names at or below the 1,024-scalar-value limit. Oversized headers are then assigned fallbacks in ascending physical column ordinal.

The preferred fallback is Column <LETTERS>. If that exact label collides with a preserved operational name or a fallback already assigned, Data Sculptor tries Column <LETTERS> [<ORDINAL>]. If that also collides, it appends a deterministic numeric suffix -2, -3, and so on until one unique operational label is obtained. The Receipt records the final assigned fallback label.

Column identity remains anchored to physical ordinal and the governed Store/RID/COL model; the fallback label is a deterministic human-operational name, not a replacement for ordinal identity.

23.9 Acceptance consequences

23.10 Why F-20 is closed

Claude's concern is closed because WASM-002 now has explicit finite structural width semantics rather than an undefined bounded-memory promise: source width is capped at 16,384 columns, operational column names are bounded at 1,024 Unicode characters with a deterministic non-destructive fallback, KEEP is bounded by the same maximum source width, fallback use is auditable in Receipts, and row-scale processing remains streaming/out-of-core.

24. F-21 — single chronological MAP history; no branching

Resolution state: RESOLVED BY DESIGN CLARIFICATION / DECISION FROZEN FOR WASM-002.
Closure count: 21 of Claude's 34 Pass 1 findings are now closed; 13 remain.
Decision: WASM-002 has one chronological governed MAP history and no branching MAP model. A new MAP published from an explicitly selected historical eligible MAP is simply the next governed MAP publication. If it is the latest eligible MAP, it becomes current under the ordinary current-MAP resolution rules. Earlier MAPs remain immutable historical evidence.
PRD state: decision frozen here; canonical PRD integration remains pending.

24.1 No branching MAP model

WASM-002 does not create, track, merge, or resolve MAP branches, alternate current states, or parallel MAP lineages. Governed MAP publication remains a single chronological history.

Deriving a new MAP from an older eligible MAP does not create a branch. The derivation source and publication chronology are separate facts.

24.2 Historical MAPs remain usable

An analyst may explicitly select and use a historical eligible MAP as the input state for a new governed operation. WASM-002 does not require a special historical-successor permission gate merely because the selected MAP is not currently authoritative.

Inspection of a historical MAP alone does not change current state. Current state changes only when a new eligible governed MAP is successfully published.

24.3 Current-state consequence

When an operation using a historical eligible MAP successfully publishes a new eligible MAP, that artifact enters the ordinary chronological MAP history. If its governed publication UTC makes it the latest eligible MAP under the frozen current-state rules, it becomes current.

The previously current MAP is not overwritten, invalidated, or deleted. It remains immutable historical evidence alongside all earlier governed MAPs.

24.4 UTC publication identity remains authoritative

Governed UTC publication identity in the MAP filename continues to determine chronology subject to the already-frozen eligibility and strict monotonic successor-UTC rules. A MAP's derivation from an older state does not create an alternate chronology or override those rules.

24.5 Acceptance consequences

24.6 Why F-21 is closed

Claude's finding assumed that publishing from a historical MAP might require branch-aware or special warning semantics. The Council confirms that the observed behavior is intentional: Data Sculptor maintains one chronological MAP publication history. A newly published eligible MAP becomes current according to the same deterministic rules regardless of whether its input state was the previously current MAP or an explicitly selected historical MAP. History remains visible and immutable; branching is deliberately out of scope.

25. F-22 — Diagnostic IDs are WASM-002 Help Engine routing identifiers

Resolution state: RESOLVED BY SCOPE CLARIFICATION / DECISION FROZEN FOR WASM-002.
Closure count: 22 of Claude's 34 Pass 1 findings are now closed; 12 remain.
Decision: WASM-002 requires Diagnostic IDs so diagnostic conditions can be routed through the Help Engine. Acceptance proves the diagnostic/Help wiring, not the final semantic wording of every Diagnostic ID. Final message semantics and prose for Casual, Office Speak, and Technical Help are deferred for later refinement. Where the WASM-002 PRD specifies Help wording at all, Technical is the default voice unless explicitly stated otherwise.
PRD state: decision frozen here; canonical PRD integration remains pending.

25.1 WASM-002 scope

For WASM-002, a Diagnostic ID is a stable routing identifier used to connect a diagnostic condition to the Help Engine. The build is required to demonstrate that an applicable diagnostic condition can emit an ID and that the Help Engine can receive and render Help through that ID.

WASM-002 does not require the Council to pre-assign and independently specify the final semantic meaning and polished prose for every Diagnostic ID before implementation.

25.2 What acceptance verifies

25.3 Implementation registry is permitted

The implementation may deliver and use a diagnostic registry containing the Diagnostic IDs and their Help routing information. For WASM-002 this does not compromise QA independence, because acceptance is testing that the required diagnostic/Help plumbing works; it is not using that registry to prove that a separately normative catalogue of final diagnostic semantics is correct.

No duplicate QA-owned diagnostic registry is required for WASM-002, and the PRD does not require a new pass solely to assign a predetermined ID number and final message semantics to every possible diagnostic.

25.4 Help voices

Casual, Office Speak, and Technical are Help presentation voices. Their final prose and semantic polish are not a WASM-002 acceptance deliverable. The Help Engine wiring must support the voice model, but message refinement may occur in a later build.

Where the WASM-002 PRD specifies Help wording or an example Help message at all, Technical is the default voice unless the requirement explicitly states otherwise.

25.5 Relationship to earlier Help decisions

This resolution does not weaken the already-frozen F-17 and F-18 requirements governing diagnostic facts, fallback rendering, and absence-state semantics where those contracts are explicitly required by WASM-002. It narrows F-22 to the question Claude raised: whether every Diagnostic ID and its final semantic message must be independently pre-specified for QA. For WASM-002, they do not.

25.6 Help Engine wiring model

One diagnostic condition → one stable Diagnostic ID → one Help entry → three explanatory voices.

A diagnostic condition emits one stable Diagnostic ID. That Diagnostic ID identifies one Help entry. The Help entry may provide three human-facing explanations of the same underlying condition: Casual, Office Speak, and Technical. The selected voice changes the explanation; it does not change the Diagnostic ID or the underlying diagnostic condition.

For WASM-002, acceptance verifies the wiring path from diagnostic condition to Diagnostic ID to Help Engine to the selected voice. Final prose and semantic polish for the three voices remain deferred. Where Help wording is specified in the WASM-002 PRD, Technical is the default voice unless explicitly stated otherwise.

25.7 Relationship to F-17 required facts — explicit sanity-check clarification

F-22 does not remove F-17's structural requirement that a governed diagnostic definition identify the machine facts required to render its Help deterministically. Each Diagnostic ID carried in the implementation registry must therefore declare the required fact set, applicable absence semantics, and Help-routing information needed by the frozen Help model.

For WASM-002, acceptance verifies the generic invariants of that registry and representative diagnostic → ID → Help → voice paths. It does not require an independently authored semantic oracle and bespoke acceptance fixture for every registry entry or every final sentence of Help prose.

The division is therefore: F-17 governs the structure and deterministic fact contract of diagnostics; F-22 limits the depth of semantic/message acceptance required in this build.

25.8 Why F-22 is closed

Claude's independence concern depends on treating the implementation registry as the oracle for a normative, fully specified diagnostic-message catalogue. That is not the WASM-002 objective. The objective is to wire Diagnostic IDs through the Help Engine and prove that the plumbing works. Final Help-message semantics and voice-specific prose are intentionally deferred. The implementation registry may therefore provide the routing IDs used by this build without forcing a second independently maintained diagnostic catalogue or a full PRD renumbering exercise.

26. F-23 — acceptance coverage and governed test-only seams

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 23 of Claude's 34 Pass 1 findings are now closed; 11 remain.
Decision: substantive WASM-002 behaviors that form part of acceptance must have acceptance coverage, and WASM-002 may provide deterministic test-only seams for conditions that cannot reasonably or reliably be produced through ordinary user operation. Those seams are QA infrastructure only and must not become a user-accessible alternate Data Sculptor execution path.
PRD state: decision frozen here; canonical PRD integration remains pending.

26.1 Acceptance coverage principle

During canonical PRD integration, acceptance coverage must be added for substantive WASM-002 behaviors that are frozen but not presently exercised by an acceptance gate. Closely related behaviors may be covered by one coherent acceptance scenario; WASM-002 does not require a separate acceptance gate for every sentence or subclause merely to inflate gate count.

The acceptance suite must nevertheless provide evidence for the material behaviors Claude identified as uncovered, including the applicable CLEAR/RESET alias cases, Receipt-publication failure, governed-name collision/retry behavior, unknown-class preservation/reporting, case-variant governed names, WKO save transaction rollback, embedded Help-catalog safety/no-runtime-fetch behavior, and required Receipt facts for UPDATE ALIASES and INVENTORY where those contracts remain in WASM-002.

26.2 Deterministic test-only seams are explicitly permitted

WASM-002 may include deterministic test-only seams for conditions that cannot reasonably or reliably be caused on demand through ordinary analyst use. Permitted seam targets include controlled clock values, controlled UUID sequences/collisions, controlled filesystem publication or rename failures, and controlled source-handle/source-substitution conditions needed to exercise frozen acceptance behavior.

A test seam exists to make an otherwise rare or nondeterministic condition reproducible for independent QA. It does not change the product contract for ordinary users.

26.3 Release/user boundary

Test-seam controls must not become an alternate user-accessible Data Sculptor execution path. The release product must not expose test-only fault controls through the Data Sculptor UI, DS-STEPS, Work Orders, URL/query parameters, or another ordinary user-facing product interface.

The implementation may satisfy this boundary by compile-time exclusion, build configuration, isolated harness injection, or another demonstrably inert technique. WASM-002 freezes the behavioral boundary rather than prescribing one implementation mechanism.

26.4 Retained acceptance evidence

26.5 Relationship to PLDD and independent QA

The seams are part of testability, not product scope. They allow the implementation and independent QA roles to reproduce the same exceptional conditions without adding hidden ad hoc hooks during testing. This preserves the project's separation between implementation and adversarial acceptance while keeping the analyst-facing product surface clean.

26.6 Why F-23 is closed

Claude identified both missing acceptance coverage and the absence of an authorized way to reproduce rare failure conditions. The Council resolves both points explicitly: material WASM-002 behavior must be acceptance-covered, and deterministic test-only seams are permitted where needed, provided they are governed QA infrastructure and are not exposed as an ordinary user execution path. The PRD therefore need not depend on luck to exercise rename failures, UUID collisions, clock movement, or controlled source substitution, and the release build need not acquire undocumented user-facing hooks.

27. Day 050 high-effort sanity-check record

Result: F-01 through F-23 remain closed. Closure count remains 23 of 34; 11 findings remain. The sanity review did not reopen any finding. It tightened four contracts before work proceeds to F-24.

F-14, F-16, F-17, F-18, F-19, F-21, and F-23 were re-read and require no substantive change from today's frozen decisions. F-14's common publication rule does not silently supply missing class-specific grammars; any still-unresolved class-specific obligations remain available to later findings such as F-33 and canonical PRD integration.

28. F-24 — session model, fresh CERs, singleton CER-history ZIP, and no browser-private project persistence

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 24 of Claude's 34 Pass 1 findings are now closed; 10 remain.
Decision: each successful Suitcase opening/certification publishes a fresh CER. Superseded CERs are automatically compacted into one singleton governed CER-history ZIP so certification history is preserved without filling the flat Suitcase with standalone certificate files. WASM-002 does not persist the Suitcase directory handle, project truth, UI preferences, or unsaved Work Order drafts in browser-private storage between sessions.
PRD state: decision frozen here; canonical PRD integration remains pending.

28.1 Fresh CER on every successful Suitcase opening

When the analyst selects a Suitcase and Data Sculptor successfully validates/certifies it sufficiently to unlock the workspace, Data Sculptor publishes a new governed CER for that opening. A new browser/session opening is therefore intentionally evidenced by a new CER rather than reusing the previous certificate.

The newly published CER is the current standalone CER. Its governed identity is immutable after publication.

28.2 One singleton CER-history ZIP

WASM-002 permits exactly one governed CER-history ZIP container in a Suitcase. The container is housekeeping packaging for superseded CER evidence; it is not itself the historical event being preserved.

The steady-state target after successful compaction is therefore one current standalone CER plus at most one CER-history ZIP.

28.3 Automatic compaction lifecycle

After a fresh CER is successfully published, Data Sculptor automatically reconciles CER history. If no superseded CER exists, no history ZIP is required. If one or more superseded CERs exist, Data Sculptor constructs a replacement singleton history ZIP containing both the CERs already present in the previous history ZIP, if any, and all superseded standalone CERs that are eligible for archival.

If a prior attempt left multiple superseded standalone CERs visible, a later successful reconciliation may compact all of them in the same deterministic pass.

28.4 All-or-Refuse archival safety

CER compaction follows the project's All-or-Refuse Publication Discipline. Data Sculptor must completely write and verify the replacement history ZIP before deleting any predecessor history ZIP or any superseded standalone CER.

A CER may therefore disappear from standalone visibility only after its exact bytes and original governed filename have been verified in the successfully published singleton history ZIP.

28.5 Singleton container is replaceable housekeeping, not immutable event evidence

The singleton CER-history ZIP is deliberately replaceable as CER history grows. This is a narrow housekeeping exception to immutable event-artifact identity: the immutable evidence consists of the CER entries preserved inside the package, while the package is the current governed container used to keep that evidence tidy.

WASM-002 shall not create an accumulating chain of historical CER ZIP containers; there is only one current CER-history ZIP.

28.6 No remembered Suitcase handle between browser sessions

WASM-002 does not persist the Suitcase directory handle in IndexedDB or another browser-private store between sessions. On a new session, the analyst selects the Suitcase again and grants whatever browser access is required. Data Sculptor then validates/certifies that selected Suitcase, publishes the fresh CER, and performs CER-history reconciliation automatically.

Browser-private state shall not become a second project database or a hidden dependency for understanding the Suitcase.

28.7 UI preferences do not persist in WASM-002

Theme and Help-voice selections are session-local convenience choices in WASM-002 and reset to their canonical defaults when a new browser session begins. WASM-002 does not introduce IndexedDB, localStorage, or another browser-private persistence mechanism merely to remember those preferences.

A later build may deliberately define a preferences mechanism, but F-24 does not create one implicitly.

28.8 Unsaved Work Order drafts remain transient

Unsaved Work Order drafts are not persistently autosaved in browser-private storage. A modified unsaved draft remains transient session state until the analyst explicitly saves it as a governed WKO.

Where the browser permits, Data Sculptor must warn before ordinary navigation, reload, or tab/window closure would discard a dirty unsaved draft. WASM-002 does not claim that such a warning can be guaranteed for browser crashes, forced process termination, operating-system failure, or power loss.

28.9 Why F-24 is closed

Claude identified three ambiguities: repeated CER production, whether the browser may remember Suitcase/UI state, and loss of unsaved drafts. The Council deliberately keeps a fresh CER for every successful Suitcase opening, but prevents flat-directory pollution by automatically compacting superseded CERs into one safely replaceable singleton history ZIP while preserving each CER byte-for-byte. The browser remembers no Suitcase handle or UI preferences across sessions, and unsaved drafts are transient with a loss warning where the browser permits it.

The result preserves visible Suitcase truth, keeps certification history, avoids a hidden browser-side project store, and bounds CER clutter without deleting historical evidence.

28.10 Next reconciliation target

F-01 through F-24 are now resolved by frozen Council decisions. 24 of 34 findings are closed; 10 remain. All 11 BLOCKING findings remain reconciled. The next unresolved finding is F-25: the target platform and small-screen baseline are not defined within the cut.

29. F-25 — canonical hardware, primary Edge host, and secondary Firefox browser

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 25 of Claude's 34 Pass 1 findings are now closed; 9 remain.
Decision: the canonical WASM-002 acceptance machine is the project's 11-inch Windows 11 Intel N100 laptop with 16 GB RAM and native 1920×1200 display. Microsoft Edge is the primary browser. Mozilla Firefox is the secondary browser. Exact browser, Windows, display-scaling, zoom, and viewport details used for formal acceptance are retained as acceptance evidence.
PRD state: decision frozen here; canonical PRD integration remains pending.

29.1 Canonical low-end Windows hardware baseline

The canonical WASM-002 small-screen / low-end Windows acceptance host is the project's 11-inch Windows 11 laptop with an Intel N100 processor, 16 GB RAM, and a native 1920×1200 display.

This machine is the required reference host for the WASM-002 small-screen usability and browser-host acceptance path. Stronger machines may provide additional characterization or headroom evidence, but they do not replace the N100 reference host for this build.

29.2 Primary browser — Microsoft Edge

Microsoft Edge is the primary WASM-002 browser on the canonical Windows 11 N100 host. Formal WASM-002 browser acceptance uses the current stable Microsoft Edge release installed for the acceptance run.

Edge is the canonical full browser host for the WASM-002 Direct Workspace path, including the browser filesystem capabilities needed by the build when those capabilities are exposed by the host: Suitcase selection, governed reads and writes, CER publication and CER-history compaction, Work Order save/run flows, Help rendering, Receipts/Inventory, conversion, and materialization.

29.3 Secondary browser — Mozilla Firefox

Mozilla Firefox is the secondary WASM-002 browser and the required independent-engine browser characterization host. Formal secondary-browser characterization uses the current stable Firefox release installed for the acceptance run.

Firefox is exercised for the WASM/core behavior and every relevant filesystem/browser capability it actually exposes. A browser-specific API limitation — for example the absence of a Chromium-family direct-directory-write API — is recorded as a host capability difference rather than treated as an analytical failure by itself.

Firefox does not become a second analytical truth oracle merely because it is the secondary browser. Analytical correctness remains governed by the frozen engine/fixture acceptance contracts; Firefox provides required browser-host and independent-engine characterization.

29.4 Browser-version policy

WASM-002 does not freeze a permanently aging Edge or Firefox major-version number into the product architecture. Instead, formal acceptance uses the current stable releases present at the time of that acceptance run and records their exact full version numbers with the retained acceptance evidence.

This preserves historical reproducibility: a later reader can identify exactly which Edge and Firefox builds were exercised without requiring the Product Backlog PRD to be revised merely because either browser publishes a routine stable update.

29.5 Reproducible small-screen acceptance evidence

The retained WASM-002 browser acceptance evidence must identify, at minimum:

The small-screen/keyboard acceptance requirements are then evaluated against that recorded environment rather than an undefined phrase such as “supported host” or “canonical small-screen baseline.”

29.6 Scope boundary for other browsers and operating systems

Chrome, Opera, Safari, mobile browsers, macOS, and Linux are not required WASM-002 acceptance targets merely because Data Sculptor's browser/WASM architecture may later support or characterize them. Testing those environments remains permitted, but F-25 does not make them part of the frozen WASM-002 acceptance baseline.

This is a build-scope decision, not a claim that Data Sculptor is inherently Windows-only or permanently Edge/Firefox-only.

29.7 Why F-25 is closed

Claude's finding was that the reviewed cut invoked a supported host, canonical low-end Windows laptop, and canonical small-screen baseline without identifying them, leaving UI/browser acceptance unreproducible. The Council now identifies the concrete hardware host, fixes Microsoft Edge as primary and Mozilla Firefox as secondary, defines the role of each browser, and requires the exact runtime/display environment to be retained with acceptance evidence.

The result is reproducible without freezing transient browser major-version numbers into the long-lived product contract.

29.8 Next reconciliation target

F-01 through F-25 are now resolved by frozen Council decisions. 25 of 34 findings are closed; 9 remain. All 11 BLOCKING findings remain reconciled. The next unresolved finding is F-26: allowed SOURCE reference forms are undefined.

30. F-26 — SOURCE is one exact Suitcase-root CSV filename

Resolution state: RESOLVED BY DECISION / FROZEN FOR WASM-002.
Closure count: 26 of Claude's 34 Pass 1 findings are now closed; 8 remain.
Decision: WASM-002 SOURCE accepts exactly one physical filename in the Suitcase root. It is a filename, not a path. Analyst-owned CSV files and successfully published governed CVT CSV artifacts may be used as sources; other governed artifact classes and non-CSV inputs may not be used as SOURCE in WASM-002.
PRD state: decision frozen here; canonical PRD integration remains pending.

30.1 SOURCE names one root-level physical file

The WASM-002 SOURCE clause contains one quoted physical filename located directly in the selected Suitcase root. It does not contain a filesystem path.

Examples:

SOURCE "crime.csv"
SOURCE "__DS__CVT__20260926T190000000Z__00000000-0000-4000-8000-000000000000.csv"

User-created subdirectories may exist in the Suitcase, but WASM-002 SOURCE does not address into them.

30.2 Path and traversal forms are refused

The following forms are outside the WASM-002 SOURCE grammar and must refuse rather than be normalized, rewritten, searched, or guessed:

The Suitcase boundary is therefore explicit: SOURCE in WASM-002 resolves only against the selected Suitcase root.

30.3 Permitted source classes

A WASM-002 analytical source may be:

The already-frozen F-10 conversion contract remains authoritative for CVT: conversion publishes a governed UTF-8 CSV derivative, and a later Work Order may name that exact physical CVT filename as SOURCE. Using a CVT as source does not create an automatic Store handoff or hidden lineage registration.

30.4 Governed artifacts that are not valid SOURCE values

WASM-002 does not allow a Store artifact or evidence artifact to become an analytical source merely because it is a visible file in the Suitcase. In particular, RID, COL, MAP, WKO, RCP, INV, CER, HLP, SCR, ZIP/history containers, and other governed non-CVT artifacts are not valid SOURCE targets in this build.

A COL therefore cannot be used as the source of another Store in WASM-002. Store-within-Store source lineage is deliberately not introduced here.

30.5 Exact filename resolution and no guessing

The exact filename/reference-comparison semantics frozen under F-15 apply to SOURCE. Data Sculptor does not case-fold, Unicode-normalize, locale-fold, search nearby files, or substitute a differently spelled filename in an attempt to infer analyst intent.

If the exact governed spelling cannot be resolved unambiguously under the frozen filename rules, Data Sculptor refuses rather than choosing another physical file.

30.6 CSV filename is not proof of source validity

A CSV filename identifies only a candidate physical source form. It is not evidence that the file is analytically valid. Before materialization or other analytical use, the selected source must still pass the ordinary WASM-002 encoding and CSV certification rules, including the frozen UTF-8 / Windows-1252 decision path and CSV grammar.

Renaming malformed, non-CSV, or otherwise uncertifiable bytes to a CSV filename does not make them a valid Data Sculptor source.

30.7 Why F-26 is closed

Claude identified that the reviewed cut left path separators, parent traversal, absolute paths, subdirectory addressing, governed-artifact sources, and non-CSV sources to implementation choice. The Council now makes the boundary intentionally narrow: one exact root-level physical filename, only analyst-owned CSV or governed CVT CSV as permitted source classes, no path traversal, no subfolder addressing, and no Store-within-Store source reuse through COL or other governed artifacts.

This keeps WASM-002 portable, deterministic, and faithful to the flat visible Suitcase model while preserving the already-frozen ability to use a successfully converted CVT artifact in a later analytical Work Order.

30.8 Next reconciliation target

F-01 through F-26 are now resolved by frozen Council decisions. 26 of 34 findings are closed; 8 remain. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The next unresolved finding is F-27, the first CLARITY item in Claude Pass 1.

31. F-27 — Suitcase Directory aliases are read-only governed metadata

Resolution state: RESOLVED — WORDING CORRECTED / DECISION FROZEN FOR WASM-002.
Closure count: 27 of Claude's 34 Pass 1 findings are now closed; 7 remain.
Decision: W002-UI-006 must describe the alias column as a read-only governed alias where applicable. The Suitcase Directory displays governed alias truth; it does not provide inline alias editing. W002-UI-019 and W002-UI-024 remain the operative read-only behavior.
PRD state: decision frozen here; canonical PRD integration remains pending.

31.1 Corrected wording

During later PRD integration, the W002-UI-006 phrase editable human alias where applicable is replaced with:

read-only governed alias where applicable

This is a wording correction, not a new capability or a semantic change.

31.2 Directory display does not become an alias editor

The Suitcase Directory may display the governed alias associated with an artifact where the applicable MAP or registry supplies one. That display is orientation metadata only.

The Directory must not introduce an inline alias editor, a second alias-storage path, or any mutation mechanism that bypasses the governed Work Order / MAP lifecycle already frozen for WASM-002.

31.3 Existing read-only requirements remain authoritative

W002-UI-019 and W002-UI-024 already establish that aliases shown in the Directory are read-only. F-27 therefore reconciles the stale adjective in W002-UI-006 with the behavior the reviewed contract already enforces.

No syntax, artifact class, publication rule, lifecycle state, diagnostic, or acceptance mechanism is added by this resolution.

31.4 Why F-27 is closed

Claude identified a wording hazard: one requirement described an alias as editable while two later requirements made the same Directory alias read-only. The Council accepts the read-only model and removes the contradictory adjective.

An implementer therefore has one unambiguous rule: the Suitcase Directory shows governed aliases where available; alias mutation occurs only through the separately governed mechanisms defined elsewhere in WASM-002.

31.5 Next reconciliation target

F-01 through F-27 are now resolved by frozen Council decisions. 27 of 34 findings are closed; 7 remain. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The next unresolved finding is F-28: Brand-Manifest wording survives in in-scope text.

32. F-28 — fixed built-in presentation; configurable branding remains deferred

Resolution state: RESOLVED — BRANDING SCOPE WORDING CORRECTED / DECISION FROZEN FOR WASM-002.
Closure count: 28 of Claude's 34 Pass 1 findings are now closed; 6 remain.
Decision: WASM-002 has a fixed built-in Data Sculptor presentation, not a configurable branding system. HTML artifacts may use the canonical built-in Data Sculptor / Red5Sorcery presentation. TXT artifacts carry no branding requirement. Brand Manifest, customer branding, theme manifests, white-label presentation controls, and equivalent configurable-branding mechanisms remain outside WASM-002.
PRD state: decision frozen here; canonical PRD integration remains pending.

32.1 HTML wording boundary

Where an in-scope WASM-002 HTML artifact is described as branded or brandable, later PRD integration must replace that wording with:

uses the canonical built-in Data Sculptor presentation

This applies to the HTML certificate and HTML Help report references identified by Claude. The built-in presentation may visibly identify Data Sculptor / Red5Sorcery; it is not user-configurable branding.

32.2 TXT artifacts have no branding requirement

Plain-text governed artifacts such as Inventory TXT are governed by their frozen byte/serialization contracts, not by a visual branding contract. Stale wording such as branded, UTF-8 TXT must therefore lose the branding adjective during PRD integration.

This does not change the Inventory TXT encoding, grammar, provenance, filename identity, or other artifact semantics already frozen elsewhere.

32.3 Brand Manifest remains outside WASM-002

F-28 does not reintroduce Brand Manifest into WASM-002. No configurable brand manifest, theme file, customer logo setting, white-label switch, or presentation override becomes an in-scope requirement through this wording correction.

Any later configurable-branding capability must be specified in its own future scope rather than inferred from the word branded surviving in Revision BL.

32.4 Why F-28 is closed

Claude identified that Brand Manifest had been deferred while several in-scope requirements still used older branding language. The Council resolves the contradiction by distinguishing fixed built-in product presentation from configurable branding.

HTML artifacts may use the canonical built-in Data Sculptor presentation; TXT artifacts have no branding requirement; configurable branding remains deferred. No new WASM-002 feature, artifact class, syntax, lifecycle, or acceptance mechanism is introduced.

32.5 Next reconciliation target

F-01 through F-28 are now resolved by frozen Council decisions. 28 of 34 findings are closed; 6 remain. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The next unresolved finding is F-29: section headings misplace in-scope requirements and are out of order.

33. F-29 — PRD section structure follows actual scope and subject matter

Resolution state: RESOLVED — DOCUMENT STRUCTURE CORRECTED / DECISION FROZEN FOR WASM-002.
Closure count: 29 of Claude's 34 Pass 1 findings are now closed; 5 remain.
Decision: Revision BL's misleading inherited headings and out-of-order section numbering are presentation/navigation defects, not requirement semantics. During later PRD integration, headings will be reorganized to match the actual WASM-002 subject matter and requirement scope, while requirement metadata and requirement IDs remain authoritative and stable.
PRD state: decision frozen here; canonical PRD integration remains pending.

33.1 Requirement metadata remains authoritative

For the integrated PRD, the governing meaning of a requirement continues to come from its requirement ID and its explicit metadata, including SCOPE and STATUS. Moving a requirement beneath a corrected heading does not change its semantics, lifecycle status, build allocation, or acceptance obligation.

A section heading is a navigation and organization device. It must not contradict the requirement metadata beneath it.

33.2 Headings must reflect the requirements they contain

During later PRD integration, in-scope WASM-002 requirements must not remain visually nested beneath headings that label them deferred, future-commercial, or otherwise unrelated to their actual subject matter.

The specific extraction artifacts Claude identified — including in-scope UPDATE ALIASES, CLEAR, RESET, the Work Order contract, conversion and Help acceptance gates, WKO identity/MAP/CER requirements, and non-composition acceptance gates — must be placed under headings that accurately describe their current WASM-002 role.

33.3 Section numbering is normalized; requirement IDs are not renumbered for tidiness

The integrated PRD's section headings must use one coherent, non-duplicated sequence. Out-of-order numbering and duplicate section numbers are removed.

Requirement IDs are not renumbered solely to make the document cosmetically sequential. Their identities are part of the governed project record and remain stable unless a separate explicit requirement-level decision requires otherwise.

33.4 Structural cleanup must not smuggle in scope or semantic changes

No requirement is added, removed, re-scoped, or semantically rewritten merely because headings and section numbers are corrected under F-29.

If later integration exposes a genuine requirement contradiction, missing rule, or scope question, that issue must be handled explicitly rather than hidden inside editorial restructuring.

33.5 Why F-29 is closed

Claude identified that inherited extraction headings could cause a careful reader to conclude that several in-scope WASM-002 requirements were deferred or belonged to unrelated future-commercial sections. The section numbering was also visibly out of order and duplicated.

The Council resolves that clarity defect by requiring the integrated PRD structure to follow actual requirement scope and subject matter, while preserving requirement metadata and IDs as the authoritative governed record. This is structural cleanup only; it does not change WASM-002 capability.

33.6 Next reconciliation target

F-01 through F-29 are now resolved by frozen Council decisions. 29 of 34 findings are closed; 5 remain. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The next unresolved finding is F-30: truncated text in titles, evidence and rationale.

34. F-30 — document text integrity and authoritative restoration

Resolution state: RESOLVED — DOCUMENT TEXT INTEGRITY / RESTORATION RULE FROZEN FOR WASM-002.
Closure count: 30 of Claude's 34 Pass 1 findings are now closed; 4 remain.
Decision: damaged, truncated, mechanically split, concatenated, or empty specification text is repaired only from authoritative preserved evidence. Missing prose is never reconstructed from context, memory, or inference. Presentation defects may be corrected without changing requirement identity, scope, status, normative meaning, or substantive wording.
PRD state: decision frozen here; canonical PRD integration remains pending.

34.1 EVID-W001B-UTF8-003 must be restored from authoritative preserved evidence

Claude identified that EVID-W001B-UTF8-003 in W002-ENC-006 stops mid-sentence and runs directly into the next evidence item. During later PRD integration, the complete statement may be restored only from an authoritative preserved source: the official source master or another byte-verifiable predecessor that contains the intact evidence text.

Data Sculptor project records must not complete the missing sentence from context, memory, likely wording, or semantic inference. If the authoritative wording cannot be recovered, the damage remains explicitly unresolved rather than being silently invented.

34.2 Fragmented requirement titles and bodies are presentation defects

Where a requirement title is a mechanically split sentence fragment that continues directly into the requirement body, later PRD integration may move text across the title/body boundary to restore a complete, readable presentation.

That editorial repair must preserve the requirement ID, SCOPE, STATUS, normative meaning, and substantive wording. F-30 does not authorize polishing, paraphrasing, shortening, expanding, or otherwise rewriting a requirement merely because its presentation is awkward.

34.3 Empty Help design-rationale block

The empty heading Design rationale — why Help is part of the workspace must be checked against the authoritative master during integration.

No new design rationale is authored under F-30.

34.4 Targeted integrity sweep during integration

PRD integration must include a targeted document-integrity sweep for the same class of extraction damage, including:

The purpose of this sweep is to identify and restore damaged source text, not to conduct a new semantic rewrite of Revision BL.

34.5 Unrecoverable source damage stays explicit

If an authoritative intact source cannot be found for damaged text, the integrated record must identify that condition explicitly as unresolved source damage. The missing text must not be silently completed or replaced by a newly authored approximation.

This preserves the project's evidence discipline: where the record is incomplete, the record says it is incomplete.

34.6 Why F-30 is closed

Claude found a damaged evidence statement, mechanically split requirement titles, and an empty rationale heading. The Council resolves the finding by freezing an evidence-first restoration rule rather than guessing what missing text probably said.

Authoritative preserved text may be restored; presentation boundaries may be repaired; unrecoverable damage remains explicit. No WASM-002 product semantics, scope, requirement identity, or capability are changed by this resolution.

34.7 Next reconciliation target

F-01 through F-30 are now resolved by frozen Council decisions. 30 of 34 findings are closed; 4 remain. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The next unresolved finding is F-31: numbering gaps are not explained.

35. F-31 — omitted requirement IDs remain stable and auditable

Resolution state: RESOLVED — OMITTED-ID AUDIT TRAIL REQUIRED / DECISION FROZEN FOR WASM-002.
Closure count: 31 of Claude's 34 Pass 1 findings are now closed; 3 remain.
Decision: numbering gaps in scoped review cuts are preserved rather than cosmetically renumbered, but every absent ID between retained siblings must be auditable against authoritative Product Backlog metadata. A scoped cut must distinguish intentional omission from accidental extraction loss without requiring the reviewer to infer why an ID is missing.
PRD state: decision frozen here; canonical PRD integration remains pending.

35.1 Stable requirement IDs take precedence over cosmetic continuity

Existing requirement IDs are not renumbered merely to eliminate gaps in a WASM-002 review cut or later integrated PRD. Stable identifiers preserve historical references, QA findings, acceptance evidence, cross-document links, and the audit trail across revisions.

A numbering gap is therefore acceptable when it reflects the authoritative state of the Product Backlog. What is not acceptable is leaving the reason for that gap unknowable from the scoped review record.

35.2 Every scoped cut carries an omitted-requirement-ID table

The front matter of the WASM-002 cut, and of future scoped QA cuts produced under the same method, must include an Omitted Requirement IDs table covering IDs absent between retained siblings.

For each omitted ID, the table records the authoritative metadata available in the Product Backlog master, at minimum:

35.3 Omission status is read from authoritative metadata, never inferred from absence

The omitted-ID table must be generated from, or explicitly checked against, the authoritative Product Backlog master. Data Sculptor project records must not infer that a missing ID is out of scope, deferred, retired, superseded, or otherwise non-operative merely because it does not appear in the scoped cut.

If an expected identifier cannot be found in the authoritative source, the cut records that fact explicitly as UNRESOLVED / NOT FOUND IN AUTHORITATIVE SOURCE. It must not silently assign a plausible scope or status.

35.4 The audit table does not pull omitted requirements back into WASM-002

An omitted requirement remains outside the normative WASM-002 body when its authoritative metadata says it does not belong in the cut. The omitted-ID table is an audit surface only; it does not change scope, status, requirement semantics, implementation obligation, or acceptance obligation.

Likewise, F-31 does not authorize adding missing requirements simply to make numbering continuous.

35.5 The same rule applies to future scoped QA cuts

Future scoped extracts must preserve the same traceability rule so an independent reviewer can tell the difference between an intentional omission and an extraction failure without opening the entire source master.

This keeps scoped review documents compact while preserving a verifiable path back to the authoritative backlog.

35.6 Why F-31 is closed

Claude identified that the WASM-002 cut skips multiple requirement IDs and that the cut itself does not establish whether those siblings were deliberately excluded or accidentally lost. The Council resolves that audit gap without renumbering the retained requirements.

Stable requirement IDs remain intact, while an authoritative omitted-ID table makes every gap explainable. If authoritative metadata cannot explain an expected ID, the uncertainty remains explicit rather than being guessed away.

35.7 Next reconciliation target

F-01 through F-31 are now resolved by frozen Council decisions. 31 of 34 findings are closed; 3 remain. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The next unresolved finding is F-32: terminology drift.

36. F-32 — canonical MAP terminology

Resolution state: RESOLVED — CANONICAL MAP TERMINOLOGY FROZEN FOR WASM-002.
Closure count: 32 of Claude's 34 Pass 1 findings are now closed; 2 remain.
Decision: MAP is the canonical governed artifact class name. Store MAP and WKO MAP are the two profile-specific names used whenever normative text refers to one profile's semantics. Bare MAP is reserved for statements that truly apply to the artifact class generally or to both profiles.
PRD state: decision frozen here; canonical PRD integration remains pending.

36.1 MAP is the artifact class

MAP is the canonical name of the governed artifact class. The governed physical filename class token remains MAP. WASM-002 does not create new physical artifact classes such as STOREMAP, WKOMAP, or equivalent variants merely to distinguish the profiles.

Capitalization is canonical: MAP, not “Map”.

36.2 Store MAP is the Store-state profile

Store MAP means the MAP profile that governs Store state, including RID lineage, materialized COL bindings, Store aliases, provenance, and the other Store-state facts frozen elsewhere in the WASM-002 contract and this reconciliation log.

When normative prose, acceptance criteria, examples, diagnostics, or Help-related requirements refer specifically to those semantics, they must say Store MAP rather than bare MAP.

36.3 WKO MAP is the Work Order registry profile

WKO MAP means the MAP profile that governs the Work Order registry, including current/deprecated authority and alias-to-WKO bindings under the frozen F-02 lifecycle model.

When normative prose, acceptance criteria, examples, diagnostics, or Help-related requirements refer specifically to that registry profile, they must say WKO MAP rather than bare MAP.

36.4 Bare MAP is used only for class-wide statements

Bare MAP is permitted only when the statement genuinely applies to the artifact class in general or to both MAP profiles. It must not be used where the reader must know whether Store-state semantics or WKO-registry semantics are intended.

This preserves one physical class while making the two logical profiles unambiguous in the specification.

36.5 Legacy terminology is retired

During later PRD integration, WASM-002 normative text retires ambiguous or stale expressions including “Store Map”, “Store / Artifact Map”, and “Store Map/Index” in favor of the canonical terms above.

The Store Index terminology remains retired under the already-frozen F-11 resolution. F-32 is a terminology-normalization decision and must not resurrect the redundant Store Index concept by wording.

36.6 Integration sweep and non-semantic boundary

Later PRD integration must perform a terminology sweep across normative requirements, acceptance gates, examples, headings, rationale, and Help-related references so the same concept is not renamed differently in different parts of the contract.

This cleanup does not change requirement IDs, governed artifact classes, physical filenames, schemas, scope, status, acceptance obligations, or product semantics. It changes the words used to refer consistently to concepts that are already frozen.

36.7 Why F-32 is closed

Claude identified terminology drift among “Store Map”, “Store MAP”, “MAP”, “Store / Artifact Map”, and “Store Map/Index”, and noted that bare MAP had become ambiguous because the MAP class now has two profiles.

The Council closes that ambiguity with one linguistic invariant: MAP = artifact class; Store MAP and WKO MAP = profiles. The distinction improves human and LLM readability without creating a new artifact type or changing behavior.

36.8 Next reconciliation target

F-01 through F-33 are now resolved by frozen Council decisions. 33 of 34 findings are closed; 1 remains. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The final unresolved finding is F-34: smaller underspecified points.

37. F-33 — artifact-class scope and unknown-class reporting

Resolution state: RESOLVED — ARTIFACT-CLASS SCOPE AND UNKNOWN-CLASS REPORTING FROZEN FOR WASM-002.
Closure count: 33 of Claude's 34 Pass 1 findings are now closed; 1 remains.
Decision: registration of an artifact class does not by itself create a WASM-002 producer obligation. DGN and RCV remain reserved but are not emitted by WASM-002. Unknown governed class tokens are preserved without interpretation and are reported truthfully through deterministic INFO/Inventory behavior.
PRD state: decision frozen here; canonical PRD integration remains pending.

37.1 Registered does not mean emitted

A governed artifact class may remain registered for architectural continuity without being produced by every release. Registration alone does not require WASM-002 to invent a producer, serialization contract, validity contract, lifecycle, or acceptance gate for that class.

If a later build activates a currently reserved class, that build must deliberately define its producer, serialization and validity rules, lifecycle, and acceptance coverage before the class becomes emitted product behavior.

37.2 DGN is reserved-not-emitted in WASM-002

DGN remains a registered/reserved artifact class but is not emitted by WASM-002. WASM-002 therefore defines no standalone DGN artifact producer, serialization contract, or validity contract.

Diagnostics continue through the already-frozen diagnostic, Receipt, Help, and UI mechanisms. Nothing in F-33 creates a second diagnostic-artifact path merely because the DGN class token exists in the registry.

37.3 RCV is reserved-not-emitted in WASM-002

RCV also remains reserved but is not emitted by WASM-002. During later PRD integration, any Revision BL wording that implies WASM-002 creates, promotes, or retains an RCV artifact must be retired or corrected.

F-33 does not reopen the F-14 publication decision. Store candidate publication continues to follow the already-frozen All-or-Refuse publication discipline and any required SCR staging/evidence rules. F-33 simply refuses to manufacture an undefined RCV lifecycle on top of those rules.

37.4 Unknown governed classes are preserved, not interpreted

If a physical filename has governed Data Sculptor form but its class token is unknown to the current WASM-002 build, Data Sculptor must preserve that file unchanged.

37.5 Deterministic reporting surface

Whenever a WASM-002 operation performs the governed Suitcase scan/enumeration relevant to an unknown governed-class file, the condition must be surfaced through a canonical INFO diagnostic rather than being silently ignored.

INVENTORY must include the physical file rather than hiding it. Where the Inventory contract carries classification, the file is identified as an unknown/unrecognized governed class without guessing its meaning or assigning it the semantics of a known class.

WASM-002 does not require a Suitcase Directory annotation for this condition because the governed DIR feature is deferred beyond WASM-002. A later DIR implementation may render the same underlying fact; it must not create a second competing truth.

37.6 Acceptance consequence

The acceptance coverage already required by F-23 must prove both sides of the unknown-class rule:

The implementation must not silently discard the file, silently reinterpret it as a known class, or manufacture unsupported semantics from the class token.

37.7 Why F-33 is closed

Claude identified that DGN was registered with no WASM-002 producer, RCV was referenced without creation mechanics, and PB-STOR-009 required unknown classes to be “reported” without saying where or when.

The Council closes all three ambiguities with one boundary: registered does not mean emitted; unknown does not mean invalid. Reserved classes remain dormant until deliberately specified, while unknown governed-class files are preserved, not interpreted, and reported truthfully.

37.8 Next reconciliation target

F-01 through F-33 are now resolved by frozen Council decisions. 33 of 34 findings are closed; 1 remains. All 11 BLOCKING and all 15 MATERIAL NON-BLOCKING findings are reconciled. The final unresolved finding is F-34: smaller underspecified points.

38. F-34 — final cross-contract clarifications

Resolution state: RESOLVED — FINAL CROSS-CONTRACT CLARIFICATIONS FROZEN FOR WASM-002.
Closure count: 34 of Claude's 34 Pass 1 findings are now closed; 0 remain. All 11 BLOCKING, all 15 MATERIAL NON-BLOCKING, and all 8 CLARITY findings are reconciled.
Decision: the eleven residual underspecified points identified by Claude are resolved as bounded cross-contract clarifications. They do not add a new analytical capability; they remove remaining implementation discretion and align Revision BL wording with Council decisions already frozen during Pass 1.
PRD state: decision frozen here; canonical PRD integration remains pending. Revision BL remains the reviewed baseline and is not silently modified by this reconciliation record.

38.1 Help run-specific fields are closed-world

The vague phrase explicitly permitted run-specific fields is replaced by a closed-world rule. Help may interpolate only facts declared by the applicable governed diagnostic contract plus fields explicitly defined by the governed HLP provenance schema.

There is no open-ended runtime field bag. Help must not pull arbitrary source values, browser state, implementation state, hidden application state, or other available values merely because they exist at render time. This follows the already-frozen F-17 boundary: diagnostics own governed facts; Help renders those facts.

38.2 data_sculptor_build identifies the exact build

data_sculptor_build must identify the exact Data Sculptor build that produced the governed result. The literal value WASM-002 by itself is insufficient when two materially distinct patch/build artifacts could exist under that milestone.

The same exact build identifier used by the running product must be retained in acceptance evidence so a result can be tied to the tested implementation. WASM-002 freezes uniqueness and reproducibility, not one mandatory identifier syntax: SemVer, a build number, a source revision identifier, or another deterministic scheme may be used if it unambiguously identifies the exact build.

38.3 Inventory reports immediate child directories deterministically

W002-INV-005's optional wording is retired. WASM-002 Inventory must report immediate child directories present at the selected Suitcase root and must not recurse into them.

The deterministic TXT grammar gains DIRECTORY_COUNT followed by contiguous DIRECTORY_001, DIRECTORY_002, and so on after the file entries. Directory names use the already-frozen quoted-text serialization and are ordered by exact ascending UTF-8 filename bytes, consistent with deterministic file ordering.

This is an Inventory fact only. It does not pull the richer governed Suitcase Directory (DIR) feature into WASM-002.

38.4 Public-documentation wording does not create a WASM-002 artifact

W002-STOR-014's human/LLM-readability intent remains a design and documentation principle, but it does not create a separate public-documentation artifact, publication workflow, or acceptance gate for WASM-002.

Formal public documentation packaging may be defined in later release/V1 work. F-34 does not invent a new governed class or deliverable merely to satisfy wording whose purpose is readability.

38.5 Flight Recorder is exposed read-only in the browser workspace

WASM-002 must expose a read-only Flight Recorder surface in the browser workspace over the governed Receipt/evidence artifacts already present in the Suitcase.

The UI does not create a second Flight Recorder database, mutable log, hidden cache, or competing history store. The governed artifacts in the Suitcase remain the source of truth; the browser surface provides analyst-readable access to that evidence.

38.6 Current governed context is operation-bound, never guessed globally

There is no implicit global “current Store.” For a Store-bound operation, current governed context means the explicit Work Order/run plus the exact Store lineage and Store MAP deterministically resolved for that operation under the frozen routing and current-state rules.

For Suitcase-wide operations, the governed context may legitimately be Suitcase-wide. If several Store lineages or branch candidates exist and the operation has not deterministically selected one, Data Sculptor must not guess which lineage “current governed context” means; it must refuse or require the already-defined resolving context.

38.7 Governed success and status events are INFO diagnostics

Governed success/status events such as Work Order saved or Suitcase validated are canonical INFO diagnostics when they participate in the governed Help/status/evidence system.

Ordinary decorative UI copy, labels, headings, tooltips, and explanatory prose do not automatically become diagnostics. The distinction is whether the message represents a governed event/condition with diagnostic identity and facts rather than ordinary interface text.

38.8 HLP multiplicity is per Help Report request, not per diagnostic

A run that emits several diagnostics does not automatically publish one HLP artifact per diagnostic. When the analyst requests a Help Report for a run, Data Sculptor publishes one HLP for that report request.

That HLP contains the applicable diagnostics for the run in deterministic order, preserving each diagnostic's own identifier, severity, governed facts, and rendered Help content. A later independent Help Report request may publish a separate successor HLP under the ordinary governed artifact rules.

38.9 Governed Help semantics live in the shared Rust core

Governed Help template selection, governed-fact interpolation, fallback behavior, escaping required for artifact correctness/safety, and canonical HLP artifact serialization belong in the shared Rust core.

The browser layer presents the resulting Help content and supplies host-specific UI interaction. It must not become a second, independently interpreted Help-semantics engine. This preserves one semantics across browser and future native surfaces.

38.10 Zero-row RID byte form is explicit

Claude's original F-34 note referred to the older implied RID header, but the later frozen Store/cardinality reconciliation now makes the canonical RID header N=<value>.

For N=0, a valid Data Sculptor-authored RID therefore contains the frozen UTF-8 BOM required by the RID serialization contract, followed by exactly N=0, followed by LF, with no data records. In byte-form shorthand:

UTF-8 BOM + N=0\n

The zero-row case is not a separate grammar. It is the ordinary RID serialization with row count zero.

38.11 Path-length acceptance uses the longest artifact actually emitted

WASM-002 must not hard-code the assumption that CER will always have the longest governed filename. The path-length acceptance fixture must calculate and exercise the maximum physical filename length among every artifact form actually emitted by the WASM-002 build, including any staging/candidate filename form used by the frozen publication contract.

RCV does not participate because F-33 freezes it as reserved-not-emitted. If an emitted SCR/staging form is longer than CER, that emitted form becomes the governing acceptance case. Future emitted classes or filename forms must update the calculation rather than inheriting a stale 73-character assumption.

38.12 Why F-34 is closed

Claude grouped eleven individually minor ambiguities under F-34 and observed that, together, they distinguish a contract from a strong draft. The Council has now assigned deterministic behavior to each point while respecting the decisions already frozen elsewhere in Pass 1.

The package adds no new analytical operation. It closes residual uncertainty about Help facts, exact build identity, Inventory directories, documentation scope, Flight Recorder presentation, governed context, INFO diagnostics, HLP multiplicity, Help implementation ownership, zero-row RID bytes, and filename/path acceptance.

38.13 Pass 1 reconciliation complete

Claude Pass 1 reconciliation status: COMPLETE.
Closed: 34 of 34 findings — 11 BLOCKING, 15 MATERIAL NON-BLOCKING, 8 CLARITY.
Boundary: completion of this reconciliation record does not mean Revision BL has been silently edited, integrated, approved, implemented, or frozen as a new PRD revision. The next deliberate document step is canonical PRD integration of the frozen Council decisions, followed by whatever review/QA gate the Council chooses for that integrated revision.