Entries distinguish planned, implemented, locally verified, independently QA-cleared, and human-accepted states. No planned step is reported as passed. Accepted code changes cite frozen requirement IDs and Git commits. Amendments and corrections are added as new dated notes rather than silently rewriting earlier decisions. This HTML log is a development record, not a substitute for terminal outputs, SHA-256 evidence, Git commits or T's explicit acceptance.
The historical Day 063 entries above retain their original planned and pending statuses as contemporaneous records. Later evidence and status transitions appear below; earlier assertions are not silently retroactively changed.
Working copy: local repository and current Day068 Suitcase; this HTML has no external scripts, fonts, trackers or network requests. CP016 local Git commit fde0f0a8b96c92f6cfb80b517396ff5512cccd13 preserves 36 one-source ZIPs and two Rust paths. Thirty-one original CP016 TXT evidence sources remain outside Git as locally retained files; the original frozen RED Rust test source is additionally preserved in a committed evidence ZIP. The Git postcommit integrity record is separately retained in Downloads and included here as an inspectable offline view, but is not claimed to be within the 36 committed ZIP set. CP015 and earlier custody remains preserved. This updated HTML is a documentary artifact awaiting user-directed website publication, further backup and Day068 landing; none of those actions is claimed complete.
Evidence Library — self-contained source records
The 247 prior offline evidence views (all preserved from Days063–073) remain self-contained. The Day074 update includes 25 nonempty CP018 TXT source views, one derived 402-row successor requirements CSV, and two additional post-commit Git-volume audit records, for 297 offline views in total. All 275 pre-CP019 evidence source views remain preserved; CP019 adds 21 nonempty uploaded evidence records and one derived 402-row CP019 successor ledger (22 new views). Some original Day074 evidence captures were empty or not uploaded here: their on-machine SHA-256 custody is recorded, but their contents have not been invented. The 30 committed CP018 ZIPs and 32-file local Git banking are verified by supplied terminal records; the original ZIP binaries and Git object database were not supplied as part of this HTML-edit request. External post-commit closeout TXT files are distinguished from the contents of the Git-banked archives. All evidence links work without network access.
Day074 append-only evidence: 25 CP018 TXT files were available as local user-uploaded artifacts; 25 nonempty TXT source views, one derived 402-row successor ledger and two read-only post-commit volume exhibits are accessible below. 297 total self-contained evidence views following CP019; all 275 original views retained. External post-commit banking/staging records are labelled as such and are not misrepresented as Git-banked ZIP contents. Historical 247 evidence-record elements follow unchanged, including frozen PRD/ledger text. Available source views are embedded offline; no network is required. Missing zero-byte or unuploaded originals are represented by custody verification rather than invented text.
Day 074 CP019 — CP019_Engineering_Preflight.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 4C7A9D49D3E2310382F109FF716D463B1721CB35F0C83E457438C2581C71A5B8 · 20,761 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 ENGINEERING PREFLIGHT ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Tracked working tree: CLEAN
Baseline native tests: 94/94 PASS at CP018
Checkpoint candidate: Receipt core field-type enforcement
Scope status: PROPOSED, NOT YET FROZEN
Source files modified: NO
Git commit created: NO
=== RUST FILE HASHES ===
src\lib.rs | SHA256=69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
tests\CP016_receipt_field_serialization.rs | SHA256=BA13064905D2F8444F2E11A188FE7C4EBA30AE091947F19783E34FCE006A355C
tests\CP017_receipt_field_sequence.rs | SHA256=3EF60E8BA18CAFDB959AFBDF281A50BA23A1A615A973B17F23668792EFABD801
tests\CP018_receipt_core_envelope.rs | SHA256=FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
=== RECEIPT IMPLEMENTATION: src/lib.rs, LINES 370-560 ===
370: intended_final_class: &str,
371: ) -> Option<String> {
372: if intended_final_class != "RCP" || !is_canonical_scr_filename_candidate(scr_filename) {
373: return None;
374: }
375:
376: let tokens = extract_artifact_filename_tokens(scr_filename)?;
377:
378: if tokens.serialization_extension != "txt" {
379: return None;
380: }
381:
382: Some(scr_filename.replacen("__DS__SCR__", "__DS__RCP__", 1))
383: }
384:
385: /// Recognizes a canonical RCP Receipt filename candidate.
386: ///
387: /// Lexical recognition only. This does not verify Receipt contents,
388: /// filesystem state, staging promotion, publication, or authority.
389: pub fn is_canonical_rcp_filename_candidate(filename: &str) -> bool {
390: if filename
391: .chars()
392: .any(|ch| ch.is_whitespace() || ch == '/' || ch == '\\')
393: {
394: return false;
395: }
396:
397: matches!(
398: extract_artifact_filename_tokens(filename),
399: Some(tokens)
400: if tokens.semantic_class == "RCP"
401: && tokens.serialization_extension == "txt"
402: )
403: }
404:
405: /// Returns true when canonical SCR and RCP TXT filename candidates
406: /// carry the same UTC and UUID identity, in that exact class order.
407: ///
408: /// This is lexical pairing only. It does not inspect files, validate
409: /// Receipt contents, promote staged artifacts, publish, or grant authority.
410: pub fn is_matching_scr_rcp_filename_candidate_pair(scr_filename: &str, rcp_filename: &str) -> bool {
411: if !is_canonical_scr_filename_candidate(scr_filename)
412: || !is_canonical_rcp_filename_candidate(rcp_filename)
413: {
414: return false;
415: }
416:
417: matches!(
418: build_final_filename_candidate_for_scr(scr_filename, "RCP"),
419: Some(expected) if expected == rcp_filename
420: )
421: }
422:
423: /// One typed canonical Receipt field value, before whole-Receipt assembly.
424: ///
425: /// This is an isolated formatting choice, not a claim that a field belongs to
426: /// a frozen operation grammar or has been assigned a permitted vocabulary.
427: #[derive(Debug, Clone, Copy, PartialEq, Eq)]
428: pub enum ReceiptFieldValue<'a> {
429: MachineToken(&'a str),
430: NonNegativeInteger(u64),
431: QuotedText(&'a str),
432: }
433:
434: /// Serializes exactly one canonical Receipt `KEY: VALUE` line with one LF.
435: ///
436: /// Pure, deterministic formatting only: does not validate whole-Receipt
437: /// ordering or semantics, access the filesystem, or authorize publication.
438: /// An invalid identifier or embedded CR/LF in quoted text is refused.
439: pub fn serialize_canonical_receipt_field_line(
440: key: &str,
441: value: ReceiptFieldValue<'_>,
442: ) -> Option<String> {
443: if !is_receipt_field_identifier(key) {
444: return None;
445: }
446:
447: let encoded_value = match value {
448: ReceiptFieldValue::MachineToken(token) => {
449: if !is_receipt_field_identifier(token) {
450: return None;
451: }
452: token.to_owned()
453: }
454: ReceiptFieldValue::NonNegativeInteger(value) => value.to_string(),
455: ReceiptFieldValue::QuotedText(text) => {
456: if text.contains('\r') || text.contains('\n') {
457: return None;
458: }
459: format!("\"{}\"", text.replace('"', "\"\""))
460: }
461: };
462:
463: Some(format!("{key}: {encoded_value}\n"))
464: }
465:
466: /// Serializes caller-ordered canonical Receipt field lines as one in-memory string.
467: ///
468: /// Each line is delegated to the CP016 field serializer. If any field refuses,
469: /// the entire sequence refuses; no partially assembled output is returned.
470: /// This is not whole-Receipt schema validation, durable output, or publication.
471: pub fn serialize_canonical_receipt_field_sequence(
472: fields: &[(&str, ReceiptFieldValue<'_>)],
473: ) -> Option<String> {
474: let mut output = String::new();
475: for &(key, value) in fields {
476: output.push_str(&serialize_canonical_receipt_field_line(key, value)?);
477: }
478: Some(output)
479: }
480:
481: /// Serializes exactly the ten frozen WASM-002 Receipt core fields.
482: ///
483: /// Checks the mandatory key count and order before delegating formatting
484: /// to CP017. Refuses malformed field formatting as a whole.
485: ///
486: /// This is a core-envelope fragment, not a complete Receipt. It does not
487: /// validate operation-specific facts, execution truth, filename lineage,
488: /// field-specific vocabularies, filesystem effects, or publication.
489: pub fn serialize_canonical_receipt_core_envelope(
490: fields: &[(&str, ReceiptFieldValue<'_>)],
491: ) -> Option<String> {
492: const CORE_KEYS: [&str; 10] = [
493: "RECEIPT_VERSION",
494: "RECEIPT_FILENAME",
495: "RECEIPT_UTC",
496: "WORK_ORDER_FILENAME",
497: "OPERATION",
498: "RUN_STARTED_UTC",
499: "RUN_FINISHED_UTC",
500: "RESULT",
501: "DIAGNOSTIC_ID",
502: "IDENTITY_COLLISION_RETRIES",
503: ];
504:
505: if fields.len() != CORE_KEYS.len() {
506: return None;
507: }
508:
509: for (index, &(key, _)) in fields.iter().enumerate() {
510: if key != CORE_KEYS[index] {
511: return None;
512: }
513: }
514:
515: serialize_canonical_receipt_field_sequence(fields)
516: }
517:
518: /// Lexical form shared by field keys and machine-token values in this slice.
519: /// Starts with uppercase ASCII A-Z; remaining bytes are A-Z, 0-9, or '_'.
520: /// This is not an operation-specific closed-vocabulary membership check.
521: fn is_receipt_field_identifier(value: &str) -> bool {
522: let mut bytes = value.bytes();
523: matches!(bytes.next(), Some(b'A'..=b'Z'))
524: && bytes.all(|byte| byte.is_ascii_uppercase() || byte.is_ascii_digit() || byte == b'_')
525: }
=== TEST FILE: tests\CP016_receipt_field_serialization.rs ===
// CP016 RED tests - Day 068 (2026-10-15)
// Proposed T-approval gate: deterministic serialization of ONE canonical Receipt field line.
// Frozen anchor: W002-RCP-005 (bounded PARTIAL portion only).
// No full Receipt schema, key ordering, operation vocabulary, filesystem I/O,
// WKO authority, staged publication, or claim that a durable Receipt exists.
// Preserve this original test file's SHA-256 after T approves the contract.
use data_sculptor_core::{ReceiptFieldValue, serialize_canonical_receipt_field_line};
#[test]
fn machine_tokens_have_exact_colon_space_and_single_lf() {
assert_eq!(
serialize_canonical_receipt_field_line(
"RESULT",
ReceiptFieldValue::MachineToken("SUCCESS")
),
Some("RESULT: SUCCESS\n".to_owned())
);
assert_eq!(
serialize_canonical_receipt_field_line(
"ABSENCE",
ReceiptFieldValue::MachineToken("NOT_AVAILABLE")
),
Some("ABSENCE: NOT_AVAILABLE\n".to_owned())
);
}
#[test]
fn non_negative_integers_use_ungrouped_ascii_decimal() {
for (value, expected) in [
(0_u64, "COUNT: 0\n"),
(16, "COUNT: 16\n"),
(1234567, "COUNT: 1234567\n"),
(u64::MAX, "COUNT: 18446744073709551615\n"),
] {
assert_eq!(
serialize_canonical_receipt_field_line(
"COUNT",
ReceiptFieldValue::NonNegativeInteger(value)
),
Some(expected.to_owned())
);
}
}
#[test]
fn filenames_and_utf8_free_text_are_double_quoted() {
assert_eq!(
serialize_canonical_receipt_field_line(
"WORK_ORDER_FILENAME",
ReceiptFieldValue::QuotedText("__DS__WKO__20261015T123456789Z__550e8400-e29b-41d4-a716-446655440000.txt")
),
Some("WORK_ORDER_FILENAME: \"__DS__WKO__20261015T123456789Z__550e8400-e29b-41d4-a716-446655440000.txt\"\n".to_owned())
);
assert_eq!(
serialize_canonical_receipt_field_line("DETAIL", ReceiptFieldValue::QuotedText("café 雪")),
Some("DETAIL: \"café 雪\"\n".to_owned())
);
}
#[test]
fn doubles_internal_quotes_without_backslash_escaping() {
assert_eq!(
serialize_canonical_receipt_field_line(
"DETAIL",
ReceiptFieldValue::QuotedText("He said \"go\"")
),
Some("DETAIL: \"He said \"\"go\"\"\"\n".to_owned())
);
}
#[test]
fn refuses_cr_or_lf_inside_any_single_field_value() {
for text in ["before\nafter", "before\rafter", "before\r\nafter"] {
assert_eq!(
serialize_canonical_receipt_field_line("DETAIL", ReceiptFieldValue::QuotedText(text)),
None
);
}
for token in ["SUCCESS\n", "SUCCESS\r", "SUCCESS\r\n"] {
assert_eq!(
serialize_canonical_receipt_field_line(
"RESULT",
ReceiptFieldValue::MachineToken(token)
),
None
);
}
}
#[test]
fn refuses_non_uppercase_ascii_field_keys() {
for key in [
"",
"result",
" Result",
"RESULT ",
"RESULT: X",
"KEY=VALUE",
"RÉSULT",
"1RESULT",
"RESULT\tOTHER",
"RESULT\nOTHER",
] {
assert_eq!(
serialize_canonical_receipt_field_line(key, ReceiptFieldValue::MachineToken("SUCCESS")),
None,
"invalid key must refuse: {key:?}"
);
}
assert_eq!(
serialize_canonical_receipt_field_line(
"PUBLISHED_COL_001_FILENAME",
ReceiptFieldValue::QuotedText("example.csv")
),
Some("PUBLISHED_COL_001_FILENAME: \"example.csv\"\n".to_owned())
);
}
#[test]
fn machine_token_spelling_must_be_lexically_canonical() {
for token in [
"",
"success",
"Success",
" SUCCESS",
"SUCCESS ",
"NOT-AVAILABLE",
"Café",
"1SUCCESS",
"SUCCESS\t",
] {
assert_eq!(
serialize_canonical_receipt_field_line(
"RESULT",
ReceiptFieldValue::MachineToken(token)
),
None,
"invalid token must refuse: {token:?}"
);
}
}
#[test]
fn text_is_preserved_without_trimming_and_document_bytes_are_deterministic() {
let lines = [
serialize_canonical_receipt_field_line(
"RESULT",
ReceiptFieldValue::MachineToken("SUCCESS"),
)
.unwrap(),
serialize_canonical_receipt_field_line("COUNT", ReceiptFieldValue::NonNegativeInteger(0))
.unwrap(),
serialize_canonical_receipt_field_line("DETAIL", ReceiptFieldValue::QuotedText(" a b "))
.unwrap(),
serialize_canonical_receipt_field_line("EMPTY", ReceiptFieldValue::QuotedText("")).unwrap(),
];
let output = lines.concat();
assert_eq!(
output.as_bytes(),
b"RESULT: SUCCESS\nCOUNT: 0\nDETAIL: \" a b \"\nEMPTY: \"\"\n"
);
assert!(output.ends_with('\n'));
assert!(!output.ends_with("\n\n"));
assert!(!output.contains("\r"));
assert!(!output.contains("\n\n"));
assert!(!output.as_bytes().starts_with(&[0xef, 0xbb, 0xbf]));
}
=== TEST FILE: tests\CP017_receipt_field_sequence.rs ===
// CP017 RED test contract - Day 073 (2026-10-20)
// Frozen anchor: W002-RCP-005 (bounded PARTIAL continuation of CP016).
// Assemble a caller-ordered sequence of already-typed canonical field lines.
// All-or-none in-memory formatting: one invalid field refuses the entire sequence.
// No whole-Receipt schema, key ordering, vocabulary/uniqueness policy, filesystem
// access, Work Order execution, authority, or publication is claimed.
use data_sculptor_core::{ReceiptFieldValue, serialize_canonical_receipt_field_sequence};
#[test]
fn preserves_caller_order_without_claiming_schema_order() {
let fields = [
("DETAIL", ReceiptFieldValue::QuotedText(" a b ")),
("RESULT", ReceiptFieldValue::MachineToken("SUCCESS")),
("COUNT", ReceiptFieldValue::NonNegativeInteger(3)),
];
assert_eq!(
serialize_canonical_receipt_field_sequence(&fields),
Some("DETAIL: \" a b \"\nRESULT: SUCCESS\nCOUNT: 3\n".to_owned()),
);
}
#[test]
fn utf8_quotes_and_empty_quoted_text_produce_exact_bytes() {
let fields = [
("DETAIL", ReceiptFieldValue::QuotedText("café 雪 — \"go\"")),
("EMPTY", ReceiptFieldValue::QuotedText("")),
];
let output = serialize_canonical_receipt_field_sequence(&fields).unwrap();
let expected = "DETAIL: \"café 雪 — \"\"go\"\"\"\nEMPTY: \"\"\n";
assert_eq!(output.as_bytes(), expected.as_bytes());
assert!(!output.starts_with('\u{feff}'));
assert!(!output.contains('\r'));
assert!(!output.contains("\n\n"));
}
#[test]
fn invalid_late_key_refuses_the_entire_sequence() {
let fields = [
("RESULT", ReceiptFieldValue::MachineToken("SUCCESS")),
("bad_key", ReceiptFieldValue::NonNegativeInteger(42)),
];
assert_eq!(serialize_canonical_receipt_field_sequence(&fields), None);
}
#[test]
fn invalid_late_machine_token_refuses_the_entire_sequence() {
let fields = [
("COUNT", ReceiptFieldValue::NonNegativeInteger(1)),
("RESULT", ReceiptFieldValue::MachineToken("not_canonical")),
];
assert_eq!(serialize_canonical_receipt_field_sequence(&fields), None);
}
#[test]
fn embedded_newline_in_late_text_refuses_the_entire_sequence() {
for invalid in ["before\nafter", "before\rafter", "before\r\nafter"] {
let fields = [
("RESULT", ReceiptFieldValue::MachineToken("SUCCESS")),
("DETAIL", ReceiptFieldValue::QuotedText(invalid)),
];
assert_eq!(serialize_canonical_receipt_field_sequence(&fields), None);
}
}
#[test]
fn repeated_invocations_are_byte_identical() {
let fields = [
("RESULT", ReceiptFieldValue::MachineToken("SUCCESS")),
("COUNT", ReceiptFieldValue::NonNegativeInteger(u64::MAX)),
];
let first = serialize_canonical_receipt_field_sequence(&fields).unwrap();
let second = serialize_canonical_receipt_field_sequence(&fields).unwrap();
assert_eq!(first.as_bytes(), second.as_bytes());
assert_eq!(first, "RESULT: SUCCESS\nCOUNT: 18446744073709551615\n");
}
#[test]
fn empty_sequence_is_empty_formatting_not_a_valid_receipt_claim() {
let fields: &[(&str, ReceiptFieldValue<'_>)] = &[];
assert_eq!(
serialize_canonical_receipt_field_sequence(fields),
Some(String::new()),
);
}
=== TEST FILE: tests\CP018_receipt_core_envelope.rs ===
// CP018 RED test contract - Day 074 (2026-10-21).
// Frozen anchors: W002-RCP-005 and W002-RCP-006.
// Approved scope: canonical ten-field core Receipt envelope.
//
// CORE-ONLY API: exactly ten fields in frozen order.
// Complete Receipts may contain operation-specific fields afterward.
//
// This checkpoint does NOT establish whole-Receipt validity,
// semantic validation, truthful timestamps, WKO authority,
// publication, or filesystem behavior.
use data_sculptor_core::{ReceiptFieldValue, serialize_canonical_receipt_core_envelope};
fn valid_core() -> [(&'static str, ReceiptFieldValue<'static>); 10] {
[
("RECEIPT_VERSION", ReceiptFieldValue::NonNegativeInteger(1)),
(
"RECEIPT_FILENAME",
ReceiptFieldValue::QuotedText(
"__DS__RCP__20261021T141300000Z__123e4567-e89b-42d3-a456-426614174000.txt",
),
),
(
"RECEIPT_UTC",
ReceiptFieldValue::QuotedText("20261021T141300000Z"),
),
(
"WORK_ORDER_FILENAME",
ReceiptFieldValue::QuotedText(
"__DS__WKO__20261021T141000000Z__550e8400-e29b-41d4-a716-446655440000.txt",
),
),
("OPERATION", ReceiptFieldValue::MachineToken("MATERIALIZE")),
(
"RUN_STARTED_UTC",
ReceiptFieldValue::QuotedText("20261021T141100000Z"),
),
(
"RUN_FINISHED_UTC",
ReceiptFieldValue::QuotedText("20261021T141200000Z"),
),
("RESULT", ReceiptFieldValue::MachineToken("SUCCESS")),
("DIAGNOSTIC_ID", ReceiptFieldValue::MachineToken("NONE")),
(
"IDENTITY_COLLISION_RETRIES",
ReceiptFieldValue::NonNegativeInteger(0),
),
]
}
#[test]
fn exact_ten_core_fields_emit_exact_bytes() {
let expected = concat!(
"RECEIPT_VERSION: 1\n",
"RECEIPT_FILENAME: \"__DS__RCP__20261021T141300000Z__123e4567-e89b-42d3-a456-426614174000.txt\"\n",
"RECEIPT_UTC: \"20261021T141300000Z\"\n",
"WORK_ORDER_FILENAME: \"__DS__WKO__20261021T141000000Z__550e8400-e29b-41d4-a716-446655440000.txt\"\n",
"OPERATION: MATERIALIZE\n",
"RUN_STARTED_UTC: \"20261021T141100000Z\"\n",
"RUN_FINISHED_UTC: \"20261021T141200000Z\"\n",
"RESULT: SUCCESS\n",
"DIAGNOSTIC_ID: NONE\n",
"IDENTITY_COLLISION_RETRIES: 0\n",
);
let actual = serialize_canonical_receipt_core_envelope(&valid_core())
.expect("valid core fields must format");
assert_eq!(actual.as_bytes(), expected.as_bytes());
assert!(!actual.as_bytes().starts_with(&[0xEF, 0xBB, 0xBF]));
assert!(!actual.contains('\r'));
assert!(!actual.contains("\n\n"));
assert_eq!(actual.lines().count(), 10);
assert!(actual.ends_with('\n'));
}
#[test]
fn missing_mandatory_field_refuses() {
for index in 0..10 {
let mut fields = valid_core().to_vec();
fields.remove(index);
assert_eq!(
serialize_canonical_receipt_core_envelope(&fields),
None,
"missing field at index {index}"
);
}
}
#[test]
fn duplicate_field_refuses() {
let mut fields = valid_core().to_vec();
fields.insert(7, fields[6]);
assert_eq!(serialize_canonical_receipt_core_envelope(&fields), None);
}
#[test]
fn swapped_fields_refuse() {
for (left, right) in [(0, 1), (4, 5), (8, 9)] {
let mut fields = valid_core();
fields.swap(left, right);
assert_eq!(serialize_canonical_receipt_core_envelope(&fields), None);
}
}
#[test]
fn unexpected_field_refuses_for_core_only_api() {
let extra = ("EXTRA_FACT", ReceiptFieldValue::NonNegativeInteger(5));
let mut appended = valid_core().to_vec();
appended.push(extra);
assert_eq!(serialize_canonical_receipt_core_envelope(&appended), None);
let mut inserted = valid_core().to_vec();
inserted.insert(3, extra);
assert_eq!(serialize_canonical_receipt_core_envelope(&inserted), None);
}
#[test]
fn misspelled_or_wrong_case_key_refuses() {
for wrong in ["RECEIPT_FILENAMEX", "Receipt_FILENAME"] {
let mut fields = valid_core();
fields[1].0 = wrong;
assert_eq!(serialize_canonical_receipt_core_envelope(&fields), None);
}
}
#[test]
fn invalid_late_value_refuses_entire_fragment() {
let mut fields = valid_core();
fields[7].1 = ReceiptFieldValue::MachineToken("not_canonical");
assert_eq!(serialize_canonical_receipt_core_envelope(&fields), None);
}
#[test]
fn repeated_input_is_byte_identical() {
let first = serialize_canonical_receipt_core_envelope(&valid_core()).unwrap();
let second = serialize_canonical_receipt_core_envelope(&valid_core()).unwrap();
assert_eq!(first.as_bytes(), second.as_bytes());
}
#[test]
fn empty_input_refuses() {
let empty: &[(&str, ReceiptFieldValue<'_>)] = &[];
assert_eq!(serialize_canonical_receipt_core_envelope(empty), None);
}
Day 074 CP019 — CP019_Evidence_ZIP_Inventory.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: CDBC6DB9160F1A5EE2781F4403682950154084A59847BB5981903E1081D4D1AE · 4,510 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 EVIDENCE ZIP INVENTORY ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Checkpoint: CP019
Original evidence sources packaged: 18
Individual evidence ZIPs: 18
Every ZIP has exactly one source file
Every archived entry SHA256 matched its original
Original source evidence retained: YES
Git commit created: NO
=== VERIFIED EVIDENCE ===
PASS | CP019_Engineering_Preflight.txt | SOURCE_SHA256=4C7A9D49D3E2310382F109FF716D463B1721CB35F0C83E457438C2581C71A5B8 | ZIP_SHA256=920D48E0F99479E4FC83A50B548919569BEAC68F64204DA88DFF316FF4534A99 | SOURCE_BYTES=20761 | ZIP_BYTES=6014
PASS | CP019_RED_Installation_Record.txt | SOURCE_SHA256=FBDF8E3421820DC11CBB8735CE9529E1C74FE34061B0903725D3071C917F92C7 | ZIP_SHA256=55EB05698609674E1DBFAB2B5AD24683080F5E9F46876FB9388DA5C18DC6B0E7 | SOURCE_BYTES=672 | ZIP_BYTES=624
PASS | CP019_RED_Run_Record.txt | SOURCE_SHA256=7D6D8F22B81F830FC0331B617552C69606FE1EA47B7D7B74F9FC1B3A6635A0EF | ZIP_SHA256=ED24114BEE1CF3A08CEBD323451DA0417105B1B3A4A1423B76AD23FAB17B643C | SOURCE_BYTES=637 | ZIP_BYTES=522
PASS | CP019_RED_StdOut.txt | SOURCE_SHA256=EE0385191D62A978177AEDBB8547112204FDB2909F6CEDB711E3CBB7054D0515 | ZIP_SHA256=DACD8649FFA84A8AE0DF2EA316047582A112F5E049A2D7468841181FF6351D02 | SOURCE_BYTES=3635 | ZIP_BYTES=960
PASS | CP019_RED_StdErr.txt | SOURCE_SHA256=07BF10B0927BCBE831145B32263E49D5B8385106A08F72A89E2ACD7C35137826 | ZIP_SHA256=E94EDAD132447940EFF9E33D8F415CA46E2F78182F4B537EB8CB7E4244C5315B | SOURCE_BYTES=359 | ZIP_BYTES=372
PASS | CP019_GREEN_Installation_Record.txt | SOURCE_SHA256=324DC51CE31BDF45E1FDFE1E3E6FD08FA0659D8DBB1D5D80FBA3F14624E16195 | ZIP_SHA256=414D139FD22295AA039B0FC2EC36750DCE2F3D7D89512A4749DE9F47D3EFA617 | SOURCE_BYTES=715 | ZIP_BYTES=606
PASS | CP019_PreGREEN_lib.rs | SOURCE_SHA256=69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955 | ZIP_SHA256=3579A082BADF0300541AB13C06FB8BCAE56A1412355BC1404C0C431A71E03BB0 | SOURCE_BYTES=17265 | ZIP_BYTES=5109
PASS | CP019_GREEN_Run_Record.txt | SOURCE_SHA256=2C5380AFDF83AF3D9B77CAA7956AD094E6845D11E029A9F3E5A0F15BF262B7F0 | ZIP_SHA256=729760D390F204BA5983077F46046830883BCE119E12CB6B94ED6BA78B91D1D6 | SOURCE_BYTES=662 | ZIP_BYTES=570
PASS | CP019_GREEN_StdOut.txt | SOURCE_SHA256=565352F95008EE14032184DE7D7F599FA5DC2F87B8EBA22541A5F11D07A8DC8C | ZIP_SHA256=C9D4D01975DCE19C80403056C9DD4084393F2D114E310F24B9EA3C7232217A6F | SOURCE_BYTES=478 | ZIP_BYTES=373
PASS | CP019_GREEN_StdErr.txt | SOURCE_SHA256=5EBDE89B175BB697D1B8236A62F67D1E88FB3AABF0C19751CF8F7C9AC4EBB53D | ZIP_SHA256=B1F76836701FFF3A5C68DDF5EC98B076F178A90CC1A7D35746A807E412AFCC1A | SOURCE_BYTES=285 | ZIP_BYTES=349
PASS | CP019_Rustfmt_Check_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=522BC6E769DF3DD00DEE622AEFFEF5BB67167F63E9A6054DAB8E01AEC8057B01 | SOURCE_BYTES=0 | ZIP_BYTES=158
PASS | CP019_Rustfmt_Check_StdErr.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=8CCA34CCD8749CCF882F16CAD0C0578FE89D394229FD843B56296D742B4B5DB6 | SOURCE_BYTES=0 | ZIP_BYTES=158
PASS | CP019_Regression_StdOut.txt | SOURCE_SHA256=A8A0AE611D6C9BEED52D4E66616D00D07713E926BC4293EA66154A6DB249C5D8 | ZIP_SHA256=D6EEAB32D70626DB23A7BB8A1FA23EE19D2650DDED1DD47BB90C5B67DD9FCCE7 | SOURCE_BYTES=7871 | ZIP_BYTES=1964
PASS | CP019_Regression_StdErr.txt | SOURCE_SHA256=3C3D9245BC34806B0B145AC64307213394805311D62D06ED1CA1489EE37A8BD0 | ZIP_SHA256=4605A5486DC5BEE49A286C608FD5B093407DF07031E659E54529002B9BB7E584 | SOURCE_BYTES=2454 | ZIP_BYTES=855
PASS | CP019_WASM_Build_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=D5F517D2777BE8AB1A66B4581AADD7F75737949A53904F2E8F2869712EFF8367 | SOURCE_BYTES=0 | ZIP_BYTES=152
PASS | CP019_WASM_Build_StdErr.txt | SOURCE_SHA256=22253096F4A2856C201EE463B0741DB221E914B13D5997B89BEAE50C785EFABE | ZIP_SHA256=3A35D919CB3C773B00EFFBC5949FCAD2D222748FAA7058217DABC4D409DACF9E | SOURCE_BYTES=159 | ZIP_BYTES=293
PASS | CP019_Verification_Run_Record.txt | SOURCE_SHA256=23FA5C6BD05491A5FC98E1536CF45482FC78C0BA1AACCF31E1886CD9366A1DAF | ZIP_SHA256=570AB2452F79FCD353678261000C9B537BEA16FFBCFF0224011793C9B10E6E55 | SOURCE_BYTES=890 | ZIP_BYTES=698
PASS | CP019_Source_Review.txt | SOURCE_SHA256=2D9329619A67522BAEB6B595509B669410D5BEAEE43F04774878A0616FDB83FB | ZIP_SHA256=AF0BD920DB90978D511466E2C9E9916C27F239153E88511782F9EAC5201326E6 | SOURCE_BYTES=1660 | ZIP_BYTES=1067
INVENTORY_RESULT=PASS
Day 074 CP019 — CP019_GREEN_Installation_Record.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 324DC51CE31BDF45E1FDFE1E3E6FD08FA0659D8DBB1D5D80FBA3F14624E16195 · 715 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 GREEN INSTALLATION ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Frozen anchors: W002-RCP-005 / W002-RCP-006
Scope: Receipt core field-type enforcement
Implementation: src/lib.rs
Pre-GREEN backup: Evidence/CP-019/CP019_PreGREEN_lib.rs
Pre-GREEN SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Backup SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Post-install SHA256: 035AFC8D01C93DC56145C84E089FCD223B4D1FD671C202CC689EC0D39A134FFA
CP019 RED test SHA256: 441ED1E5B1763F41FFDA4913FC586EE97B5879D182398295B1D66449DDCDA9AE
Implementation anchor matches: 1
Source installation: PASS
GREEN tests executed: NO
Git commit created: NO
Day 074 CP019 — CP019_GREEN_Run_Record.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 2C5380AFDF83AF3D9B77CAA7956AD094E6845D11E029A9F3E5A0F15BF262B7F0 · 662 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 GREEN TEST ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Command: cargo test --test CP019_receipt_core_field_types
Exit code: 0
Six tests passed: True
All six named tests passed: True
Source and test hashes unchanged: True
Source SHA256: 035AFC8D01C93DC56145C84E089FCD223B4D1FD671C202CC689EC0D39A134FFA
Test SHA256: 441ED1E5B1763F41FFDA4913FC586EE97B5879D182398295B1D66449DDCDA9AE
Result: GREEN PASS
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-019\CP019_GREEN_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-019\CP019_GREEN_StdErr.txt
Git commit created: NO
Day 074 CP019 — CP019_GREEN_StdErr.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 5EBDE89B175BB697D1B8236A62F67D1E88FB3AABF0C19751CF8F7C9AC4EBB53D · 285 source bytes · Original source text; any committed content exists separately as verified ZIP.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s
Running tests\CP019_receipt_core_field_types.rs (target\debug\deps\CP019_receipt_core_field_types-77a22be90979861c.exe)
Day 074 CP019 — CP019_GREEN_StdOut.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 565352F95008EE14032184DE7D7F599FA5DC2F87B8EBA22541A5F11D07A8DC8C · 478 source bytes · Original source text; any committed content exists separately as verified ZIP.
running 6 tests
test correctly_typed_core_retains_exact_output_contract ... ok
test integer_core_keys_reject_quoted_text_and_machine_token ... ok
test late_type_error_refuses_the_entire_core_fragment ... ok
test machine_core_keys_reject_integer_and_quoted_text ... ok
test quoted_core_keys_reject_integer_and_machine_token ... ok
test preexisting_order_refusal_is_preserved ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Day 074 CP019 — CP019_Git_Banking_Record.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 28754DD8DE270EAFC921628963E05A4A3E3823783EBA08C77D160F9028034B5F · 1,826 source bytes · After CP019 Git commit; not inside committed ZIP set.
=== CP019 GIT BANKING RECORD ===
Date: 2026-10-21
Checkpoint: CP019
Human acceptance: T APPROVED
Frozen requirements: W002-RCP-005 / W002-RCP-006 (PARTIAL)
Commit message: CP019: Receipt core field-type enforcement and evidence
Commit exit code: 0
Previous HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
New HEAD: 8f7460ced343de4b8662e45b2b0b5b7b69127021
Commit parent: 75620f17649a5d38d5357960bb99e9ac39ae354f
Expected committed files: 22
Actual committed files: 22
Remaining staged files: 0
Remaining tracked changes: 0
Native regression: 100/100 PASS
Rustfmt: PASS
WASM library build: PASS
Evidence ZIPs: 20
Independent implementation QA: NOT COMPLETED
Remote push performed: NO
Banking verification: PASS
=== COMMITTED PATHS ===
Evidence/CP-019/ZIP/CP019_Engineering_Preflight.txt.zip
Evidence/CP-019/ZIP/CP019_Evidence_ZIP_Inventory.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_Installation_Record.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_Run_Record.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Git_PreStaging_Review.txt.zip
Evidence/CP-019/ZIP/CP019_PreGREEN_lib.rs.zip
Evidence/CP-019/ZIP/CP019_RED_Installation_Record.txt.zip
Evidence/CP-019/ZIP/CP019_RED_Run_Record.txt.zip
Evidence/CP-019/ZIP/CP019_RED_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_RED_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Regression_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_Regression_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Source_Review.txt.zip
Evidence/CP-019/ZIP/CP019_Verification_Run_Record.txt.zip
Evidence/CP-019/ZIP/CP019_WASM_Build_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_WASM_Build_StdOut.txt.zip
src/lib.rs
tests/CP019_receipt_core_field_types.rs
Day 074 CP019 — CP019_Git_Commit_StdOut.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 619996C26A4D4064EFD72972B6B9C2182F7965BF677F8360B9E32E12EF289696 · 1,626 source bytes · After CP019 Git commit; not inside committed ZIP set.
[master 8f7460c] CP019: Receipt core field-type enforcement and evidence
22 files changed, 124 insertions(+), 1 deletion(-)
create mode 100644 Evidence/CP-019/ZIP/CP019_Engineering_Preflight.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Evidence_ZIP_Inventory.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_GREEN_Installation_Record.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_GREEN_Run_Record.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_GREEN_StdErr.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_GREEN_StdOut.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Git_PreStaging_Review.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_PreGREEN_lib.rs.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_RED_Installation_Record.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_RED_Run_Record.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_RED_StdErr.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_RED_StdOut.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Regression_StdErr.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Regression_StdOut.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdErr.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdOut.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Source_Review.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_Verification_Run_Record.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_WASM_Build_StdErr.txt.zip
create mode 100644 Evidence/CP-019/ZIP/CP019_WASM_Build_StdOut.txt.zip
create mode 100644 tests/CP019_receipt_core_field_types.rs
Day 074 CP019 — CP019_Git_PreStaging_Review.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 2A4AAB1ED207FFE9E1F7904918E29A2190D044EBC40A1C5F5552A87364F6EF76 · 4,173 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 GIT PRE-STAGING REVIEW ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Source SHA256: 035AFC8D01C93DC56145C84E089FCD223B4D1FD671C202CC689EC0D39A134FFA
Test SHA256: 441ED1E5B1763F41FFDA4913FC586EE97B5879D182398295B1D66449DDCDA9AE
Native regression: 100/100 PASS
Rustfmt: PASS
WASM library build: PASS
Existing evidence ZIPs verified: 19
Original evidence preserved: YES
Commit created: NO
=== INDEPENDENT ZIP VERIFICATION ===
PASS | CP019_Engineering_Preflight.txt | SOURCE_SHA256=4C7A9D49D3E2310382F109FF716D463B1721CB35F0C83E457438C2581C71A5B8 | ZIP_SHA256=920D48E0F99479E4FC83A50B548919569BEAC68F64204DA88DFF316FF4534A99
PASS | CP019_RED_Installation_Record.txt | SOURCE_SHA256=FBDF8E3421820DC11CBB8735CE9529E1C74FE34061B0903725D3071C917F92C7 | ZIP_SHA256=55EB05698609674E1DBFAB2B5AD24683080F5E9F46876FB9388DA5C18DC6B0E7
PASS | CP019_RED_Run_Record.txt | SOURCE_SHA256=7D6D8F22B81F830FC0331B617552C69606FE1EA47B7D7B74F9FC1B3A6635A0EF | ZIP_SHA256=ED24114BEE1CF3A08CEBD323451DA0417105B1B3A4A1423B76AD23FAB17B643C
PASS | CP019_RED_StdOut.txt | SOURCE_SHA256=EE0385191D62A978177AEDBB8547112204FDB2909F6CEDB711E3CBB7054D0515 | ZIP_SHA256=DACD8649FFA84A8AE0DF2EA316047582A112F5E049A2D7468841181FF6351D02
PASS | CP019_RED_StdErr.txt | SOURCE_SHA256=07BF10B0927BCBE831145B32263E49D5B8385106A08F72A89E2ACD7C35137826 | ZIP_SHA256=E94EDAD132447940EFF9E33D8F415CA46E2F78182F4B537EB8CB7E4244C5315B
PASS | CP019_GREEN_Installation_Record.txt | SOURCE_SHA256=324DC51CE31BDF45E1FDFE1E3E6FD08FA0659D8DBB1D5D80FBA3F14624E16195 | ZIP_SHA256=414D139FD22295AA039B0FC2EC36750DCE2F3D7D89512A4749DE9F47D3EFA617
PASS | CP019_PreGREEN_lib.rs | SOURCE_SHA256=69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955 | ZIP_SHA256=3579A082BADF0300541AB13C06FB8BCAE56A1412355BC1404C0C431A71E03BB0
PASS | CP019_GREEN_Run_Record.txt | SOURCE_SHA256=2C5380AFDF83AF3D9B77CAA7956AD094E6845D11E029A9F3E5A0F15BF262B7F0 | ZIP_SHA256=729760D390F204BA5983077F46046830883BCE119E12CB6B94ED6BA78B91D1D6
PASS | CP019_GREEN_StdOut.txt | SOURCE_SHA256=565352F95008EE14032184DE7D7F599FA5DC2F87B8EBA22541A5F11D07A8DC8C | ZIP_SHA256=C9D4D01975DCE19C80403056C9DD4084393F2D114E310F24B9EA3C7232217A6F
PASS | CP019_GREEN_StdErr.txt | SOURCE_SHA256=5EBDE89B175BB697D1B8236A62F67D1E88FB3AABF0C19751CF8F7C9AC4EBB53D | ZIP_SHA256=B1F76836701FFF3A5C68DDF5EC98B076F178A90CC1A7D35746A807E412AFCC1A
PASS | CP019_Rustfmt_Check_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=522BC6E769DF3DD00DEE622AEFFEF5BB67167F63E9A6054DAB8E01AEC8057B01
PASS | CP019_Rustfmt_Check_StdErr.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=8CCA34CCD8749CCF882F16CAD0C0578FE89D394229FD843B56296D742B4B5DB6
PASS | CP019_Regression_StdOut.txt | SOURCE_SHA256=A8A0AE611D6C9BEED52D4E66616D00D07713E926BC4293EA66154A6DB249C5D8 | ZIP_SHA256=D6EEAB32D70626DB23A7BB8A1FA23EE19D2650DDED1DD47BB90C5B67DD9FCCE7
PASS | CP019_Regression_StdErr.txt | SOURCE_SHA256=3C3D9245BC34806B0B145AC64307213394805311D62D06ED1CA1489EE37A8BD0 | ZIP_SHA256=4605A5486DC5BEE49A286C608FD5B093407DF07031E659E54529002B9BB7E584
PASS | CP019_WASM_Build_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=D5F517D2777BE8AB1A66B4581AADD7F75737949A53904F2E8F2869712EFF8367
PASS | CP019_WASM_Build_StdErr.txt | SOURCE_SHA256=22253096F4A2856C201EE463B0741DB221E914B13D5997B89BEAE50C785EFABE | ZIP_SHA256=3A35D919CB3C773B00EFFBC5949FCAD2D222748FAA7058217DABC4D409DACF9E
PASS | CP019_Verification_Run_Record.txt | SOURCE_SHA256=23FA5C6BD05491A5FC98E1536CF45482FC78C0BA1AACCF31E1886CD9366A1DAF | ZIP_SHA256=570AB2452F79FCD353678261000C9B537BEA16FFBCFF0224011793C9B10E6E55
PASS | CP019_Source_Review.txt | SOURCE_SHA256=2D9329619A67522BAEB6B595509B669410D5BEAEE43F04774878A0616FDB83FB | ZIP_SHA256=AF0BD920DB90978D511466E2C9E9916C27F239153E88511782F9EAC5201326E6
PASS | CP019_Evidence_ZIP_Inventory.txt | SOURCE_SHA256=CDBC6DB9160F1A5EE2781F4403682950154084A59847BB5981903E1081D4D1AE | ZIP_SHA256=9E46B8AD1D8324D5D9F513368779C0E18A211DB634321A5703BE228996BD0ABE
PRESTAGING_VERIFICATION=PASS
Day 074 CP019 — CP019_Git_Staging_Review.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 8E760E81B1051963E5D1BEE649B25885F0E7AB1240C876BD25CF549A877E755C · 5,530 source bytes · After CP019 Git commit; not inside committed ZIP set.
=== CP019 GIT STAGING REVIEW ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Recovery: Absolute-path correction
Original manifest sources: 18
Authorized later evidence sources: 2
Verified ZIPs: 20
Expected staged paths: 22
Actual staged paths: 22
All staged blobs match working files: YES
Staged whitespace: PASS
Unstaged tracked changes: 0
Native regression: 100/100 PASS
Rustfmt: PASS
WASM build: PASS
Human acceptance: PENDING
Git commit created: NO
=== VERIFIED ZIP EVIDENCE ===
PASS | CP019_Engineering_Preflight.txt | SOURCE_SHA256=4C7A9D49D3E2310382F109FF716D463B1721CB35F0C83E457438C2581C71A5B8 | ZIP_SHA256=920D48E0F99479E4FC83A50B548919569BEAC68F64204DA88DFF316FF4534A99
PASS | CP019_GREEN_Installation_Record.txt | SOURCE_SHA256=324DC51CE31BDF45E1FDFE1E3E6FD08FA0659D8DBB1D5D80FBA3F14624E16195 | ZIP_SHA256=414D139FD22295AA039B0FC2EC36750DCE2F3D7D89512A4749DE9F47D3EFA617
PASS | CP019_GREEN_Run_Record.txt | SOURCE_SHA256=2C5380AFDF83AF3D9B77CAA7956AD094E6845D11E029A9F3E5A0F15BF262B7F0 | ZIP_SHA256=729760D390F204BA5983077F46046830883BCE119E12CB6B94ED6BA78B91D1D6
PASS | CP019_GREEN_StdErr.txt | SOURCE_SHA256=5EBDE89B175BB697D1B8236A62F67D1E88FB3AABF0C19751CF8F7C9AC4EBB53D | ZIP_SHA256=B1F76836701FFF3A5C68DDF5EC98B076F178A90CC1A7D35746A807E412AFCC1A
PASS | CP019_GREEN_StdOut.txt | SOURCE_SHA256=565352F95008EE14032184DE7D7F599FA5DC2F87B8EBA22541A5F11D07A8DC8C | ZIP_SHA256=C9D4D01975DCE19C80403056C9DD4084393F2D114E310F24B9EA3C7232217A6F
PASS | CP019_PreGREEN_lib.rs | SOURCE_SHA256=69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955 | ZIP_SHA256=3579A082BADF0300541AB13C06FB8BCAE56A1412355BC1404C0C431A71E03BB0
PASS | CP019_RED_Installation_Record.txt | SOURCE_SHA256=FBDF8E3421820DC11CBB8735CE9529E1C74FE34061B0903725D3071C917F92C7 | ZIP_SHA256=55EB05698609674E1DBFAB2B5AD24683080F5E9F46876FB9388DA5C18DC6B0E7
PASS | CP019_RED_Run_Record.txt | SOURCE_SHA256=7D6D8F22B81F830FC0331B617552C69606FE1EA47B7D7B74F9FC1B3A6635A0EF | ZIP_SHA256=ED24114BEE1CF3A08CEBD323451DA0417105B1B3A4A1423B76AD23FAB17B643C
PASS | CP019_RED_StdErr.txt | SOURCE_SHA256=07BF10B0927BCBE831145B32263E49D5B8385106A08F72A89E2ACD7C35137826 | ZIP_SHA256=E94EDAD132447940EFF9E33D8F415CA46E2F78182F4B537EB8CB7E4244C5315B
PASS | CP019_RED_StdOut.txt | SOURCE_SHA256=EE0385191D62A978177AEDBB8547112204FDB2909F6CEDB711E3CBB7054D0515 | ZIP_SHA256=DACD8649FFA84A8AE0DF2EA316047582A112F5E049A2D7468841181FF6351D02
PASS | CP019_Regression_StdErr.txt | SOURCE_SHA256=3C3D9245BC34806B0B145AC64307213394805311D62D06ED1CA1489EE37A8BD0 | ZIP_SHA256=4605A5486DC5BEE49A286C608FD5B093407DF07031E659E54529002B9BB7E584
PASS | CP019_Regression_StdOut.txt | SOURCE_SHA256=A8A0AE611D6C9BEED52D4E66616D00D07713E926BC4293EA66154A6DB249C5D8 | ZIP_SHA256=D6EEAB32D70626DB23A7BB8A1FA23EE19D2650DDED1DD47BB90C5B67DD9FCCE7
PASS | CP019_Rustfmt_Check_StdErr.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=8CCA34CCD8749CCF882F16CAD0C0578FE89D394229FD843B56296D742B4B5DB6
PASS | CP019_Rustfmt_Check_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=522BC6E769DF3DD00DEE622AEFFEF5BB67167F63E9A6054DAB8E01AEC8057B01
PASS | CP019_Source_Review.txt | SOURCE_SHA256=2D9329619A67522BAEB6B595509B669410D5BEAEE43F04774878A0616FDB83FB | ZIP_SHA256=AF0BD920DB90978D511466E2C9E9916C27F239153E88511782F9EAC5201326E6
PASS | CP019_Verification_Run_Record.txt | SOURCE_SHA256=23FA5C6BD05491A5FC98E1536CF45482FC78C0BA1AACCF31E1886CD9366A1DAF | ZIP_SHA256=570AB2452F79FCD353678261000C9B537BEA16FFBCFF0224011793C9B10E6E55
PASS | CP019_WASM_Build_StdErr.txt | SOURCE_SHA256=22253096F4A2856C201EE463B0741DB221E914B13D5997B89BEAE50C785EFABE | ZIP_SHA256=3A35D919CB3C773B00EFFBC5949FCAD2D222748FAA7058217DABC4D409DACF9E
PASS | CP019_WASM_Build_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=D5F517D2777BE8AB1A66B4581AADD7F75737949A53904F2E8F2869712EFF8367
PASS | CP019_Evidence_ZIP_Inventory.txt | SOURCE_SHA256=CDBC6DB9160F1A5EE2781F4403682950154084A59847BB5981903E1081D4D1AE | ZIP_SHA256=9E46B8AD1D8324D5D9F513368779C0E18A211DB634321A5703BE228996BD0ABE
PASS | CP019_Git_PreStaging_Review.txt | SOURCE_SHA256=2A4AAB1ED207FFE9E1F7904918E29A2190D044EBC40A1C5F5552A87364F6EF76 | ZIP_SHA256=D9407CE0DD7899EFDCAEE21401DAF7F358121E27E581A29007F2745C689AC137
=== STAGED PATHS ===
Evidence/CP-019/ZIP/CP019_Engineering_Preflight.txt.zip
Evidence/CP-019/ZIP/CP019_Evidence_ZIP_Inventory.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_Installation_Record.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_Run_Record.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_GREEN_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Git_PreStaging_Review.txt.zip
Evidence/CP-019/ZIP/CP019_PreGREEN_lib.rs.zip
Evidence/CP-019/ZIP/CP019_RED_Installation_Record.txt.zip
Evidence/CP-019/ZIP/CP019_RED_Run_Record.txt.zip
Evidence/CP-019/ZIP/CP019_RED_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_RED_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Regression_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_Regression_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdOut.txt.zip
Evidence/CP-019/ZIP/CP019_Source_Review.txt.zip
Evidence/CP-019/ZIP/CP019_Verification_Run_Record.txt.zip
Evidence/CP-019/ZIP/CP019_WASM_Build_StdErr.txt.zip
Evidence/CP-019/ZIP/CP019_WASM_Build_StdOut.txt.zip
src/lib.rs
tests/CP019_receipt_core_field_types.rs
STAGING_VERIFICATION=PASS
Day 074 CP019 — CP019_Git_Volume_Audit.txt
User-uploaded post-commit direct Git-object exhibit; not Git-banked · SHA-256: D15E11AE382979174E10E055CD5D6F36B1D6D1EDB24F1CA21711915E817E9FF3 · 555 source bytes · After CP019 Git commit; not inside committed ZIP set.
=== CP019 DIRECT GIT OBJECT VOLUME AUDIT ===
Date: 2026-10-21
Commit: 8f7460ced343de4b8662e45b2b0b5b7b69127021
Parent: 75620f17649a5d38d5357960bb99e9ac39ae354f
Committed paths: 22
Evidence ZIPs: 20
Evidence bytes: 25226
Source bytes: 17633
Tests bytes: 3873
GROSS COMMITTED BYTES: 46732
NET REPOSITORY GROWTH BYTES: 29467
Gross KiB: 45.637
Net KiB: 28.776
File ledger SHA256: B9FEA18F9E35A10047E37E0478B048A663AF0D8D737AC947E357F5C8ADB83A02
Method: git diff-tree, rev-parse, cat-file -s
Git commit created: NO
Remote push performed: NO
AUDIT RESULT: PASS
Day 074 CP019 — CP019_Git_Volume_Files.csv
User-uploaded post-commit direct Git-object exhibit; not Git-banked · SHA-256: B9FEA18F9E35A10047E37E0478B048A663AF0D8D737AC947E357F5C8ADB83A02 · 2,882 source bytes · After CP019 Git commit; not inside committed ZIP set.
"Path","Status","Category","GitBlob","GrossBytes","PreviousBytes","NetBytes"
"Evidence/CP-019/ZIP/CP019_Engineering_Preflight.txt.zip","A","Evidence","29443f1f649d419c5c5922e7167fc4fcc4da35f2","6014","0","6014"
"Evidence/CP-019/ZIP/CP019_Evidence_ZIP_Inventory.txt.zip","A","Evidence","fc8edb39c68d134e61acda832eeef7937793f641","2187","0","2187"
"Evidence/CP-019/ZIP/CP019_GREEN_Installation_Record.txt.zip","A","Evidence","0ae22205723259d1c89eec57da07a04240053731","606","0","606"
"Evidence/CP-019/ZIP/CP019_GREEN_Run_Record.txt.zip","A","Evidence","7f1682781758e599bdd9ba2efe44b17b0a3d9ae2","570","0","570"
"Evidence/CP-019/ZIP/CP019_GREEN_StdErr.txt.zip","A","Evidence","42da25316764491788e05e0d369aa5ab6fa16cc4","349","0","349"
"Evidence/CP-019/ZIP/CP019_GREEN_StdOut.txt.zip","A","Evidence","1b3d655ffd0d3941909409067d64a964e530caa1","373","0","373"
"Evidence/CP-019/ZIP/CP019_Git_PreStaging_Review.txt.zip","A","Evidence","350ef5fc411fe1e02820aebe3f7fdf221e23a324","2195","0","2195"
"Evidence/CP-019/ZIP/CP019_PreGREEN_lib.rs.zip","A","Evidence","43c3831756fa7a19e0fc55581c11e88bc8ec8120","5109","0","5109"
"Evidence/CP-019/ZIP/CP019_RED_Installation_Record.txt.zip","A","Evidence","315a1c369ee44dbdbdf2ff33721b4a4c0645638f","624","0","624"
"Evidence/CP-019/ZIP/CP019_RED_Run_Record.txt.zip","A","Evidence","384edd12db6a7a9b42bebda51b3c006749fa5d13","522","0","522"
"Evidence/CP-019/ZIP/CP019_RED_StdErr.txt.zip","A","Evidence","3e68791f0cc8f964ef6299a85c43ac8bf2a34d5d","372","0","372"
"Evidence/CP-019/ZIP/CP019_RED_StdOut.txt.zip","A","Evidence","993d85192d8eb18e78f79a82f68dceddf842ef73","960","0","960"
"Evidence/CP-019/ZIP/CP019_Regression_StdErr.txt.zip","A","Evidence","4ce306a52a7bf4945ca90a126025a1ef4731ff16","855","0","855"
"Evidence/CP-019/ZIP/CP019_Regression_StdOut.txt.zip","A","Evidence","71d571e78b40b9e08c20e110cce85942fd8cd14c","1964","0","1964"
"Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdErr.txt.zip","A","Evidence","c84eefddafafccdfd85938fce296ff53c6c8a829","158","0","158"
"Evidence/CP-019/ZIP/CP019_Rustfmt_Check_StdOut.txt.zip","A","Evidence","09762f3e8db11d81cc2ec8c6783e8d5b51ea2d38","158","0","158"
"Evidence/CP-019/ZIP/CP019_Source_Review.txt.zip","A","Evidence","2625d03f68f5ed0a86c4d309b9e4d018ef152bb1","1067","0","1067"
"Evidence/CP-019/ZIP/CP019_Verification_Run_Record.txt.zip","A","Evidence","92e5d32988edcfe8037b8406a4e283369b36a395","698","0","698"
"Evidence/CP-019/ZIP/CP019_WASM_Build_StdErr.txt.zip","A","Evidence","339ec0d20ee6216d6125f1c12af944ada28c37c6","293","0","293"
"Evidence/CP-019/ZIP/CP019_WASM_Build_StdOut.txt.zip","A","Evidence","b5852caa9026f313d0dd27e4305aa94f0d650ec4","152","0","152"
"src/lib.rs","M","Source","1ea0543c1b61bf823f658b57c9894f1c50aa6c86","17633","17265","368"
"tests/CP019_receipt_core_field_types.rs","A","Tests","8b04b966fc5c9e5287314d9d65b97751d3ec3142","3873","0","3873"
Day 074 CP019 — CP019_RED_Installation_Record.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: FBDF8E3421820DC11CBB8735CE9529E1C74FE34061B0903725D3071C917F92C7 · 672 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 RED INSTALLATION ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Frozen anchors: W002-RCP-005 / W002-RCP-006
Scope: ten-field Receipt core value-category enforcement
RED test file: tests/CP019_receipt_core_field_types.rs
RED test count: 6
RED test SHA256: 441ED1E5B1763F41FFDA4913FC586EE97B5879D182398295B1D66449DDCDA9AE
Source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Prior CP018 test SHA256: FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
Test file UTF-8 without BOM and LF: YES
Implementation source modified: NO
RED tests executed: NO
Git commit created: NO
Installation result: PASS
Day 074 CP019 — CP019_RED_Run_Record.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 7D6D8F22B81F830FC0331B617552C69606FE1EA47B7D7B74F9FC1B3A6635A0EF · 637 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 RED TEST ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Command: cargo test --test CP019_receipt_core_field_types
Exit code: 101
Expected failing tests: 4
Expected passing tests: 2
Four expected failures identified: True
Two expected passes identified: True
Test summary correct: True
Source and test hashes unchanged: True
Result: EXPECTED RED PASS
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-019\CP019_RED_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-019\CP019_RED_StdErr.txt
Implementation modified: NO
Git commit created: NO
Day 074 CP019 — CP019_RED_StdErr.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 07BF10B0927BCBE831145B32263E49D5B8385106A08F72A89E2ACD7C35137826 · 359 source bytes · Original source text; any committed content exists separately as verified ZIP.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.71s
Running tests\CP019_receipt_core_field_types.rs (target\debug\deps\CP019_receipt_core_field_types-77a22be90979861c.exe)
error: test failed, to rerun pass `--test CP019_receipt_core_field_types`
Day 074 CP019 — CP019_RED_StdOut.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: EE0385191D62A978177AEDBB8547112204FDB2909F6CEDB711E3CBB7054D0515 · 3,635 source bytes · Original source text; any committed content exists separately as verified ZIP.
running 6 tests
test correctly_typed_core_retains_exact_output_contract ... ok
test integer_core_keys_reject_quoted_text_and_machine_token ... FAILED
test machine_core_keys_reject_integer_and_quoted_text ... FAILED
test late_type_error_refuses_the_entire_core_fragment ... FAILED
test preexisting_order_refusal_is_preserved ... ok
test quoted_core_keys_reject_integer_and_machine_token ... FAILED
failures:
---- integer_core_keys_reject_quoted_text_and_machine_token stdout ----
thread 'integer_core_keys_reject_quoted_text_and_machine_token' (5036) panicked at tests\CP019_receipt_core_field_types.rs:51:5:
assertion `left == right` failed: incorrect type must refuse for RECEIPT_VERSION
left: Some("RECEIPT_VERSION: \"7\"\nRECEIPT_FILENAME: \"__DS__RCP__20261021T141300000Z__123e4567-e89b-42d3-a456-426614174000.txt\"\nRECEIPT_UTC: \"20261021T141300000Z\"\nWORK_ORDER_FILENAME: \"__DS__WKO__20261021T141000000Z__550e8400-e29b-41d4-a716-446655440000.txt\"\nOPERATION: MATERIALIZE\nRUN_STARTED_UTC: \"20261021T141100000Z\"\nRUN_FINISHED_UTC: \"20261021T141200000Z\"\nRESULT: SUCCESS\nDIAGNOSTIC_ID: NONE\nIDENTITY_COLLISION_RETRIES: 0\n")
right: None
---- machine_core_keys_reject_integer_and_quoted_text stdout ----
thread 'machine_core_keys_reject_integer_and_quoted_text' (4180) panicked at tests\CP019_receipt_core_field_types.rs:51:5:
assertion `left == right` failed: incorrect type must refuse for OPERATION
left: Some("RECEIPT_VERSION: 1\nRECEIPT_FILENAME: \"__DS__RCP__20261021T141300000Z__123e4567-e89b-42d3-a456-426614174000.txt\"\nRECEIPT_UTC: \"20261021T141300000Z\"\nWORK_ORDER_FILENAME: \"__DS__WKO__20261021T141000000Z__550e8400-e29b-41d4-a716-446655440000.txt\"\nOPERATION: 7\nRUN_STARTED_UTC: \"20261021T141100000Z\"\nRUN_FINISHED_UTC: \"20261021T141200000Z\"\nRESULT: SUCCESS\nDIAGNOSTIC_ID: NONE\nIDENTITY_COLLISION_RETRIES: 0\n")
right: None
---- late_type_error_refuses_the_entire_core_fragment stdout ----
thread 'late_type_error_refuses_the_entire_core_fragment' (11980) panicked at tests\CP019_receipt_core_field_types.rs:88:5:
assertion `left == right` failed
left: Some("RECEIPT_VERSION: 1\nRECEIPT_FILENAME: \"__DS__RCP__20261021T141300000Z__123e4567-e89b-42d3-a456-426614174000.txt\"\nRECEIPT_UTC: \"20261021T141300000Z\"\nWORK_ORDER_FILENAME: \"__DS__WKO__20261021T141000000Z__550e8400-e29b-41d4-a716-446655440000.txt\"\nOPERATION: MATERIALIZE\nRUN_STARTED_UTC: \"20261021T141100000Z\"\nRUN_FINISHED_UTC: \"20261021T141200000Z\"\nRESULT: SUCCESS\nDIAGNOSTIC_ID: NONE\nIDENTITY_COLLISION_RETRIES: \"0\"\n")
right: None
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- quoted_core_keys_reject_integer_and_machine_token stdout ----
thread 'quoted_core_keys_reject_integer_and_machine_token' (8576) panicked at tests\CP019_receipt_core_field_types.rs:51:5:
assertion `left == right` failed: incorrect type must refuse for RECEIPT_FILENAME
left: Some("RECEIPT_VERSION: 1\nRECEIPT_FILENAME: 7\nRECEIPT_UTC: \"20261021T141300000Z\"\nWORK_ORDER_FILENAME: \"__DS__WKO__20261021T141000000Z__550e8400-e29b-41d4-a716-446655440000.txt\"\nOPERATION: MATERIALIZE\nRUN_STARTED_UTC: \"20261021T141100000Z\"\nRUN_FINISHED_UTC: \"20261021T141200000Z\"\nRESULT: SUCCESS\nDIAGNOSTIC_ID: NONE\nIDENTITY_COLLISION_RETRIES: 0\n")
right: None
failures:
integer_core_keys_reject_quoted_text_and_machine_token
late_type_error_refuses_the_entire_core_fragment
machine_core_keys_reject_integer_and_quoted_text
quoted_core_keys_reject_integer_and_machine_token
test result: FAILED. 2 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Day 074 CP019 — CP019_Regression_StdErr.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 3C3D9245BC34806B0B145AC64307213394805311D62D06ED1CA1489EE37A8BD0 · 2,454 source bytes · Original source text; any committed content exists separately as verified ZIP.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `test` profile [unoptimized + debuginfo] target(s) in 2.37s
Running unittests src\lib.rs (target\debug\deps\data_sculptor_core-de0091f1467e27b4.exe)
Running tests\CP008_source_eligibility.rs (target\debug\deps\CP008_source_eligibility-194c314726b26929.exe)
Running tests\CP009_exact_root_snapshot.rs (target\debug\deps\CP009_exact_root_snapshot-b26a1b02e36e8f07.exe)
Running tests\CP010_cvt_filename_candidate.rs (target\debug\deps\CP010_cvt_filename_candidate-ce216c0140f6b173.exe)
Running tests\CP011_cvt_scr_candidate_identity.rs (target\debug\deps\CP011_cvt_scr_candidate_identity-8bc68fabbbb42eb4.exe)
Running tests\CP012_scr_filename_candidate.rs (target\debug\deps\CP012_scr_filename_candidate-7c39746d8bb6fac7.exe)
Running tests\CP013_scr_rcp_candidate_identity.rs (target\debug\deps\CP013_scr_rcp_candidate_identity-4f7c7bea8654150d.exe)
Running tests\CP014_rcp_filename_candidate_identity.rs (target\debug\deps\CP014_rcp_filename_candidate_identity-249a1cd498442ced.exe)
Running tests\CP015_scr_rcp_filename_pair_identity.rs (target\debug\deps\CP015_scr_rcp_filename_pair_identity-526d10560ef9b891.exe)
Running tests\CP016_receipt_field_serialization.rs (target\debug\deps\CP016_receipt_field_serialization-8c3a6628143f8cc6.exe)
Running tests\CP017_receipt_field_sequence.rs (target\debug\deps\CP017_receipt_field_sequence-c803df96b76f21ee.exe)
Running tests\CP018_receipt_core_envelope.rs (target\debug\deps\CP018_receipt_core_envelope-b0aa754d7846f001.exe)
Running tests\CP019_receipt_core_field_types.rs (target\debug\deps\CP019_receipt_core_field_types-77a22be90979861c.exe)
Running tests\artifact_class_disposition.rs (target\debug\deps\artifact_class_disposition-27b178107257d186.exe)
Running tests\artifact_filename_construction.rs (target\debug\deps\artifact_filename_construction-5cf670a1ba53be29.exe)
Running tests\artifact_filename_envelope.rs (target\debug\deps\artifact_filename_envelope-51974b55a7d36cd0.exe)
Running tests\artifact_namespace.rs (target\debug\deps\artifact_namespace-4ae3f3dd863a12a4.exe)
Running tests\artifact_serialization_separation.rs (target\debug\deps\artifact_serialization_separation-96fb32ea1270c8cd.exe)
Running tests\artifact_utc_timestamp.rs (target\debug\deps\artifact_utc_timestamp-4837e24de0c59c23.exe)
Day 074 CP019 — CP019_Regression_StdOut.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: A8A0AE611D6C9BEED52D4E66616D00D07713E926BC4293EA66154A6DB249C5D8 · 7,871 source bytes · Original source text; any committed content exists separately as verified ZIP.
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 5 tests
test accepts_analyst_csv_final_extension_in_ascii_case_variants ... ok
test makes_no_case_or_unicode_normalization_claim ... ok
test refuses_paths_traversal_and_external_references ... ok
test refuses_reserved_namespace_even_if_name_looks_like_csv ... ok
test rejects_non_csv_or_nonfinal_csv_extensions ... ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test candidate_preflight_runs_before_root_matching ... ok
test full_filename_match_is_exact_and_case_sensitive ... ok
test finds_one_exact_reported_regular_file ... ok
test duplicate_exact_entries_refuse_instead_of_picking_first ... ok
test never_trims_to_find_a_different_physical_name ... ok
test reported_non_regular_entries_do_not_pass ... ok
test result_is_order_independent_and_empty_snapshot_is_not_found ... ok
test unicode_scalar_sequence_is_not_normalized ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test accepts_exact_canonical_cvt_csv_candidate ... ok
test refuses_paths_and_noncanonical_references ... ok
test refuses_wrong_classes_and_extensions ... ok
test refuses_malformed_canonical_identity ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test derives_exact_corresponding_scr_identity ... ok
test preserves_distinct_timestamp_and_uuid_tokens ... ok
test refuses_invalid_utc_and_uuid ... ok
test refuses_other_semantic_classes ... ok
test refuses_paths_whitespace_and_noncanonical_names ... ok
test refuses_wrong_extension_and_case ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_canonical_scr_csv_candidate ... ok
test accepts_canonical_scr_txt_candidate ... ok
test refuses_noncanonical_namespace_class_and_extension ... ok
test refuses_invalid_utc_and_uuid ... ok
test refuses_other_semantic_classes ... ok
test refuses_paths_and_whitespace ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test derives_rcp_candidate_only_with_explicit_class ... ok
test preserves_distinct_timestamp_and_uuid_tokens ... ok
test refuses_invalid_identity_paths_and_whitespace ... ok
test refuses_non_scr_and_noncanonical_source_classes ... ok
test refuses_unsupported_or_incorrectly_cased_final_classes ... ok
test refuses_wrong_or_ambiguous_serialization_extensions ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_canonical_rcp_txt_identity ... ok
test recognizes_existing_scr_to_rcp_derivation ... ok
test refuses_noncanonical_serialization ... ok
test refuses_invalid_timestamp_uuid_and_envelope ... ok
test refuses_paths_and_whitespace ... ok
test refuses_wrong_semantic_class_and_case ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_matching_canonical_scr_and_rcp_txt_names ... ok
test refuses_mismatched_utc_timestamp_even_when_both_names_are_canonical ... ok
test refuses_paths_and_whitespace_on_either_side ... ok
test refuses_mismatched_uuid_even_when_both_names_are_canonical ... ok
test refuses_wrong_class_or_reversed_pair_order ... ok
test refuses_wrong_extensions_and_noncanonical_envelopes ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test doubles_internal_quotes_without_backslash_escaping ... ok
test filenames_and_utf8_free_text_are_double_quoted ... ok
test machine_tokens_have_exact_colon_space_and_single_lf ... ok
test machine_token_spelling_must_be_lexically_canonical ... ok
test non_negative_integers_use_ungrouped_ascii_decimal ... ok
test refuses_cr_or_lf_inside_any_single_field_value ... ok
test refuses_non_uppercase_ascii_field_keys ... ok
test text_is_preserved_without_trimming_and_document_bytes_are_deterministic ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 7 tests
test embedded_newline_in_late_text_refuses_the_entire_sequence ... ok
test empty_sequence_is_empty_formatting_not_a_valid_receipt_claim ... ok
test invalid_late_machine_token_refuses_the_entire_sequence ... ok
test invalid_late_key_refuses_the_entire_sequence ... ok
test preserves_caller_order_without_claiming_schema_order ... ok
test repeated_invocations_are_byte_identical ... ok
test utf8_quotes_and_empty_quoted_text_produce_exact_bytes ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 9 tests
test duplicate_field_refuses ... ok
test exact_ten_core_fields_emit_exact_bytes ... ok
test empty_input_refuses ... ok
test invalid_late_value_refuses_entire_fragment ... ok
test missing_mandatory_field_refuses ... ok
test misspelled_or_wrong_case_key_refuses ... ok
test swapped_fields_refuse ... ok
test repeated_input_is_byte_identical ... ok
test unexpected_field_refuses_for_core_only_api ... ok
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test correctly_typed_core_retains_exact_output_contract ... ok
test integer_core_keys_reject_quoted_text_and_machine_token ... ok
test machine_core_keys_reject_integer_and_quoted_text ... ok
test late_type_error_refuses_the_entire_core_fragment ... ok
test preexisting_order_refusal_is_preserved ... ok
test quoted_core_keys_reject_integer_and_machine_token ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test distinguishes_malformed_reserved_names_and_external_names ... ok
test distinguishes_reserved_not_emitted_and_unallocated_classes ... ok
test distinguishes_registered_emittable_classes ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test preserves_extension_without_case_or_unicode_normalization ... ok
test constructs_exact_canonical_filename_candidates ... ok
test refuses_noncanonical_class_without_repair ... ok
test refuses_invalid_timestamp_uuid_and_empty_extension ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test accepts_canonical_immutable_filename_envelopes ... ok
test rejects_malformed_namespace_class_and_timestamp_tokens ... ok
test rejects_noncanonical_uuid_and_missing_extension ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test recognizes_governed_namespace_and_class ... ok
test recognizes_remaining_frozen_registry_classes ... ok
test recognizes_reserved_but_nonemitting_classes ... ok
test rejects_invalid_class_boundaries ... ok
test reserved_prefix_is_independent_of_registered_class ... ok
test rejects_noncanonical_prefix_and_unknown_class ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test extension_does_not_determine_semantic_class ... ok
test extracts_semantic_class_and_serialization_separately ... ok
test refuses_tokens_when_filename_envelope_is_invalid ... ok
test preserves_literal_tokens_without_claiming_authority ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test accepts_valid_gregorian_dates_and_time_boundaries ... ok
test rejects_invalid_clock_values_and_unapproved_leap_seconds ... ok
test rejects_nonexistent_gregorian_dates ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Day 074 CP019 — CP019_Source_Review.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 2D9329619A67522BAEB6B595509B669410D5BEAEE43F04774878A0616FDB83FB · 1,660 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 FINAL SOURCE REVIEW ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Checkpoint: CP019
Frozen anchors: W002-RCP-005 / W002-RCP-006
Scope: Ten Receipt core field value categories
Previous source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Current source SHA256: 035AFC8D01C93DC56145C84E089FCD223B4D1FD671C202CC689EC0D39A134FFA
CP019 test SHA256: 441ED1E5B1763F41FFDA4913FC586EE97B5879D182398295B1D66449DDCDA9AE
Tracked modifications: src/lib.rs ONLY
Staged files: 0
Source whitespace: PASS
Native regression: 100 / 100 PASS
Test suites: 19
Rustfmt: PASS
WASM library build: PASS
Full Receipt semantics: NOT CLAIMED
Browser runtime: NOT TESTED
Independent implementation QA: NOT COMPLETED
Git commit created: NO
=== EXACT SOURCE DIFF ===
diff --git a/src/lib.rs b/src/lib.rs
index b6aaa20..1ea0543 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -506,10 +506,21 @@ pub fn serialize_canonical_receipt_core_envelope(
return None;
}
- for (index, &(key, _)) in fields.iter().enumerate() {
+ for (index, &(key, value)) in fields.iter().enumerate() {
if key != CORE_KEYS[index] {
return None;
}
+
+ let correct_type = match (index, value) {
+ (0 | 9, ReceiptFieldValue::NonNegativeInteger(_)) => true,
+ (1 | 2 | 3 | 5 | 6, ReceiptFieldValue::QuotedText(_)) => true,
+ (4 | 7 | 8, ReceiptFieldValue::MachineToken(_)) => true,
+ _ => false,
+ };
+
+ if !correct_type {
+ return None;
+ }
}
serialize_canonical_receipt_field_sequence(fields)
SOURCE_REVIEW=PASS
Day 074 CP019 — CP019_Verification_Run_Record.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 23FA5C6BD05491A5FC98E1536CF45482FC78C0BA1AACCF31E1886CD9366A1DAF · 890 source bytes · Original source text; any committed content exists separately as verified ZIP.
=== CP019 VERIFICATION ===
Date: 2026-10-21
Git HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Frozen anchors: W002-RCP-005 / W002-RCP-006
RED gate: EXPECTED RED PASS (previously verified)
GREEN gate: 6/6 PASS (previously verified)
=== RUSTFMT ===
Command: cargo fmt --all -- --check
Exit code: 0
=== NATIVE REGRESSION ===
Command: cargo test --all-targets
Exit code: 0
Passed: 100
Failed: 0
Suite summaries: 19
=== WASM ===
Command: cargo build --target wasm32-unknown-unknown --lib
Exit code: 0
=== INTEGRITY ===
Source SHA256: 035AFC8D01C93DC56145C84E089FCD223B4D1FD671C202CC689EC0D39A134FFA
Test SHA256: 441ED1E5B1763F41FFDA4913FC586EE97B5879D182398295B1D66449DDCDA9AE
Source unchanged: True
Test unchanged: True
Git HEAD unchanged: True
Git staging empty: True
Git commit created: NO
Browser runtime tested: NO
Independent implementation QA completed: NO
VERIFICATION_RESULT=PASS
Day 074 CP019 — CP019_WASM_Build_StdErr.txt
User-uploaded CP019 primary/closeout record; Git-banked ZIP status is documented separately · SHA-256: 22253096F4A2856C201EE463B0741DB221E914B13D5997B89BEAE50C785EFABE · 159 source bytes · Original source text; any committed content exists separately as verified ZIP.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s
Day 074 CP019 — WASM002_Requirement_Implementation_Ledger_Day074_CP019.csv
Derived Day074 CP019 requirements successor ledger; not Git-banked · SHA-256: AB270824F8FB01FAA4100F09BA0BD7F717722508DB5E65DC795833A03F5C34AA · 531,246 source bytes · After CP019 Git commit; not inside committed ZIP set.
requirement_id,title,family,major_family,scope,source_prd_status,source_build_flag,requirement_text,implementation_state,local_verification,independent_qa,requirement_acceptance,linked_checkpoints,checkpoint_disposition,git_commits,test_evidence,implementation_notes,last_evidence_day,source_revision
PB-STOR-001,Suitcase is the complete Data Sculptor-controlled persistence surface,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Every persistent project or analytical artifact intentionally created by Data Sculptor must be written into the visible, user-controlled Suitcase. Data Sculptor must not intentionally persist user data, analytical state, scratch state, logs, recovery state, or project metadata in hidden AppData-style locations or browser-private persistence such as OPFS. Incidental browser/OS runtime caches outside Data Sculptor control are explicitly outside this contract. F-24 browser-session persistence boundary: WASM-002 must not use IndexedDB, localStorage , OPFS, another browser-private database, or an equivalent hidden Data Sculptor-controlled persistence surface to remember a Suitcase directory handle, unsaved WIP text, project truth, analytical state, or live UI preferences between application instances. A later build may deliberately define a user-visible preferences or continuity mechanism, but WASM-002 does not create one implicitly. Volatile in-memory runtime state within the current application instance is permitted.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-002,No Data Sculptor-created subfolders,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Data Sculptor does not create scratch/cache subfolders inside the Suitcase. Logical organization is expressed by the flat filename grammar, open metadata, Store MAP, and human-facing aliases.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-004,__DS__ is the reserved Data Sculptor governed namespace,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Every artifact that Data Sculptor creates or intentionally interprets as one of its governed artifacts must use the exact visible prefix __DS__ . The prefix identifies participation in the Data Sculptor namespace; it does not imply that the artifact is temporary, scratch-only, or automatically generated.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-001,BANKED; separate requirement acceptance not claimed,03201870b8ec68730a0c027c572db03ccd5eeaa8,Evidence/CP-001/CP001_GREEN2_Test_Output.txt; Evidence/CP-001/CP001_WASM_Build_Output.txt,"CP001: bounded lexical artifact-class recognition via reserved_artifact_class(). Five native tests passed and Rust wasm32-target library built. No content/provenance/authority validation, persistence, or complete governed artifact contract implemented.",Day063,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-005,External inputs retain their identity; Data Sculptor derivatives enter the namespace,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"An analyst or external source file must not be renamed into __DS__ merely because Data Sculptor reads, fingerprints, certifies, or references it. If Data Sculptor creates a new governed derivative—such as an explicit converted source—the new artifact enters the __DS__ namespace under its semantic class. F-26 SOURCE boundary: a Suitcase-root file whose exact filename begins with the reserved prefix __DS__ is not treated as an analyst-owned source merely because it has a CSV-like extension or CSV-like bytes. It participates in the reserved Data Sculptor namespace and must satisfy the applicable governed-artifact contract before any governed role is granted.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-002,"T-ACCEPTED, BANKED; requirement remains partial",206dcd8b76af29edcb658a0c5a2dc40d87089fe3,Evidence/CP-002/CP002_Post_Format_Test_Output.txt; Evidence/CP-002/CP002_Post_Format_WASM_Build_Output.txt; Evidence/CP-002/CP002_Hash_Inventory_Verification.txt,CP002: exact __DS__ lexical prefix recognition via has_reserved_namespace_prefix(). Six native tests and wasm32-target compilation passed. The SOURCE boundary and governed CVT validation/emission rules in this requirement are NOT implemented.,Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-006,The governed semantic artifact-class registry is explicit and stable,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"The token immediately following __DS__ must be an exact three-uppercase-letter semantic artifact class. The governed class tokens currently reserved by this PRD are: Class Meaning WKO Work Order RCP Receipt DGN Diagnostic Event — reserved; not emitted by WASM-002 HLP Help Report CER Certification Evidence CVT Converted Source RID Row Identity COL Materialized Column MAP Governed MAP artifact class — Store MAP and WKO MAP profiles CAT Store Catalog — collection-level orientation index across MAP-governed Stores INV Suitcase Inventory Snapshot SCR Scratch / Structural Support RCV Recovery Artifact — reserved; not emitted by WASM-002 BRD Brand Manifest — reserved; not emitted by WASM-002 LCK Suitcase Lock — reserved for the explicit later-V1 FINGERPRINT workflow; not emitted or maintained by ordinary WASM-002 WASM-002 emission boundary. DGN , RCV , BRD , and LCK are registered/reserved classes but are not emitted by WASM-002. Registration alone does not create a producer, serialization contract, validity contract, lifecycle, or acceptance surface. A later build that activates one of these classes must define those contracts explicitly before the class becomes emitted product behavior. The class states semantic role rather than serialization format. WIP is not an artifact class; it is the editable non-executable Work Order lifecycle state. The Flight Recorder defined by W002-STOR-012 is a derived chronological view of governed RCP artifacts and is not an additional semantic artifact class. Existing class tokens must not be silently reassigned to different meanings. A new class requires an explicit PRD revision.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-001; CP-003,CP-001 banked; CP-003 T-accepted and banked; requirement remains partial,03201870b8ec68730a0c027c572db03ccd5eeaa8; 2d06f6259de93f5beaa8eb15f8f22f171127a10e,Evidence/CP-001/CP001_GREEN2_Test_Output.txt; Evidence/CP-001/CP001_WASM_Build_Output.txt; Evidence/CP-003/CP003_Post_Format_Test_Output.txt,"CP001: bounded lexical artifact-class recognition via reserved_artifact_class(). Five native tests passed and Rust wasm32-target library built. No content/provenance/authority validation, persistence, or complete governed artifact contract implemented. CP003 adds locally verified lexical distinction between the 11 emittable-class tokens and four registered-but-not-emitted tokens; full governance/producer behavior not implemented.",Day063,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-007,Serialization is orthogonal to artifact class,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Filename extensions such as .toml , .html , .csv , .bin , and .txt describe physical serialization only and must not be used as semantic artifact classes. A governed HLP serialized as .html remains an HLP, and a governed WKO serialized as .txt remains a WKO. Any future BRD serialization must obey the same class-versus-format separation, but its format is not frozen by WASM-002.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-006,"T-ACCEPTED, BANKED; full class-specific serialization and authority contracts remain open",aff54d08dcbacaa0c54d8869749344a504c5ad61,Evidence/CP-006/CP006_RED_Test_Output.txt; Evidence/CP-006/CP006_Post_Format_Test_Output.txt; Evidence/CP-006/CP006_WASM_Build_Output.txt; Evidence/CP-006/CP006_Hash_Inventory_Verification.txt; Evidence/CP-006/CP006_Precommit_Git_Review.txt,"CP006: public ArtifactFilenameTokens and extract_artifact_filename_tokens() reuse the CP004/CP005 immutable filename validator and extract semantic_class and serialization_extension as separate borrowed lexical fields. Four new tests, total 19/19 native tests post-format; wasm32-target compilation exit 0; 20-file pre-verification SHA-256 inventory independently matched. Literal unknown class and extension values preserved without registration or approval. No class-specific extension allowlist, format contract, file contents, provenance, governed publication, trust, or authority implemented. T accepted CP006 and banked commit aff54d08dcbacaa0c54d8869749344a504c5ad61; independent Claude implementation QA remains pending. This is requirement PARTIAL, not fully closed.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-008,Namespace and class do not confer authority by themselves,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Renaming an arbitrary file to resemble a __DS__ artifact must not make it authoritative. Before treating a governed artifact as valid, Data Sculptor must validate the applicable filename grammar plus the content, provenance, fingerprint, lineage, or other evidence required by that artifact's contract. F-14/F-33 publication distinction: SCR-to-final promotion under W002-STOR-023 proves only that the artifact satisfied its class-specific publication predicate. It does not manufacture broader authority. In particular, WKO alias authority still comes from the committed WKO MAP, Store authority comes from the committed Store MAP, and CAT is orientation only. Retained SCR failure evidence remains non-authoritative, and the reserved RCV class is not emitted by WASM-002. F-26 SOURCE authority: a governed CVT is eligible as a WASM-002 SOURCE only when its exact canonical CVT identity and the publication predicate governed by W002-CONV-004 and W002-STOR-023 are satisfied. Filename resemblance, a .csv extension, or copied bytes alone do not confer CVT source authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,Cross-cutting constraint recognized in CP001/CP002 scope: filenames/classes alone convey no artifact authority. This requirement is NOT claimed implemented or touched.,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-009,Unknown and known-but-not-emitted Data Sculptor classes are preserved and reported,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"If WASM-002 encounters a syntactically valid __DS__ artifact whose three-letter semantic class is not allocated in the current registry, or whose class is a registered-but-not-emitted WASM-002 class ( DGN , RCV , BRD , or LCK ), Data Sculptor must preserve the physical file unchanged. It must not trust, execute, mutate, delete, rename, or reinterpret that file as a known emitted artifact merely because the filename has governed form. Unknown class does not mean invalid data; it means this build has no authority to interpret that class. A known-but-not-emitted class is likewise not an instruction to activate a dormant producer or lifecycle. Whenever a WASM-002 operation performs the governed Suitcase scan/enumeration relevant to such a file, the condition must be surfaced through a canonical INFO diagnostic rather than being silently ignored. INVENTORY must include the physical file under its existing metadata-only contract; if an existing classification field is rendered, an unknown class is identified as unknown/unrecognized and a known-but-not-emitted class is identified as reserved/not emitted without guessing additional semantics. F-33 adds no new Inventory schema field and does not pull the governed DIR feature into WASM-002.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-003,"T-ACCEPTED, BANKED; full preservation/INFO requirement not closed",2d06f6259de93f5beaa8eb15f8f22f171127a10e,Evidence/CP-003/CP003_Post_Format_Test_Output.txt; Evidence/CP-003/CP003_WASM_Build_Output.txt; Evidence/CP-003/CP003_Hash_Inventory_Verification.txt,"CP003: token-only Rust classify_artifact_class_token() returns registered/emittable, registered/not-emitted, unallocated, malformed-reserved, or outside-reserved disposition. Three new tests (27 cases) plus six prior regression tests passed, wasm32 compilation exit 0, 15-file historic SHA-256 inventory verified. No Suitcase scan, filesystem preservation, canonical INFO diagnostic, INVENTORY integration, full filename validity, or artifact authority implemented. RegisteredEmittable describes a class category; it does not authorize emission. Independent Claude QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-010,Namespace and class casing are canonical and exact,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Data Sculptor-generated names must use exact uppercase __DS__ and exact uppercase three-letter class tokens. Data Sculptor must not silently normalize variant namespace/class spellings into canonical governed artifacts. This rule applies even on case-insensitive filesystems. F-15 governed comparison rule: unless a requirement explicitly defines a different domain-specific comparison, WASM-002 semantic equality and textual reference resolution compare decoded strings by exact Unicode scalar-value sequence. Data Sculptor performs no case folding, locale folding, Unicode normalization, trimming, or host-filesystem equivalence before the comparison. Thus differently cased strings and canonically equivalent-but-differently-encoded Unicode strings remain distinct governed values. If a host filesystem cannot safely publish two physical names that the governed semantics distinguish, publication must refuse rather than merge or reinterpret the governed identities.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-007; CP-009; CP-010,"T-ACCEPTED, BANKED; exact lexical construction verified; full normative requirement remains partial; CP009 T-ACCEPTED, BANKED — pure exact-name root snapshot matching only; full requirement remains partial; CP010 T-ACCEPTED, GIT BANKED — lexical CVT candidate only; complete requirement remains open",3c512df519f3a2431b363e4c57dc234c02378124; dc6ee5d1e547a730e5acdc79d53e56ec5d1c00d8; b7c515faa9bd000369d7656e09437310261290ae,Evidence/CP-007/CP007_RED_Test_Output.txt; Evidence/CP-007/CP007_GREEN_Test_Output.txt; Evidence/CP-007/CP007_Post_Format_Test_Output.txt; Evidence/CP-007/CP007_WASM_Build_Output.txt; Evidence/CP-007/CP007_Hash_Inventory_Verification.txt; Evidence/CP-007/CP007_Precommit_Git_Review.txt; Evidence/CP-009/CP009_Baseline_Test_Output.txt; Evidence/CP-009/CP009_RED_Test_Output.txt; Evidence/CP-009/CP009_GREEN_Test_Output.txt; Evidence/CP-009/CP009_Full_Regression_Test_Output.txt; Evidence/CP-009/CP009_Rustfmt_Check_Output.txt; Evidence/CP-009/CP009_Git_Whitespace_Check.txt; Evidence/CP-009/CP009_Post_Format_Test_Output.txt; Evidence/CP-009/CP009_WASM_Build_Output.txt; Evidence/CP-009/CP009_Hash_Inventory.txt; Evidence/CP-009/CP009_Hash_Inventory_Verification.txt; Evidence/CP-009/CP009_Precommit_Git_Review.txt; Evidence/CP-009/CP009_Final_Staging_Review.txt; CP009_Git_Banking_Output.txt (separately archived post-commit evidence); Evidence/CP-010/CP010_Scope_Lock.txt; Evidence/CP-010/CP010_RED_Test_Output_CMD_Corrected.txt; Evidence/CP-010/CP010_GREEN_Test_Output.txt; Evidence/CP-010/CP010_Post_Format_Regression_Test_Output.txt; Evidence/CP-010/CP010_WASM_Build_Output.txt; Evidence/CP-010/CP010_Post_Format_Check_Output.txt; Evidence/CP-010/CP010_Hash_Inventory_Verification.txt; Evidence/CP-010/CP010_Supplementary_Hash_Verification.txt; Evidence/CP-010/CP010_Closing_Git_Review.txt; CP010_Git_Banking_Output.txt (post-commit; separately archived),"CP007: public build_immutable_artifact_filename_candidate() assembles exact class, UTC timestamp, UUID v4 and serialization extension tokens into an ordinary canonical immutable filename candidate; it delegates validation to the existing CP004/CP005 envelope validator and refuses malformed casing/identities rather than case-folding, trimming or normalizing input. Four new integration tests, total 23/23 native tests after Rustfmt; wasm32-target compilation exit 0; 21-entry SHA-256+byte inventory independently verified. Lexically valid unknown class tokens and unapproved extension tokens may be preserved as candidates; this grants no registration, serialization contract, authority, filesystem publication or content/provenance validation. The F-15 exact Unicode scalar-value semantic equality and host-filesystem collision/refusal requirements are NOT implemented. T approved and banked commit 3c512df519f3a2431b363e4c57dc234c02378124 (14 files), clean master; independent Claude adversarial implementation QA pending. Requirement remains PARTIAL, not fully closed. CP009 Day066: match_analyst_csv_root_snapshot(&str, &[RootSnapshotEntry]) -> RootSnapshotMatch applies CP008 analyst CSV candidate preflight, then exact Rust string equality (case, Unicode scalar sequence and whitespace preserved), reports no match, reported nonregular entry, ambiguous duplicate exact entries, or single caller-reported regular file. Entry origin and kind are caller assertions, not independently verified. Eight new tests; post-format full native regression 36/36; wasm32-unknown-unknown library compilation exit 0; SHA-256 inventory verified 22/22; staged whitespace exit 0; T approved and git banked 15 files, clean working tree. This is NOT actual root scanning, filesystem entry proof, browser permission, CSV/UTF-8 certification, governed CVT SOURCE eligibility or end-to-end requirement acceptance; independent Claude QA pending. CP010 Day066 also tests canonical uppercase __DS__/CVT tokens and exact lowercase .csv conversion-output extension, refusing variant prefix/class/extension spellings; existing canonical validator is reused without repair or normalization. Only lexical form is locally verified: no actual filesystem identity enforcement or publication collision handling. T accepted CP010; git b7c515faa9bd000369d7656e09437310261290ae; independent QA pending.",Day066,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-011,Generated identity collisions regenerate the UUID and never overwrite,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Data Sculptor must never overwrite, rename, truncate, or mutate an existing artifact merely because a newly generated governed filename collides with it. For an ordinary immutable artifact using the governed UTC+UUID identity grammar, Data Sculptor must keep the originally established canonical UTC millisecond creation timestamp, generate a new canonical lowercase hyphenated UUID v4, reconstruct the candidate filename, and try creation again. Collision retry must not advance or falsify the artifact creation timestamp merely to obtain a different sort position. This retry may repeat until an unused valid identity is obtained. If UUID generation fails, the host cannot safely test/create the target, or another filesystem error prevents safe allocation, creation must refuse through the canonical diagnostic path rather than risk overwrite. Collision retry changes only the not-yet-created artifact's UUID. UUID is never used as a chronology field.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-012,Names route; governed contents and provenance prove,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"The filename must help humans and Data Sculptor identify the artifact's intended semantic role and route it to the correct validator. The artifact's governed content, lineage, receipt, fingerprint, provenance, and other required evidence establish what is actually true.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-013,Ordinary immutable governed artifacts use class → UTC millisecond → UUID v4 identity order,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"The exact default filename grammar for an ordinary immutable Data Sculptor-governed artifact is: __DS__CCC__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.<extension> CCC is the governed semantic artifact class. YYYYMMDDTHHMMSSmmmZ is the artifact's governed UTC creation/publication timestamp at millisecond precision: four-digit year, two-digit month/day/hour/minute/second, exactly three millisecond digits, and literal T / Z . <uuid-v4> is a canonical lowercase hyphenated UUID v4. The extension is governed by the artifact's serialization contract. The token order is normative: namespace, semantic class, UTC timestamp, UUID, extension. UTC precedes UUID for every ordinary immutable class. Canonical UTC tokens with different values sort chronologically within the same class. UUID provides uniqueness and physical identity only; it must not be interpreted as a chronology tie-breaker when two artifacts share the same timestamp. When one governed all-or-refuse Store-state publication transaction creates multiple new analytical state artifacts, Data Sculptor establishes one canonical UTC millisecond publication-transaction timestamp before final identity allocation and uses that same UTC token for every newly published RID , COL , and MAP artifact created by that transaction. Each artifact receives its own UUID. Thus a first Store materialization gives the new RID, every newly materialized COL, and the successor MAP one shared transaction UTC; a later materialization gives only its newly created COL artifacts and successor MAP the new transaction UTC while the inherited RID and inherited COL artifacts retain their earlier identities. The shared transaction UTC is not the Work Order's authoring timestamp and does not require the Receipt filename UTC to match. RCP remains governed by W002-RCP-002 and carries its own receipt creation/publication timestamp. A shared transaction UTC expresses common publication membership, but MAP binding—not timestamp equality—remains authoritative for Store membership/current state. Source identity, source filename, run identity, parent identity, lineage, hashes, aliases, supersession, column identity, and other relationships must not be appended as ordinary identity tokens merely to make the filename descriptive; those facts belong in governed metadata and provenance. P2-03 successor-state UTC rule: when an operation will publish a successor Store MAP or successor WKO MAP, the transaction UTC remains a truthful observation of host UTC and must be strictly greater than the applicable chronology predecessor MAP UTC. Data Sculptor must not synthesize, increment, round forward, or otherwise fabricate a later UTC merely to satisfy chronology. UUID remains identity only and is never a chronology tie-breaker. The first MAP in a genuinely new Store lineage, and the first WKO MAP when no structurally valid WKO MAP exists, has no chronology predecessor and therefore uses the observed host UTC normally.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-004; CP-005,"CP004 and CP005 T-ACCEPTED, BANKED; full normative requirement remains partial",12c02a0f2ff51fae72599adc09332f50fed62ce8; cedd5d54506b8f3f879b96c5e64fefc9365b6eb0,Evidence/CP-004/CP004_RED_Test_Output.txt; Evidence/CP-004/CP004_Post_Format_Test_Output.txt; Evidence/CP-004/CP004_WASM_Build_Output.txt; Evidence/CP-004/CP004_Hash_Inventory_Verification.txt; Evidence/CP-005/CP005_RED_Test_Output.txt; Evidence/CP-005/CP005_Post_Format_Test_Output.txt; Evidence/CP-005/CP005_WASM_Build_Output.txt; Evidence/CP-005/CP005_Hash_Inventory_Verification.txt,"CP004: Immutable filename envelope, UTC and UUID syntax only. Native tests 12/12 passed; wasm32-target compilation succeeded; inventory 19/19 file hashes and sizes verified; 15 source/test/evidence files committed. Full requirement also governs true UTC millisecond identity, creation chronology, publication timestamp sharing, UUID identity semantics, and successor MAP chronology; none are implemented in CP004. Independent QA pending. CP005: CP005 now validates the timestamp token as a real Gregorian calendar date and ordinary UTC clock time (four-digit years 0001–9999, leap years, month lengths, 00–23 hours, 00–59 minutes/seconds, millisecond precision preserved lexically). Actual UTC issuance/publication, timestamp allocation, chronological truth, common transaction timestamp and identity authority are not implemented. Three integration tests with 40 timestamp cases and 12 prior regressions: 15/15 native tests PASS after Rustfmt; wasm32 compile PASS; 19/19 SHA-256+byte integrity PASS; 14 files committed. UTC leap-second 60 rejection is PROVISIONAL implementation assumption requiring QA/spec clarification; no browser runtime demonstrated. Independent Claude implementation QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-014,Store-state publication transactions share UTC but never UUID identity,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Within one all-or-refuse Store-state publication transaction, every newly created RID , COL , and MAP final identity must carry the exact same canonical UTC millisecond transaction token and a distinct canonical UUID v4. UUID collision retry under PB-STOR-011 changes only the affected not-yet-created artifact UUID; it must not advance or alter the shared transaction UTC. Artifacts merely inherited or referenced by the transaction are not renamed, retimestamped, or assigned replacement UUIDs. A valid MAP may therefore bind artifacts created under several earlier transaction timestamps. Timestamp equality is evidence that artifacts were newly published by the same transaction; timestamp inequality is not evidence that artifacts belong to different Stores. P2-03 publication guard: for a successor Store-state transaction, the shared transaction UTC is established from truthful observed host UTC and is checked against the Store lineage's chronology predecessor before any newly created RID/COL/MAP artifact is promoted into its final governed class. If the observed transaction UTC is less than or equal to the chronology predecessor UTC, the publication refuses; the prior current MAP remains authoritative and no successor Store state commits.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-OPS-001,Permanent row identity after materialization,PB-OPS,PB-OPS,WASM-002,UNDER REVIEW,—,"Each logical Store has exactly one visible, deterministic RID artifact representing 1..N in governed logical CSV-record order. The header is excluded. Physical line count is not row identity: embedded newlines inside quoted fields remain inside one logical record. The RID is created when the first successful materialization establishes the Store and remains stable for the life of that Store. Every same-Store materialized or later aligned result column must contain exactly N data records in the same RID order. Multiple Stores may coexist in one Suitcase, and their RID values are unrelated; the meaningful row identity is therefore the pair (Store, RID) .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-OPS-002,Materialized columns preserve facts and alignment,PB-OPS,PB-OPS,WASM-002,UNDER REVIEW,—,Materialized columns preserve governed values in permanent row alignment. Materialization stores facts for reuse; it does not decide which rows are analytically interesting.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001,Flat Project Suitcase,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,The durable WASM-002 project model must not require semantic per-store subfolders. A logical store is represented by governed relationships among artifacts and metadata inside a flat project folder.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001.1,The flat model must remain usable through ordinary filesystem tools.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001.2,Native and browser hosts must use the same logical storage semantics even when their filesystem APIs differ.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001.3,Folder placement must not be treated as the authoritative meaning of an artifact.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-002,Reserved Core namespace and sorting,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,Every Data Sculptor Core-managed artifact must use the reserved __DS__ prefix. The prefix is deliberately visually distinctive and mechanically simple so Core artifacts cluster together under ordinary filename sorting in a mixed flat folder.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003,Three-character base-26 artifact class,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The class token must be exactly three uppercase ASCII letters A through Z, giving the fixed physical range AAA through ZZZ, and must immediately follow the reserved namespace within the frozen filename grammar.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.1,The three-character alphabetic class rule supersedes every earlier numeric class example.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.2,"Class ordering is positional base-26 using the alphabet A through Z: AAA, AAB, AAC, ... AAZ, ABA, ... ZZZ.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,Ordinary lexical filename sorting therefore preserves the governed class order.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.3,"The namespace contains 26 cubed, or 17,576, possible class values while preserving one fixed-width token.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.4,Unallocated class tokens remain unassigned until explicitly allocated,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"WASM-002 does not reserve semantic meaning by numeric interval, lexical neighborhood, or implied class range. Any syntactically possible three-letter token that is not listed in the governed registry is unassigned for this build. A future artifact class may be allocated only by explicit PRD revision. Existing class meanings must never be shifted, renumbered, or reassigned merely to make room for later families.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.5,The WASM-002 artifact-class table is frozen by the governed registry,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The exact WASM-002 artifact-class table is the registry in PB-STOR-006. It is no longer a separate open storage freeze item. No additional reserved class ranges are defined by WASM-002. DGN , RCV , BRD , and LCK remain registered/reserved but are not emitted by WASM-002. Their presence in the registry does not create a WASM-002 producer, serialization contract, validity contract, lifecycle, or acceptance surface. Independent adversarial review must verify that every WASM-002-generated governed artifact uses a listed class that this build actually emits, that WIP remains a lifecycle state rather than a class, and that unknown/unallocated classes plus known-but-not-emitted classes are preserved and reported under PB-STOR-009 rather than silently interpreted or activated.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-004,Canonical Core filename envelope,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The default Core physical naming model for immutable governed artifacts is __DS__<CLASS>__<UTC>__<UUID>.<ext> . CLASS, UTC, and UUID are governed identity tokens. Human semantic labels are excluded from the physical identity envelope. A separately frozen artifact contract may define a well-known current-state singleton filename when that artifact must be updated in place and discovered by a stable name.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-004; CP-005,"CP004 and CP005 T-ACCEPTED, BANKED; full normative requirement remains partial",12c02a0f2ff51fae72599adc09332f50fed62ce8; cedd5d54506b8f3f879b96c5e64fefc9365b6eb0,Evidence/CP-004/CP004_RED_Test_Output.txt; Evidence/CP-004/CP004_Post_Format_Test_Output.txt; Evidence/CP-004/CP004_WASM_Build_Output.txt; Evidence/CP-004/CP004_Hash_Inventory_Verification.txt; Evidence/CP-005/CP005_RED_Test_Output.txt; Evidence/CP-005/CP005_Post_Format_Test_Output.txt; Evidence/CP-005/CP005_WASM_Build_Output.txt; Evidence/CP-005/CP005_Hash_Inventory_Verification.txt,"CP004: Default immutable filename-envelope structure only. Native tests 12/12 passed; wasm32-target compilation succeeded; inventory 19/19 file hashes and sizes verified; 15 source/test/evidence files committed. Singleton exception support, class-specific contracts and authority remain unimplemented. Syntactic success does not imply an authorized artifact. Independent QA pending. CP005: CP005 adds Gregorian calendar/UTC-clock validity to the already recognized immutable Core physical name. Singleton filenames, artifact-type extension rules and authorization remain unimplemented. Three integration tests with 40 timestamp cases and 12 prior regressions: 15/15 native tests PASS after Rustfmt; wasm32 compile PASS; 19/19 SHA-256+byte integrity PASS; 14 files committed. UTC leap-second 60 rejection is PROVISIONAL implementation assumption requiring QA/spec clarification; no browser runtime demonstrated. Independent Claude implementation QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005,Canonical filename shape and fixed token lengths,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Every governed Core artifact type must have a canonical filename shape and total filename length so that a parser, browser host, native host, QA tool, or LLM can recognize malformed physical identity without interpreting variable human language. Under the Revision AH default immutable grammar, the canonical UTC token YYYYMMDDTHHMMSSmmmZ is exactly 19 ASCII characters and the canonical lowercase hyphenated UUID v4 token is exactly 36 ASCII characters. Class precedes UTC and UTC precedes UUID.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-004; CP-005,"CP004 and CP005 T-ACCEPTED, BANKED; full normative requirement remains partial",12c02a0f2ff51fae72599adc09332f50fed62ce8; cedd5d54506b8f3f879b96c5e64fefc9365b6eb0,Evidence/CP-004/CP004_RED_Test_Output.txt; Evidence/CP-004/CP004_Post_Format_Test_Output.txt; Evidence/CP-004/CP004_WASM_Build_Output.txt; Evidence/CP-004/CP004_Hash_Inventory_Verification.txt; Evidence/CP-005/CP005_RED_Test_Output.txt; Evidence/CP-005/CP005_Post_Format_Test_Output.txt; Evidence/CP-005/CP005_WASM_Build_Output.txt; Evidence/CP-005/CP005_Hash_Inventory_Verification.txt,"CP004: Fixed core lexical UTC (19 ASCII) and UUID v4 (36 ASCII) structure only. Native tests 12/12 passed; wasm32-target compilation succeeded; inventory 19/19 file hashes and sizes verified; 15 source/test/evidence files committed. No calendar validation, class/extension contract mapping, class-specific total length table, or filename publication gate is claimed. Independent QA pending. CP005: CP005 strengthens the fixed 19-ASCII-character UTC token with Gregorian calendar and UTC-clock range checks. Class-specific total filename lengths, extension mapping, and publication gates remain unimplemented. Three integration tests with 40 timestamp cases and 12 prior regressions: 15/15 native tests PASS after Rustfmt; wasm32 compile PASS; 19/19 SHA-256+byte integrity PASS; 14 files committed. UTC leap-second 60 rejection is PROVISIONAL implementation assumption requiring QA/spec clarification; no browser runtime demonstrated. Independent Claude implementation QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005.1,"If an artifact class has exactly one governed representation, all filenames in that class have one frozen total length.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005.2,"If a future class permits more than one representation, each class/representation pair must still have a frozen total length.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005.3,"Friendly store names, column names, aliases, and operation descriptions must never stretch or shorten a Core physical filename.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-006,Physical identity versus integrity,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,UUID identifies the governed artifact instance. SHA-256 records or verifies the exact bytes. The system must not overload one field to serve both identity and integrity.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007,Collision handling,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,Physical filename collisions are expected to be rare but must be handled explicitly. Data Sculptor must never silently overwrite an existing governed artifact because a generated physical name already exists.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007.1,"Before durable creation, the host must check whether the target physical name already exists.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007.2,"On a UUID collision, the existing artifact is preserved and a fresh UUID is generated under the same relevant UTC/class context unless a later frozen rule requires a different deterministic response.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007.3,Collision handling must be visible in the run Receipt/evidence when it occurs,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"If governed identity allocation encounters one or more filename collisions before successfully allocating a non-colliding UUID identity, the canonical run Receipt must record that a collision retry occurred and the number of retries when the run reaches receipt publication. If identity allocation ultimately refuses, the refusal Receipt and diagnostic evidence must preserve the collision-failure fact without overwriting or mutating any pre-existing artifact.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-008,Analyst-owned files remain analyst-owned,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Source files and analyst documents may retain their original filenames. Data Sculptor must not rename every input merely to fit the governed __DS__ namespace. For an ordinary WASM-002 analytical run, continuity between certification and materialization is established by the run-local source-binding contract, not by pretending a mutable source filename is permanent byte identity. Durable cross-run exact-byte verification requires separately governed integrity evidence such as the later V1 FINGERPRINT operation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-009,Store MAP as machine truth,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The Store MAP must provide the machine-readable relationship between governed physical artifacts and their logical meaning, including the fields required by the frozen schema for store identity, column identity, source reference/binding, run/materialization identity, row counts, status, lineage, supersession, and related provenance. Cryptographic hashes are recorded when a requirement or explicit operation actually produces them; the Store MAP contract must not imply that every source or artifact is automatically hashed during ordinary WASM-002 execution.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-010,Aliases provide human orientation without a separate Store Index,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"For WASM-002, human-facing orientation is provided by aliases exposed from governed Store MAP state and related governed artifacts. Aliases may help analysts navigate by meaning while preserving exact physical identities. WASM-002 does not publish or maintain a separate Store Index artifact. Richer directory/index presentation is carried by the governed DIR surface in WASM-003.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-010.1,WASM-002 Store MAP profile is the unified Store metadata snapshot,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"For WASM-002, the Store MAP profile of the governed MAP artifact class is the Store metadata snapshot. It records the Store's human-facing alias, Store-establishing source filename, exact RID artifact binding, RID alias, and the complete current materialized-column mappings and aliases governed by W002-STOR-019 through W002-STOR-019.12. WASM-002 must not create a second hidden or separately named Store-metadata file merely to bind the Store to its RID or aliases. The visible immutable __DS__MAP__...csv artifact is the authoritative governed Store MAP for this build.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-010.2,"Changing a friendly alias must not change physical identity, hashes, lineage, or historical provenance.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-011,"Store, row-universe, and future Boolean-selection-column rule",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Same-row derived columns and later aligned Boolean selection/filter columns remain within the same logical Store when row identity, row order, and cardinality are preserved. A future filter that evaluates every existing RID and writes one aligned two-valued Boolean result per RID does not by itself create a new row universe or a new logical Store. The canonical future selection tokens are 0 for FALSE and 1 for TRUE under PB-OPS-003 and PB-OPS-003.1. A new row universe is created only when a later governed operation actually changes which rows exist or their order—for example by building/exporting only selected rows, deduplicating rows, or otherwise materializing a different row set. Such an operation creates a new logical Store identity under the frozen row-identity contract. Filtering remains deferred from executable WASM-002 scope; this requirement freezes only the Store/RID compatibility rule that later filtering will rely upon.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-012,Current orientation and history are different truths,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Current Store orientation is represented by the applicable immutable MAP snapshot, while execution history is preserved by immutable RCP Receipts. For WASM-002, the Flight Recorder is the logical chronological view of published canonical RCP artifacts from actual Run invocations of saved immutable WKO Work Orders. It is not separately persisted and has no separate artifact class. Successful and refused runs contribute when Receipt publication succeeds; Receipt-publication failure is governed by W002-RCP-010 and must not be silently reconstructed as original evidence. Any Flight Recorder presentation is derived and regenerable from the authoritative Receipts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-013,Open representations,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Durable project artifacts should use documented open formats such as CSV, HTML, TXT, TOML, or other explicitly governed representations so that the Suitcase remains inspectable and portable outside Data Sculptor.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-014,LLM-readable storage grammar is a documentation principle,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The storage grammar, class table, Store MAP schema, current-state selection rule, and alias semantics must be documented clearly enough that an LLM collaborator can distinguish physical identity, logical meaning, integrity evidence, current state, and history without guessing. This is a documentation/readability principle for the Product Backlog PRD and related public product documentation. It does not create a new governed Suitcase artifact, require a new public-documentation file or publication operation, or add a separate WASM-002 acceptance deliverable beyond keeping the governing contract explicit and internally consistent.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-015,WASM-002 storage freeze status,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The current WASM-002 storage design preserves the resolved semantic artifact-class registry, canonical UTC millisecond rendering, class → UTC → UUID token order, UUID rendering/version, default immutable identity grammar, collision retry behavior, immutable one-Store-per-MAP versioning, Store-aware automatic MAP inheritance, complete-snapshot semantics, the exact eight-column Store MAP schema, deterministic Store/RID/COL alias defaults, rematerialization alias continuity, deterministic Store-MAP CSV serialization, Store-MAP eligibility/publication validation, materialization-coupled AS alias semantics, standalone alias maintenance using UPDATE ALIASES , explicit alias clearing with CLEAR ... ALIAS , deterministic default restoration with RESET ... ALIAS , exact historical Store-MAP selection using MAP ""<exact Store MAP filename>"" , canonical one-column COL serialization, the all-or-refuse materialization publication boundary, SCR -to-final-class host rename promotion, complete-set validation before promotion, new-Store RID-first promotion, inherited-RID reuse for existing-Store work, deterministic COL promotion, successor-MAP construction/validation as SCR , successor-MAP rename last as the Store-state commit point, rollback/recovery treatment for uncommitted promoted artifacts, the canonical RID CSV contract, the seven-operation Work Order execution surface, the canonical automatic TXT Receipt contract including exact WKO lineage, the Receipt-backed Flight Recorder, the governed HTML Suitcase Validation Certificate, the Work Order alias/comment contract plus WKO-MAP alias-registry profile, and the LCK reservation for explicit later-V1 FINGERPRINT evidence without automatic hashing in ordinary WASM-002. RID reconstruction/replacement is deliberately not part of the WASM-002 executable surface; RECOVER RID requirements are deferred to V1-BACKLOG. The Help-report provenance boundary is resolved: WASM-002 records governed HLP identity and lineage but does not automatically SHA-256 HLP bytes or create/refresh LCK evidence; exact-byte HLP integrity remains the later explicit FINGERPRINT/LCK workflow. Future branded Receipt rendering/Brand-Manifest integration remains outside the WASM-002 TXT-only Receipt contract. P2-04 closure: WASM-002 Store governance now has a complete two-tier artifact-validation model. Tier 1 supplies bounded Store-health checks for non-content-consuming paths; Tier 2 supplies full streaming RID/COL validation for content-consuming paths, candidate commit, and REPAIR MAP . The eight-column Store MAP remains unchanged and ordinary Store health makes no cryptographic claim of historical-byte identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-001,Every actual Run invocation of a saved WKO automatically produces one Receipt attempt,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"When the analyst invokes Run on a saved immutable WKO, Data Sculptor must automatically create one governed run-receipt attempt for that invocation. The Work Order must not require a RECEIPT , SAVE RECEIPT , or equivalent clause. An editable unsaved WIP is non-executable under the Work Order lifecycle contract and therefore cannot produce an execution Receipt. A saved WKO that is invoked and then refuses during validation or execution still has an execution outcome and must receive a refusal Receipt when receipt publication succeeds.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-002,The canonical WASM-002 Receipt is a governed TXT artifact with its own creation timestamp,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,The physical Receipt filename is: __DS__RCP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.txt The UTC token belongs to the Receipt artifact itself and represents the Receipt's governed creation/publication time under the canonical artifact-identity rules. It must not be copied from the authorizing WKO's filename merely to make the two filenames share a timestamp. The file is written visibly in the flat Suitcase under the governed RCP artifact class. Data Sculptor chooses the governed filename; the analyst does not supply it.,PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-014; CP-015,"CP014 T-ACCEPTED, GIT BANKED — canonical RCP TXT filename lexical recognizer only; own creation-time allocation, file emission, complete Receipt contract and publication unimplemented; CP015 T-ACCEPTED, GIT BANKED — pure lexical canonical SCR-to-RCP TXT filename-candidate pair matching only; no actual file/Receipt validation, promotion, publication or authority",f5038a183f1d3dc31b0065571bf8ac8814b5d8a9; be997dc0dbd65fc370814c4a5f2d0f1254870572,Evidence/CP-014/ZIP/CP014_RED_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_GREEN_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_Full_Regression_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_WASM_Build_Record.txt.zip; CP014_Git_Banking_Record.txt (external closeout); Evidence/CP-015/ZIP/CP015_RED_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_GREEN_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_PostAmend_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Full_Regression_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_WASM_Build_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Final_Archive_Manifest.txt.zip; CP015_PostCommit_Verification.txt (external closeout),"CP014 Day067: T-accepted, Git-banked lexical RCP .txt filename recognizer only. Pure is_canonical_rcp_filename_candidate(&str)->bool uses shared canonical envelope, rejects wrong class/extension/casing, malformed UTC/UUID, paths and whitespace. Six target GREEN passes; 64/64 native regression; Rustfmt and wasm32 library build PASS; 32 original-TXT-per-ZIP objects validated and committed unchanged. Commit f5038a183f1d3dc31b0065571bf8ac8814b5d8a9. No new Receipt timestamp generation, Receipt byte serialization, creation/promotion/publication or authority; independent implementation QA and browser runtime pending. CP015 Day067: T-approved pure is_matching_scr_rcp_filename_candidate_pair(&str,&str)->bool checks canonical SCR/RCP lowercase .txt candidates and exact timestamp/UUID pairing, reusing existing lexical recognizers and candidate derivation; rejects wrong classes/order, mismatched timestamps/UUID, paths, whitespace and noncanonical envelopes. Expected RED E0432 exit 101; six targeted GREEN PASS; T-approved formatting-only source+test amendment and recheck; full native regression 70/70 PASS, Rustfmt PASS, Rust 1.97.1 wasm32-unknown-unknown --lib compile PASS. Original TXT archived as 16 verified single-entry ZIPs; 18/18 committed Git blob identities checked; working tree clean. Banked at be997dc0dbd65fc370814c4a5f2d0f1254870572. No actual SCR/RCP file reads, Receipt content validation, timestamp generation, authority, promotion or publication; browser execution and independent implementation QA pending.",Day067,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-003,WASM-002 Receipts are TXT-only and independent of presentation state,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"For WASM-002, the canonical run Receipt is always plain TXT. Browser theme, built-in HTML presentation, Help voice, or other presentation state must not change whether the run Receipt is emitted as TXT or alter its governed facts. WASM-002 must not emit an HTML Receipt as an alternative to the canonical TXT Receipt. Configurable Brand Manifest behavior is deferred to a future build.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-005,Canonical Receipt TXT serialization is deterministic,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"The WASM-002 Receipt is UTF-8 without BOM and uses LF ( 0x0A ) line endings. Every Receipt ends with exactly one final LF. No serialized line carries trailing spaces, and no blank physical lines are emitted unless a later operation-specific grammar explicitly freezes them. It is a deterministic line-oriented KEY: VALUE document with a frozen core-key order followed by operation-specific fact sections in deterministic order. KEY is an uppercase ASCII field name. The separator is exactly one ASCII colon followed by exactly one ASCII space. KEY=VALUE is not valid canonical Receipt serialization. Fixed machine tokens and non-negative decimal integers are serialized unquoted. Human-authored text, filenames, aliases, headers, and other free text are serialized as double-quoted UTF-8 strings. Inside a quoted value, a literal double quote is represented by doubling it as """" . CR and LF are not permitted inside a single serialized value; each fact remains exactly one physical line. Enumerated values use the exact uppercase tokens frozen by the applicable requirement. Non-negative integers use ungrouped ASCII base-10 digits. This shared text rule is normative for all Receipt free-text values and is acceptance-tested byte-for-byte.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-016; CP-017; CP-018; CP-019,"CP016 T-accepted, Git-banked: pure field-line formatting; CP017 T-accepted, Git-banked: caller-ordered field sequence; CP018 T-accepted, Git-banked: exactly ten ordered mandatory core keys in a core-only in-memory fragment. Whole Receipt, runtime lineage truth, field-specific vocabularies, operation-specific sections, durable creation and publication NOT implemented. CP019 T-accepted, Git-banked: Receipt ten-core-field value category enforcement; rejects wrong integer/quoted/machine variant; no whole-document validation or truthful runtime semantics.",fde0f0a8b96c92f6cfb80b517396ff5512cccd13; 339cf12e747738d89442ce401feeea1afcd19dc6; 75620f17649a5d38d5357960bb99e9ac39ae354f; 8f7460ced343de4b8662e45b2b0b5b7b69127021,Evidence/CP-016/ZIP/CP016_RED_StdErr.txt.zip; Evidence/CP-016/ZIP/CP016_GREEN_Verification_StdOut.txt.zip; Evidence/CP-016/ZIP/CP016_PostFormat_Run_Record.txt.zip; Evidence/CP-016/ZIP/CP016_PostAmendment_Regression_StdOut.txt.zip; Evidence/CP-016/ZIP/CP016_WASM_Build_Run_Record.txt.zip; Evidence/CP-016/ZIP/CP016_PreFormat_Frozen_Test.rs.zip; Evidence/CP-016/ZIP/CP016_Final_Custody_Addendum_Record.txt.zip; CP016_Git_Postcommit_Integrity_Record.txt (external closeout); Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip; Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip; Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip; Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip; CP018_Git_Banking_Record.txt (external after-commit record); Evidence/CP-019/ZIP/CP019_RED_StdOut.txt.zip; Evidence/CP-019/ZIP/CP019_GREEN_StdOut.txt.zip; Evidence/CP-019/ZIP/CP019_Regression_StdOut.txt.zip; Evidence/CP-019/ZIP/CP019_Verification_Run_Record.txt.zip; Evidence/CP-019/ZIP/CP019_Source_Review.txt.zip; Evidence/CP-019/ZIP/CP019_Git_PreStaging_Review.txt.zip; CP019_Git_Banking_Record.txt (external postcommit); CP019_Git_Volume_Audit.txt (external postcommit),"CP016 Day068: T-approved and Git banked pure serialize_canonical_receipt_field_line(key, ReceiptFieldValue) and typed MachineToken, NonNegativeInteger(u64), QuotedText values. Exactly one KEY: VALUE\n line; uppercase ASCII lexical keys and machine tokens; ungrouped decimal u64; doubled interior quote; quoted UTF-8; CR/LF rejected within values. Eight frozen tests passed, 78/78 complete native regression, rustfmt check exit 0 after separately authorized formatting-only frozen-test amendment, wasm32-unknown-unknown --lib build exit 0. 36 individually verified evidence ZIPs Git banked; 31 original TXT evidence retained untracked. No whole-Receipt assembly, full document BOM/end-of-document acceptance, operation-specific core-key ordering, semantic token vocabulary, filesystem I/O, run invocation, authority, or publication. Independent adversarial implementation QA remains NOT_REVIEWED; no complete requirement acceptance. CP017 Day073: seven additional sequence tests, 85/85 full native regression, rustfmt correction preserved, wasm32 library build PASS, commit 339cf12e747738d89442ce401feeea1afcd19dc6. CP018 Day074: enforces the ordered ten-key common core through serialize_canonical_receipt_core_envelope by delegating to CP017; rejects missing, duplicate, reordered, mistyped key names and invalid lexical value, but does not validate field-specific semantics or full receipt. Intentional RED exit 101; nine GREEN tests; formatting-only correction recorded; 94/94 native regression, rustfmt PASS, WASM --lib build PASS; 30 individually checked evidence ZIPs, 32 committed paths, clean index/working tracked files; T-approved; commit 75620f17649a5d38d5357960bb99e9ac39ae354f. No independent implementation QA or browser execution. CP019 Day074: user human-accepted pure Receipt core-field category gate after test-first RED (4 expected failures / 2 existing passes); GREEN 6/6; full native 100/100 PASS across 19 suites; Rustfmt PASS; wasm32 library compile PASS. Exactly 20 independently checked evidence ZIPs plus Rust source and new test Git-banked, commit 8f7460ced343de4b8662e45b2b0b5b7b69127021. Two staging script errors (post-inventory allowlist and .NET relative path resolution) were surfaced and repaired before staging, no Rust source/test change. Does not validate RECEIPT_VERSION==1, RESULT vocabulary, UTC values, WKO lineage, diagnostics, whole Receipt, durable writing or publication; Claude independent QA and browser runtime NOT performed.",Day074,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-006,Every Receipt records the fixed core execution facts and exact WKO lineage,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"Every canonical WASM-002 Receipt begins with the following common envelope keys in exactly this order: RECEIPT_VERSION RECEIPT_FILENAME RECEIPT_UTC WORK_ORDER_FILENAME OPERATION RUN_STARTED_UTC RUN_FINISHED_UTC RESULT DIAGNOSTIC_ID IDENTITY_COLLISION_RETRIES Day 060 H-02 version freeze: RECEIPT_VERSION is the unquoted integer 1 for the WASM-002 Receipt contract. RECEIPT_FILENAME is the exact physical governed RCP filename. RECEIPT_UTC is exactly the canonical UTC timestamp embedded in that filename and is distinct from the run start/finish timestamps. WORK_ORDER_FILENAME is the exact physical immutable WKO identity invoked and is the authoritative WKO→RCP lineage link. Day 060 H-09 / BM-06 truthful run-timestamp semantics RUN_STARTED_UTC and RUN_FINISHED_UTC are governed truthful host-UTC observations at millisecond precision. They are not decorative labels and are not synthesized from artifact filenames. RUN_STARTED_UTC is observed only after the exact saved WKO has been resolved and found eligible to Run, and immediately before operation-specific validation/execution begins. It therefore brackets operation validation, analytical work, publication attempts, refusal processing, and any governed rollback/cleanup performed by that Run. RUN_FINISHED_UTC is observed only after the operation has reached its final SUCCESS or REFUSED analytical outcome and all non-Receipt governed effects are settled: successful artifacts are committed, refusal state is established, and required rollback/cleanup or retained non-authoritative evidence classification is complete. Receipt publication begins only after this observation. For one Run, the truthful temporal invariant is: WKO_UTC ≤ RUN_STARTED_UTC ≤ each successfully published run-artifact UTC ≤ RUN_FINISHED_UTC ≤ RECEIPT_UTC where WKO_UTC is the governed UTC token embedded in the exact WORK_ORDER_FILENAME , and “run-artifact UTC” means the governed UTC embedded in each non-Receipt artifact successfully published by that Run, including a shared materialization transaction UTC where applicable. An operation that publishes no non-Receipt artifact simply has no middle artifact-UTC comparison. Equality is permitted because the canonical timestamp precision is milliseconds. Data Sculptor must not fabricate, increment, decrement, or reorder UTC values merely to make this invariant appear true. Receipt fixtures and retained acceptance evidence must use physically possible timelines under this rule. The existing rule that WKO and Receipt filename timestamps are not required to match remains unchanged: they are distinct events, but a WKO invoked by a Run must already exist as a governed artifact before that Run begins. RESULT is a closed WASM-002 vocabulary containing exactly SUCCESS and REFUSED . No other RESULT token is valid. DIAGNOSTIC_ID: NONE is used for an ordinary successful run; a refused run carries the exact governed diagnostic identity. The shared governed absence-state vocabulary is closed to these four tokens, with these exact meanings: NONE — the fact is applicable and definitively has no value in this event; NOT_RUN — the owning stage or operation was not executed; NOT_AVAILABLE — the fact is applicable or potentially applicable, but its value could not be obtained; NOT_APPLICABLE — the fact does not apply to this event, diagnostic, operation, or artifact. These states are semantically distinct and must not be substituted for one another. A count that was actually established as zero is serialized as the integer 0 , never as an absence token. The refusal-serialization matrix for every present operation-specific key is deterministic: State of the key's owning fact/stage at refusal Required serialization The fact was authoritatively established before refusal Serialize the exact governed value. The owning stage was never entered NOT_RUN . The owning stage ran and definitively produced no value/artifact for this event NONE . The fact applies but could not be obtained NOT_AVAILABLE . The fact does not apply to this event NOT_APPLICABLE . An applicable count was authoritatively established as zero 0 . A publication identity whose publication stage was never entered NOT_RUN , except where an earlier frozen operation-specific rule explicitly fixes another token. A publication identity whose publication stage was entered but no artifact of that identity successfully published NONE . A publication identity that successfully published The exact physical governed filename. For this contract, a fact is established only when its owning validation/stage has deterministically fixed the value and later execution cannot revise that fact. Candidate allocation, partial bytes, or an uncommitted publication does not establish a published-artifact identity. If parsing/validation refuses before one of the seven governed WASM-002 operations can be identified, the Receipt uses OPERATION: UNKNOWN_OPERATION , RESULT: REFUSED , and the applicable DIAGNOSTIC_ID . After the common envelope there is no operation-specific section; the Receipt proceeds directly to CREATED_ARTIFACT_COUNT: 0 . UNKNOWN_OPERATION is not an executable operation. After all operation-specific facts and indexed lists, every Receipt ends with: CREATED_ARTIFACT_COUNT: <N>
CREATED_ARTIFACT_001: ""...""
...
CREATED_ARTIFACT_N: ""..."" The created-artifact list contains only exact physical governed filenames successfully published by the run, excluding the Receipt itself. For this accounting, an artifact is successfully published only if it remains a committed governed artifact when the Run finishes; an artifact promoted and then rolled back, or left only as non-authoritative failure residue under All-or-Refuse, is excluded from CREATED_ARTIFACT_COUNT and its indexed list. Indexed suffixes are one-based decimal with a minimum width of three digits and no maximum width: 001 through 999 are zero-padded and 1000 onward uses the ordinary full ungrouped decimal form. When a count is zero, no indexed lines for that list appear. IDENTITY_COLLISION_RETRIES is always present and is 0 when no governed filename-allocation retry occurred. Receipt/WKO filename timestamps are not required to match. One immutable WKO may be run multiple times, each producing a distinct Receipt that points back to the same exact WORK_ORDER_FILENAME . F-08 DS-STEPS / Receipt token separation. Human-authored Work Orders use the readable terminal clauses below; the Receipt serializes the corresponding machine token in OPERATION . The two columns are not interchangeable spellings: DS-STEPS terminal clause Receipt OPERATION MATERIALIZE MATERIALIZE INVENTORY INVENTORY UPDATE ALIASES UPDATE_ALIASES REPAIR MAP REPAIR_MAP REPAIR WORK ORDER REGISTRY REPAIR_WORK_ORDER_REGISTRY CONVERT WINDOWS-1252 TO UTF-8 CONVERT_WINDOWS_1252_TO_UTF_8 CATALOG STORES CATALOG_STORES For example, REPAIR_MAP is not valid DS-STEPS syntax and REPAIR MAP is not the serialized Receipt token. UNKNOWN_OPERATION remains a refusal-only Receipt value when validation cannot identify one of these seven operations; it is not an executable operation.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-018; CP-019,"CP018 T-accepted and Git-banked: exact mandatory ten-core-key count and order in an in-memory formatting fragment only; no verified WKO lineage semantics or real execution facts. CP019 T-accepted, Git-banked: Receipt ten-core-field value category enforcement; rejects wrong integer/quoted/machine variant; no whole-document validation or truthful runtime semantics.",75620f17649a5d38d5357960bb99e9ac39ae354f; 8f7460ced343de4b8662e45b2b0b5b7b69127021,Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip; Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip; Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip; Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip; Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip; CP018_Git_Banking_Record.txt (external after-commit record); Evidence/CP-019/ZIP/CP019_RED_StdOut.txt.zip; Evidence/CP-019/ZIP/CP019_GREEN_StdOut.txt.zip; Evidence/CP-019/ZIP/CP019_Regression_StdOut.txt.zip; Evidence/CP-019/ZIP/CP019_Verification_Run_Record.txt.zip; Evidence/CP-019/ZIP/CP019_Source_Review.txt.zip; Evidence/CP-019/ZIP/CP019_Git_PreStaging_Review.txt.zip; CP019_Git_Banking_Record.txt (external postcommit); CP019_Git_Volume_Audit.txt (external postcommit),"CP018 Day074: T-approved and locally Git-banked pure serialize_canonical_receipt_core_envelope enforces exactly the ten frozen header keys in order, calls existing CP017/CP016 serializer, refuses invalid count/order/value; nine targeted tests and 94/94 full native test regression pass, Rustfmt and WASM library compile pass. Does NOT prove correct data lineage, actual timestamps or vocabularies, operation-specific facts, durable writing or publication; independent Claude review and browser runtime not performed. CP019 Day074: user human-accepted pure Receipt core-field category gate after test-first RED (4 expected failures / 2 existing passes); GREEN 6/6; full native 100/100 PASS across 19 suites; Rustfmt PASS; wasm32 library compile PASS. Exactly 20 independently checked evidence ZIPs plus Rust source and new test Git-banked, commit 8f7460ced343de4b8662e45b2b0b5b7b69127021. Two staging script errors (post-inventory allowlist and .NET relative path resolution) were surfaced and repaired before staging, no Rust source/test change. Does not validate RECEIPT_VERSION==1, RESULT vocabulary, UTC values, WKO lineage, diagnostics, whole Receipt, durable writing or publication; Claude independent QA and browser runtime NOT performed.",Day074,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-007,"Materialization Receipts record Store, RID, Stage 1, Stage 2, and output facts",W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"For a WASM-002 MATERIALIZE run, after the common envelope the Receipt serializes these operation-specific keys in exactly this order: SOURCE_FILENAME BASE_MAP_FILENAME RID_FILENAME RID_ACTION STAGE1_UTF8_OUTCOME CERTIFIED_SOURCE_BYTE_COUNT STAGE1_ELAPSED_MS UTF8_FIRST_INVALID_BYTE_OFFSET UTF8_STOP_REASON WINDOWS_1252_COMPATIBILITY_OUTCOME WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET STAGE2_LOGICAL_ROW_COUNT STAGE2_ELAPSED_MS CSV_REFUSAL_CONDITION CSV_SOURCE_BYTE_OFFSET CSV_PHYSICAL_LINE CSV_LOGICAL_RECORD CSV_FIELD_ORDINAL REQUESTED_COLUMN_COUNT RESOLVED_COLUMN_COUNT PUBLISHED_COL_COUNT zero or more indexed published-COL filename lines whose exact key form is PUBLISHED_COL_<INDEX>_FILENAME (for example PUBLISHED_COL_001_FILENAME , PUBLISHED_COL_002_FILENAME ) SUCCESSOR_MAP_FILENAME OPERATIONAL_NAME_FALLBACK_COUNT zero or more indexed fallback triplets: OPERATIONAL_NAME_FALLBACK_001_COLUMN_ORDINAL , OPERATIONAL_NAME_FALLBACK_001_ASSIGNED_NAME , OPERATIONAL_NAME_FALLBACK_001_REASON , continuing under the common indexed-key rule. BASE_MAP_FILENAME: NONE denotes a newly established Store with no predecessor Store MAP. Day 060 H-11 / BM-08 RID_ACTION ownership and establishment RID_ACTION is a governed execution fact describing what this Run actually established for the Store RID path. It is never an intention, plan, or prediction. RID_ACTION: REUSED is established when routing has selected an existing Store, the exact inherited RID filename is known, and that inherited RID has passed the validation required to proceed. Because the RID already exists, this fact may be established before Stage 1 or Stage 2 completes. RID_ACTION: CREATED is established only when a new-Store RID candidate has successfully completed governed promotion into its final RID identity. Merely planning, allocating, writing, closing, validating, or naming an SCR candidate does not establish CREATED . Until either of those facts is established, the common refusal matrix governs RID_ACTION . For a new-Store path that refuses before successful RID promotion, RID_ACTION is NOT_RUN . If an existing-Store route is identified but the required inherited RID fact cannot be validly established, RID_ACTION is NOT_AVAILABLE . RID_FILENAME is a separate fact: for REUSED , it is the exact already-published inherited RID filename as soon as reuse is established; for CREATED , it is the exact governed final RID filename only after successful RID promotion; before new-RID promotion succeeds, no candidate/SCR filename may be serialized as though it were a published RID. With RID_ACTION: CREATED , RID_FILENAME records the RID identity successfully promoted during the Run even if that RID is later rolled back under All-or-Refuse; rollback does not erase the already-established RID_ACTION / RID_FILENAME execution facts. The refusal-boundary matrix is therefore: Materialization state RID_ACTION RID_FILENAME Validation/routing refuses before a Store/RID path is established NOT_RUN NOT_RUN or NOT_AVAILABLE only when an applicable routing fact could not be obtained under the common matrix New Store; Stage 1 refusal NOT_RUN NOT_RUN New Store; Stage 2 refusal NOT_RUN NOT_RUN New Store; post-Stage-2 gate refusal before RID promotion NOT_RUN NOT_RUN New Store; RID candidate/promotion has not successfully completed NOT_RUN NOT_RUN New Store; RID promotion succeeds CREATED exact published RID filename Existing Store; exact inherited RID selected and validated REUSED exact inherited RID filename Existing Store; later Stage 1, Stage 2, gate, or publication refusal after reuse was established REUSED exact inherited RID filename Existing lineage identified but required inherited RID cannot be validly established NOT_AVAILABLE NOT_AVAILABLE A refusal Receipt that says RID_ACTION: CREATED while RID_FILENAME is NONE or NOT_RUN and no RID was successfully promoted is invalid evidence. STAGE1_UTF8_OUTCOME has exactly two completed Stage-1 values: PASS and FAIL . If Stage 1 never ran, the value is NOT_RUN . If Stage 1 began but a separate failure prevented a governed PASS/FAIL determination, the value is NOT_AVAILABLE . NOT_APPLICABLE is not valid for this key. UTF8_FIRST_INVALID_BYTE_OFFSET and UTF8_STOP_REASON are refusal-only Stage-1 evidence. On STAGE1_UTF8_OUTCOME: FAIL , the offset is mandatory and is the exact zero-based absolute physical source-byte offset of the first byte of the invalid sequence, and the stop reason is mandatory and exactly INVALID_UTF8_SEQUENCE . Neither field may be NOT_AVAILABLE when the Stage-1 outcome is FAIL . On PASS , both fields are NOT_APPLICABLE . If Stage 1 never ran, both are NOT_RUN . If Stage 1 began but no UTF-8 PASS/FAIL conclusion was established because of a separate failure, both refusal-only fields are NOT_APPLICABLE . WINDOWS_1252_COMPATIBILITY_OUTCOME and WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET are the governed F-16 follow-on facts. They are evaluated only after STAGE1_UTF8_OUTCOME: FAIL . When the complete second pass reaches EOF with every byte mappable, the outcome is COMPATIBLE and the offset is NOT_APPLICABLE . When the pass encounters one of the undefined bytes frozen in W002-CONV-002.4, the outcome is INCOMPATIBLE and the offset is the exact zero-based absolute physical source-byte offset of the first such byte. If the pass begins but an independent failure prevents a conclusion, both fields are NOT_AVAILABLE . If Stage 1 did not conclude FAIL , the compatibility pass does not run and both fields are NOT_RUN . The five exact CSV refusal keys CSV_REFUSAL_CONDITION , CSV_SOURCE_BYTE_OFFSET , CSV_PHYSICAL_LINE , CSV_LOGICAL_RECORD , and CSV_FIELD_ORDINAL carry the exact structural CSV refusal condition and location oracle frozen in W002-MAT-002.8. If Stage 2 never ran, all five are NOT_RUN ; if Stage 2 completed without an applicable CSV refusal, all five are NOT_APPLICABLE ; on a CSV refusal, each established location fact is serialized and any applicable fact that could not be obtained is NOT_AVAILABLE . The MATERIALIZE refusal-stage matrix is: Refusal boundary Validation/routing and request facts Stage 1 facts Stage 2 facts Publication facts Validation, before Stage 1 Serialize each fact already established; an applicable fact that validation could not obtain is NOT_AVAILABLE . REQUESTED_COLUMN_COUNT is the actual count when the KEEP list parsed completely; otherwise NOT_AVAILABLE . RESOLVED_COLUMN_COUNT and fallback records are NOT_RUN until name/ordinal resolution has run. NOT_RUN for all Stage 1-owned facts. NOT_RUN for all Stage 2-owned facts. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Stage 1 refusal Established validation/routing facts are exact values. Serialize the exact Stage 1 outcome/timing and established refusal evidence; incomplete applicable facts are NOT_AVAILABLE . The Windows-1252 compatibility fields then serialize the exact complete assessment result under the rule above; if an independent assessment failure prevents a conclusion, they are NOT_AVAILABLE . NOT_RUN for all Stage 2-owned facts. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Stage 2 refusal Established validation/routing facts are exact values. Completed Stage 1 facts are exact values; UTF-8 refusal fields are NOT_APPLICABLE when no UTF-8 refusal occurred. Because Stage 1 passed, both Windows-1252 compatibility fields are NOT_RUN . STAGE2_ELAPSED_MS is the actual elapsed time when obtained; STAGE2_LOGICAL_ROW_COUNT is NOT_AVAILABLE unless the complete accepted logical row count was established; CSV refusal facts follow the rule above. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Post-Stage-2 gate refusal before publication All facts established through the gate are serialized exactly; non-applicable UTF-8/CSV refusal fields are NOT_APPLICABLE . Both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Publication refusal before the successor-MAP publication stage is entered All facts established before refusal are serialized exactly. This row includes a new-Store RID/COL identity-allocation or promotion refusal that occurs before the successor-MAP publication stage is entered. Completed Stage 1 and Stage 2 facts remain exact; non-applicable UTF-8/CSV refusal fields use their governed absence tokens, and both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. Under All-or-Refuse publication, PUBLISHED_COL_COUNT: 0 and no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN because the successor-MAP publication stage was never entered. A candidate filename is never serialized as a published identity. Publication refusal after the successor-MAP publication stage is entered All facts established before refusal are serialized exactly. Any RID fact already established before this later refusal remains governed by the RID_ACTION/RID_FILENAME matrix above. Completed Stage 1 and Stage 2 facts remain exact; non-applicable UTF-8/CSV refusal fields use their governed absence tokens, and both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. Under All-or-Refuse publication, PUBLISHED_COL_COUNT: 0 and no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NONE because the successor-MAP publication stage was entered but no successor MAP successfully published. A candidate filename is never serialized as a published identity. Success All applicable facts are exact values; refusal-only UTF-8/CSV fields are NOT_APPLICABLE . Both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. PUBLISHED_COL_COUNT is the actual count; indexed keys are exactly PUBLISHED_COL_001_FILENAME onward in resolved KEEP order; SUCCESSOR_MAP_FILENAME is the exact published successor MAP filename. Day 060 H-24 / BM-08 publication-boundary split: these two MATERIALIZE publication-refusal rows apply the common W002-RCP-006 ownership rule to the successor-MAP publication stage. NOT_RUN means that stage was never entered; NONE means it was entered but no successor MAP successfully published. The early boundary is exercised by the RID identity-allocation exhaustion fixture; the later boundary has its own byte-exact golden fixture. OPERATIONAL_NAME_FALLBACK_COUNT is NOT_RUN until operational-name resolution has run; afterward it is the established non-negative count, including literal 0 . Fallback records are ordered by ascending physical source-column ordinal. the exact fallback key OPERATIONAL_NAME_FALLBACK_<INDEX>_REASON is exactly SOURCE_HEADER_EXCEEDS_1024_SCALARS . For successful Store-establishing materialization, the common created-artifact list is ordered RID first, newly published COLs in resolved KEEP order, then successor MAP. For successful existing-Store materialization, the inherited RID is not newly created; the list contains newly published COLs in resolved KEEP order followed by the successor MAP. P3-09 Receipt oracle: when Stage 2 refuses because the certified source contains no logical CSV record, the five CSV refusal fields must serialize exactly as CSV_REFUSAL_CONDITION: NO_HEADER_RECORD , CSV_SOURCE_BYTE_OFFSET: <exact source byte length> , CSV_PHYSICAL_LINE: 1 , CSV_LOGICAL_RECORD: 1 , and CSV_FIELD_ORDINAL: 1 . Day 060 H-13 / BM-10 clarification: within those five governed CSV refusal fields, the zero-byte and UTF-8-BOM-only cases differ only in CSV_SOURCE_BYTE_OFFSET : 0 versus 3 . Their complete Receipt bytes also differ wherever the underlying source identity, certified source byte count, Work Order identity, run/Receipt timestamps, Receipt filename/UUID, or other fixture-specific governed facts differ. The complete Receipts must never be described as differing only by one field. F-20 operational-name Receipt oracle: OPERATIONAL_NAME_FALLBACK_COUNT counts selected/materialized columns whose exact source header exceeded 1,024 Unicode scalar values. Each corresponding ..._ASSIGNED_NAME stores the final deterministic operational/default-alias name after any permitted fallback collision disambiguation; ..._REASON remains exactly SOURCE_HEADER_EXCEEDS_1024_SCALARS . The Receipt does not copy the oversized exact source header merely to explain the fallback. The common indexed-key rule from W002-RCP-006 applies without a maximum width. A full-width KEEP is therefore representable through PUBLISHED_COL_16384_FILENAME (and corresponding fallback indexes when applicable); the three-digit examples are a minimum-width convention, not a 999-item ceiling.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-008,Other WASM-002 operations add deterministic operation-specific Receipt facts,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"The same common envelope, closed RESULT/absence vocabulary, refusal matrix, created-artifact tail, and indexed-key rule apply to the other executable WASM-002 operations. Their operation-specific key tables are closed as follows. INVENTORY INVENTORY_FILENAME INVENTORY_ENTRY_COUNT Refusal boundary INVENTORY_ENTRY_COUNT INVENTORY_FILENAME Validation before inventory scan NOT_RUN NOT_RUN Inventory scan/measurement refusal Exact count if the complete count was established; otherwise NOT_AVAILABLE NOT_RUN Publication refusal after the snapshot facts were established Exact established count, including 0 NONE Success Exact established count Exact physical published INV filename UPDATE_ALIASES BASE_MAP_FILENAME SUCCESSOR_MAP_FILENAME Refusal boundary BASE_MAP_FILENAME SUCCESSOR_MAP_FILENAME Validation/routing before an exact base MAP is established NOT_AVAILABLE NOT_RUN Validation/gate refusal after the exact base MAP is established Exact base MAP filename NOT_RUN Publication refusal Exact base MAP filename NONE Success Exact base MAP filename Exact published successor MAP filename REPAIR_MAP TARGET_MAP_FILENAME RID_FILENAME BROKEN_COL_COUNT zero or more indexed broken-COL filename lines using exact key form BROKEN_COL_<INDEX>_FILENAME (for example BROKEN_COL_001_FILENAME , BROKEN_COL_002_FILENAME ) RETAINED_COL_COUNT SUCCESSOR_MAP_FILENAME Broken COL filenames are ordered by ascending exact UTF-8 filename bytes. RETAINED_COL_COUNT is the actual count once repair analysis completes, including literal 0 . Refusal boundary Target/RID facts Broken/retained facts SUCCESSOR_MAP_FILENAME Validation before an exact target MAP/RID is established Established facts are exact; otherwise NOT_AVAILABLE NOT_RUN NOT_RUN Repair-analysis refusal before a repair result is established Exact established values Exact values if established; otherwise the applicable unavailable/not-run token from the common matrix NOT_RUN All-COLs-broken refusal frozen under F-03/F-09 Exact values Exact broken count/list; RETAINED_COL_COUNT: 0 NONE — this earlier frozen named refusal remains an explicit operation-specific exception. Publication refusal Exact values Exact repair-analysis values NONE Success Exact values Exact repair-analysis values Exact published successor MAP filename REPAIR_WORK_ORDER_REGISTRY BASE_WKO_MAP_FILENAME REMOVED_STALE_ROW_COUNT zero or more indexed stale-WKO filename lines using exact key form REMOVED_STALE_WKO_<INDEX>_FILENAME (for example REMOVED_STALE_WKO_001_FILENAME , REMOVED_STALE_WKO_002_FILENAME ) REGISTERED_CURRENT_COUNT zero or more indexed current-WKO filename lines using exact key form REGISTERED_CURRENT_WKO_<INDEX>_FILENAME (for example REGISTERED_CURRENT_WKO_001_FILENAME , REGISTERED_CURRENT_WKO_002_FILENAME ) REGISTERED_DEPRECATED_COUNT zero or more indexed deprecated-WKO filename lines using exact key form REGISTERED_DEPRECATED_WKO_<INDEX>_FILENAME (for example REGISTERED_DEPRECATED_WKO_001_FILENAME , REGISTERED_DEPRECATED_WKO_002_FILENAME ) SUCCESSOR_WKO_MAP_FILENAME Each filename list is independently sorted by ascending exact UTF-8 filename bytes. If the bootstrap repair WKO is newly discovered and registered, it appears in the appropriate registered list under W002-STOR-018.3 and W002-STOR-018.4. Day 060 H-10 / BM-07 count semantics: REGISTERED_CURRENT_COUNT and REGISTERED_DEPRECATED_COUNT count only previously unregistered structurally valid WKOs that this repair Run newly adds to the successor WKO MAP with the stated status. They do not count surviving pre-existing rows already present in the base registry. The indexed filename lines list exactly the corresponding newly registered WKOs and no others. If the bootstrap repair WKO is one of those newly registered WKOs, it must appear in exactly one registered list. A successful repair Receipt that omits a newly registered bootstrap repair WKO is invalid evidence. Refusal boundary Base registry Repair-plan counts/lists SUCCESSOR_WKO_MAP_FILENAME Validation before the current structurally valid WKO MAP is established NOT_AVAILABLE NOT_RUN NOT_RUN Repair-analysis/gate refusal Exact base WKO MAP filename Exact values if the repair plan was established; otherwise the common matrix governs each present field NOT_RUN Publication refusal Exact base WKO MAP filename Exact established repair-plan values NONE Success Exact base WKO MAP filename Exact established repair-plan values Exact published successor WKO MAP filename CONVERT_WINDOWS_1252_TO_UTF_8 SOURCE_FILENAME SOURCE_ENCODING UNDEFINED_WINDOWS_1252_BYTE_OFFSET MATERIALIZED_ENCODING TRANSCODING SOURCE_CHANGED OUTPUT_FILENAME UNDEFINED_WINDOWS_1252_BYTE_OFFSET is the zero-based absolute physical source-byte offset of the first byte undefined by the frozen Windows-1252 mapping when that refusal occurs. If the compatibility stage never ran it is NOT_RUN ; if the stage ran and no undefined-byte refusal occurred it is NOT_APPLICABLE ; if the fact applies but could not be obtained it is NOT_AVAILABLE . Day 060 H-14 / BM-11 undefined-Windows-1252-byte refusal oracle For CONVERT WINDOWS-1252 TO UTF-8 , an undefined Windows-1252 byte is detected during the complete pre-transcoding compatibility assessment . Transcoding has not begun when this refusal is established. When the complete compatibility assessment encounters the first undefined byte, the Receipt must serialize these exact operation facts: SOURCE_ENCODING: WINDOWS-1252-INCOMPATIBLE
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: <exact zero-based absolute physical source-byte offset>
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE WINDOWS-1252-INCOMPATIBLE is the exact SOURCE_ENCODING token for this governed CONVERT refusal. OUTPUT_FILENAME: NONE means the operation definitively established that no CVT was published for the event. No CVT candidate may be reported as output. The compatibility scan reports the first undefined byte only. Later undefined bytes do not replace that offset. Permitted changes in scan buffer/window size or boundary placement must not change the reported absolute offset. Day 060 H-25 / BM-04 already-valid-UTF-8 refusal oracle. If the complete bound source passes strict UTF-8 validation, CONVERT refuses as unnecessary before Windows-1252 compatibility assessment or transcoding. The Receipt must serialize these exact operation facts: SOURCE_ENCODING: UTF-8
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: NOT_RUN
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE UTF-8 is the exact SOURCE_ENCODING token for this governed refusal. OUTPUT_FILENAME: NONE means the classification gate definitively established that this event publishes no CVT. The Windows-1252 compatibility stage is not entered. Refusal boundary Source/classification facts Conversion facts OUTPUT_FILENAME Validation/classification refusal before conversion begins Serialize each fact already established; an applicable fact that could not be obtained is NOT_AVAILABLE . The undefined-byte offset follows the rule above. MATERIALIZED_ENCODING and TRANSCODING are NOT_RUN when conversion did not run. SOURCE_CHANGED is the exact governed value once established. NONE only for either of the two definitively classified no-CVT cases: (1) the complete source is already valid strict UTF-8 and conversion is unnecessary; or (2) the complete Windows-1252 compatibility assessment finds an undefined byte. For other validation/classification refusals before conversion begins, OUTPUT_FILENAME: NOT_RUN unless another normative rule explicitly assigns a different closed token. Conversion/refusal after bounded transcoding begins but before publication Exact established source/classification facts Serialize exact established conversion facts; applicable incomplete facts use NOT_AVAILABLE . NOT_RUN Publication refusal Exact established facts Exact established conversion facts NONE Success SOURCE_ENCODING: WINDOWS-1252-COMPATIBLE ; undefined-byte offset NOT_APPLICABLE MATERIALIZED_ENCODING: UTF-8 ; TRANSCODING: BOUNDED_STREAMING ; SOURCE_CHANGED: NO Exact published CVT filename CATALOG_STORES CATALOG_ENTRY_COUNT CATALOG_FILENAME Refusal boundary CATALOG_ENTRY_COUNT CATALOG_FILENAME Validation/discovery refusal before the complete authoritative catalog row set is established NOT_AVAILABLE NOT_RUN Publication refusal after the complete catalog row set is established Exact established count, including 0 NONE Success Exact established count Exact physical published CAT filename On success, CATALOG_ENTRY_COUNT equals the number of data rows in the published CAT. CAT itself is the only new non-Receipt governed artifact produced by the operation. RECOVER RID / RECOVER_RID is not a valid executable WASM-002 operation in Revision BM.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-009,"Receipt truth is execution evidence, not presentation authority",W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"The Receipt records what Data Sculptor actually attempted, observed, refused, and successfully published. It must not reinterpret the analyst's WKO, replace the Store MAP, or become a second analytical command surface. The WKO remains the durable authorization record; Store MAP/RID/COL artifacts remain the governed analytical state; diagnostic events remain the refusal/help truth; the Receipt cross-references those facts as the durable run ledger. The body of published canonical RCP artifacts is the authoritative evidence substrate for the Flight Recorder logical view defined in W002-STOR-012.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-010,Receipt-publication failure is itself a governed evidence failure,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"Data Sculptor must never claim that a durable Receipt exists until the RCP file has been successfully written and closed in the Suitcase. If host or filesystem failure prevents Receipt publication, the browser must surface a canonical diagnostic through the Help Engine stating that receipt evidence could not be persisted. A receipt-publication failure does not retroactively falsify analytical artifacts that were already successfully committed under their own publication contracts, but the user-facing run summary must clearly distinguish analytical outcome from receipt-persistence failure. Data Sculptor must not invent, backdate, or silently reconstruct a Receipt and present it as the original run artifact. F-14 publication path, reconciled by F-33: the RCP itself is first written as the corresponding SCR candidate under W002-STOR-023.1, closed, reopened and validated against the exact Receipt serialization/key contract before the class-token rename to RCP . If final RCP promotion fails, the candidate remains non-authoritative SCR evidence. Help may identify the exact retained SCR filename when that fact was established, but it must still state that the canonical Receipt was not persisted. WASM-002 does not emit an RCV artifact for this failure.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-ACC-001,Successful materialization Receipt and WKO-lineage acceptance,W002-RCP-ACC,W002-RCP,WASM-002,UNDER REVIEW,—,"A Store-establishing materialization fixture must run one saved WKO, publish exactly one canonical TXT RCP, and prove that the Receipt identifies the exact WKO through WORK_ORDER_FILENAME , source, RID_ACTION: CREATED , new RID, Stage 1 result/bytes/time, Stage 2 row count/time, all requested COL artifacts in resolved KEEP order, successor Store MAP, published-artifact count, timestamps, and RESULT: SUCCESS . The RCP filename UTC must represent the Receipt artifact's own creation/publication event and must not be required to equal the WKO filename UTC. The same immutable WKO must then be executable again in an appropriate fixture, producing a second distinct RCP with its own Receipt/run timestamps while both Receipts contain the same exact WORK_ORDER_FILENAME . A later same-Store materialization fixture must additionally prove RID_ACTION: REUSED and the original RID filename. The Store-establishing fixture must also prove that the newly created RID, every newly created COL, and the successor MAP carry one identical publication-transaction UTC token while each has a distinct UUID; the RCP filename UTC remains its own Receipt publication timestamp and is not required to equal that analytical transaction UTC. A later same-Store materialization must prove that newly created COLs and its successor MAP share the later transaction UTC while the inherited RID retains its original timestamp/UUID. F-07 Stage-1 success fixture: a successful materialization Receipt must serialize STAGE1_UTF8_OUTCOME: PASS , with UTF8_FIRST_INVALID_BYTE_OFFSET: NOT_APPLICABLE and UTF8_STOP_REASON: NOT_APPLICABLE . Separate refusal fixtures under W002-RCP-ACC-002 must prove FAIL plus the mandatory exact offset and INVALID_UTF8_SEQUENCE . F-20 maximum-width Receipt acceptance: a successful full-width materialization fixture must prove that published-COL indexed keys continue through PUBLISHED_COL_16384_FILENAME using the minimum-three-digit/no-maximum suffix rule. Oversized-header fixtures must prove the exact fallback count, source ordinal, assigned operational name, and SOURCE_HEADER_EXCEEDS_1024_SCALARS reason without embedding the oversized source-header text in the Receipt merely as fallback evidence. F-23 additional successful-Receipt coverage: acceptance must include a successful INVENTORY run whose RCP carries the exact governed INVENTORY operation-specific facts and a successful UPDATE_ALIASES run whose RCP carries the exact BASE_MAP_FILENAME and SUCCESSOR_MAP_FILENAME while reporting only actually published artifacts in the common created-artifact tail. F-23 UUID-collision seam: using a controlled UUID sequence, acceptance must force one or more governed filename collisions before successful allocation. Every pre-existing colliding artifact must remain byte-for-byte unchanged; allocation must retain the originally established governed UTC context while changing only the not-yet-created UUID as permitted; and the published Receipt must report the exact retry count in IDENTITY_COLLISION_RETRIES . Day 060 H-09 success-timeline acceptance Every retained successful Receipt fixture must satisfy the W002-RCP-006 temporal invariant using its actual embedded UTC tokens. Acceptance must mechanically prove: the invoked WKO UTC is less than or equal to RUN_STARTED_UTC ; every non-Receipt governed artifact successfully published by that Run has a governed artifact/transaction UTC between RUN_STARTED_UTC and RUN_FINISHED_UTC , inclusive; RUN_FINISHED_UTC is less than or equal to the Receipt filename/ RECEIPT_UTC ; and no fixture relies on an artifact timestamp that occurs after the Receipt that claims it, or before the Run that created it. A controlled-clock acceptance seam may be used to make equality and strict-order cases deterministic, but the fixture generator must not alter timestamps after the fact merely to satisfy the checker. Day 060 H-11 successful RID_ACTION acceptance A successful new-Store materialization Receipt may report RID_ACTION: CREATED only because the RID was actually promoted into its final governed RID identity during that Run. A successful existing-Store materialization Receipt reports RID_ACTION: REUSED and the exact inherited RID filename; no new RID candidate is created for that Run.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-ACC-002,Refusal Receipt acceptance,W002-RCP-ACC,W002-RCP,WASM-002,UNDER REVIEW,—,"A saved WKO that is actually Run and deterministically refuses must still produce one canonical TXT Receipt when Receipt publication itself remains available. The emitted bytes must conform to the closed RESULT vocabulary, the four governed absence tokens, the exact operation-specific key spelling/order, and the refusal matrix in W002-RCP-006 through W002-RCP-008. Acceptance must include byte-exact golden Receipt fixtures for every distinct refusal-boundary row required to exercise the serialization matrix for each of the seven executable WASM-002 operations: MATERIALIZE , INVENTORY , UPDATE_ALIASES , REPAIR_MAP , REPAIR_WORK_ORDER_REGISTRY , CONVERT_WINDOWS_1252_TO_UTF_8 , and CATALOG_STORES . Multiple Diagnostic IDs that map to the same refusal boundary and the same serialization row do not require duplicate byte fixtures merely because the Diagnostic ID differs. Acceptance must additionally include one byte-exact UNKNOWN_OPERATION refusal fixture proving the common envelope, OPERATION: UNKNOWN_OPERATION , RESULT: REFUSED , the exact diagnostic ID, absence of any operation-specific section, and immediate CREATED_ARTIFACT_COUNT: 0 . Fixtures must prove that NONE , NOT_RUN , NOT_AVAILABLE , and NOT_APPLICABLE retain distinct meanings; an established zero count is serialized as 0 ; no candidate filename is reported as a published identity; and every indexed key uses its complete frozen name and the minimum-three-digit/no-maximum suffix rule. An unsaved WIP must be proven unable to Run and therefore must not create an execution Receipt. F-16 materialization-refusal fixtures: byte-exact MATERIALIZE refusal Receipts must exercise the new compatibility pair in all four applicable states: NOT_RUN when Stage 1 did not fail; COMPATIBLE plus NOT_APPLICABLE offset; INCOMPATIBLE plus the exact first undefined-byte offset; and NOT_AVAILABLE / NOT_AVAILABLE when an independent compatibility-read failure prevents a conclusion. F-23 Receipt-publication failure fixture, reconciled by F-33: a controlled filesystem-fault seam must make canonical RCP publication fail after the underlying analytical/refusal outcome has been established. Acceptance must prove the W002-RCP-010 boundary exactly: no final RCP is fabricated or claimed, any retained candidate evidence follows the governed SCR retention/non-authority rules in W002-STOR-023.1, no RCV artifact is emitted, the user-facing diagnostic distinguishes analytical outcome from Receipt-persistence failure, and already committed analytical artifacts are not retroactively falsified solely because RCP persistence failed. F-23 ultimate identity-allocation failure fixture: with Receipt publication itself still available, a controlled identity-allocation seam must force a governed operation artifact to exhaust/fail safe allocation. The operation must refuse without overwriting or mutating any colliding pre-existing artifact, and the refusal Receipt/diagnostic evidence must preserve the established collision/allocation-failure facts under PB-STOR-011 and W002-STOR-007.3. Day 060 H-02 fixture binding: the retained golden corpus must use RECEIPT_VERSION: 1 and the fixture-pinned diagnostic allocations in W002-HELP-001.8. The corpus must contain one success Receipt for each of the seven executable operations, one refusal Receipt for every distinct refusal-boundary row in W002-RCP-007/W002-RCP-008, the three additional Stage-1 compatibility variants needed to cover COMPATIBLE , INCOMPATIBLE , and NOT_AVAILABLE after UTF-8 failure, and one UNKNOWN_OPERATION Receipt. Publication-refusal fixtures may use the operation-specific H-02 publication diagnostic and a non-zero IDENTITY_COLLISION_RETRIES value to satisfy the ultimate identity-allocation-failure acceptance boundary without inventing a second diagnostic solely for the same serialization row. Day 060 H-09 refusal-timeline acceptance Every retained refusal Receipt fixture must also satisfy the W002-RCP-006 temporal invariant. For a refusal with no successfully published non-Receipt artifact, acceptance proves WKO_UTC ≤ RUN_STARTED_UTC ≤ RUN_FINISHED_UTC ≤ RECEIPT_UTC . If a refusal legitimately leaves one or more successfully committed non-Receipt artifacts from an already-completed stage, each such artifact UTC must fall between Run start and Run finish and must be listed truthfully under the governing created-artifact rules. Day 060 H-11 / BM-08 RID_ACTION refusal acceptance Byte-exact MATERIALIZE refusal acceptance must distinguish new-Store and existing-Store RID paths: new-Store validation, Stage 1, Stage 2, and post-Stage-2 gate refusals before successful RID promotion serialize RID_ACTION: NOT_RUN and do not serialize a candidate as a published RID; a controlled new-Store refusal after RID promotion has successfully completed may serialize RID_ACTION: CREATED together with the exact published RID filename, but only if that RID was actually promoted and the remaining refusal/rollback evidence is truthful under the publication rules; an existing-Store refusal after the inherited RID has been selected and validated serializes RID_ACTION: REUSED and the exact inherited RID filename even when Stage 1, Stage 2, a later gate, or publication subsequently refuses; an existing lineage whose required inherited RID cannot be validly established serializes RID_ACTION: NOT_AVAILABLE and RID_FILENAME: NOT_AVAILABLE rather than claiming reuse. Acceptance must specifically reject the historical H-02 fixture pattern that reported RID_ACTION: CREATED while no RID existed and CREATED_ARTIFACT_COUNT: 0 . Day 060 H-12 H-02 publication-diagnostic scope The H-02 operation-specific publication diagnostics whose required facts are artifact_class and collision_retry_count are acceptance pins for governed filename identity-allocation collision exhaustion. They are not catch-all Diagnostic IDs for unrelated publication failures such as chronology guards, write/close/rename failures, or malformed predecessor state. Those distinct conditions use their own registry allocations; DS-UTC-001 is independently frozen for the strict monotonic-UTC guard. Day 060 H-13 / BM-10 zero-byte and BOM-only NO_HEADER_RECORD Receipt fixtures The retained golden corpus must contain two distinct byte-exact MATERIALIZE refusal Receipts for the P3-09 no-header boundary: Zero-byte source: the bound source has exact certified byte count 0 ; Stage 1 passes; Stage 2 refuses with CSV_REFUSAL_CONDITION: NO_HEADER_RECORD ; CSV_SOURCE_BYTE_OFFSET: 0 ; CSV_PHYSICAL_LINE: 1 ; CSV_LOGICAL_RECORD: 1 ; and CSV_FIELD_ORDINAL: 1 . UTF-8-BOM-only source: the bound source consists exactly of bytes EF BB BF and has exact certified byte count 3 ; Stage 1 passes; Stage 2 refuses with CSV_REFUSAL_CONDITION: NO_HEADER_RECORD ; CSV_SOURCE_BYTE_OFFSET: 3 ; CSV_PHYSICAL_LINE: 1 ; CSV_LOGICAL_RECORD: 1 ; and CSV_FIELD_ORDINAL: 1 . These two Receipt fixtures must carry their own truthful source filenames, Work Order identities, run timestamps, Receipt identities, and other governed facts. Only the five-field CSV refusal tuple has the narrower relationship stated in W002-RCP-007; the complete Receipt files are not otherwise required to be byte-identical. Day 060 H-14 / BM-11 CONVERT undefined-byte Receipt binding The coordinated golden Receipt corpus must include the byte-exact CONVERT_WINDOWS_1252_TO_UTF_8 refusal fixture from W002-CONV-ACC-002 using source bytes 41 81 42 . Its Receipt must carry UNDEFINED_WINDOWS_1252_BYTE_OFFSET: 1 and the exact pre-transcoding refusal values frozen in W002-RCP-008.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-ACC-003,Receipt TXT is invariant to presentation state in WASM-002,W002-RCP-ACC,W002-RCP,WASM-002,UNDER REVIEW,—,The same governed run must be exercised under materially different permitted browser presentation states. In each case the run Receipt must remain an RCP TXT artifact governed by the same receipt serialization and facts. Presentation must not convert it to HTML or alter execution truth in WASM-002. This acceptance gate does not require a configurable Brand Manifest; that capability is deferred.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-001,A Suitcase may contain multiple Stores and each current Store state binds exactly one RID,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The Suitcase is a workspace and may contain zero, one, or multiple logical Stores. Every committed Store state binds exactly one governed current RID artifact. RID values are unique only within their Store row universe; they are not Suitcase-global identifiers. Ordinary same-row-universe work reuses that RID unchanged. In WASM-002, a missing, unreadable, or invalid current RID makes the Store INVALID ; no executable WASM-002 operation regenerates or substitutes that RID. Read-only Help/evidence may explain analyst-owned restoration or lineage-retirement choices, but Data Sculptor does not publish a replacement RID. The stable logical row reference in WASM-002 is conceptually (Store lineage, RID value) ; the current physical RID identity is the exact rid_filename bound by the authoritative MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-002,The Store RID is generated automatically once and reused unchanged in WASM-002,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"When the first successful materialization establishes a new Store, Data Sculptor must automatically generate that Store's initial RID artifact as part of the same Stage 2 operation and the same all-or-refuse publication boundary. The analyst does not separately request ordinary RID generation. Before the RID SCR candidate is created, Data Sculptor establishes the materialization publication-transaction UTC under PB-STOR-013/PB-STOR-014 and allocates a RID-specific UUID. The canonical RID byte stream is then written as the visible governed SCR candidate whose filename already carries that exact UTC, UUID, and .csv extension intended for the final RID identity. Requested materialized columns likewise begin as governed SCR candidates whose distinct COL-specific UUIDs are allocated before those candidates are opened under the same transaction UTC. The new RID candidate and all requested COL candidates must reach EOF, reconcile to the same accepted Store row count N, and pass their required final validation before any candidate is promoted. After complete-set validation, Data Sculptor promotes the RID candidate first by host rename that changes only the three-letter semantic class token from SCR to RID . The candidate bytes, UTC token, UUID, and .csv extension must remain unchanged across that promotion. Requested COL candidates are promoted only after RID promotion succeeds. If later promotion or successor-MAP publication prevents transaction commit, the newly promoted RID is not committed Store state merely because an RID-looking file exists; it must be rolled back where safely possible or retained as attributable recovery evidence under the materialization failure contract. A first Store-establishing materialization commits exactly one RID regardless of how many requested COLs are materialized. Later ordinary materializations and other same-row-universe WASM-002 operations must reuse that RID unchanged. They must not create a new RID candidate, regenerate, replace, renumber, or silently supersede the inherited RID. RID reconstruction/replacement is not an executable WASM-002 operation. Any future governed RID-recovery design remains deferred and must be reintroduced by an explicit later PRD freeze.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-003,RID physical identity uses the governed RID filename grammar,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The physical RID filename must be: __DS__RID__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv The filename contains governed physical identity only. A Store name or friendly analyst alias must not be inserted into, substituted for, or used to rename this immutable physical RID filename.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-004,RID is a canonical one-column CSV containing the exact sequence 1 through N,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The RID artifact must serialize as a canonical one-column UTF-8 CSV with: exactly one UTF-8 BOM at byte zero; a structural first logical record exactly N=<value> , where <value> is the canonical unsigned base-10 representation of the Store's total logical data-row count N ; uppercase N , exactly one equals sign, no spaces, no sign, no leading zeroes except the single digit 0 , and no separators or locale formatting; LF ( 0x0A ) record terminators on every supported host; exactly N data records after the header, containing the consecutive unquoted decimal integers 1 through N in order; no zero RID data value, negatives, signs, thousands separators, decimal points, exponent notation, or leading zeroes; and a final LF after the last record. For N=0 , the canonical bytes are the UTF-8 BOM followed by N=0 and LF, with no data records. The N=<value> record is structural metadata and does not consume a Store row. The governed RID artifact class/filename and Store MAP binding identify the artifact as a RID; the literal header RID is not used by the frozen WASM-002 serialization.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-005,RID cardinality and order define same-Store column alignment,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"If a Store RID contains N data records, every governed column claimed to be aligned to that Store must contain exactly N data records in the same RID order. Data Sculptor must not describe a shorter, longer, reordered, duplicated, or row-shifted column as aligned to that Store. This invariant applies to materialized source columns in WASM-002 and is the stable contract that later calculated, Boolean-selection, verification, or left-join enrichment columns may rely upon.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-006,A different row universe requires a different Store and a new RID,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,An operation that changes which rows exist or changes their governed order does not mutate the existing Store RID. It establishes a different row universe and therefore requires a new logical Store identity and a new RID artifact beginning again at 1 for that new Store. Filtering that is represented only as a same-length aligned Boolean/selection column does not itself change the row universe; building a new reduced/reordered row set later would.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-007,The Store MAP gives RID a friendly alias without changing RID identity,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The physical RID artifact remains identified by its immutable governed filename and semantic RID class. Every valid Store MAP records that exact rid_filename and one current human-facing rid_alias . Changing the RID alias must not rename, rewrite, regenerate, or alter the meaning of the RID artifact. The same Store MAP also records the Store alias and materialized-column aliases, so the analyst-facing names and the physical Store spine remain explicitly connected in one visible governed artifact.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-008,Ordinary RID generation is implicit Store infrastructure; RID reconstruction is deferred,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"WASM-002 materialization Work Orders specify the analyst's requested source columns and aliases. They must not require or expose a separate instruction such as RID , ROW INDEX , GENERATE RID , or an equivalent switch to create the Store row spine. Initial RID generation for a new Store is mandatory engine behavior implied by successful MATERIALIZE . WASM-002 must not provide an option to disable it. When ordinary materialization extends an existing Store, the engine must recognize and reuse that Store's existing RID. If that bound RID is missing or invalid, the Store is INVALID and ordinary Store operations refuse. WASM-002 exposes no RECOVER RID executable syntax. A future explicit recovery design may be considered in V1-BACKLOG, but it is not part of this build contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-001,Canonical RID byte serialization acceptance,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,"An acceptance fixture with N=5 must prove exact governed bytes equivalent to a UTF-8 BOM followed by: N=5
1
2
3
4
5 Every record uses LF termination and the file ends with a final LF. A separate N=0 fixture must prove exact bytes equivalent to UTF-8 BOM + N=0 and no data records. The N=5 fixture repeated under different permitted source-window boundaries must produce byte-identical RID content apart from the governed physical filename allocated to the artifact. Full RID validation must also prove that the declared N , the number of following data records, and the exact sequence 1..N agree.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-002,Multiple Stores in one Suitcase retain independent RID spines,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,An acceptance fixture must establish at least two Stores with different row counts in the same Suitcase and prove that each Store publishes and retains exactly one distinct governed RID artifact. RID values may overlap numerically across Stores without collision because the Store identity disambiguates them.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-003,Later same-Store materialization reuses rather than regenerates RID,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,"An acceptance fixture must establish a Store with an initial materialization, record the physical RID identity and exact RID bytes, then perform a later permitted materialization that adds at least one aligned COL without changing the row universe. The later run must reference and reuse the original RID artifact; no replacement RID may be published and the original RID bytes must remain unchanged.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-004,Implicit RID generation acceptance for single- and multi-column first materialization,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,"Acceptance must execute two Store-establishing Work Orders that contain no RID or row-index syntax: one requesting exactly one source column and one requesting multiple source columns. Each successfully committed run must publish exactly one governed RID artifact regardless of the number of requested COL artifacts. The fixture must prove that RID creation occurs during the same Stage 2 source-record traversal that establishes the Store row count rather than by requiring a second source pass solely to construct RID. The RID row count must reconcile exactly with every requested COL row count and the final accepted Store N. Before RID candidate creation, acceptance must prove that the publication-transaction UTC and RID-specific UUID are already established, and that the governed SCR filename carries exactly the UTC, UUID, and .csv extension intended for the final RID identity. Before complete-set validation, the RID bytes must exist only as that governed SCR candidate. Acceptance must prove that the RID candidate is promoted by host rename only after the complete RID/COL candidate set validates, that the physical-name change is exactly the class token SCR to RID , that candidate bytes/UTC/UUID/extension are unchanged across promotion, that RID promotion precedes COL promotion, and that the resulting RID is not considered committed Store membership until the successor MAP is successfully promoted and binds that exact RID filename.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-001,INVENTORY is an explicit standalone WASM-002 Work Order operation,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 form is: SUITCASE: .
WORK ORDER AS ""Inventory this Suitcase""
INVENTORY INVENTORY reads the authorized Suitcase directory metadata and creates one governed Suitcase Inventory Snapshot. It is read-only with respect to pre-existing Suitcase files. In WASM-002, an INVENTORY Work Order must not also request materialization, conversion, fingerprinting, another analytical operation, or another Work Order invocation. F-08 structure freeze: after the common SUITCASE: . / WORK ORDER AS ""..."" preamble, INVENTORY is the sole semantic operation clause and is terminal. No SOURCE , MAP , KEEP , alias mutation, conversion, repair, catalog, or composition clause is valid in the same WKO.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-002,Suitcase Inventory uses the governed INV artifact class and canonical filename grammar,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"A successful inventory produces exactly one visible flat TXT artifact whose physical filename is: __DS__INV__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.txt The UTC and UUID tokens follow the existing governed artifact-identity rules. Data Sculptor must not create an inventory subfolder, hidden cache copy, or alternate private persistence. F-14 publication: the INV body is produced first under the matching W002-STOR-023.1 SCR identity with the same UTC, UUID and .txt extension intended for the final INV. Publication to INV occurs only after the complete scan and deterministic INV serialization validate successfully.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-003,"The lightweight inventory records filename, exact byte length, and last-modified metadata",W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"For every regular file present in the authorized flat Suitcase root at snapshot time, the inventory must record: the exact visible filename; the exact byte length reported by the host file object; and the host/browser-reported last-modified value rendered in the canonical UTC millisecond form when available. WASM-002 must not claim access to a true file-creation timestamp. It must not infer, fabricate, or substitute a creation time from the last-modified value. If usable last-modified metadata is unavailable, the inventory must represent that fact explicitly rather than invent a timestamp. P3-10 last-modified availability test: host/browser last-modified metadata is usable only when the host supplies a finite, non-negative whole-number millisecond value that can be represented in the canonical UTC millisecond timestamp form. If that test fails, the inventory must serialize the governed unavailable value rather than infer, round, substitute, or fabricate a timestamp.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-004,INVENTORY does not read file contents or compute content hashes,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"The lightweight inventory must be produced from directory enumeration and file metadata only. Data Sculptor must not open and stream the contents of each listed file merely to create the inventory, and it must not compute SHA-256 or another content fingerprint as an implicit side effect. Its cost should therefore scale primarily with the number of directory entries and metadata calls, not with the aggregate byte size of the files. A 7 GB CSV and a 7 KB CSV each contribute one metadata entry rather than requiring their contents to be read.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-005,Inventory scope is the authorized flat Suitcase root,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"WASM-002 inventories regular files and immediate child directory entries in the directory denoted by SUITCASE: . . Data Sculptor must not recursively inspect, enumerate, size, hash, or otherwise inventory the contents of a child directory in this build. Each immediate child directory is recorded as a directory entry by its exact visible name only. Its nested contents and aggregate size are outside the WASM-002 Inventory contract. This rule preserves the flat-Suitcase storage model while making the presence of user-created directories explicit rather than silently omitting them. F-26 SOURCE distinction: inclusion in an Inventory is evidence that an entry was physically visible to the Inventory operation; it does not make that entry eligible for a Work Order SOURCE . SOURCE eligibility is the narrower contract in W002-WKO-009.1.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-006,Inventory serialization is deterministic UTF-8 TXT,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"The INV artifact is a deterministic human-readable TXT document encoded as UTF-8 without BOM, using LF ( 0x0A ) line endings, the same KEY: VALUE line grammar, and the same quoted-text escaping rule frozen by W002-RCP-005. Every INV ends with exactly one final LF, contains no trailing spaces, and contains no blank physical lines. The exact V1 Inventory serialization order is: INVENTORY_VERSION INVENTORY_UTC WORK_ORDER_FILENAME SUITCASE ENTRY_COUNT for each regular-file entry in deterministic ascending exact-filename UTF-8 byte order, one contiguous indexed triplet: FILE_<INDEX> , FILE_<INDEX>_BYTE_LENGTH , FILE_<INDEX>_LAST_MODIFIED_UTC DIRECTORY_COUNT exactly DIRECTORY_COUNT directory-name records using contiguous indexed keys DIRECTORY_<INDEX> , ordered by ascending exact-directory-name UTF-8 bytes. INVENTORY_VERSION is the unquoted integer 1 for this contract. WORK_ORDER_FILENAME , SUITCASE , each FILE_<INDEX> filename, and each DIRECTORY_<INDEX> name use the common double-quoted UTF-8 text serialization. FILE_<INDEX>_BYTE_LENGTH is the exact non-negative ungrouped ASCII base-10 byte length. FILE_<INDEX>_LAST_MODIFIED_UTC is either the exact canonical UTC millisecond token governed by W002-INV-003 or the unquoted governed absence token NOT_AVAILABLE . Indexed suffixes are one-based decimal with a minimum width of three digits and no maximum width: 001 through 999 are zero-padded and 1000 onward uses the full ungrouped decimal form. When ENTRY_COUNT or DIRECTORY_COUNT is zero, no indexed lines for that list appear. ENTRY_COUNT remains the regular-file count. Directory records contain the exact immediate child directory name only and do not imply recursive inspection or a computed directory size. Filename and directory-name representations remain unambiguous even when a name contains whitespace, quotes, or delimiter-like characters because the common quote-doubling rule applies. P3-10 inventory timestamp binding: INVENTORY_UTC must equal the exact canonical UTC token embedded in the final governed __DS__INV__<UTC>__<uuid-v4>.txt filename, just as RECEIPT_UTC is bound to the governed Receipt filename UTC. The INV body and filename therefore cannot claim different capture times.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-007,The current inventory describes the pre-publication Suitcase state and excludes itself,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,Data Sculptor must enumerate and fix the inventory snapshot before publishing the new INV artifact. The INV artifact being created is therefore not one of its own listed entries. Any older INV artifact that already existed at snapshot time is an ordinary Suitcase file and is included like any other file. This pre-publication rule prevents recursive self-reference while preserving an accurate snapshot of the state that existed immediately before the new inventory evidence was added.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-008,"Help describes INVENTORY as a quick continuity aid, not byte-level proof",W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"Help must explain that an INV snapshot is useful for ordinary closeout and later orientation: it can reveal additions, removals, renames, size changes, or last-modified changes when snapshots or current metadata are compared. For an unexpected cross-session source problem, Help may direct the analyst to the relevant source entry in an earlier INV and ask whether its filename, exact byte length, or last-modified metadata differs. Help must also state that unchanged filename/size/last-modified metadata does not prove that file contents or row order are identical. When stronger assurance is warranted because files may change unexpectedly, Help may recommend the explicit later/deeper content-fingerprinting workflow; INVENTORY itself must never imply forensic or cryptographic assurance.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-ACC-001,Large-file inventory acceptance proves metadata-only behavior,W002-INV-ACC,W002-INV,WASM-002,UNDER REVIEW,—,"An acceptance fixture must place at least one multi-gigabyte file plus several small files in the authorized Suitcase, execute INVENTORY , and prove that the resulting INV records the correct filename, exact byte length, and last-modified metadata without reading the multi-gigabyte file contents. Evidence must demonstrate that inventory runtime and memory do not scale with the aggregate bytes of the listed files in the way a fingerprinting pass would. P3-10 metadata determinism: acceptance must include at least one file with usable host last-modified metadata and one test double/fixture in which the last-modified value fails the governed availability test. The first must serialize the exact canonical UTC millisecond value; the second must serialize exactly NOT_AVAILABLE . The accepted INV must also prove that INVENTORY_UTC exactly matches the UTC token in its final INV filename. Day 060 H-01 byte oracle: acceptance must include at least one byte-exact INV golden fixture using the complete W002-INV-006 key order, indexed suffix rule, quoted-text escaping rule, UTF-8/no-BOM physical form, LF-only line endings, and exactly one final LF. It must include at least two file records so deterministic filename ordering is observable, including one NOT_AVAILABLE last-modified value, and at least one directory record. Day 060 H-09 reachable-Suitcase INV golden fixture The byte-exact INV golden fixture used for WASM-002 review must depict a Suitcase state that could actually execute INVENTORY under the current contract rather than an isolated impossible file list. At minimum, immediately before the Inventory Run begins, the fixture Suitcase contains: one valid current Suitcase Validation Certificate ( CER ) authorizing the root; one structurally valid current WKO registry MAP; the exact saved immutable INVENTORY WKO referenced by WORK_ORDER_FILENAME , registered as runnable by that current WKO MAP; and the ordinary analyst files used to demonstrate inventory metadata, including the controlled last-modified-available and NOT_AVAILABLE cases. The INV snapshot is taken before publication of the new INV artifact and before its Receipt publication. Therefore the INV being created and the Receipt for that Run do not appear as pre-existing entries in their own inventory snapshot. For the retained minimal review fixture, the regular-file ENTRY_COUNT and indexed records must include the CER, current WKO MAP, exact INVENTORY WKO, and the two ordinary sample files, for a total of five regular-file rows, serialized in ascending exact-filename UTF-8 byte order. A later implementation fixture may use different exact governed filenames/UUIDs while preserving the same reachable-state requirement and deterministic ordering.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-ACC-002,Inventory snapshot membership and self-exclusion acceptance,W002-INV-ACC,W002-INV,WASM-002,UNDER REVIEW,—,"An acceptance fixture must include ordinary analyst files, existing governed __DS__ artifacts, and at least one older INV artifact. The new inventory must include every qualifying pre-existing root file in deterministic order, include the older INV, and exclude only the newly generated INV because it did not exist in the fixed pre-publication snapshot. Adding an unrelated PDF or ZIP before a later inventory must appear as an added inventory entry and must not be treated as an analytical error.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-ACC-003,Inventory does not overclaim unchanged contents,W002-INV-ACC,W002-INV,WASM-002,UNDER REVIEW,—,"Acceptance documentation and Help fixtures must demonstrate the limitation of metadata-only continuity. A case in which a file's bytes are changed while the observed filename, byte length, and last-modified metadata are preserved or restored must not be described as detectable by INVENTORY alone. The product must direct the analyst toward stronger explicit fingerprint evidence when byte-level assurance is required.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-016,Work Order filenames use the governed immutable identity grammar,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When Data Sculptor saves a new Work Order as a WKO, it shall assign the physical TXT filename. The analyst chooses the validated Suitcase but is not asked to choose or edit the WKO filename. The exact WKO filename shape is __DS__WKO__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.txt , using UTC at millisecond precision with exactly three millisecond digits and a canonical lowercase hyphenated UUID v4. UTC precedes UUID. If the generated name collides with an existing artifact, PB-STOR-011 governs UUID regeneration and safe retry. The saved WKO thereafter retains that physical identity and remains immutable under W002-STOR-017.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-017,Saved Work Orders are immutable artifacts,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"After a Work Order TXT artifact is saved, Data Sculptor shall not edit, overwrite, or rename that saved Work Order in place. Changing analytical instructions requires saving a new Work Order artifact with a new governed physical identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018,Work Order alias is immutable WKO content and governed MAP metadata,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A human-facing Work Order name is required immutable Work Order content for every executable/saved WASM-002 WKO, not separately editable browser metadata. The canonical declaration is WORK ORDER AS ""<alias>"" under W002-STEPS-001.1. The quoted alias must be non-empty UTF-8 text and may contain spaces and ordinary phrase punctuation subject to the governed string-literal rules. After the WKO TXT artifact is saved, Data Sculptor shall not edit the alias in place. Changing the alias, analytical instructions, or comments means creating and saving a new immutable WKO with a new governed physical identity. The physical WKO filename/UUID remains execution identity; the alias is human-facing metadata for display and governed name resolution. The browser must not maintain a separate mutable Description field or hidden description store. The alias declared by the WKO is also represented in the current governed WKO MAP under W002-STOR-018.1 through W002-STOR-018.4.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.1,The existing MAP class includes a distinct WKO alias-registry profile,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Revision BB does not add a new semantic artifact class. The existing MAP class has two explicitly distinguished governed profiles: Store MAP — the existing exact eight-column Store/RID/COL snapshot governed by W002-STOR-019 through W002-STOR-019.12; WKO MAP — a complete immutable snapshot that maps saved Work Order aliases and lifecycle status to exact immutable WKO filenames. Profile classification is determined by the exact CSV header before profile-specific validation. A valid WKO MAP must never be treated as an eligible Store MAP, and a Store MAP must never be treated as a WKO alias registry. Both remain visible flat-Suitcase MAP artifacts under the canonical immutable filename grammar.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.2,WKO MAP schema and serialization are exact and deterministic,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The canonical WKO MAP is UTF-8 CSV without BOM, using LF record termination, with exactly this three-field header: wko_status,wko_alias,wko_filename Each row identifies one immutable governed WKO represented in that registry snapshot. wko_status is exactly CURRENT or DEPRECATED . wko_alias is the exact mandatory non-empty alias declared by that WKO's WORK ORDER AS clause. wko_filename is the exact governed physical WKO filename. Rows are written deterministically by ascending exact UTF-8 byte order of wko_filename . Duplicate wko_filename rows are invalid. Standard governed CSV quoting applies. For any exact wko_alias value, at most one row may have wko_status=CURRENT ; zero or more older rows for that same alias may have wko_status=DEPRECATED . Alias resolution uses the CURRENT row only. A WKO represented by a DEPRECATED row remains immutable historical evidence and is not renamed, rewritten, or deleted merely because its alias target was superseded. A WKO MAP containing more than one CURRENT row for the same exact alias is structurally invalid.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.3,Saving a WKO and publishing its WKO MAP binding is one governed save transaction,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Saving a new immutable WKO begins from the current structurally valid WKO MAP in the Suitcase, or an empty WKO registry if no structurally valid WKO MAP exists. Data Sculptor validates the draft, including its mandatory non-empty WORK ORDER AS alias and comment syntax, and checks the governed alias/lifecycle constraints before commit. F-02 alias-lifecycle decision: if no CURRENT row in the predecessor WKO MAP uses the new WKO's exact alias, the successor registry adds the new WKO as CURRENT . If exactly one CURRENT row already owns that exact alias, Data Sculptor must present exactly two analyst choices before registry commit: Replace alias target or Cancel . Replace alias target constructs the successor WKO MAP by changing the former owner's row to DEPRECATED and adding the newly saved WKO as the sole CURRENT row for that alias; any older DEPRECATED rows remain unchanged. Cancel leaves the predecessor WKO MAP authoritative and does not commit the pending WKO/WKO-MAP pair as a registry update. Data Sculptor must not silently replace the alias target, auto-suffix the alias, or choose between competing owners. A predecessor WKO MAP with more than one CURRENT row for the same alias is structurally invalid under W002-STOR-018.2 and cannot be used as save authority. The former CURRENT WKO and every prior WKO MAP remain byte-for-byte immutable after replacement. Supersession changes only the lifecycle metadata represented in the newly published successor WKO MAP; it does not edit, rename, delete, or rewrite the historical WKO artifact. F-14 WKO publication predicate: the new immutable Work Order is first written under the W002-STOR-023.1 SCR identity using the UTC, UUID and .txt extension intended for its final WKO identity. The complete candidate is closed, reopened and validated as a saved WKO: required common preamble, exactly one non-whitespace WORK ORDER AS alias, governed lexical/comment rules, and complete parse under exactly one current WASM-002 executable operation grammar. Only then may the candidate be renamed from SCR to WKO . Save-time current-registry, alias-lifecycle and lifecycle gates remain transaction preconditions. A valid promoted WKO is not yet alias-registry authority; the successor WKO MAP promotion remains the save-transaction commit point. The WKO is persisted as a new immutable governed WKO artifact and the complete successor WKO MAP is constructed under SCR , closed, reopened, and validated for WKO MAP structural validity : exact profile/schema, exact governed serialization, filename/profile rules, lifecycle-row constraints, and internal row constraints. Whether every referenced physical WKO file is presently visible is a separate registry-health/publication check and is not part of WKO MAP structural validity. For an ordinary successful save transaction, every WKO referenced by the successor registry must be present at publication. The successor WKO MAP is promoted to MAP last; that successful MAP promotion is the alias-registry commit point for the save transaction. The WKO and successor WKO MAP created by one successful save transaction use one shared canonical transaction UTC while retaining distinct UUIDs. If successor WKO-MAP structural validation, referenced-file publication checking, or publication itself fails, the save must not be represented as a successfully committed alias-registry update. Data Sculptor must roll back the new WKO out of committed WKO state where safely possible or retain visible non-authoritative SCR failure evidence and report the failure through Help. F-02 repair-only bootstrap and stale-registry Save boundary When the current WKO registry is repair-required under W002-STOR-018.4, Data Sculptor may save one ordinary visible immutable WKO whose sole semantic operation is exactly REPAIR WORK ORDER REGISTRY . That saved repair-only WKO may Run by its exact physical WKO filename even though it is not yet represented in the current WKO MAP. The WKO must be structurally valid under the predicate below, must contain exactly one mandatory non-empty WORK ORDER AS , and must contain exactly the governed registry-repair operation and no second operation. The exception does not grant alias-based Run authority. The repair WKO is invoked only by exact physical WKO filename. No other visible but unregistered WKO gains Run eligibility from this exception. The exception ends once registry repair successfully publishes the successor WKO MAP. This is the sole WASM-002 bypass of ordinary current-registry membership for Run eligibility. Because the registry is already stale, Save of the repair-only WKO does not claim that the WKO has been registered, does not commit an ordinary successor WKO MAP, and does not represent the stale registry as healthy. The new immutable WKO remains visibly unregistered until the repair operation successfully publishes the successor WKO MAP containing its row. Save does not silently perform registry repair. F-02 governed WKO structural-validity predicate A visible WKO is structurally valid for registry purposes only when all of the following hold: it is a regular root-level Suitcase file; its physical filename conforms exactly to the governed WKO filename grammar; its bytes are valid UTF-8; LF and CRLF physical line endings are accepted; a lone CR line ending refuses; its content parses completely under exactly one defined WASM-002 executable Work Order grammar; it contains exactly one mandatory non-empty WORK ORDER AS clause; its required common and operation-specific structural clauses are present in their governed order/cardinality; and unknown syntax or prohibited operation mixing causes invalidity/refusal. Structural validity is not runtime success. A structurally valid WKO remains a valid governed artifact even when a runtime precondition is currently false, such as a referenced source file being absent. Runtime preconditions are checked at Run. P3-10 repair-bootstrap timing: during REPAIR WORK ORDER REGISTRY , the saved repair-only WKO participates in the bounded discovery performed by that repair run. It is not first “discovered after success.” Its governed registration becomes durable only when the complete successor WKO MAP containing that WKO row is successfully committed. Discovery during the run and registration in the committed successor registry are distinct events. P2-03 WKO-registry chronology guard: before a save or registry-repair transaction publishes a successor WKO MAP, Data Sculptor establishes the truthful observed transaction UTC and compares it with the chronology predecessor defined by W002-STOR-018.4. The observed UTC must be strictly greater. Equal or earlier UTC refuses before the new WKO/WKO-MAP pair is committed; Data Sculptor must not fabricate a later timestamp, silently wait/retry, skip the predecessor, or select an older registry merely to make publication succeed. F-13 single-writer pre-commit guard: immediately before the successor WKO MAP promotion that would commit the alias-registry update, Data Sculptor re-resolves the current WKO-registry authority and compares the relevant governing state with the state from which this transaction was derived. If another writing context or external filesystem action has changed that relevant authority, the transaction refuses publication. It must not overwrite the newer registry, silently rebase the pending save, or choose an older registry to make the commit succeed. The existing rollback / attributable SCR recovery-evidence rules apply to any WKO or candidate bytes already produced. If the save later refuses and an SCR candidate or other attributable staged evidence cannot be safely removed/restored, W002-STOR-023.1 governs retained SCR evidence and its non-authority boundary; WASM-002 does not emit RCV. An unregistered final WKO left by a failure is a valid immutable WKO artifact but does not become current registry authority merely by existing; the WKO MAP remains authoritative.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.4,Current WKO MAP selection is based on structural validity; missing referenced WKOs make the registry repair-required,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"WKO MAP structural validity is distinct from registry health. A WKO MAP is structurally valid when the MAP artifact itself satisfies the governed WKO MAP profile/schema, serialization, filename/profile rules, lifecycle-row constraints, and internal row constraints. The present existence of every physical WKO file named by its rows is not part of WKO MAP structural validity. Only structurally valid WKO MAP artifacts participate in current-registry selection. Among structurally valid WKO MAPs, the one with the greatest canonical UTC millisecond timestamp is the current WKO MAP snapshot and therefore the current governed Work Order alias registry. If two or more structurally valid WKO MAPs share that greatest timestamp, current-registry selection must refuse rather than break the tie by UUID, discovery order, filesystem modified time, or directory order. Registry-snapshot authority is distinct from alias-target status inside that snapshot. After the current WKO MAP snapshot is selected, an alias resolves only to its exact row whose wko_status is CURRENT . Rows marked DEPRECATED remain visible historical registry evidence but are not alias-resolution targets. The registry must never use the greatest WKO filename UTC, filesystem modified time, or discovery order to choose between rows for an alias. More than one CURRENT row for the same exact alias makes that WKO MAP structurally invalid under W002-STOR-018.2. If a newer WKO MAP artifact is structurally malformed, it never becomes current. Data Sculptor uses the greatest earlier structurally valid WKO MAP, if one exists, and reports the malformed newer artifact through Help/evidence surfaces. A malformed newer WKO MAP does not itself make the selected earlier registry repair-required. The current WKO registry is repair-required exactly when the current structurally valid WKO MAP contains one or more rows whose referenced physical WKO files are missing from the Suitcase. Such a MAP remains current ; Data Sculptor must not silently fall back to an older WKO MAP merely because a referenced WKO is missing. This preserves the latest registry authority while making the damage explicit and reachable through the governed REPAIR WORK ORDER REGISTRY path. F-02 deterministic registry reconciliation REPAIR WORK ORDER REGISTRY reconciles the current WKO MAP against visible WKO artifacts in the Suitcase and constructs one complete successor WKO MAP deterministically: Remove every row from the successor whose referenced physical WKO file is missing. A missing WKO is never reconstructed, inferred, copied from history, or replaced automatically by a deprecated WKO. Discover visible structurally valid WKOs that are absent from the current WKO MAP. If no surviving CURRENT row owns a discovered WKO's exact alias, register that discovered WKO as CURRENT . If a surviving CURRENT row already owns that exact alias, register the discovered WKO as DEPRECATED ; existing current authority is not silently displaced. If two or more previously unregistered structurally valid WKOs share the same alias and no surviving CURRENT owner exists, register all of those discovered WKOs as DEPRECATED . Data Sculptor must not choose a winner by UTC, filename, UUID, directory order, discovery order, or filesystem modified time. The repair WKO itself participates in the same discovery and registration process during the repair run. Its registration becomes durable only when the complete successor WKO MAP is committed. Predecessor WKO MAPs and surviving WKO files remain immutable historical evidence. Successor rows remain serialized in ascending exact UTF-8 byte order of wko_filename under W002-STOR-018.2. Day 060 H-10 / BM-07 registry-repair change-set counts The registry-repair operation distinguishes the successor registry state from the change set produced by this repair Run . The Receipt's REGISTERED_CURRENT_* and REGISTERED_DEPRECATED_* fields describe only the latter. REGISTERED_CURRENT_COUNT is the exact number of previously unregistered structurally valid WKO files newly added by this repair Run with wko_status=CURRENT . REGISTERED_CURRENT_WKO_<INDEX>_FILENAME lists exactly those newly registered CURRENT WKOs, ordered by ascending exact UTF-8 filename bytes. REGISTERED_DEPRECATED_COUNT is the exact number of previously unregistered structurally valid WKO files newly added by this repair Run with wko_status=DEPRECATED . REGISTERED_DEPRECATED_WKO_<INDEX>_FILENAME lists exactly those newly registered DEPRECATED WKOs, ordered by ascending exact UTF-8 filename bytes. Surviving rows that were already present in the base WKO MAP are not counted in either REGISTERED_* total, even though they appear in the successor WKO MAP. Rows removed because their referenced WKO is missing are represented only by REMOVED_STALE_ROW_COUNT and the corresponding stale-WKO filename list; they are not also reflected in either registered count. The bootstrap repair WKO participates exactly like any other newly discovered structurally valid unregistered WKO. If the repair commits it, that exact WKO must appear in one and only one of the two registered filename lists according to the ordinary alias-ownership rules. These counts therefore answer “what did this repair register?” rather than “how many CURRENT/DEPRECATED rows exist in the resulting registry?”. F-02 Run eligibility and alias authority Run by human-facing alias resolves only to the sole CURRENT WKO for that alias. A registered CURRENT WKO may Run by exact physical WKO filename, subject to ordinary runtime preconditions. A registered DEPRECATED WKO may also Run by exact physical WKO filename, subject to ordinary runtime preconditions, to support deliberate historical reproduction. An unregistered WKO may not Run merely because its file is visible, except for the single bounded repair-only bootstrap in W002-STOR-018.3. The browser may use the current structurally valid WKO MAP to show human-facing Work Order aliases together with read-only CURRENT / DEPRECATED lifecycle state while keeping exact physical WKO filenames visible/inspectable. Future Work Order composition may use the same registry to resolve a non-empty alias to exactly one immutable WKO artifact through its sole CURRENT row. This requirement does not pull deferred Work Order invocation/orchestration grammar into WASM-002; it establishes the governed alias-registry selection, lifecycle, and repair boundary that later composition can depend on. F-08 REPAIR WORK ORDER REGISTRY Work Order structure: SUITCASE: .
WORK ORDER AS ""Repair Work Order Registry""
REPAIR WORK ORDER REGISTRY After the common preamble, REPAIR WORK ORDER REGISTRY is the sole semantic operation clause and is terminal. It takes no analyst-supplied SOURCE , Store MAP , alias-mutation list, column selector, conversion source, or catalog clause. Its bounded unregistered-repair bootstrap remains governed by W002-STOR-018.3. The DS-STEPS phrase is distinct from the Receipt operation token REPAIR_WORK_ORDER_REGISTRY . P2-03 chronology predecessor: for any WKO-registry successor publication, the chronology predecessor is the unique current structurally valid WKO MAP immediately before that publication transaction. It is the MAP selected by the current-registry rule above, not an older registry used for inspection and not a filesystem-modified-time surrogate. If no structurally valid WKO MAP exists and the operation is legitimately establishing the first governed registry state, there is no predecessor UTC. Future-dated current WKO MAP: a structurally valid current WKO MAP whose governed UTC is later than truthful observed host UTC remains the current registry; the timestamp conflict does not by itself make the MAP malformed or repair-required. Successor WKO-MAP publication is blocked until the monotonic UTC precondition can be satisfied. Help must identify the exact blocking WKO MAP and explain the analyst-owned exits: correct an incorrect host clock; wait/rerun after truthful time advances beyond the predecessor; or, when the analyst deliberately determines that the active future-dated WKO MAP should no longer govern the Suitcase, move that exact MAP out of the active Suitcase root and reopen/rescan. That filesystem action is not a Data Sculptor repair operation. It may expose an older structurally valid WKO MAP as current, and restoring the moved future-dated MAP to the active Suitcase may make it current again under the ordinary greatest-UTC rule.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019,Store state is preserved as visible immutable MAP history,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Each valid WASM-002 MAP is one complete immutable Store snapshot in the same flat Suitcase. Store state is not stored in hidden browser persistence and is not represented by a mutable well-known singleton. Each successful Store-establishing materialization or later governed Store-metadata/materialized-column update publishes a new immutable MAP under the canonical __DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv identity grammar. Earlier MAP artifacts remain visible history and are not overwritten or deleted merely because a newer Store state is created. Day 057 CAT reconciliation: the one-Store-per-MAP invariant is unchanged. A collection of independently MAP-governed Stores may additionally be summarized by a governed CAT Store Catalog for collection-level discovery and orientation. CAT does not govern Store semantics, lineage, health, repair, inheritance, or current-MAP selection. MAP remains authoritative for each Store.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.1,A Work Order may explicitly select at most one Store MAP,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Each governed Work Order may explicitly identify at most one valid immutable Store MAP as its Store/inheritance base. If more than one MAP is explicitly specified, Data Sculptor must refuse before Store resolution, alias resolution, materialization, or mutation. An explicitly named valid MAP binds the run to exactly the Store identified by that MAP's rid_filename and overrides automatic Store-MAP discovery even when newer MAPs for that Store or other Stores exist.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.2,"Without an explicit MAP, materialization performs Store-aware MAP inheritance",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"If a materializing Work Order does not explicitly identify a MAP, Data Sculptor must compare the exact Work Order SOURCE filename with the one common exact source_filename carried by every row of each routable Store lineage's structurally valid Store MAP. That common source_filename is the Store lineage's source identity for WASM-002 routing. The redundant ninth Store-source field from the superseded profile is not part of the canonical Store MAP. P3-07 routing term: for automatic source routing, a routable Store lineage is a Store lineage for which at least one structurally valid Store MAP exists, regardless of whether the lineage currently evaluates VALID , DEGRADED , or INVALID . Routing discovery must use this term rather than the ambiguous word eligible . Store health is evaluated only after the lineage has been discovered. If no routable Store lineage exists for the exact source filename, Data Sculptor may establish a new Store with a new RID and first Store MAP only if the active Suitcase contains no structurally malformed Store-MAP-class artifact . If exactly one routable Store lineage exists, Data Sculptor routes to that lineage. If its current state permits materialization, the current governed Store MAP is the inheritance base; if its current state is DEGRADED or INVALID , ordinary materialization refuses under the damaged-lineage rules below. If more than one distinct routable Store lineage exists for the same exact source filename, automatic inheritance must refuse rather than guess which Store the analyst intended. The analyst must explicitly select one permitted MAP. All-Store-MAPs-damaged guard: if exact- SOURCE routing finds no routable Store lineage but one or more structurally malformed Store-MAP-class artifacts are present in the active Suitcase, ordinary materialization must refuse before creating a new Store or RID. Data Sculptor must not infer that the absence of a structurally valid Store MAP proves that no prior Store lineage existed. Help must identify the malformed Store MAP artifact or artifacts that caused this guard. A damaged MAP therefore cannot silently turn Store damage into permission to create a replacement lineage. Store lineages are distinguished by their governed lineage identity. Current-MAP selection and Store-health evaluation are separate governed questions under this requirement and W002-STOR-019.10. If two or more structurally valid current MAP candidates for the one routed Store share the greatest canonical UTC millisecond timestamp, automatic inheritance must refuse rather than infer chronology from UUID, directory order, filesystem modified time, or discovery order. F-03 canonical evaluated Store-health states Store health is evaluated from the current structurally valid Store MAP and the presently visible governed artifacts it references, using the applicable validation tier in W002-STOR-019.10. WASM-002 has exactly three evaluated Store-health states: VALID — the current Store MAP is structurally valid; the referenced RID is valid; and every mapped non-RID COL is valid. DEGRADED — the current Store MAP is structurally valid; the referenced RID is valid; and one or more mapped non-RID COL artifacts are missing or invalid. INVALID — the current Store MAP is structurally valid, but its referenced RID is missing or invalid. There is no fourth ABANDONED Store-health status in WASM-002. F-03 status is evaluated, not persisted VALID , DEGRADED , and INVALID are evaluated states. WASM-002 does not write or maintain a mutable persisted Store-status flag. While a Store evaluates INVALID , Data Sculptor exposes no governed Store-recovery operation for that Store and never regenerates, substitutes, or infers a replacement RID. If the exact governed RID physical identity becomes visible again through analyst-owned external restoration and passes the validation tier required by the next operation, the Store is re-evaluated from the visible governed artifacts and may become VALID or DEGRADED . That is re-evaluation, not RID recovery by Data Sculptor. F-03 strict DEGRADED operation gate When a Store evaluates DEGRADED , REPAIR MAP is the only enabled Store mutation operation for that lineage . ordinary materialization into that Store refuses; extension with new columns refuses; alias mutation refuses; transformations and other Store mutations refuse; read-only Help, Inventory, status/orientation surfaces, CAT orientation, and evidence inspection remain available subject to their own contracts. F-03 no damaged-lineage fork If exact SOURCE routing identifies a lineage whose current Store evaluates DEGRADED , ordinary materialization refuses and directs the analyst to the governed REPAIR MAP path. If the routed Store evaluates INVALID , ordinary materialization refuses and WASM-002 provides no RID-recovery path. Neither condition permits Data Sculptor to treat the source as unseen or establish a replacement Store with a new RID for that routed lineage. Damaged-lineage routing: exact SOURCE routing must not treat a known damaged lineage as unseen merely because its current Store state cannot accept ordinary materialization. If routing identifies a DEGRADED or INVALID lineage, ordinary materialization refuses rather than silently creating a replacement Store for that same routed lineage. Help duty for an all-COLs-broken DEGRADED lineage: when the current structurally valid Store MAP references a valid RID but every mapped non-RID COL is missing or invalid, REPAIR MAP cannot publish a zero-COL successor and must refuse. Help must identify the exact blocked Store lineage and current MAP, then explain these analyst-owned exits: (1) externally restore at least one governed COL artifact under its original physical filename; Data Sculptor then applies the governed validation tier required by the next operation before the artifact can re-enter use, so Store health can be re-evaluated and REPAIR MAP may become available; (2) rename the analyst-owned source and materialize the renamed source to deliberately begin a new Store lineage with a new RID, without repairing, replacing, or erasing the damaged lineage; or (3) retire the damaged lineage from active Suitcase routing by moving all Store MAP artifacts belonging to that lineage out of the Suitcase root. Help must warn that moving only the latest MAP is insufficient because an older structurally valid MAP could otherwise become current. Help duty for an INVALID lineage: when the current structurally valid Store MAP references a missing or invalid RID, Help must identify the exact blocked Store lineage and current MAP, state that WASM-002 does not silently regenerate or substitute a RID as part of ordinary materialization, and explain these analyst-owned exits: (1) externally restore a governed RID artifact under its original physical filename; Data Sculptor then applies the governed validation tier required by the next operation before the artifact can re-enter use, so Store health can be re-evaluated; (2) rename the analyst-owned source and materialize the renamed source to deliberately begin a new Store lineage with a new RID while leaving the damaged lineage untouched; or (3) retire the damaged lineage from active Suitcase routing by moving all Store MAP artifacts belonging to that lineage out of the Suitcase root, again warning that moving only the latest MAP is insufficient. Renaming the source and retiring a lineage are distinct analyst choices. Renaming preserves the damaged lineage in the Suitcase and creates a separate lineage under a different source identity. Moving all lineage MAPs out removes that lineage from active routing while preserving the moved artifacts wherever the analyst chooses to keep them. These are analyst filesystem actions, not new Data Sculptor recovery operations. Assurance boundary: exact source-filename matching in this rule is a Store-routing/orientation mechanism, not proof that an analyst-owned source has identical bytes or row order across separate sessions. Ordinary WASM-002 materialization must not silently represent that filename equality as cryptographic continuity. P3-08 CVT source-identity boundary: a governed CVT is a new immutable source artifact whose Store-routing source identity is its exact physical CVT filename. Two different CVT filenames are different source identities even when both conversions began from analyst-owned files having the same original filename. WASM-002 does not carry the analyst-owned pre-conversion filename forward as hidden Store-lineage identity and does not infer continuity between separate CVT artifacts. First materialization of a CVT therefore establishes or routes only by that exact CVT filename under the normal rules above. P2-03 current Store-MAP chronology: within one routable Store lineage, the current structurally valid Store MAP is the unique structurally valid MAP carrying the greatest canonical UTC millisecond timestamp. If two or more structurally valid MAPs share that greatest timestamp, current authority is ambiguous and selection refuses rather than using UUID or discovery order. This current MAP is also the lineage's chronology predecessor for any new successor publication, even when the operation explicitly derives its requested new state from an older historical MAP. F-15 exact-source comparison and routing domain: the Work Order SOURCE value and each Store MAP's common source_filename are compared by exact Unicode scalar-value sequence under PB-STOR-010, with no case folding or Unicode normalization. Automatic routing compares only routable Store lineages whose structurally valid Store MAPs participate in that exact-source routing decision. Unrelated Suitcase files, non-Store artifact classes, filesystem enumeration order, and arrival order are outside the routing comparison domain and cannot create or remove a source match.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.3,"Any valid historical Store MAP may be selected explicitly with MAP ""<filename>""",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A governed Store-aware Work Order may explicitly identify any one structurally valid immutable Store MAP present in the Suitcase, including an older snapshot when newer MAPs for that Store also exist. The canonical clause is: MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv"" The quoted value must be the exact physical filename of one valid Store MAP. A WKO MAP profile, missing file, malformed MAP, or other MAP profile is invalid for this clause. Data Sculptor uses exactly the named Store MAP rather than silently substituting a later one. For materialization, SOURCE ""..."" remains required to identify the source file being read; the optional MAP ""..."" clause occurs immediately after SOURCE and before KEEP , overrides automatic Store-MAP inheritance, and supplies the exact Store-state base. The Work Order's exact SOURCE filename must match the selected lineage's governed source identity under the frozen source/Store compatibility rules or validation refuses. For an alias-only UPDATE ALIASES Work Order, MAP ""..."" may itself be the Store-state selector and no source-data read is required. Historical-MAP health gate. Explicit selection of a current or historical Store MAP never bypasses current Store-lineage health. The selected lineage must currently evaluate VALID , and every RID/COL binding referenced by the named MAP must currently be present and valid. If either condition fails, Data Sculptor refuses the operation. An older MAP cannot be used to hide present lineage damage. The same rule applies when UPDATE ALIASES uses a historical Store MAP as its base. Once selected, the exact MAP identity, Store RID binding, Store alias, RID alias, and materialized-column mapping state remain fixed for the governed run. The MAP filename is execution input, not a friendly alias. P2-03 base-versus-predecessor distinction: an explicitly selected historical MAP is the operation's base MAP —the Store snapshot from which requested new state is derived. It does not become the chronology predecessor merely because it was selected. If the operation publishes a new Store MAP, the chronology predecessor remains the Store lineage's current structurally valid MAP immediately before publication. The new transaction UTC must be strictly greater than that current MAP UTC. This preserves one chronological MAP history rather than creating a branch from the historical base. F-21 current-state consequence: merely selecting or validating a historical Store MAP does not change Store authority. If the governed run refuses or otherwise publishes no successor Store MAP, the lineage's pre-run current MAP remains current. If the run successfully publishes a successor derived from a historical base, that new MAP enters the same single chronological history and ordinary greatest-governed-UTC current-state selection applies. Because successor publication already requires a truthful transaction UTC strictly greater than the pre-publication chronology predecessor, the successfully published successor becomes current. The explicitly selected historical base and the formerly current MAP both remain immutable historical evidence. This behavior is deliberate state derivation, not a branch, rollback-in-place, overwrite, or mutation of prior MAPs. The operation base records which Store snapshot supplied the requested starting state ; chronology records when the new governed state was published . Those are distinct facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.4,"Store MAPs are complete snapshots, not delta logs",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Each valid Store MAP represents one complete usable Store metadata and materialized-column mapping state for that version. It must not require replaying a chain of earlier MAP files merely to reconstruct the Store's current RID binding, aliases, or materialized-column mappings. A newer MAP created from an inherited older MAP contains the complete resulting Store snapshot after applying the governed Work Order's successful changes.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.5,Materialization or governed Store metadata mutation emits one successor MAP,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When a governed Work Order materializes one or more columns or requests governed Store/RID/COL alias changes, Data Sculptor begins from the applicable governed Store-state base. Ordinary materialization uses the explicitly selected MAP or Store-aware automatic inheritance under W002-STOR-019.2. A new Store begins from newly established Store/RID metadata plus an empty materialized-column mapping set before requested materialization is applied. All successful updates in that Work Order are applied to one in-memory complete Store snapshot. The complete deterministic successor-MAP bytes must first be written under a governed SCR candidate identity, closed successfully, reopened, and fully validated while still an SCR candidate. Only a complete validated candidate may be promoted by host rename into one new immutable MAP artifact. The inherited MAP remains unchanged. The successful SCR -to- MAP rename is the Store-state commit point. A failed run must not create a valid successor MAP; a malformed, incomplete, or unpromoted MAP candidate remains visible non-authoritative SCR evidence rather than Store state. RID reconstruction/replacement is not a WASM-002 Store-mutation path. P2-03 successor publication precondition: before any final RID/COL/MAP promotion for a successor Store-state transaction, Data Sculptor identifies the lineage's chronology predecessor and establishes one truthful observed host transaction UTC. For an existing lineage, that UTC must be strictly greater than the current structurally valid Store MAP UTC, regardless of whether the Work Order's base MAP is current or historical. Equal or earlier observed UTC refuses publication; no artificial +1 ms , sleep-and-retry loop, UUID tie-break, older-predecessor fallback, or branch chronology is permitted. The chronology predecessor remains current and unchanged. Future-dated current Store MAP: a structurally valid current MAP with a governed UTC later than truthful observed host UTC is a clock-order conflict, not by itself Store corruption. It remains current and successor publication is blocked. Help must identify the exact blocking MAP and explain the analyst-owned exits: correct an incorrect host clock; wait/rerun after truthful time advances beyond the predecessor; or deliberately move that exact future-dated current Store MAP out of the active Suitcase root and reopen/rescan. Moving it is an analyst filesystem action, not a governed Data Sculptor mutation. An older structurally valid MAP may then become current; returning the future-dated MAP may restore its authority under the ordinary greatest-UTC rule. F-13 single-writer pre-commit guard: immediately before the final successor Store-MAP promotion, Data Sculptor re-resolves the relevant current Store authority and exact-source routing state on which the transaction depended. For an existing lineage, the current chronology predecessor must still be the authority against which the transaction was prepared; for a new-Store transaction, no newly established routable lineage may have appeared that changes the routing decision. If relevant governed state changed while the transaction was in flight, publication refuses. Data Sculptor must not overwrite the newer authority, silently rebase onto it, create a competing branch, or report success. Any RID/COL/candidate artifacts already produced are handled by the existing rollback / attributable recovery-evidence rules and do not become committed Store membership without the final valid MAP binding. F-21 historical-base publication rule: when the applicable Store-state base is a valid historical MAP rather than the pre-run current MAP, the complete successor snapshot is still derived from that explicitly selected base plus the current Work Order's requested changes. Publication does not silently merge later state from the formerly current MAP back into the successor. Therefore mappings or aliases introduced only after the selected historical base may be absent from the new successor when the requested operation does not recreate them. That is the deliberate consequence of using the historical base, not data loss caused by an implicit merge. The pre-run current MAP remains the chronology predecessor solely for monotonic publication ordering and stale-authority protection. Successful publication leaves both the historical base and the formerly current MAP byte-for-byte unchanged, publishes one new immutable successor MAP in the same lineage, and makes that successor current under the ordinary chronology rule. No branch identifier, hidden branch state, overwrite, in-place rollback, or automatic rebase is created.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.6,Store MAP CSV schema is exactly eight columns,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 Store MAP is a CSV whose header row is exactly: store_alias,rid_filename,rid_alias,source_filename,source_column_number,source_header,alias,column_filename Each data row describes one current logical materialized-column mapping: store_alias — current human-facing Store name; rid_filename — exact immutable governed RID artifact filename that physically anchors this Store lineage; rid_alias — current human-facing RID name; source_filename — exact visible source filename common to every row in this one-Store MAP and therefore the Store source identity; source_column_number — 1-based source-column ordinal; source_header — exact decoded CSV header value after governed parsing; alias — current human-facing COL name; and column_filename — exact physical governed COL artifact filename represented by the row. Every row in one valid Store MAP must carry the same exact rid_filename and the same exact source_filename . A MAP that mixes RID lineages or source filenames is invalid. The logical source-column key for COL alias continuity remains the exact triple (source_filename, source_column_number, source_header) . The Store is physically identified by the repeated exact rid_filename , not by mutable aliases. F-05/P2-01 reconciliation: the superseded redundant Store-source column is removed. One Store MAP represents exactly one Store lineage and exactly one source identity, so the common source_filename supplies the required source identity without a second Store-source field. P3-06 identity-evidence boundary: this eight-column MAP profile intentionally records governed physical filenames and mapping metadata, not per-artifact byte lengths, row counts, digests, or historical-content fingerprints. A MAP therefore cannot prove that a same-named RID or COL restored later is byte-for-byte identical to the earlier artifact. WASM-002 must not make that claim unless separate authoritative fingerprint evidence exists outside this MAP profile. P2-04 schema consequence: no byte-length, RID- N , digest, or per-artifact fingerprint columns are added to the eight-column Store MAP to close restoration validation. The MAP remains compact relationship/state metadata. Stronger byte-identity assurance remains the responsibility of explicit fingerprint evidence outside ordinary WASM-002 Store governance.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.7,Source headers become default COL aliases on first materialization,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When a logical source column is materialized and its exact logical key does not already exist in the inherited Store MAP, its default COL alias is its operational column name . For an exact decoded source_header of at most 1,024 Unicode scalar values, the operational name is that exact header text. For an exact decoded source_header longer than 1,024 scalar values, the operational name begins as Column <LETTERS> from the column's 1-based physical source ordinal (for example Column A , Column Z , Column AA , through Column XFD ). The exact source_header remains unchanged in the Store MAP and physical COL header; the operational name exists only to provide a bounded human-facing/default-alias value. HEADER selection continues to match the exact decoded source header under W002-STEPS-002. If an oversized-header base fallback Column <LETTERS> would collide in the complete successor alias namespace, Data Sculptor deterministically tries Column <LETTERS> [<ordinal>] ; if that also collides, it appends -2 , -3 , and so on until the first available exact value is found. This is the only automatic alias-suffix rule in WASM-002. A short exact source-header default that is empty or collides still refuses unless the Work Order supplies an explicit valid alias; Data Sculptor must not suffix or rewrite it. If the same Work Order supplies an explicit alias for a newly materialized column, the explicit governed alias overrides the operational default and must pass the ordinary exact uniqueness/shadowing rules without automatic suffix repair. For a previously materialized COL, RESET COL ""<reference>"" ALIAS restores this same deterministic operational default from the exact recorded source_header and physical source ordinal. An oversized recorded header therefore restores its deterministic fallback/disambiguated operational name rather than inserting the potentially very long exact header into the alias field. A short empty/colliding source-header default still refuses rather than inventing a substitute.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.8,"Ordinary rematerialization preserves Store metadata, inherited RID, and inherited COL alias",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"If a newly materialized column's exact logical key already exists in the inherited Store MAP, Data Sculptor must preserve that row's current COL alias unless the Work Order explicitly changes it. The successor MAP replaces only that logical row's column_filename with the newly created physical COL artifact filename. Ordinary rematerialization must preserve the inherited Store's exact common source_filename and rid_filename . It must not silently create a different Store, replace the Store RID, revert a user-facing Store/RID alias, or revert a COL alias to its source header. Every row in the successor MAP continues to carry that same common Store source_filename . WASM-002 has no executable operation that replaces rid_filename while preserving the same Store lineage. A different RID filename therefore cannot be introduced as ordinary successor-state continuity in this build.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.9,Store MAP serialization is deterministic UTF-8 CSV,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Store MAP CSV files are encoded as UTF-8 without BOM and use LF ( 0x0A ) record termination. The exact eight-field header in W002-STOR-019.6 is written once as the first row. Fields use standard CSV quoting semantics: a field containing comma, double quote, CR, or LF is enclosed in double quotes, and embedded double quotes are doubled. No locale-dependent formatting is permitted. Every data row in one MAP must contain byte-for-byte identical values for store_alias , rid_filename , rid_alias , and source_filename . Mapping rows are written deterministically by ascending numeric source_column_number , then ascending UTF-8 byte order of source_header . Because one valid Store MAP has exactly one common source_filename , that field is not needed as a leading row-sort discriminator. Two rows with the same logical source-column key (source_filename, source_column_number, source_header) are invalid.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.10,Only a complete validated Store MAP is eligible for inheritance,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A canonical MAP filename alone does not make a file a structurally valid Store MAP. For Store-MAP structural validity , the MAP artifact itself must be readable as complete UTF-8, have the exact eight-column schema, parse deterministically, satisfy Store-level consistency, lineage, deterministic row-order, mapping-key, and alias constraints, and carry structurally valid governed RID/COL filename bindings. The present health of the referenced RID/COL artifacts is a separate question and does not determine whether the MAP itself is structurally valid. A Store MAP remains part of governed Store history when its own bytes, schema, lineage facts, and deterministic structural rules are valid even if a referenced RID or COL later becomes missing or invalid. Referenced-artifact damage therefore does not make the current structurally valid Store MAP disappear and does not by itself cause fallback to an older MAP. F-03 current Store MAP selection Current-state selection is performed independently within one exact Store lineage. Only structurally valid Store MAP artifacts participate. Among those MAPs, the ordinary frozen chronology rule selects the unique structurally valid MAP with the greatest canonical UTC millisecond timestamp. A structurally malformed newer MAP is never current. If a newer canonical MAP artifact is structurally malformed, Data Sculptor uses the greatest earlier structurally valid Store MAP in that same lineage, if one exists, and reports the malformed newer artifact through governed Help/evidence surfaces. This fallback applies to structural MAP invalidity only. It does not apply merely because a structurally valid current MAP references a damaged RID or COL. If two or more structurally valid MAPs share the greatest canonical UTC millisecond timestamp, current authority is ambiguous and selection refuses rather than breaking the tie by UUID, discovery order, directory order, or filesystem modified time. P3-07 routing distinction: Store-MAP inheritance eligibility is stricter than lineage discovery. A Store lineage participates in exact- SOURCE routing when at least one Store MAP in that lineage is structurally valid, even if the current Store later evaluates DEGRADED or INVALID . Referenced RID/COL health is evaluated after routing and may cause refusal; it must not make an already discoverable lineage disappear. For successor publication, after the required RID/COL physical promotions have succeeded, Data Sculptor uses the already-established publication-transaction UTC and allocates a MAP-specific UUID before opening the complete deterministic MAP CSV under its governed SCR candidate identity. The SCR filename therefore already carries the exact UTC, UUID, and .csv extension intended for the final MAP identity. The candidate is closed successfully, reopened, and validated for bytes, schema, Store-level consistency, aliases, RID binding, COL bindings, deterministic row order, and all other MAP eligibility rules while it remains SCR . Only after that validation succeeds may Data Sculptor promote the candidate by host rename that changes only the three-letter semantic class token from SCR to MAP . The candidate bytes, UTC, UUID, and extension must remain unchanged across promotion. The successful rename is the publication/commit point. If validation or rename fails, no successor MAP becomes eligible/current; the candidate remains or is retained as visible non-authoritative SCR evidence. Store-aware automatic selection therefore continues to use the greatest earlier valid MAP in the same Store lineage, if one exists, while Help reports the failed candidate/publication rather than silently treating it as current state. P3-06 governed artifact-validation tiers. Store-health status and full content validity are distinct assurances. The following two tiers are normative for WASM-002: Tier 1 — Store-health structural validation. Used for routine Store status, source routing, historical-MAP health gates, inheritance decisions that do not consume analytical artifact contents, and alias-only maintenance. The selected Store MAP itself is fully parsed and structurally validated because it is the compact authority for the snapshot. A referenced RID passes Tier 1 only when the exact MAP-bound governed RID filename is present and readable, the bytes begin with exactly one UTF-8 BOM, the first logical record is a canonical N=<value> header, the final byte is LF, and the physical byte length equals the deterministic length implied by the canonical RID representation for that declared N . Tier 1 does not rescan every RID data record merely to perform routine status or alias work. A referenced COL passes Tier 1 only when the exact MAP-bound governed COL filename is present and readable, begins with exactly one UTF-8 BOM, exposes the canonical one-column CSV header whose decoded value exactly equals the MAP row's recorded source_header , and ends with LF. Tier 1 does not stream every COL value merely to establish routine Store health. Tier 2 — full artifact validation. Used whenever an operation actually consumes RID/COL contents, for complete validation of newly created candidates before commit, and by REPAIR MAP after the repair operation has been validly entered. A RID passes Tier 2 only when a full stream proves the canonical N=<value> header, exactly N data records, and exact ordered values 1..N . A COL passes Tier 2 only when a full stream proves canonical one-column CSV encoding/serialization, the exact expected header, and exactly N logical data records aligned to the Store RID. VALID , DEGRADED , and INVALID are Store-health states evaluated from the governed current snapshot using the required validation tier; they are not claims of cryptographic historical identity. When REPAIR MAP is validly invoked, it must perform Tier 2 validation of the RID and every mapped COL that would survive into the successor. The deterministic repair result removes exactly the mapped COL bindings that fail that Tier 2 check, subject to the separately frozen refusal when no mapped COL would remain. Two implementations presented with the same bytes must therefore identify the same repair set. External restoration boundary: a file placed back under an original governed RID/COL physical filename may re-enter use only when it passes the validation tier required by the operation. Filename equality plus governed validation is sufficient for operation eligibility under this WASM-002 boundary; it is not proof that the restored bytes are the historical original bytes. Stronger historical-byte identity requires separate authoritative fingerprint evidence. P3-10 terminology boundary: Store-state repair is REPAIR MAP . Work Order alias-registry repair is REPAIR WORK ORDER REGISTRY . These are distinct governed operations and the integrated specification must not describe a Store REPAIR MAP Work Order as a “registry-repair Work Order.” This corrects wording only; it does not change either operation's frozen semantics. F-08 / F-03 REPAIR MAP Work Order structure and target precondition: SUITCASE: .
WORK ORDER AS ""Repair Crime Store""
MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv""
REPAIR MAP Exactly one MAP ""<filename>"" clause is mandatory. It names the exact physical filename of one structurally valid Store MAP. At Run time, that named MAP must be the current structurally valid Store MAP for exactly one lineage and the target Store must currently evaluate DEGRADED . A historical Store MAP, WKO MAP, missing MAP, malformed MAP, ambiguous equal-latest current state, MAP from an unsupported profile, or target Store that does not evaluate DEGRADED refuses. No SOURCE , Store/RID/COL alias selector or mutation, KEEP , materialization, conversion, Inventory, registry repair, cataloging, or composition clause is supplied in the same WKO. The analyst selects the Store by exact current Store MAP identity; Data Sculptor determines which mapped non-RID COL bindings are broken. The terminal DS-STEPS clause is REPAIR MAP ; the Receipt operation token is separately REPAIR_MAP . P2-03 monotonic eligibility boundary: structural validity/eligibility and chronology are separate. A structurally valid future-dated Store MAP remains a structurally valid MAP and participates in current-state selection. It is not demoted merely because the host clock is presently earlier. The monotonic guard applies when publishing a successor: truthful observed transaction UTC must be strictly greater than the chronology predecessor UTC before any successor state may commit. P2-04 closure — validation depth is now complete. The Tier-1/Tier-2 rules in this requirement are the complete WASM-002 oracle for deciding whether a MAP-bound RID/COL is sufficiently valid for the operation being attempted. Tier 1 is intentionally bounded and is used only by operations that do not consume RID/COL analytical contents. Tier 2 is a full streaming validation and is mandatory before an operation relies on RID/COL contents, for newly created candidates before commit, and for REPAIR MAP . REPAIR MAP determinism. Once a valid REPAIR MAP operation is entered, Data Sculptor performs Tier 2 on the Store RID and on every mapped COL. The repair successor removes exactly those mapped COL bindings whose physical COL artifacts fail Tier 2, preserves exactly those that pass Tier 2, and still refuses if zero mapped COL bindings would remain. No shallower Tier-1 result may decide the repair set. F-03 repair semantics: after target validation, Data Sculptor confirms the named MAP is current for exactly one Store lineage, confirms the referenced RID is valid, identifies every mapped non-RID COL that is missing or invalid under the required repair validation tier, preserves every valid COL binding unchanged, removes exactly the broken COL bindings from the successor candidate, preserves the exact Store lineage RID identity and remaining Store/RID metadata, validates the complete successor MAP candidate, and publishes the successor only if every repair gate succeeds. REPAIR MAP does not reread or regenerate the source CSV, rematerialize a lost COL, regenerate the RID, or edit the predecessor MAP in place. F-03 all-COLs-broken refusal: if removing the broken bindings would leave zero COL mapping rows, REPAIR MAP refuses. No zero-COL Store MAP is introduced, no special anchor row is invented, no successor MAP is published, and the Store remains DEGRADED . The existing current structurally valid MAP and RID continue to anchor the visible lineage. Identity boundary. Passing Tier 1 or Tier 2 proves only that the currently visible file under the exact governed filename satisfies the applicable WASM-002 validation contract. It does not prove that those bytes are historically identical to bytes previously present under that filename. Cryptographic historical-byte identity belongs to separately governed fingerprint evidence rather than ordinary Store health. F-15 reference-bounded eligibility: Store-MAP structural validity and inheritance eligibility are determined from the MAP artifact itself plus the governed artifacts and values that the MAP explicitly binds or that its profile explicitly requires for the validation tier being applied. Unrelated Suitcase files, unrelated Store lineages, WKOs, Receipts, Inventories, CAT/HLP/CER artifacts, analyst-owned files, directory enumeration order, and unrelated-file count cannot by their mere presence or later appearance make an already-published Store MAP eligible or ineligible. Alias-shadowing validation is a successor-publication check under W002-STOR-020; it is not a continuing ambient scan that retroactively invalidates historical MAPs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.11,The MAP-bound RID filename is the stable physical Store identity anchor in WASM-002,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"For WASM-002, Data Sculptor does not allocate a second permanent Store UUID in addition to governed RID/MAP evidence. The exact governed rid_filename created when the Store is established is the stable physical anchor used to distinguish that Store's MAP lineage from other Stores in the same Suitcase, and every ordinary successor MAP repeats it exactly. Within any one MAP, every row must repeat the same exact current rid_filename ; disagreement is invalid. Across WASM-002 successor MAPs, a different RID filename denotes a different Store row universe and must not be silently treated as same-Store continuation. A later PRD revision may define an explicit governed recovery transition if Red5Sorcery chooses to support replacement of a damaged RID while preserving logical continuity. No such transition is executable in WASM-002.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.12,First Store MAP has deterministic Store and RID aliases,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When the first successful materialization establishes a Store, its first Store MAP must initialize store_alias to the exact common source_filename and rid_alias to the literal RID . Those are the deterministic Store and RID default aliases. A later alias-only Work Order may replace them with STORE AS ""<alias>"" and RID AS ""<alias>"" , clear them with CLEAR STORE ALIAS / CLEAR RID ALIAS , or restore these defaults with RESET STORE ALIAS / RESET RID ALIAS under W002-WKO-012.1 through W002-WKO-012.6. None of those operations changes the common source_filename , rid_filename , RID bytes, COL bytes, or prior MAP history.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-001,CAT is the governed collection-level Store Catalog artifact,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"WASM-002 shall define CAT as a governed Data Sculptor artifact class for cataloging a collection of CSV Stores inside one active Suitcase. CAT exists to let an analyst orient across many independently governed Stores without opening every MAP individually. The scaling invariant is: MAP governs locally; CAT orients globally. CAT is an index over governed Store state, not a replacement for MAP and not a second Store authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-002,CAT may reference many Stores while every MAP still governs exactly one Store,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"A CAT may contain entries for many Store lineages in the active Suitcase. Every MAP referenced by CAT still governs exactly one Store lineage under the frozen one-Store-per-MAP rule. CAT must not combine multiple Stores into one MAP, synthesize a shared Store state, or centralize Store semantics that remain governed independently by each Store's MAP lineage.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-003,CAT has one governed CSV representation and immutable snapshot identity,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The WASM-002 Store Catalog has one durable representation: UTF-8 CSV. WASM-002 shall not emit separate HTML and CSV companion CAT artifacts for one catalog snapshot. Each successful catalog publication creates one immutable governed artifact named exactly __DS__CAT__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv . A later catalog run publishes a new CAT snapshot; earlier CAT artifacts remain visible history and are not overwritten or deleted merely because a newer snapshot exists. For orientation, the directory may identify the newest structurally valid CAT snapshot by the canonical UTC token. If two or more structurally valid CAT artifacts share the greatest canonical UTC timestamp, the UI must not invent chronology from UUID, discovery order, or filesystem modified time; it must surface the ambiguity and may present the tied CAT artifacts together until a later governed catalog run publishes an unambiguous newer snapshot. F-14 publication: CAT is first written as __DS__SCR__<UTC>__<UUID>.csv using the UTC/UUID intended for the final CAT. The complete candidate must close, reopen, and validate the exact five-column schema, deterministic row ordering, row count and CSV serialization before the class token may be renamed to CAT . A failed candidate remains SCR/non-authoritative and must not be selected as a catalog snapshot.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-004,CAT CSV schema and row order are exact and deterministic,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The canonical CAT header row is exactly: store_alias,source_filename,rid_filename,map_filename,store_health Each data row describes one routable Store lineage using values derived from the authoritative current structurally valid Store MAP selected under the existing Store rules: store_alias — current human-facing Store identity; source_filename — the one common exact source filename carried by that Store MAP and used for Store routing; rid_filename — exact immutable governed RID filename that physically identifies the Store lineage; map_filename — exact current structurally valid Store MAP used to derive the row; and store_health — the Store health evaluated during this CATALOG STORES run, exactly one of VALID , DEGRADED , or INVALID . store_health is snapshot orientation metadata, not MAP health and not an independent health authority. If the Suitcase later changes, an older CAT row continues to report the health value observed when that CAT was created. CAT rows are sorted by ascending exact UTF-8 bytes of map_filename . The header is not part of that ordering.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-005,CAT is reconstructible and never becomes Store authority,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"CAT shall be reconstructible from authoritative Store MAP artifacts and the governed Store-health evaluation applied when CATALOG STORES runs. CAT must never be consulted to decide Store routing, inheritance, Store health, repair eligibility, current MAP selection, RID/COL validity, or whether a new Store may be established. If a CAT row conflicts with authoritative MAP/Store state, current governed state wins and the CAT is stale/inconsistent. A stale CAT remains an inspectable historical governed artifact but must not be treated as current Store truth. CAT is not automatically updated by materialization, repair, alias change, or any other Store-changing operation. The analyst creates a fresh catalog explicitly by running a new CATALOG STORES Work Order; success publishes a new immutable CAT snapshot and leaves earlier CAT snapshots visible history.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-006,CATALOG STORES is the standalone governed Work Order operation,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 Work Order form is: SUITCASE: .
WORK ORDER AS ""Catalog Stores""
CATALOG STORES CATALOG STORES is one standalone top-level operation. It is initiated only by an explicit analyst Work Order. No materialization, repair, alias update, conversion, or other governed operation automatically creates, rewrites, or refreshes CAT. The operation scans authoritative governed Store MAP state, evaluates each cataloged Store's current health, and publishes one CAT snapshot plus the normal canonical Receipt. It does not mutate any Store or MAP. It must not also request materialization, conversion, alias mutation, repair, Inventory, Work Order composition, or another consequential operation in the same WKO. The canonical Receipt operation token is CATALOG_STORES .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-007,CATALOG STORES derives one row per routable Store lineage from authoritative MAP state,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The catalog scan shall identify every routable Store lineage using the same structurally-valid-MAP routing definition already frozen for WASM-002. For each routable lineage, Data Sculptor evaluates current Store health exactly under W002-STOR-019.2, using the current structurally valid Store MAP selected under W002-STOR-019.10 and the applicable validation tier, and records exactly one of VALID , DEGRADED , or INVALID . Catalog presence is orientation, not permission to perform another operation. Exactly one CAT row is emitted for each routable Store lineage, derived from that lineage's authoritative current structurally valid Store MAP and the Store-health result observed during this catalog run. If the complete authoritative collection state cannot be determined unambiguously, the operation must refuse rather than publish a knowingly incomplete or guessed CAT. CATALOG STORES is read-only with respect to all pre-existing Store, RID, COL, MAP, source, WKO, and other Suitcase artifacts. It does not repair or mutate them.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-008,CAT publication is all-or-refuse and historical CAT snapshots remain visible,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"After the complete deterministic CAT row set is established, publication follows the governed all-or-refuse artifact path: write the candidate under governed scratch, close and reopen it, validate its exact filename, UTF-8/LF CSV structure, exact header, deterministic row count/order, and row references, then promote the final CAT artifact. The CAT is not successfully published until final promotion succeeds. A publication refusal leaves prior CAT snapshots and all Store/MAP state unchanged. The Receipt records whether the catalog entry count was established and whether a final CAT filename was published.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-001,CAT and MAP discovery reuse the existing Suitcase Directory,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,WASM-002 shall reuse the existing Data Sculptor Suitcase Directory for CAT and MAP discovery and inspection. A separate CAT/MAP browser panel shall not be added.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-002,CAT and MAP artifacts are first-ranked in the existing directory,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The newest unambiguous structurally valid CAT snapshot, or any tied newest CAT candidates when chronology is ambiguous, and all Store MAP artifacts shall be surfaced prominently at the top of the existing Suitcase Directory ahead of ordinary Suitcase files. The presentation may be pinned, grouped, or otherwise first-ranked, provided the priority is obvious and deterministic.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-003,CAT and MAP contents are immediately viewable from the existing HTML UI,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,The analyst shall be able to select a visible CAT or MAP entry and inspect its contents through the existing read-only HTML UI without first locating or opening the artifact through the operating-system file browser.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-004,CAT/MAP prominence preserves ordinary read-only Suitcase filtering,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The Suitcase Directory may continue to provide read-only filtered views of other Suitcase files. CAT/MAP prominence must not remove, replace, or weaken the existing ability to inspect the rest of the flat Suitcase.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-005,Directory browsing and inspection do not require a Work Order,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"Browsing, sorting, UI filtering, selecting, opening, and viewing Suitcase files are read-only inspection actions and shall not require a Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-006,Read-only directory filtering is not governed SEARCH,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"Read-only UI filtering is not the same operation as governed SEARCH . Governed SEARCH, ZIP creation, metadata changes, repairs, CAT regeneration, and every other consequential state change remain subject to the applicable Work Order and Receipt discipline.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-007,"The directory cannot mutate CAT, MAP, Store, or Suitcase state",W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The Suitcase Directory shall not edit, rename, delete, repair, replace, regenerate, or otherwise mutate CAT, MAP, Store, or Suitcase state through direct GUI manipulation. Consequential changes occur only through explicit governed operations or analyst-owned filesystem actions already permitted by the canonical contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-008,The CAT/MAP directory view must remain practical at large collection scale,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The CAT/MAP presentation shall make collections containing dozens or hundreds of Stores practical to inspect. An analyst must be able to understand what Stores exist, which current MAP describes each Store, and which source file each Store governs without manually opening every MAP artifact through the operating-system file browser.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-ACC-001,CAT acceptance proves collection-scale orientation without centralizing Store authority,W002-CAT-ACC,W002-CAT,WASM-002,UNDER REVIEW,—,"Acceptance must include a MusicBrainz-scale fixture containing 177 routable CSV Store lineages, each with its own authoritative current Store MAP. One explicit analyst-run CATALOG STORES Work Order must publish exactly one CAT snapshot containing exactly 177 data rows under the frozen five-column schema store_alias,source_filename,rid_filename,map_filename,store_health and deterministic MAP-filename ordering. The fixture must include Stores that evaluate VALID , DEGRADED , and INVALID while retaining structurally valid current MAPs, and the CAT must record the exact health observed for each Store when the catalog run occurs. The CAT must not expose a separate MAP-health field. The existing Suitcase Directory must surface CAT and MAP artifacts ahead of ordinary files; the analyst must be able to open CAT, inspect the collection, select and view MAP artifacts, sort/filter the directory, and inspect other Suitcase files without a Work Order. No direct GUI mutation path may be exposed. Acceptance must alter authoritative MAP/Store state after the first CAT publication and prove that the earlier CAT is neither rewritten nor automatically refreshed. It remains visible and becomes stale/inconsistent where appropriate. Only a later explicit CATALOG STORES Work Order may reconstruct the collection and publish a new immutable CAT snapshot. The linked WASM-003 DIR behavior remains outside the WASM-002 implementation scope: later DIR requirements auto-populate human-readable CAT/MAP descriptions, but those descriptions never become authority over CAT, MAP, or Store semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-020,"Store, RID, and COL aliases remain human-facing metadata separate from physical identity",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Aliases are governed human-facing metadata. Creating, changing, clearing, or replacing an alias must not rename or rewrite the underlying artifact. Within one Store MAP, every non-empty COL alias and the non-empty rid_alias must be unambiguous within the row-addressable artifact alias namespace under the exact Unicode scalar-value comparison rule in PB-STOR-010. F-15 publication-time shadowing boundary: alias uniqueness and physical-name shadowing are validated when a candidate successor Store MAP is being published, against the comparison domain applicable to that one Store snapshot and the then-visible governed physical targets it makes row-addressable. If an alias would exactly collide with another addressable alias or physical filename in that publication domain, publication refuses. After a Store MAP has been validly published, the later appearance, disappearance, rename, or copying-in of an unrelated Suitcase file does not retroactively make that immutable MAP structurally invalid or ineligible. A later textual reference can still become ambiguous at resolution time under W002-STOR-021; that ambiguity causes the later operation to refuse rather than changing the historical MAP's validity. The store_alias names the Store as a whole and is separate from the field/COL alias namespace. Alias mutation occurs through a governed Work Order, not through an editable GUI field. Exact cross-Store Store-alias uniqueness and future selection-by-Store-alias syntax remain outside this freeze.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-021,Work Order resolution binds one exact Store MAP and physical targets,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A saved Work Order may refer to governed materialized columns by exact physical filename or by a unique COL alias from one selected Store MAP. The canonical explicit Store-MAP selector is MAP ""<exact Store MAP filename>"" under W002-STOR-019.3 and W002-WKO-012.3. If that clause is present and valid, exactly that Store snapshot is used. Otherwise Data Sculptor applies the Store-aware source-qualified selection rule in W002-STOR-019.2. All textual physical-filename and COL-alias comparisons in this resolution step use exact Unicode scalar-value sequence equality under PB-STOR-010: no case folding, Unicode normalization, trimming, locale equivalence, or filesystem enumeration heuristic is permitted. Resolution is bounded to the selected Store snapshot and the physical targets/aliases that are addressable through that snapshot. If the supplied text has no exact target, resolution refuses. If it has more than one exact possible target in that domain—for example because a currently visible physical filename and a current alias are both exact matches—resolution also refuses. Data Sculptor must not choose filename over alias, alias over filename, first-found entry, directory order, modified time, UUID, or any other tie-break heuristic. Before execution, Data Sculptor must record the exact physical Store MAP identity when one is used, bind the run to its exact rid_filename , and resolve aliases deterministically to physical COL artifacts. The selected Store MAP must remain fixed for the run even if a newer MAP is created during that same run. This protects Store/selection continuity but does not by itself claim that bytes stored under an analyst-owned source filename are cryptographically identical across different runs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022,Each successful Suitcase validation publishes one retained governed CER HTML certificate,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A selected directory becomes a validated Suitcase only when Data Sculptor successfully creates, completely writes, and closes one governed CER HTML Suitcase Validation Certificate in that directory. The certificate itself is the validation artifact and remains visible in the flat Suitcase as durable evidence. No validation-only delete or rename is required. Failure to create, completely write, or close the certificate means the directory has not passed Suitcase validation and analytical execution remains locked. F-14 CER exception: the CER is deliberately not staged as SCR . Suitcase validation is specifically the direct create/write/close test of the final canonical CER identity in the selected directory. Inserting an SCR-to-CER rename would test a different publication path and is therefore forbidden for this validation step. A successful CER does not pre-certify later SCR-to-final renames for other artifact classes. F-24 CER lifecycle: every successful explicit Suitcase selection and validation publishes exactly one fresh immutable CER with a new governed UTC+UUID identity. Data Sculptor must not satisfy a new validation event by reusing an earlier CER. Every prior valid CER remains a standalone historical artifact under its original governed filename and exact bytes. WASM-002 performs no automatic CER deletion, replacement, compaction, or CER-history ZIP packaging. Historical CERs are not housekeeping candidates merely because a newer CER exists. Any later archival or packaging capability must be separately governed and explicitly invoked; it is not part of the WASM-002 validation lifecycle.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022.1,Suitcase Validation Certificate physical identity and longest-name path gate,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The exact certificate filename is __DS__CER__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html , using the canonical UTC millisecond token and canonical lowercase hyphenated UUID v4. Data Sculptor chooses the filename; the analyst does not supply or edit it. The CER create/write/close test begins only after the browser host has satisfied the required user-selected writable-directory capability in W002-PLAT-001. A browser that cannot expose that capability produces a host-capability refusal before folder validation; that condition is not evidence that any particular directory is unwritable or filename-incompatible. WASM-002 path/filename acceptance must derive the maximum filename length from every governed final-artifact filename form and every governed SCR staging form that this build can actually emit. Under the current contract, the maximum is 73 ASCII bytes/characters : the governed .html CER/HLP final forms and an SCR candidate reserved for a .html final artifact have that length. The canonical CER filename therefore exercises the current maximum emitted filename length during the create/write/close validation test. On a supported host, successful create/write/close of this canonical governed HTML filename is the WASM-002 folder filename/path compatibility test for the current emitted-name maximum. Data Sculptor does not maintain a product-level table of operating-system numeric path maxima and must not truncate, abbreviate, hash-shorten, or otherwise mutate a governed filename to fit a host path limitation. If the certificate cannot be created under its canonical name after a directory has actually been selected through the supported-host contract, the selected directory does not pass validation. If a future PRD revision introduces an emitted final or staging filename longer than the current CER/HLP/SCR-HTML maximum, acceptance must detect that change and explicitly exercise the new maximum before the build may rely on this path-compatibility claim.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022.2,Suitcase Validation Certificate semantic content,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The HTML certificate uses the canonical built-in Data Sculptor presentation and must visibly contain, at minimum: SUITCASE VALIDATION CERTIFICATE RESULT: PASS SUITCASE: . UTC: <canonical certificate UTC> UUID: <certificate UUID> ARTIFACT: <full governed certificate filename> TEST: CREATE_WRITE_CLOSE It must state that Data Sculptor successfully created, completely wrote, and closed this governed HTML certificate in the selected Suitcase. It must state that this establishes that the selected directory was writable by Data Sculptor at the recorded UTC and accepted the governed artifact filename used for the certificate. It must also state that the certificate does not certify available disk capacity, guarantee success of future analytical operations, or certify later SCR -to-final-class publication/rename operations. The semantic record uses SUITCASE: . and must not persist an absolute machine-specific path merely to prove validation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022.3,Suitcase Validation Certificate uses the canonical built-in presentation in WASM-002,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The certificate is a human-facing HTML CER artifact and uses the canonical built-in Red5Sorcery/Data Sculptor presentation in WASM-002. Presentation must never change RESULT , SUITCASE , UTC, UUID, artifact identity, TEST , validation meaning, or limitation facts. Configurable Brand Manifest application to CER artifacts is deferred to V1-BACKLOG / a future build and is not required for WASM-002 Suitcase validation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-023,Non-Store governed artifacts use class-specific all-or-refuse publication profiles,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Except for the deliberate CER Suitcase-validation path below, WASM-002 does not place a newly generated durable artifact into its final semantic class merely because candidate bytes exist. The complete candidate is first written under the governed SCR identity defined by W002-STOR-023.1, closed, reopened, and validated against the target class contract. Only a candidate that passes its class-specific publication predicate may be renamed into the intended final class. A final-class filename therefore records successful class publication, not broader authority where a separate MAP/registry relationship governs authority. F-33 reserved-class boundary: DGN , RCV , BRD , and LCK are registered but not emitted by WASM-002, so they do not appear as publication profiles in this table and have no WASM-002 producer here. Final class Final serialization / identity Publication predicate Authority boundary WKO __DS__WKO__<UTC>__<UUID>.txt The complete candidate obeys the saved-Work-Order lifecycle and parses completely under exactly one WASM-002 executable operation grammar with the required SUITCASE: . , exactly one non-whitespace WORK ORDER AS alias, and the governed lexical/comment rules. Applicable save-time alias/registry gates must also pass before the save transaction may commit. Promotion proves a valid immutable WKO artifact. Alias-registry authority is not committed until the complete successor WKO MAP is successfully published under W002-STOR-018.3. RCP __DS__RCP__<UTC>__<UUID>.txt The complete candidate validates against W002-RCP-005 through W002-RCP-008: exact deterministic TXT serialization, common envelope, applicable operation-specific key table, governed absence semantics, and created-artifact tail. Publication creates durable run evidence only. It does not retroactively create or change analytical state. HLP __DS__HLP__<UTC>__<UUID>.html The complete self-contained HTML satisfies the HLP disclosure, presentation, provenance, embedded-JSON, lineage and semantic-parity rules in W002-HELP-009 and related Help requirements. Publication creates durable Help/support evidence. It does not override the underlying diagnostic event or analytical state. CVT __DS__CVT__<UTC>__<UUID>.csv The bounded Windows-1252 conversion completes, the original analyst-owned source remains unchanged, the converted bytes pass the governed strict UTF-8 requirement, and the candidate closes/reopens successfully. Structural CSV interpretation remains a later certification/materialization concern. The published exact CVT filename is a new immutable governed source identity for later routing under W002-CONV-004. INV __DS__INV__<UTC>__<UUID>.txt The complete inventory scan has established the governed entry set and the candidate validates the deterministic INV serialization, count, metadata availability and ordering rules. Publication creates an immutable inventory snapshot; it is evidence/orientation, not Store authority. CAT __DS__CAT__<UTC>__<UUID>.csv The authoritative MAP discovery/evaluation pass has completed and the candidate validates the exact five-column CAT schema, row count, row ordering and deterministic CSV rules. Publication creates an immutable collection-level orientation snapshot. MAP remains authoritative for each Store. CER __DS__CER__<UTC>__<UUID>.html Deliberate exception: Suitcase validation directly creates, completely writes and successfully closes the final CER identity under W002-STOR-022 through W002-STOR-022.3. No SCR staging/rename is inserted into this test. The CER proves that canonical governed create/write/close succeeded in the selected directory at that recorded moment. It does not pre-certify later SCR-to-final publication. RID, COL, Store MAP and WKO MAP publication retain their specialized transaction/commit rules elsewhere in this PRD. W002-STOR-023 does not replace those state-publication contracts; W002-STOR-023.1 supplies the shared SCR candidate identity and retained-failure-evidence boundary they may reference.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-023.1,SCR candidates preserve intended final identity; retained failure evidence remains non-authoritative,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The canonical candidate filename for a staged governed artifact is: __DS__SCR__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.<final-extension> The SCR candidate uses the exact UTC token, UUID and extension reserved for its intended final artifact. Successful publication changes only the three-letter semantic class token from SCR to the intended final class. For example, an RCP candidate __DS__SCR__20261006T190000000Z__<uuid>.txt may become __DS__RCP__20261006T190000000Z__<uuid>.txt only after the complete candidate has been closed, reopened and validated against the RCP publication predicate. The rename must not alter candidate bytes, UTC, UUID or extension. An SCR filename never by itself confers final-class validity, Store membership, registry authority, execution authority, or durable final-class evidence status. A retained SCR whose bytes happen to satisfy a target validator after an interrupted or refused transaction must not be auto-promoted, silently adopted, or treated as if the missing publication step occurred. F-33 retained-failure-evidence boundary: when a handled failure leaves one or more SCR candidates or other staged bytes that cannot be safely removed or restored, they must remain visible only as non-authoritative SCR evidence. WASM-002 does not publish an RCV recovery manifest. Retention must not complete or simulate the failed publication step, and the governed diagnostic/Help path must report the failure using only facts actually established. A retained or orphaned SCR remains non-authoritative even if its bytes later validate. Data Sculptor must not infer an intended final class solely from extension or byte content, must not rename or promote the SCR merely because it survives a later scan, and must not create a replacement RCV sidecar to manufacture attribution that the failed transaction did not durably preserve.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-011; CP-012; CP-013; CP-014; CP-015,"CP011 T-ACCEPTED, GIT BANKED — exact CVT-to-SCR candidate identity derivation only; full SCR lifecycle and publication contract remains open; CP012 T-ACCEPTED, GIT BANKED — canonical SCR staging filename recognition only; generic publication, recovery and authority remain unimplemented; CP013 T-ACCEPTED, GIT BANKED — explicit SCR-to-RCP final filename candidate derivation only; no complete SCR lifecycle, RCP validator, filesystem promotion, publication or authority; CP014 T-ACCEPTED, GIT BANKED — related RCP final-candidate lexical recognition only, no SCR creation or publication; CP015 T-ACCEPTED, GIT BANKED — pure lexical canonical SCR-to-RCP TXT filename-candidate pair matching only; no actual file/Receipt validation, promotion, publication or authority",e84ae5baeee05f9d5d30284c65b86eebba3c0f6a; efca04392940e398020a5c06b9ee50296c8a1fdd; 005a38ef5e876847c4c08901c18da9c18565fd6b; f5038a183f1d3dc31b0065571bf8ac8814b5d8a9; be997dc0dbd65fc370814c4a5f2d0f1254870572,"Evidence/CP-011/CP011_Scope_Lock.txt; Evidence/CP-011/CP011_RED_Test_Output.txt; Evidence/CP-011/CP011_GREEN_Test_Output.txt; Evidence/CP-011/CP011_Post_Format_Regression_Test_Output.txt; Evidence/CP-011/CP011_Rustfmt_Recheck_Output.txt; Evidence/CP-011/CP011_Post_Format_WASM_Build_Output.txt; Evidence/CP-011/CP011_Hash_Inventory_Verification.txt; Evidence/CP-011/CP011_Supplementary_Hash_Verification.txt; Evidence/CP-011/CP011_Closing_Git_Review.txt; CP011_Git_Banking_Output.txt (post-commit, separately preserved); Evidence/CP-012/CP012_Scope_Lock.txt; Evidence/CP-012/CP012_RED_Test_Output.txt; Evidence/CP-012/CP012_GREEN_Test_Output.txt (initial 5/6, retained); Evidence/CP-012/CP012_GREEN_Failure_Triage.txt; Evidence/CP-012/CP012_GREEN_Correction_Review.txt; Evidence/CP-012/CP012_GREEN2_Test_Output.txt; Evidence/CP-012/CP012_Full_Regression_Test_Output.txt; Evidence/CP-012/CP012_WASM_Build_Output.txt; Evidence/CP-012/CP012_Final_Rustfmt_Check.txt; Evidence/CP-012/CP012_Hash_Inventory_Verification.txt; Evidence/CP-012/CP012_Supplementary_Hash_Verification.txt; Evidence/CP-012/CP012_Post_Staging_Hash_Verification.txt; Evidence/CP-012/CP012_Closing_Git_Review.txt; CP012_Git_Banking_Output.txt (post-commit, separately preserved); Evidence/CP-013/CP013_Approved_Scope_Lock.txt; Evidence/CP-013/CP013_RED_Test_Output.txt; Evidence/CP-013/CP013_GREEN_Test_Output.txt; Evidence/CP-013/CP013_Full_Regression_Test_Output.txt; Evidence/CP-013/CP013_Rustfmt_Check_Verification.txt; Evidence/CP-013/CP013_WASM_Build_Verification.txt; Evidence/CP-013/CP013_Hash_Inventory_Verification.txt; Evidence/CP-013/CP013_Post_Normalization_Hash_Verification.txt; Evidence/CP-013/CP013_Closing_Hash_Verification.txt; Evidence/CP-013/CP013_Final_Staging_Verification.txt; Evidence/CP-013/CP013_Closing_Git_Review.txt; CP013_Git_Banking_Output.txt (post-commit, separately preserved); Evidence/CP-014/ZIP/CP014_GREEN_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_Full_Regression_Test_Output.txt.zip; CP014_Git_Banking_Record.txt (external closeout); Evidence/CP-015/ZIP/CP015_RED_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_GREEN_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_PostAmend_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Full_Regression_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_WASM_Build_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Final_Archive_Manifest.txt.zip; CP015_PostCommit_Verification.txt (external closeout)","CP011 Day066: public pure helper build_scr_candidate_filename_for_cvt(&str)->Option<String> accepts an exact canonical governed CVT .csv filename (via CP010 recognizer) and derives the paired SCR filename by substituting only class token CVT -> SCR, preserving exact UTC, UUIDv4 and lowercase .csv bytes; rejects wrong classes, paths, whitespace, malformed clock/date/UUID, extension and class case. Six targeted tests; RED expected E0432 exit 101; GREEN 6/6; post-format native regression 46/46; rustfmt recheck PASS; Rust 1.97.1 wasm32-unknown-unknown --lib build PASS; original 28/28 and combined 36/36 SHA-256 records verified. Two local scoped .gitattributes whitespace exceptions preserve Rustfmt/Git diagnostic TXT bytes; final Git staged check PASS. T-approved and Git banked e84ae5baeee05f9d5d30284c65b86eebba3c0f6a, 27 committed files, working tree clean. Lexical candidate-name pairing ONLY; no SCR creation, bytes, converter, transaction, close/reopen, validation/publication, retained SCR adoption, SOURCE authority or browser execution. Independent Claude implementation QA pending. CP012 Day066: pure public bool recognizer is_canonical_scr_filename_candidate(&str) validates exact uppercase SCR staging class via shared canonical immutable filename-token parser, with local rejection of whitespace and both path separators; accepts canonical .csv and .txt SCR candidates without assuming extension or bytes confer intended final class, validity, publication or authority. RED expected missing import E0432 exit 101. Initial GREEN 5/6 exposed trailing whitespace acceptance through generic extension grammar, retained verbatim; controlled CP012-local correction yielded 6/6 PASS. Full native regression 52/52 PASS, Rustfmt 12 Rust files checked/0 modified, canonical Rust 1.97.1 wasm32-unknown-unknown --lib build PASS (not browser execution). Primary independent SHA256/size inventory 29/29 PASS; supplementary original 4/4 PASS; post-staging 6-record amendment independently verified following narrowly scoped trailing-space and blank-at-EOF git attributes for preserved diagnostic evidence; final staged Git whitespace exit 0. T approved and banked Git commit efca04392940e398020a5c06b9ee50296c8a1fdd (28 committed files; master clean). Previous generic canonical parser unchanged. W002-STOR-023.1 remains PARTIAL, no filesystem creation, close/reopen, class publication, retained/orphan SCR adoption or recovery, SOURCE authority, or independent Claude implementation QA claimed. CP013 Day066: pure public function build_final_filename_candidate_for_scr(&str, &str)->Option<String> accepts only a canonical SCR staging filename with exact lowercase .txt serialization and explicit intended_final_class == ""RCP""; derives RCP final filename candidate by substituting the SCR semantic-class token only, preserving original UTC token, UUID and extension. Rejects all other class intentions, malformed or non-SCR staging names, paths/whitespace, wrong extension or case. Six intentional RED tests (unresolved E0432 before implementation), six GREEN targeted passes; full native 58/58 PASS; Rust 1.97.1 rustfmt check PASS and wasm32-unknown-unknown --lib build PASS (not browser runtime). Primary 21/21, supplementary 27/27 before attribute revisions; post-normalization 32/32 and closing 37/37 SHA-256 identity/byte-preservation checks; 42/42 commit blobs verified, Git whitespace check exit 0 after directory-scoped CRLF-aware whitespace attributes and raw-byte preservation; staging failures and adjustments retained byte-for-byte. T accepted and Git banked 005a38ef5e876847c4c08901c18da9c18565fd6b (efca04392940e398020a5c06b9ee50296c8a1fdd parent), 42 files, clean tree and index. This covers only lexical candidate-name derivation under already-PARTIAL W002-STOR-023.1; W002-STOR-023 remains NOT_STARTED; no SCR creation, RCP contract validation, promotion, publication, retained/orphan handling, authority or recovery. No independent adversarial QA or accepted end-to-end requirements; Day066 OPEN. CP014 Day067: T-accepted, Git-banked lexical RCP .txt filename recognizer only. Pure is_canonical_rcp_filename_candidate(&str)->bool uses shared canonical envelope, rejects wrong class/extension/casing, malformed UTC/UUID, paths and whitespace. Six target GREEN passes; 64/64 native regression; Rustfmt and wasm32 library build PASS; 32 original-TXT-per-ZIP objects validated and committed unchanged. Commit f5038a183f1d3dc31b0065571bf8ac8814b5d8a9. No new Receipt timestamp generation, Receipt byte serialization, creation/promotion/publication or authority; independent implementation QA and browser runtime pending. CP015 Day067: T-approved pure is_matching_scr_rcp_filename_candidate_pair(&str,&str)->bool checks canonical SCR/RCP lowercase .txt candidates and exact timestamp/UUID pairing, reusing existing lexical recognizers and candidate derivation; rejects wrong classes/order, mismatched timestamps/UUID, paths, whitespace and noncanonical envelopes. Expected RED E0432 exit 101; six targeted GREEN PASS; T-approved formatting-only source+test amendment and recheck; full native regression 70/70 PASS, Rustfmt PASS, Rust 1.97.1 wasm32-unknown-unknown --lib compile PASS. Original TXT archived as 16 verified single-entry ZIPs; 18/18 committed Git blob identities checked; working tree clean. Banked at be997dc0dbd65fc370814c4a5f2d0f1254870572. No actual SCR/RCP file reads, Receipt content validation, timestamp generation, authority, promotion or publication; browser execution and independent implementation QA pending.",Day067,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001,Strict whole-file UTF-8 certification,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"Before WASM-002 performs analytical CSV materialization, it must certify the complete selected source as valid UTF-8 using bounded processing.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.1,"Certification must examine the entire source, not merely a prefix, sample, BOM, or first analytical window.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.2,"UTF-8 validity must be determined across chunk boundaries, including incomplete multi-byte sequences that span adjacent input windows.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.3,"A UTF-8 BOM, when present, is parsing metadata and must not be treated as proof that the remainder of the source is valid UTF-8.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.4,Certification must preserve exact source-byte accounting.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.5,Certification must operate within the governed WASM memory budget.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"Stage 1 UTF-8 certification must remain bounded independently of source byte length and must not buffer the complete source, CSV header, or CSV row set in memory. CSV column-count and operational-name rules belong to Stage 2 and must not be used to justify unbounded Stage-1 state.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.6,Certification must produce deterministic PASS or FAIL for the same source bytes under the same frozen rules.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002,UTF-8 certification is a hard analytical gate,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,The WASM-002 analytical/materialization path must proceed only after successful UTF-8 certification.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.1,"If UTF-8 certification fails, the current analytical Work Order must stop.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.2,The analytical engine must not silently switch to another decoder.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.3,The analytical engine must not continue materialization under an inferred or guessed source encoding.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.4,No Windows-1252 transcoding may occur as an implicit sub-step of the failed analytical Work Order.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003,Certification and materialization share one run-local selected source,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"For a governed WASM-002 analytical run, the browser host must resolve the Work Order source reference once and retain the same selected source instance across Stage 1 UTF-8 certification and Stage 2 materialization. The purpose of this binding is to prevent Stage 2 from accidentally consuming a different source than the one Stage 1 certified. It is a run-local continuity guarantee, not a claim of durable cryptographic identity across separate runs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.1,Stage 2 must not re-resolve or substitute the source,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"After Stage 1 begins, Stage 2 must not reacquire the analytical source by re-reading an alias mapping, re-resolving a filename/path, opening a newly selected browser file, or otherwise substituting another source instance. Stage 2 consumes the source instance already bound to the governed run.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.2,"Filename, alias, path, or byte length alone is not durable byte identity",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"Filename equality, alias equality, path equality, timestamps, or exact byte length may be useful provenance facts but must not be presented as cryptographic proof that source bytes are identical across separate runs. WASM-002 makes no such automatic cross-run exact-byte claim.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.3,Ordinary WASM-002 source binding does not require automatic SHA-256,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,UTF-8 certification and ordinary column materialization must not automatically compute SHA-256 merely to establish WASM-002 source binding. The source-binding requirement is satisfied by preserving the same run-local selected source instance across the two stages. This rule does not prohibit SHA-256 where another explicit WASM-002 requirement governs integrity for a specific generated artifact. It applies to automatic hashing of ordinary analytical source data.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.4,Loss of run-local source continuity causes refusal,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"If the browser host cannot preserve the selected source instance from certification into materialization, or the source becomes unavailable before Stage 2 can consume it, the analytical run must refuse before materialization rather than silently reselect, substitute, or infer another source.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004,ASCII-first inline UTF-8 certification algorithm,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"WASM-002 must use an ASCII-first, strict inline UTF-8 certification algorithm or an equivalent implementation that preserves the same single-forward-scan semantics, bounded state, deterministic validity result, exact error location, and performance intent established by WASM-001b.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.1,The certifier must process the source in bounded windows and must not allocate memory proportional to source-file size.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.2,"The 4 MiB window used in WASM-001b is a proven reference point, not a frozen WASM-002 production constant.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,Window size may be changed only if semantics and byte-identical certification outcomes remain invariant.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.3,"At the beginning of each window, any incomplete UTF-8 sequence carried from the preceding window must be resolved before the remaining bytes are treated as independent input.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.4,"When there is no pending cross-window sequence, consecutive bytes below 0x80 must be recognized as ASCII and certified directly because ASCII is a complete subset of UTF-8.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.5,An all-ASCII window with no pending cross-window sequence must be certifiable without submitting the same bytes to a second general UTF-8 decoder pass.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.6,"When a byte at or above 0x80 is encountered, the certifier must validate the UTF-8 sequence inline, then resume the ASCII-fast scan after the valid sequence.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.7,"The implementation must not require collecting all non-ASCII bytes, all non-ASCII runs, or all non-ASCII offsets for later validation.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.8,The implementation must not require a separate general-purpose string-decoder call for each non-ASCII sequence.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,An equivalent low-overhead strict validator is acceptable if it preserves the same governed result and bounded-state behavior.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.9,Cross-window state must be bounded to the information required for at most one incomplete UTF-8 sequence.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"No more than three source bytes may need to remain pending between windows, or an equivalent smaller state representation may be used.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.10,"On the first invalid UTF-8 sequence, certification must stop and report the exact absolute source-byte offset required by the frozen error contract.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"On the first invalid UTF-8 sequence, certification must stop and return FAIL . The governed UTF-8 refusal evidence is: FIRST_INVALID_BYTE_OFFSET — the zero-based absolute byte offset of the first byte of the invalid sequence , counted from the first physical source byte, including a permitted leading UTF-8 BOM when present; and STOP_REASON — exactly INVALID_UTF8_SEQUENCE . For an EOF-truncated multibyte sequence, FIRST_INVALID_BYTE_OFFSET is the absolute offset of that incomplete sequence's lead byte, not the EOF position. The certifier need not read the remainder of an already-invalid source. Input-window boundaries must not change the outcome, stop reason, or first-invalid offset. F-16 follow-on boundary: stopping strict UTF-8 certification at the first invalid sequence does not make the remainder of the source irrelevant to conversion advice. When the governing operation is MATERIALIZE and Stage 1 reaches FAIL , the analytical run remains refused; Data Sculptor then starts the separate read-only compatibility assessment in W002-CONV-002 from physical byte offset 0 of the same bound source instance. That second pass may read to EOF solely to determine converter compatibility. Stage 2 must not start.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.11,"At EOF, certification may return PASS only if every source byte has been consumed under the strict UTF-8 rules and no incomplete sequence remains pending.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"At EOF, certification may return PASS only if every physical source byte has been consumed under the strict UTF-8 rules and no incomplete sequence remains pending. The completed Stage-1 outcome vocabulary is exactly PASS and FAIL . PASS means strict whole-source UTF-8 certification completed successfully. FAIL means an invalid UTF-8 sequence was deterministically established under W002-ENC-004.10. The common Receipt absence tokens remain separate from those completed outcomes: NOT_RUN when Stage 1 never begins, and NOT_AVAILABLE when Stage 1 begins but a separate failure prevents a governed PASS/FAIL conclusion. NOT_APPLICABLE is not a completed value for STAGE1_UTF8_OUTCOME .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.12,"A UTF-8 BOM at absolute source offset zero may be recognized as BOM metadata after its bytes are validated, but the remaining source must still undergo complete certification.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.13,"The certifier must not perform CSV delimiter, quote, header, row, or analytical interpretation.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,Certification answers only whether the complete source byte stream is valid UTF-8 under the frozen rules.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.14,Certification results must be independent of window boundaries.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,Splitting the same valid or invalid source at different bounded window sizes must not change PASS/FAIL or the first invalid absolute byte offset.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.15,"The certifier must expose enough measured counters for acceptance evidence to reconcile source bytes read, windows/pushes processed, non-ASCII sequences encountered when counted, final pending state, and stop reason without requiring those counters to alter certification semantics.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005,Strict UTF-8 byte-sequence rules,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"The inline validator must implement strict modern UTF-8 validity, excluding overlong forms, UTF-16 surrogate code points, values above U+10FFFF, invalid lead bytes, invalid continuation bytes, and truncated sequences. F-07 stop-reason vocabulary: all strict UTF-8 invalidity classes governed by this requirement—lone continuation bytes, malformed continuation sequences, overlong forms, surrogate encodings, values above U+10FFFF, invalid lead bytes, and EOF-truncated sequences—serialize the single machine reason token INVALID_UTF8_SEQUENCE . The specific fixture category is acceptance evidence; the canonical stop reason intentionally does not duplicate validator-library-specific subcodes.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.1,Single-byte ASCII is 0x00 through 0x7F.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.2,Two-byte sequences must begin with 0xC2 through 0xDF and be followed by exactly one continuation byte 0x80 through 0xBF.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.3,"Three-byte sequences beginning with 0xE0 must use a second byte 0xA0 through 0xBF and a third byte 0x80 through 0xBF, preventing overlong encodings.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.4,Three-byte sequences beginning with 0xE1 through 0xEC or 0xEE through 0xEF must use two continuation bytes 0x80 through 0xBF.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.5,"Three-byte sequences beginning with 0xED must use a second byte 0x80 through 0x9F and a third byte 0x80 through 0xBF, excluding UTF-16 surrogate halves.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.6,"Four-byte sequences beginning with 0xF0 must use a second byte 0x90 through 0xBF followed by two continuation bytes 0x80 through 0xBF, preventing overlong encodings.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.7,Four-byte sequences beginning with 0xF1 through 0xF3 must use three continuation bytes 0x80 through 0xBF.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.8,"Four-byte sequences beginning with 0xF4 must use a second byte 0x80 through 0x8F followed by two continuation bytes 0x80 through 0xBF, preventing code points above U+10FFFF.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.9,Bytes 0x80 through 0xBF are invalid when encountered as lead bytes.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.10,Bytes 0xC0 and 0xC1 are invalid lead bytes because they can only introduce overlong encodings.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.11,Bytes 0xF5 through 0xFF are invalid UTF-8 lead bytes.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"ASCII-first inline UTF-8 certification algorithm READ NEXT BOUNDED WINDOW Reference evidence used 4 MiB windows RESOLVE PENDING CROSS-WINDOW STATE At most one incomplete UTF-8 sequence ASCII FAST SCAN Advance cheaply while every byte < 0x80 ASCII RUN Already valid UTF-8 RESUME SCAN Same window BYTE >= 0x80 Validate sequence inline STRICT UTF-8 Lead + continuation range rules VALID END OF WINDOW? Persist only bounded carry state MORE SOURCE? Yes: read next window; No: finish EOF + NO PENDING STATE UTF-8 PASS INVALID OR TRUNCATED UTF-8 FAIL No full-file allocation. No collection of all non-ASCII bytes. No per-sequence general string decode required. Figure 2. The WASM-001b-derived fast path certifies ASCII directly, validates only non-ASCII sequences inline, and carries only bounded state across windows.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-006,Measured evidence inherited from WASM-001b,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"The following measurements are non-normative evidence explaining why WASM-002 begins with the ASCII-first inline algorithm. They are not WASM-002 acceptance results and must not be represented as such. EVID-W001B-UTF8-001 On the 7,250,808,204-byte Statistics Canada source, the Day 039 distribution experiment observed 659,103 non-ASCII bytes, approximately 0.009090063% of the file, across 329,551 non-ASCII runs/sequences; the maximum observed non-ASCII run was three bytes. EVID-W001B-UTF8-002 The Day 039 non-ASCII-only experiment submitted only 659,103 bytes to strict UTF-8 validation and completed in 12.664716 seconds at 545.998 MiB/s; it proved the source valid but still incurred 329,551 strict validation calls. EVID-W001B-UTF8-003 A 1 GiB A/B test showed that reducing validated bytes alone was not enough: the selective per-run strategy submitted 115,839 bytes in 57,919 strict calls but took 503.7536 ms, while the baseline submitted 113,246,208 bytes in 27 strict calls and took 411.3590 ms. UNRESOLVED SOURCE DAMAGE: preserved authoritative text continues “This supported removing per-run general-validator call overhead rather than merely shrinking” but the remainder has not been recovered. No missing words are inferred or supplied. EVID-W001B-UTF8-004 The final native inline scan certified all 7,250,808,204 bytes in 10.377870 seconds at 666.313 MiB/s, observed 329,551 non-ASCII sequences and 659,103 non-ASCII bytes, and made zero std::str::from_utf8 calls. EVID-W001B-UTF8-005 The same inline design was exercised in Microsoft Edge/WASM with 4 MiB transfers: the valid 7,250,808,204-byte source completed with 1,729 pushes, UTF8_VALID=true, and EOF_ALL_BYTES_VALID. That experimental run took 30.5858 seconds including file I/O, JS-to-WASM copy, and WASM validation. EVID-W001B-UTF8-006 A full-size deliberately invalid Edge/WASM fixture stopped early after 2,936,012,800 bytes and 700 pushes with UTF8_VALID=false and STOP_REASON=INVALID_UTF8_SEQUENCE rather than reading to EOF. EVID-W001B-UTF8-007 WASM-001b also retained malformed UTF-8 fixtures for stray legacy bytes, truncated sequences, lone continuation bytes, overlong encodings, UTF-16 surrogate halves, and 0xFE/0xFF invalid bytes. WASM-002 should reuse or regenerate equivalent acceptance fixtures with known invalid offsets.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001,Stage 2 consumes the source instance certified by Stage 1,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The structural CSV parser and materializer operate under the explicit invariant that the same run-local selected source instance has already passed governed whole-file UTF-8 certification. Stage 2 must not independently re-resolve the analytical source. Stage 1 establishes encoding validity. Stage 2 establishes CSV structure, row identity, selected values, and governed outputs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.1,Stage 2 must not independently re-decide the source encoding.,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.2,Stage 2 must not contain an automatic Windows-1252 fallback.,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.3,Stage 2 may perform only those byte/character checks required for correct CSV structural parsing and frozen analytical semantics.,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.4,"Any implementation shortcut that would weaken the certified-source invariant must be treated as a PRD change, not an optimization.",W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.5,Stage 2 restarts at byte offset zero of the same certified source instance,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"After Stage 1 returns PASS, Stage 2 must begin its structural pass from absolute source byte offset zero using the same run-local selected source instance. Rewinding/re-reading the existing source handle is permitted; performing a new filename, alias, path, picker, or directory resolution is not. If the host cannot re-read that same selected source instance for Stage 2, the Work Order must refuse under the run-local source-continuity contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.6,Stage 2 consumes an offset-zero UTF-8 BOM as metadata before header parsing,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"If the certified source begins with the UTF-8 BOM bytes EF BB BF , Stage 2 must consume those three bytes before parsing the first CSV header field. They must not become part of the first source header or selected value. The BOM is recognized only at absolute source offset zero. The fact that Stage 1 already saw the BOM does not permit Stage 2 to skip or reinterpret arbitrary later bytes.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.7,Stage 2 parses the header once and then continues directly into the data-record scan,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Within the Stage 2 forward source scan, Data Sculptor must parse the complete first logical CSV record as the source header, construct ordered header metadata including exact decoded header text and 1-based source ordinal, resolve and validate all Work Order selectors/aliases, and then continue from the first data record without restarting the source. Header resolution therefore does not add a third whole-file pass. A header-only valid CSV yields a zero-row materialization; a source with no valid header record refuses. P3-09 no-header-record refusal: after Stage 1 has certified the source, if Stage 2 reaches end-of-source without establishing any logical CSV record from which a header could be parsed, materialization must refuse with CSV_REFUSAL_CONDITION: NO_HEADER_RECORD . This is the eighth governed Stage-2 structural CSV refusal token in the canonical oracle defined by W002-MAT-002.8. Its governed location facts are: CSV_SOURCE_BYTE_OFFSET = exact source byte length; CSV_PHYSICAL_LINE: 1 ; CSV_LOGICAL_RECORD: 1 ; CSV_FIELD_ORDINAL: 1 . Therefore a zero-byte source reports offset 0 , and a source containing only the UTF-8 BOM bytes EF BB BF reports offset 3 . A first logical record that exists but is blank remains governed by the already-frozen BLANK_LOGICAL_RECORD condition and must not be reclassified as NO_HEADER_RECORD . F-20 source-width boundary: the established header record may contain at most 16,384 physical source columns. Exactly 16,384 is valid; a header record containing 16,385 or more fields must refuse deterministically during header resolution before the first data record is consumed. The bound applies to the complete physical source width, not merely the requested KEEP set. Header processing must remain bounded. Exact decoded source-header text is authoritative source evidence and must be preserved for every selected/materialized column, but the implementation is not required to retain the complete decoded text of every unselected header after selector resolution when bounded metadata is sufficient.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.8,Stage 2 relies on Stage 1 UTF-8 validity rather than revalidating the file,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Stage 2 must not run a second whole-file UTF-8 certification algorithm over the source. It may inspect bytes and decoded field content only as required for CSV structure, header/selector semantics, governed field-size limits, output serialization, and diagnostics. Any implementation that reintroduces redundant whole-source UTF-8 validation into Stage 2 is a measurable architectural regression unless separately justified and accepted.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002,One-pass multi-column materialization,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"A valid Work Order may request multiple source columns for materialization during the same bounded structural pass. For WASM-002 DS-STEPS, the requested set is expressed by one KEEP block containing one or more HEADER and/or COLUMN selectors under W002-STEPS-001 through W002-STEPS-004. F-20 KEEP-width boundary: one governed KEEP block may resolve from 1 through 16,384 distinct source columns, subject to the source itself containing no more than 16,384 columns. An empty KEEP or a request that cannot resolve within that bound refuses before data-row materialization.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.1,Requested columns must be resolved and validated before data-row materialization begins,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Every HEADER and COLUMN selector in the governed KEEP block must resolve to exactly one source column before any data-row materialization begins. Missing headers, ambiguous duplicate-header matches, invalid/out-of-range ordinals, duplicate resolved selections, invalid aliases, and successor-MAP alias collisions must refuse before the structural data-row pass. The resolved selection cardinality must be an integer from 1 through 16,384 . Resolution/validation must finish before the first data record is consumed, including operational-name/default-alias derivation and any deterministic oversized-header fallback required by W002-STOR-019.7.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.2,All selected columns are emitted from one forward data-record scan,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"After header/selector resolution, Stage 2 must traverse the source data records once regardless of whether the Work Order selects one column or many. The engine must not perform one complete source rescan per requested column. During that scan, every source field is interpreted structurally, but only the fields required by the resolved selection set are materialized into governed COL outputs. F-20 one-pass boundary: “one forward data-record scan” means one traversal of the source data records for the MATERIALIZE operation. WASM-002 must not reread source data records in batches merely because the selected-column set is wide. An implementation may perform additional bounded passes over Data-Sculptor-owned SCR , spool, or staging structures after the source scan when needed to finalize many outputs within resource limits; such passes must not reread the source data records or change governed output semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.3,One 1-based logical row ordinal aligns every selected output,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The header is not a data row. The first accepted logical data record is row identity 1, the next is 2, and so on through N. The row counter advances exactly once per accepted logical CSV data record, not per physical line. Every selected COL produced by the run must contain exactly one logical data record for each accepted source data row and therefore exactly N data records in the same governed order. A multiline quoted field remains part of one logical record and must not advance row identity merely because it contains physical newline bytes. When the run establishes a new Store, this 1..N sequence is published as that Store's one governed RID artifact. When the run extends an existing Store without changing its row universe, the existing RID is reused and must not be regenerated or renumbered.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.4,Selected-column writer order follows resolved KEEP order,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Before the data-record scan begins, the validated selection set is placed in the same order in which its selectors appear in the governed KEEP block. That resolved order governs writer creation, per-row selected-field dispatch, progress/receipt presentation, deterministic backpressure-drain priority, and candidate COL identity allocation. The Store MAP's own CSV mapping-row ordering remains governed separately by W002-STOR-019.9 and must not be confused with Work Order selection order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.5,Multiple active COL outputs use bounded staging and explicit backpressure,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Each active materialized-column writer, or an equivalent shared multiplexed output structure, must have bounded staging capacity. The aggregate kernel-owned staging state for all active writers must remain inside the governed WASM memory budget and must not grow with source row count or total output size. If a required output writer cannot accept additional canonical bytes without exceeding its governed staging capacity, source consumption must pause while pending output is drained/written. When more than one writer requires service, drain priority follows resolved KEEP order. After sufficient space is available, parsing resumes from the same structural state. The exact tuned staging-buffer size is an implementation/benchmark constant rather than an analytical semantic constant; changing it must not change output bytes, row identity, selection results, or diagnostics for the same governed input. F-20 writer-resource bound: KEEP width and simultaneously active writable resources are distinct. The accepted build must declare a finite implementation bound on simultaneously active writable-output resources and retain acceptance evidence of both that configured bound and the observed peak. The engine may satisfy a wide selection by bounded shared/multiplexed staging or a Data-Sculptor-owned spool followed by bounded finalization passes, but it must not require one simultaneously open writer per selected column. Changing the writer-resource bound must not change final bytes, row order, selection identity, aliases, Receipts, or diagnostics for the same governed input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.6,Partial output sets are never published as a successful materialization,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"All requested materialized-column outputs begin as visible governed SCR candidates, not COL artifacts. On first materialization of a new Store, the automatically generated RID likewise begins as a governed SCR candidate. Before any new RID/COL SCR candidate is opened, Data Sculptor establishes one publication-transaction UTC under PB-STOR-013/PB-STOR-014 and allocates a distinct artifact-specific UUID for each new candidate. Each candidate filename therefore already carries the exact UTC, UUID, and final extension intended for that RID or COL identity. A materialization transaction may begin promotion only when every required RID/COL candidate reaches EOF successfully, all selected outputs reconcile to the same accepted data-row count N, and all required candidate finalization/validation succeeds. F-04 existing-Store cardinality gate: when materialization targets an existing VALID Store, after Stage 2 establishes the complete candidate logical data-row count N and before any requested COL candidate is promoted, Data Sculptor must read the expected N from the already-valid inherited RID header and compare the two values. If candidate N equals RID-header N , the cardinality gate passes and ordinary publication may continue. If candidate N differs, the Run must refuse before any SCR -to- COL promotion and before successor-MAP publication. The inherited RID, current MAP, and existing COL artifacts remain unchanged, and the existing Store remains VALID. Equal N proves cardinality compatibility only; it does not prove source-byte continuity, row-semantic identity, or permission for a different SOURCE to enter the lineage. Exact SOURCE/Store compatibility rules are prior gates. For a new Store, Data Sculptor promotes the validated RID candidate first by host rename that changes only the class token from SCR to RID ; the candidate bytes, shared transaction UTC, RID-specific UUID, and extension remain unchanged. That successful SCR-to-RID promotion is the event that establishes RID_ACTION: CREATED and the published RID_FILENAME fact for the Run. Before that promotion succeeds, the Run has not created a governed RID even if a candidate identity has been allocated. For an existing Store, the inherited RID is reused unchanged and no RID candidate/promotion occurs. Once routing has selected and validated that exact inherited RID, that event establishes RID_ACTION: REUSED and the exact inherited RID_FILENAME ; later refusal does not erase the already-established reuse fact. After the required RID state is established, Data Sculptor promotes each requested COL candidate in deterministic resolved KEEP order by changing only the class token from SCR to COL ; each candidate's bytes, shared transaction UTC, COL-specific UUID, and extension remain unchanged. If RID or COL promotion fails, Data Sculptor must refuse the run and roll any newly promoted RID/COL names back out of their final namespaces where safely possible. Candidate or rollback bytes that cannot be safely restored or removed must be retained visibly as non-authoritative SCR failure evidence. The existence of an unreferenced RID- or COL-looking file after interruption does not by itself make that artifact committed Store state. After all required RID/COL promotions succeed, Data Sculptor allocates a MAP-specific UUID before opening the complete successor-MAP SCR candidate. That candidate uses the same publication-transaction UTC, the allocated MAP UUID, and the final .csv extension, and is constructed using the exact final RID/COL filenames. It is closed successfully, reopened, and validated completely while it remains SCR . Only then may the MAP candidate be promoted by changing only the class token from SCR to MAP ; its bytes, UTC, UUID, and extension remain unchanged. The successful SCR -to- MAP rename is the materialization commit point. Until that commit point, the prior valid MAP remains authoritative for an existing Store; for a new Store, no committed Store state exists yet. If MAP validation or MAP rename fails, Data Sculptor must refuse and roll the newly promoted RID/COL set back out of the final namespaces where safely possible; otherwise affected bytes remain attributable recovery evidence and are not committed Store membership. Governed Store membership/current state is established by a valid MAP binding, not by a final-class filename or timestamp equality alone. Revision BB preserves the Revision AY staging/promotion mechanics and Revision AZ shared transaction-UTC rule for newly published RID/COL/MAP artifacts. Selected-folder support for the canonical governed filename/path form is established by the Suitcase Validation Certificate under W002-STOR-022 through W002-STOR-022.3 rather than by a frozen numeric host path-length table. Operation-specific host rename or publication failure remains a governed refusal under this requirement and is not pre-certified by Suitcase validation. F-14 shared candidate grammar, reconciled by F-33: every RID/COL/MAP SCR candidate in this transaction follows W002-STOR-023.1: its SCR name already carries the UTC, UUID and extension intended for the final RID/COL/MAP identity, and successful promotion changes only the class token. Any retained SCR candidates after a handled publication/rollback failure remain visible non-authoritative failure evidence under W002-STOR-023.1 and are reported through the governed diagnostic/Help path; WASM-002 does not emit an RCV manifest. An orphaned SCR remains non-authoritative even if its bytes later validate.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.7,Successful materialization publishes one complete Store MAP,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"A successful governed materialization that creates one or more COL artifacts must also publish exactly one new complete immutable Store MAP under W002-STOR-019 through W002-STOR-019.12. For a new Store, that MAP binds the automatically generated and promoted RID to the Store metadata and all newly materialized COL mappings. For an existing Store, it preserves the inherited RID binding and complete prior Store state while applying the successful materialization updates. All required RID/COL SCR candidates must complete and validate before promotion begins. On a new Store, RID promotion occurs first; on an existing Store, the inherited RID is reused unchanged. All requested COL promotions must then succeed before successor-MAP candidate construction begins. The complete successor MAP is written as SCR , closed, reopened, and fully validated before entering the MAP namespace. Its final host rename from SCR to the governed MAP filename occurs last and is the materialization commit point. The materialization run is not reported as successfully committed until that MAP rename succeeds. If MAP candidate validation or MAP rename fails after RID/COL promotion, the run must refuse and the newly promoted artifacts must be rolled back out of their final namespaces where safely possible. Any failure residue that cannot safely be removed or restored is governed by W002-STOR-023.1 and remains non-authoritative retained failure evidence; its survival must not be used to infer or manufacture attribution or to simulate the failed publication step. The prior valid MAP remains authoritative for an existing Store; no committed Store is established for a first materialization without a valid successor MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.8,Stage 2 enforces deterministic source-record shape,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The parsed header establishes the expected source field count. Every nonblank logical data record must contain exactly that many fields after CSV parsing. A nonblank ragged record with fewer or more fields must refuse rather than pad, truncate, or shift later values. An explicit empty field is valid data and preserves its ordinal. A bare blank logical data record occurring outside a quoted field must refuse and must not be silently skipped or converted into one empty field. A physical blank line inside a valid quoted multiline field is field content, not a blank record. F-06 canonical malformed-CSV refusal facts Every structural CSV refusal records these governed facts: REFUSAL_CONDITION
SOURCE_BYTE_OFFSET
PHYSICAL_LINE
LOGICAL_RECORD
FIELD_ORDINAL SOURCE_BYTE_OFFSET is the zero-based absolute byte offset from the first physical byte of the source file. A leading UTF-8 BOM, when present, occupies offsets 0–2 and therefore counts in subsequent absolute byte locations. PHYSICAL_LINE is one-based and equals one plus the number of LF bytes strictly before the governed refusal location. LF bytes inside quoted multiline fields still increment physical-line count. LOGICAL_RECORD is one-based CSV logical-record ordinal and includes the header as logical record 1. The first data record is therefore logical record 2. FIELD_ORDINAL is the one-based field position within that logical record. These facts describe the same first structural refusal regardless of permitted streaming-window size or boundary placement. Canonical structural refusal tokens The seven frozen F-06 malformed-CSV tokens are: UNEXPECTED_QUOTE_IN_UNQUOTED_FIELD
INVALID_BYTE_AFTER_CLOSING_QUOTE
BARE_CR_OUTSIDE_QUOTED_FIELD
EOF_INSIDE_QUOTED_FIELD
BLANK_LOGICAL_RECORD
TOO_FEW_FIELDS
TOO_MANY_FIELDS P3-09 adds NO_HEADER_RECORD as the eighth governed Stage-2 structural CSV refusal token. Parser-library names, host exceptions, crate-specific error enums, or localized descriptions must not replace these governed tokens. Governed refusal location by condition Condition Governed refusal location UNEXPECTED_QUOTE_IN_UNQUOTED_FIELD Offset of the offending "" byte. INVALID_BYTE_AFTER_CLOSING_QUOTE Offset of the first prohibited byte after the closing quote. BARE_CR_OUTSIDE_QUOTED_FIELD Offset of the CR byte itself. EOF_INSIDE_QUOTED_FIELD One-past-end offset, equal to the physical source byte length. BLANK_LOGICAL_RECORD First byte of the record terminator that proves the blank record: LF for LF termination; CR for CRLF termination. TOO_FEW_FIELDS First byte of the record terminator that closes the short record; at EOF, one-past-end offset equal to source byte length. TOO_MANY_FIELDS The comma delimiter that begins the first field beyond the expected header width. NO_HEADER_RECORD One-past-end offset equal to the exact physical source byte length, with physical line 1, logical record 1, and field ordinal 1, as frozen by W002-MAT-001.7. Field ordinal rules For TOO_FEW_FIELDS , FIELD_ORDINAL is the first missing field ordinal: expected-width position immediately after the last field actually present. For TOO_MANY_FIELDS , FIELD_ORDINAL is the first extra field ordinal: header-width + 1. For quote/CR/EOF structural conditions, FIELD_ORDINAL is the current field ordinal in which the malformed condition is established. For BLANK_LOGICAL_RECORD , FIELD_ORDINAL is 1. For NO_HEADER_RECORD , FIELD_ORDINAL is 1. Bare CR scope A bare CR outside a quoted field is malformed CSV and refuses with BARE_CR_OUTSIDE_QUOTED_FIELD . CR inside a valid quoted field is ordinary field content. LF inside a valid quoted field is ordinary field content. CRLF inside a valid quoted field is ordinary field content. Outside quoted fields, CRLF is one accepted logical-record terminator and LF is one accepted logical-record terminator. Outside quoted fields, a CR not immediately followed by LF is malformed. EOF while quoted If EOF is reached while the parser remains inside an open quoted field, the source refuses with EOF_INSIDE_QUOTED_FIELD . Data Sculptor must not synthesize a closing quote, truncate the field, reinterpret prior bytes as unquoted content, or otherwise repair the source. First-condition precedence Stage 2 evaluates structural CSV input in absolute source-byte order and reports the earliest refusal condition that becomes deterministically established. CSV grammar errors take precedence over later row-shape errors. BLANK_LOGICAL_RECORD takes precedence over TOO_FEW_FIELDS for a physically blank logical record. BARE_CR_OUTSIDE_QUOTED_FIELD takes precedence over INVALID_BYTE_AFTER_CLOSING_QUOTE when the post-quote offending byte is a CR that is not followed by LF. At EOF while still inside a quoted field, EOF_INSIDE_QUOTED_FIELD takes precedence over field-count evaluation. No implementation may choose a different error merely because of parser buffering, window boundaries, library behavior, or host platform. Delimiter boundary Comma remains the only WASM-002 field delimiter. Automatic delimiter detection is outside the WASM-002 CSV contract. A file whose rows contain semicolons, tabs, or other non-comma separators may still be valid under the comma-only grammar as a one-column CSV. Data Sculptor must not invent a malformed-CSV refusal merely because another application would treat those bytes as delimiters. When a requested HEADER cannot be resolved, Help may explain that WASM-002 uses comma as the CSV delimiter and that semicolon/tab exports may therefore be interpreted as one field per row. Interaction with UTF-8 diagnostics This structural CSV refusal oracle applies only after the source has passed the applicable encoding-certification boundary. Invalid UTF-8 remains governed by the separately frozen UTF-8 diagnostic contract. Its zero-based absolute source-byte orientation is intentionally aligned with SOURCE_BYTE_OFFSET so WASM-002 does not have competing byte-coordinate systems.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.9,Unselected field contents are not retained,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Stage 2 must parse every field sufficiently to preserve CSV structure, field count, row boundaries, and governed safety checks, but it must not retain complete contents for unselected fields after those bytes are no longer structurally needed. The engine must not materialize a complete source row, complete table, or complete unselected column in memory merely to emit selected columns. Selected-field content may use bounded accumulation required by the frozen field-size/output rules.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.10,Individual decoded CSV fields are limited to 16 MiB,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"WASM-002 carries forward the established Data Sculptor field-buffer safety boundary: an individual CSV field may contain at most 16 MiB (16,777,216 bytes) of decoded UTF-8 field content. This is an engineering safety limit, not a semantic statement about CSV or an Excel cell limit. The limit must be enforced incrementally for header and data fields. The parser must not first accumulate an arbitrarily large field and then check it. If a field would exceed the limit, the run must refuse without truncating, repairing, discarding the remainder, or finalizing the candidate materialization. For an unselected field, Data Sculptor may count decoded field bytes without retaining the field value; the safety limit still applies so malformed unterminated fields cannot turn the structural scan into unbounded growth. F-20 operational column-name boundary: after an exact source header field is decoded, Data Sculptor measures its length in Unicode scalar values, not UTF-8 bytes or grapheme clusters. If the exact decoded source header contains at most 1,024 Unicode scalar values, its operational column name is that exact header text. If it contains more than 1,024 scalar values, the operational column name begins from the deterministic physical-ordinal fallback Column <LETTERS> , where the letters are the Excel-style 1-based source ordinal ( A through XFD for the WASM-002 width bound). This operational name is a bounded human-facing/default-alias construct; it does not replace or truncate the authoritative exact source header.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.11,Materialized COL artifacts use canonical one-column UTF-8 CSV serialization,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Each finalized materialized COL artifact is a one-column CSV. It begins with exactly one UTF-8 BOM ( EF BB BF ) and uses LF ( 0x0A ) as the record terminator on every supported host. The first logical record contains the exact decoded source header text for that physical source column; an alias assigned with AS lives in the governed MAP and does not rewrite the physical COL header. A deliberately empty source header is serialized as one explicit empty header field rather than as absence of a header record. Header and data fields use deterministic minimal CSV quoting: quote when the field contains comma, double quote, CR, or LF; double embedded double quotes; otherwise write the field without quotes. Embedded CR/LF that belong to a quoted field remain field content. For a one-column data record whose decoded value is the empty string, serialize the value explicitly as """" so the row cannot be confused with a bare blank logical record. For fixed source bytes and fixed governed semantics, changing input/output window boundaries must not change the finalized COL bytes. F-20 source-fidelity rule: the physical COL header record always serializes the exact decoded source header, even when that header exceeds the 1,024 -scalar operational-name boundary and the Store MAP/default alias therefore uses an operational fallback. The fallback name must never be substituted into the COL header record or into the MAP source_header field.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003,Stage 2 processes the source through bounded reusable windows,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,Structural materialization must process the certified source through bounded reusable input windows compatible with browser/WASM memory constraints. Source size and row count must not require proportional WASM memory growth.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.1,"The 4 MiB WASM-001b window is a proven reference point, not a frozen production constant",W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The 4 MiB source window used successfully during the WASM-001b browser experiments is an evidence-backed starting/reference size. WASM-002 may tune the production input-window size using benchmark evidence, provided the governed memory budget and all window-invariance requirements remain satisfied.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.2,Changing source-window size or boundary placement must not change results,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"For the same certified source and Work Order, permitted changes in bounded Stage 2 input-window size or boundary placement must not change CSV interpretation, resolved headers/ordinals, accepted row count, row identity, aliases, canonical COL bytes, successor MAP contents apart from newly allocated physical identities/timestamps, or the first deterministic refusal condition. P3-09 window invariance: for a Stage-1-certified source containing no logical CSV record, every permitted Stage 2 window size and boundary placement must produce the same NO_HEADER_RECORD refusal and the same governed location tuple: source-byte offset equal to the exact source byte length, physical line 1, logical record 1, field ordinal 1. F-06 full refusal-oracle window invariance: for the same certified source bytes, changing any permitted Stage 2 input-window size or boundary placement must not change whether the source is accepted or refused; the first REFUSAL_CONDITION ; SOURCE_BYTE_OFFSET ; PHYSICAL_LINE ; LOGICAL_RECORD ; or FIELD_ORDINAL . This applies to every structural CSV refusal governed by W002-MAT-002.8.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.3,CSV structure must survive arbitrary input-window boundaries,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Input-window boundaries may occur between ordinary field bytes, delimiter bytes, quote/escaped-quote pairs, CR/LF record-ending bytes, inside quoted multiline fields, and inside already-certified multi-byte UTF-8 sequences. The Stage 2 parser must preserve equivalent structural meaning across those boundaries.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.4,Cross-window parser state is small and explicit,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Stage 2 may carry only the bounded state needed to continue the current logical CSV parse, including the current logical row ordinal, current field ordinal, quoted/unquoted state, escaped-quote/quote-transition state as required by the parser, pending CR/LF state, decoded-field byte count, resolved selected-field dispatch metadata, and bounded selected-field/output staging. The parser must not retain previous complete rows or source windows merely because a CSV record crosses a window boundary.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.5,Input-window and output-drain sizes are independent implementation controls,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The source read window, WASM transfer window where applicable, selected-field accumulator bound, and output-drain window are separate controls. One must not be silently treated as the maximum for another merely because an earlier prototype used the same numeric value. Any tuning must preserve the Stage 2 memory, backpressure, byte, and window-invariance contracts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.6,Stage 2 uses direct structural parsing rather than a required structural sidecar,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The WASM-002 baseline performs its Stage 2 work directly from the certified source stream. It must not require a precomputed comma/quote/newline position map, binary structural index, hidden cache, or OPFS sidecar before materialization can proceed. The previously discussed structural-sidecar comparison remains a separate future experiment and must not be introduced into WASM-002 as an unmeasured dependency.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.7,The Stage 2 algorithm is browser-first shared Rust core behavior,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The structural parser, row-count semantics, selector dispatch, canonical field serialization, and bounded output-state machine defined by Stage 2 belong in the shared Rust semantic core proven through the browser/WASM path first. A later native CLI host must call the same governed core rather than reimplementing competing materialization semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001,Conversion is a separate governed operation,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"Windows-1252-to-UTF-8 conversion is a distinct governed Work Order operation, separate from UTF-8 certification and separate from analytical materialization. The analyst must explicitly authorize it. The canonical WASM-002 form is: SUITCASE: .
WORK ORDER AS ""Convert legacy source to UTF-8""
SOURCE ""legacy_source.csv""
CONVERT WINDOWS-1252 TO UTF-8 CONVERT WINDOWS-1252 TO UTF-8 is the terminal operation clause. Exactly one SOURCE is permitted. The same WKO must not contain KEEP , MATERIALIZE , Store/RID/COL alias mutation, MAP , Inventory, repair, cataloging, Work Order composition, or another operation terminal clause. F-10 conversion entry precondition Before CONVERT WINDOWS-1252 TO UTF-8 may begin character transcoding, Data Sculptor must validate the complete bound source as strict UTF-8 under the same deterministic whole-source certification rules used elsewhere in WASM-002. If the complete source is already valid strict UTF-8, the conversion refuses as unnecessary and publishes no CVT . Only after complete strict UTF-8 validation reaches governed FAIL may Data Sculptor assess the same complete bound source against the frozen Windows-1252 compatibility mapping. Only a source that fails strict UTF-8 and passes the complete Windows-1252 compatibility assessment may proceed to conversion. A failed analytical Work Order, UTF-8 certification, or materialization never silently invokes this operation. The analyst must explicitly authorize the separate conversion WKO.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.1,A failed analytical Work Order must not automatically invoke conversion.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.2,The user must explicitly choose or submit the separate conversion task.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.3,The original source file must remain unchanged.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.4,Successful conversion must create a new UTF-8 artifact with its own governed identity and receipt/evidence.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002,Windows-1252 compatibility assessment,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"After strict whole-source UTF-8 certification returns FAIL , the current analytical operation remains refused and Stage 2 must not start. As refusal handling, Data Sculptor performs one separate read-only Windows-1252 compatibility assessment from physical byte offset 0 of the same run-local bound source instance. The compatibility assessment scans the complete source sequentially under W002-CONV-002.1 through W002-CONV-002.5. It does not transcode, publish a CVT, modify the analyst-owned source, resume materialization, or claim that Windows-1252 is the historical encoding. Its sole governed result is whether the entire byte stream is mappable by the frozen WASM-002 Windows-1252 converter. If strict UTF-8 certification returned PASS , or did not reach a governed FAIL conclusion, this compatibility assessment is not run. F-10 conversion classification gate The conversion operation itself repeats/executes the complete classification gate on its bound source before transcoding: validate the complete source as strict UTF-8; if strict UTF-8 passes, refuse conversion as unnecessary; only after strict UTF-8 fails, scan the complete source against the frozen Windows-1252 mapping; if any source byte is undefined or unsupported by that mapping, refuse rather than guess; and begin transcoding only when strict UTF-8 has failed and the complete Windows-1252 compatibility assessment has succeeded. An undefined/unsupported Windows-1252 byte is therefore a pre-transcoding compatibility-assessment refusal . No CVT candidate may be represented as successfully converted from a source whose compatibility scan found an undefined byte. The compatibility assessment must not substitute U+FFFD , reinterpret an undefined Windows-1252 byte as ISO-8859-1, or use permissive host/library decoder behavior to make an incompatible source convertible.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.1,Compatibility means that the supported deterministic converter can map the observed source bytes under the frozen Windows-1252 rules.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"Compatibility means that every physical source byte can be mapped deterministically by the complete normative WASM-002 Windows-1252 mapping in W002-CONV-002.4 . Successful EOF produces the governed outcome COMPATIBLE . No statistical detector, locale rule, browser guess, replacement character, ISO-8859-1 substitution, best-effort decoder, or PRODUCT-scoped glossary text participates as normative authority in this determination.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.2,Compatibility must not be described as proof that Windows-1252 was historically or authoritatively the file's original encoding.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"COMPATIBLE means only that the complete byte stream is convertible under Data Sculptor's frozen Windows-1252 mapping. It must not be described as proof that Windows-1252 was historically, authoritatively, or intentionally the source file's original encoding.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.3,Bytes undefined by the frozen Windows-1252 mapping must cause the compatibility assessment or conversion task to refuse rather than guess.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"If the compatibility pass encounters a byte that W002-CONV-002.4 defines as undefined, the assessment stops at the first such byte and returns INCOMPATIBLE . Data Sculptor must not substitute a replacement character, reinterpret the byte under another code page, or continue as though conversion were safe. A later explicit conversion Work Order must apply the same complete WASM-002 mapping and the same refusal rule.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.4,Complete normative WASM-002 Windows-1252 byte mapping,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"This requirement is the complete normative Windows-1252 mapping authority for WASM-002 . It covers all 256 possible byte values. No PRODUCT-scoped glossary entry or host/library decoder is required to interpret compatibility or conversion. 0x00–0x7F Every byte 0x00 through 0x7F maps one-to-one to Unicode U+0000 through U+007F . 0x80–0x9F Byte Windows-1252 mapping Unicode 0x80 EURO SIGN U+20AC 0x81 UNDEFINED — 0x82 SINGLE LOW-9 QUOTATION MARK U+201A 0x83 LATIN SMALL LETTER F WITH HOOK U+0192 0x84 DOUBLE LOW-9 QUOTATION MARK U+201E 0x85 HORIZONTAL ELLIPSIS U+2026 0x86 DAGGER U+2020 0x87 DOUBLE DAGGER U+2021 0x88 MODIFIER LETTER CIRCUMFLEX ACCENT U+02C6 0x89 PER MILLE SIGN U+2030 0x8A LATIN CAPITAL LETTER S WITH CARON U+0160 0x8B SINGLE LEFT-POINTING ANGLE QUOTATION MARK U+2039 0x8C LATIN CAPITAL LIGATURE OE U+0152 0x8D UNDEFINED — 0x8E LATIN CAPITAL LETTER Z WITH CARON U+017D 0x8F UNDEFINED — 0x90 UNDEFINED — 0x91 LEFT SINGLE QUOTATION MARK U+2018 0x92 RIGHT SINGLE QUOTATION MARK U+2019 0x93 LEFT DOUBLE QUOTATION MARK U+201C 0x94 RIGHT DOUBLE QUOTATION MARK U+201D 0x95 BULLET U+2022 0x96 EN DASH U+2013 0x97 EM DASH U+2014 0x98 SMALL TILDE U+02DC 0x99 TRADE MARK SIGN U+2122 0x9A LATIN SMALL LETTER S WITH CARON U+0161 0x9B SINGLE RIGHT-POINTING ANGLE QUOTATION MARK U+203A 0x9C LATIN SMALL LIGATURE OE U+0153 0x9D UNDEFINED — 0x9E LATIN SMALL LETTER Z WITH CARON U+017E 0x9F LATIN CAPITAL LETTER Y WITH DIAERESIS U+0178 0xA0–0xFF Every byte 0xA0 through 0xFF maps one-to-one to Unicode U+00A0 through U+00FF . Undefined-byte rule The only undefined byte values in this frozen WASM-002 mapping are exactly 0x81 , 0x8D , 0x8F , 0x90 , and 0x9D . Encountering any one of them makes the complete compatibility assessment INCOMPATIBLE at the first such byte and causes an explicitly run conversion Work Order to refuse before transcoding rather than guess. These three ranges plus the 32-position table above exhaust the byte domain 0x00–0xFF . No unlisted byte value exists.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.5,The compatibility check must itself be bounded and deterministic.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"The compatibility check is one bounded-memory deterministic sequential pass from physical source byte offset 0 to EOF unless the first undefined Windows-1252 byte is encountered earlier. Buffer/window size must not change the compatibility outcome or the first undefined-byte offset. On INCOMPATIBLE , WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET is the zero-based absolute physical source-byte offset of the first undefined byte. On COMPATIBLE , that offset is NOT_APPLICABLE . If the assessment begins but an independent read/host failure prevents a governed compatibility conclusion, the outcome is NOT_AVAILABLE and the first-undefined-byte offset is NOT_AVAILABLE . The assessment itself publishes no converted output.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003,Help suggestion after failed UTF-8 certification,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"Help may suggest the separate CONVERT WINDOWS-1252 TO UTF-8 Work Order only when the governed engine emits DS-CNV-001 after a complete compatibility assessment returned COMPATIBLE . The suggestion is therefore derived from a governed diagnostic fact, not from the UTF-8 failure itself. If the assessment returns INCOMPATIBLE , is NOT_AVAILABLE , or did not run, DS-CNV-001 is not emitted and Help must not invent the conversion recommendation. P3-08 Help disclosure: when conversion succeeds, Help must state that the published CVT is a new governed source artifact with its own source identity and that converting a refreshed legacy source later will publish another distinct CVT rather than refresh an earlier CVT-backed Store lineage. When a CVT is selected for first materialization, Help must disclose the same consequence before or with the normal materialization guidance: the Store lineage is anchored to the exact CVT filename, not to the analyst-owned pre-conversion filename. Help must not imply hidden lineage continuity across separate CVT artifacts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.1,The suggestion must state that the current analytical task has stopped.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The suggestion must state that the current analytical task has already stopped/refused because strict UTF-8 certification failed. DS-CNV-001 is informational and must not be rendered as though materialization can continue from the failed run.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.2,The suggestion must state that the original source has not been changed.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The suggestion must state that the compatibility assessment was read-only and that Data Sculptor did not change the analyst-owned source. Any later successful conversion publishes a separate governed CVT artifact rather than editing the original source in place.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.3,"The suggestion must describe the source as compatible with the supported Windows-1252 converter, not definitively identified as Windows-1252.",W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The suggestion must describe the complete source as compatible with Data Sculptor's supported Windows-1252 converter . It must not say that the source was definitively identified as Windows-1252 or imply provenance that the compatibility pass cannot prove.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.4,The suggestion must make clear that conversion is a separate user-authorized task.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"The suggestion must make clear that conversion is a separate user-authorized Work Order. next_action: RUN_WINDOWS_1252_CONVERSION means that the separate operation is a governed safe option; it is not permission for Data Sculptor to silently transcode, modify the source, or reinterpret the refused analytical Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.5,"If the bytes are not compatible with the supported converter, Help must not recommend Windows-1252 conversion as though it were safe.",W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"If the compatibility outcome is INCOMPATIBLE , NOT_AVAILABLE , or NOT_RUN , Help must not recommend Windows-1252 conversion as though it were safe. In particular, the mere presence of DS-ENC-001 never authorizes that recommendation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004,Canonical conversion output,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"A successful Windows-1252 conversion task must produce canonical UTF-8 output suitable for later submission to the normal UTF-8 certification and materialization path. P3-08 lineage consequence: the successful conversion output is a new immutable governed CVT artifact with its own exact physical filename. That CVT filename is the source identity used by later Store routing. A later conversion, including one made from a refreshed analyst-owned legacy source with the same original filename, publishes a different CVT and therefore does not refresh, replace, or continue an earlier CVT-backed Store lineage merely by name association. On first materialization, each distinct CVT begins a new Store lineage unless that exact CVT filename already routes to an existing lineage under the normal Store rules. F-14 CVT identity and publication: the final converted-source filename is exactly __DS__CVT__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv . Conversion writes first to the corresponding W002-STOR-023.1 SCR identity with the same UTC, UUID and .csv extension. Only after bounded conversion completes, the candidate closes/reopens successfully, and the converted bytes satisfy the governed strict UTF-8 requirement may the class token be renamed to CVT . CSV structural interpretation remains governed by the later normal certification/materialization path; CVT publication does not assert that the converted source is structurally valid CSV. F-10 conversion semantics — encoding conversion only The conversion operation performs deterministic character transcoding only. It does not parse, repair, normalize, or reinterpret CSV structure. Commas remain commas. Double quotes remain double quotes. Ordinary ASCII bytes retain the same byte value. LF remains LF. CR remains CR. CRLF remains CRLF. Embedded CR/LF bytes are preserved in place; the converter does not decide whether they are record terminators or field content. Canonical UTF-8 output therefore means deterministic UTF-8 encoding of the accepted source characters, not normalization of line endings, quoting, delimiters, records, headers, or fields. F-10 BOM rule The published CVT is UTF-8 without a BOM ; Data Sculptor does not prepend EF BB BF . If the source failed strict UTF-8 classification, a leading source byte sequence EF BB BF is not blindly stripped as though it were a UTF-8 BOM. Under the Windows-1252 conversion path those source bytes are source data and are mapped according to the frozen Windows-1252 mapping. BOM interpretation remains subordinate to encoding classification rather than acting as a blind prefix-removal rule.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-010; CP-011,"CP010 T-ACCEPTED, GIT BANKED — lexical CVT candidate only; complete requirement remains open; CP011 T-ACCEPTED, GIT BANKED — CVT-to-SCR lexical staging-name pairing only; complete conversion requirement remains open",b7c515faa9bd000369d7656e09437310261290ae; e84ae5baeee05f9d5d30284c65b86eebba3c0f6a,"Evidence/CP-010/CP010_Scope_Lock.txt; Evidence/CP-010/CP010_RED_Test_Output_CMD_Corrected.txt; Evidence/CP-010/CP010_GREEN_Test_Output.txt; Evidence/CP-010/CP010_Post_Format_Regression_Test_Output.txt; Evidence/CP-010/CP010_WASM_Build_Output.txt; Evidence/CP-010/CP010_Post_Format_Check_Output.txt; Evidence/CP-010/CP010_Hash_Inventory_Verification.txt; Evidence/CP-010/CP010_Supplementary_Hash_Verification.txt; Evidence/CP-010/CP010_Closing_Git_Review.txt; CP010_Git_Banking_Output.txt (post-commit; separately archived); Evidence/CP-011/CP011_Scope_Lock.txt; Evidence/CP-011/CP011_RED_Test_Output.txt; Evidence/CP-011/CP011_GREEN_Test_Output.txt; Evidence/CP-011/CP011_Post_Format_Regression_Test_Output.txt; Evidence/CP-011/CP011_Rustfmt_Recheck_Output.txt; Evidence/CP-011/CP011_Post_Format_WASM_Build_Output.txt; Evidence/CP-011/CP011_Hash_Inventory_Verification.txt; Evidence/CP-011/CP011_Supplementary_Hash_Verification.txt; Evidence/CP-011/CP011_Closing_Git_Review.txt; CP011_Git_Banking_Output.txt (post-commit, separately preserved)","CP010 Day066 first-touches ONLY the F-14 canonical final CVT output filename grammar subconstraint: is_governed_cvt_source_filename_candidate(&str)->bool recognizes exact canonical __DS__CVT__<UTC>__<UUIDv4>.csv lexical form by reusing existing envelope validation. Four targeted tests + 40/40 full native regression PASS; wasm32-target build PASS; T accepted and banked b7c515faa9bd000369d7656e09437310261290ae. No encoding conversion, SCR creation, close/reopen, UTF-8 validation, CVT publication, immutable physical output, source authority, or CSV structural checks; entire W002-CONV-004 remains PARTIAL, independently unreviewed. CP011 Day066: public pure helper build_scr_candidate_filename_for_cvt(&str)->Option<String> accepts an exact canonical governed CVT .csv filename (via CP010 recognizer) and derives the paired SCR filename by substituting only class token CVT -> SCR, preserving exact UTC, UUIDv4 and lowercase .csv bytes; rejects wrong classes, paths, whitespace, malformed clock/date/UUID, extension and class case. Six targeted tests; RED expected E0432 exit 101; GREEN 6/6; post-format native regression 46/46; rustfmt recheck PASS; Rust 1.97.1 wasm32-unknown-unknown --lib build PASS; original 28/28 and combined 36/36 SHA-256 records verified. Two local scoped .gitattributes whitespace exceptions preserve Rustfmt/Git diagnostic TXT bytes; final Git staged check PASS. T-approved and Git banked e84ae5baeee05f9d5d30284c65b86eebba3c0f6a, 27 committed files, working tree clean. Lexical candidate-name pairing ONLY; no SCR creation, bytes, converter, transaction, close/reopen, validation/publication, retained SCR adoption, SOURCE authority or browser execution. Independent Claude implementation QA pending.",Day066,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.1,The converted artifact must itself be certifiable as UTF-8.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.2,The conversion Receipt identifies the governed source encoding,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The canonical RCP for a successful governed Windows-1252-compatible conversion must identify exactly SOURCE_ENCODING: WINDOWS-1252-COMPATIBLE . That operation-specific fact is carried within the canonical TXT Receipt governed by W002-RCP-001 through W002-RCP-010. Only that exact serialized spelling is permitted for this key/value pair.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.3,The conversion Receipt identifies the materialized UTF-8 encoding,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The canonical RCP for a successful governed conversion must identify exactly MATERIALIZED_ENCODING: UTF-8 . This uses the canonical KEY: VALUE serialization frozen by W002-RCP-005. MATERIALIZED_ENCODING=UTF-8 is not valid canonical Receipt serialization.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.4,The conversion Receipt identifies bounded streaming transcoding,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The canonical RCP for successful conversion must identify that transcoding was performed under the governed bounded/streaming conversion contract.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.5,No analytical column materialization occurs as part of this conversion operation.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001,Canonical diagnostic truth,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every governed user-visible failure or warning produced by WASM-002 must originate as a canonical diagnostic event. A diagnostic event must have a stable identity and structured facts independent of its final wording. Governed success/status events that participate in the Help/status/evidence system—such as a successfully saved Work Order or a successfully validated Suitcase—are canonical INFO diagnostic events and obey the same identity/fact/behavior contract. Ordinary static labels, headings, decorative copy, and presentation-only status text are not automatically diagnostics merely because they are visible in the UI.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.1,Canonical diagnostic IDs use the frozen DS-<DOMAIN>-<NNN> grammar,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry one stable identifier using the exact form DS-<DOMAIN>-<NNN> . DOMAIN is exactly three uppercase ASCII letters A through Z. NNN is exactly three decimal digits, zero-padded, in the range 001 through 999 . Examples include DS-ENC-001 , DS-WKO-001 , DS-STO-001 , DS-MAT-001 , and DS-HLP-001 . A diagnostic ID is permanent after allocation and must never be reused for a different diagnostic meaning. Severity, host, build/release, source filename, path, UUID, byte offset, row/column number, count, timestamp, occurrence ID, and other run-specific facts must not be encoded into the diagnostic ID; those values belong in structured diagnostic fields. The identifier is the canonical lookup key used by the Help message catalog. Day 060 H-04 pre-freeze identifier normalization: the Windows-1252 compatibility suggestion diagnostic is DS-CNV-001 . It follows the same exact three-letter DOMAIN grammar as every other diagnostic ID. No four-letter DOMAIN exception exists in the current WASM-002 contract. Any pre-H-04 draft spelling of this diagnostic is superseded and is not valid build-registry input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.2,Diagnostic severity uses one exact token set,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry exactly one severity token: INFO , WARNING , or ERROR . Severity classifies the condition for human and machine interpretation. It does not itself determine whether execution continues or refuses; that authority is carried separately by the canonical behavior field.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.3,Diagnostic phase uses a stable uppercase token,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must identify the governed operation or phase using an uppercase ASCII snake-case token matching [A-Z][A-Z0-9]*(?:_[A-Z0-9]+)* . Examples include WORK_ORDER_VALIDATION , SOURCE_CERTIFICATION , MATERIALIZATION , STORE_PUBLICATION , and HELP_REPORT . These examples do not constitute a closed global phase list; the fixed phase for each allocated diagnostic is declared by that diagnostic's registry entry.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.4,Structured diagnostic facts are declared per diagnostic,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The canonical event carries diagnostic-specific evidence in a structured facts object. Fact keys use lowercase ASCII snake case matching [a-z][a-z0-9]*(?:_[a-z0-9]+)* . Each diagnostic registry entry declares disjoint required_facts and optional_facts sets. Every required fact must be present when that diagnostic is emitted. An optional fact key may be omitted when that fact is not emitted for the event, but omission itself has no governed absence-state meaning : it must not be interpreted as NONE , NOT_RUN , NOT_AVAILABLE , NOT_APPLICABLE , false , zero, or an empty string. An emitted fact key that is not declared for that diagnostic is invalid. For structured JSON diagnostic facts, an established ordinary value retains its native JSON type. When a present diagnostic fact must express one of the shared governed absence states, its value is the exact JSON string ""NONE"" , ""NOT_RUN"" , ""NOT_AVAILABLE"" , or ""NOT_APPLICABLE"" , with the meaning frozen by F-18. JSON null is not a generic encoding for diagnostic-fact absence; it is permitted only where a specific JSON schema explicitly declares a nullable field and defines what that null means, as W002-HELP-009 does for HLP lineage. A required diagnostic fact may not be silently omitted, defaulted, converted to null , guessed, or replaced by a Help-layer value. If Data Sculptor attempts to establish a registered diagnostic but cannot produce one or more facts declared required for that diagnostic, the intended diagnostic is not emitted . Instead the engine emits DS-HLP-001 under W002-HELP-001.8. The replacement event records the intended diagnostic ID and the complete sorted set of missing required fact names. No partially populated copy of the intended diagnostic may be presented beside it. This fail-closed substitution is a diagnostic-contract integrity rule, not a presentation fallback. It preserves the F-17 boundary that diagnostics own facts and Help renders only complete governed diagnostic truth.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.5,Execution behavior is explicitly CONTINUE or REFUSE,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry exactly one execution-behavior token: CONTINUE or REFUSE . This field is the governed continue/refuse decision for the event. Help wording, severity, UI color, or presentation must not independently weaken, strengthen, or reinterpret it.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.6,Safe next action uses a stable token rather than Help prose,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry a next_action token using uppercase ASCII snake case matching [A-Z][A-Z0-9]*(?:_[A-Z0-9]+)* . NONE is the canonical value when no safe governed next action applies. The token expresses stable machine-readable intent; Casual, Office Speak, and Technical wording for that action belongs to the Help layer. Run-specific values such as timestamps, paths, UUIDs, byte offsets, filenames, counts, or occurrence IDs remain structured facts and do not change the diagnostic identity or fixed next-action meaning. Damaged-Store guidance is part of the safe-next-action contract. When ordinary materialization refuses because exact source routing identifies an INVALID Store lineage, or a DEGRADED lineage whose every mapped COL is broken and therefore cannot be reduced to a non-empty successor by REPAIR MAP , the selected Help voice must preserve the same frozen choices and consequences rather than inventing a recovery operation. The explanation must identify the blocked lineage/current MAP and distinguish: external restoration under the original governed physical filename followed by the required governed validation tier; source rename to deliberately begin a separate new Store lineage; and analyst retirement of the damaged lineage by moving all of that lineage's Store MAPs out of the active Suitcase root. For retirement, Help must warn that moving only the latest MAP can expose an older structurally valid MAP as current. Help must not claim that matching the original filename proves historical byte identity, and must not describe any of these analyst filesystem actions as Data Sculptor-authored repair, deletion, RID regeneration, or silent lineage replacement. P3-07 malformed-MAP routing guard: when ordinary materialization refuses because no routable Store lineage can be established while one or more structurally malformed Store-MAP-class artifacts are present in the active Suitcase, Help must identify the malformed MAP artifact or artifacts and state that new-Store/RID creation was blocked to prevent a silent lineage fork. Help must not describe the missing structurally valid MAP as proof that the prior Store never existed, and must not invent a Data Sculptor repair or replacement operation for this condition. P3-10 delimiter-hint clarification: when Stage 2 refuses with INVALID_BYTE_AFTER_CLOSING_QUOTE and the offending byte is semicolon ( 0x3B ) or horizontal TAB ( 0x09 ), Help may include the governed delimiter-mismatch hint even though the refusal occurred before header-delimiter resolution. The hint is explanatory only: it must not change the canonical refusal condition, location facts, behavior, or safe-action boundary. F-16 conversion-suggestion boundary: strict UTF-8 refusal diagnostic DS-ENC-001 has fixed next_action: NONE . UTF-8 failure alone does not establish that any converter is safe. Only the separate compatibility diagnostic DS-CNV-001 , emitted after the complete governed Windows-1252 compatibility assessment returns COMPATIBLE , may carry next_action: RUN_WINDOWS_1252_CONVERSION . That token identifies a safe separately authorized option; it never resumes or rewrites the refused analytical Work Order. Day 060 H-12 damaged-lineage diagnostic binding ordinary MATERIALIZE refusal for a routed INVALID Store uses DS-MAT-014 and its declared facts; ordinary MATERIALIZE refusal for a DEGRADED Store whose every mapped COL is broken uses DS-MAT-015 and its declared facts; the no-routable-lineage / malformed-Store-MAP guard uses DS-MAT-016 and its declared facts. These specialized allocations are what permit closed-world Help to identify the blocked lineage/current MAP or malformed MAP artifacts without adding unrelated facts to the ordinary DS-MAT-010 validation diagnostic. Day 060 H-26 / BM-09 ordinary DEGRADED routing binding. When ordinary MATERIALIZE exact-source routing identifies a DEGRADED Store whose RID is valid and at least one mapped non-RID COL remains valid, the refusal uses DS-MAT-017 . Its fixed next_action is RUN_REPAIR_MAP because REPAIR MAP is the safe governed Store mutation for this repairable DEGRADED state. Help must use the diagnostic's declared current_map_filename as the exact MAP identity the analyst must name in the separate governed REPAIR MAP Work Order. The token does not run repair automatically and does not mutate the refused MATERIALIZE Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.7,"The governed engine emits the diagnostic semantic core, not voice-authored prose",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The shared Rust/WASM diagnostic path must provide the canonical semantic core required by Help: diagnostic_id , severity , phase , behavior , facts , and next_action . The fixed values and permitted fact-key sets for an allocated diagnostic are governed by diagnostics.json . Casual, Office Speak, and Technical prose belongs to the Help rendering layer rather than being duplicated as authored message sets inside the governed engine. Host/build/occurrence metadata may be carried by surrounding governed execution evidence, but it must not redefine the diagnostic semantic core. F-16 closed-world Help rule: Help may recommend the WASM-002 Windows-1252 conversion Work Order only when the governed engine emitted DS-CNV-001 . Help must not infer compatibility from DS-ENC-001 , byte appearance, file extension, locale, browser behavior, heuristic encoding detection, or prose outside the diagnostic facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.8,diagnostics.json is the canonical WASM-002 diagnostic registry build resource,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The human-inspectable development/build source for the WASM-002 diagnostic registry is exactly diagnostics.json , encoded as UTF-8 without BOM. It is Data Sculptor product/build content, not a Suitcase artifact; it must not use the __DS__ namespace, consume an artifact-class token, or be copied into an analyst's Suitcase merely because Data Sculptor runs. The top-level JSON object has exactly two fields: registry_version and diagnostics . registry_version is the string ""1"" . diagnostics is an array written in ascending UTF-8 byte order of diagnostic_id . Each diagnostic entry has exactly seven fields: diagnostic_id , severity , phase , behavior , next_action , required_facts , and optional_facts . Diagnostic IDs must be unique and satisfy W002-HELP-001.1. Severity, phase, behavior, and next-action values must satisfy W002-HELP-001.2 through W002-HELP-001.6. required_facts and optional_facts are arrays of canonical fact-key strings sorted in ascending UTF-8 byte order; keys must be unique within each array and the two arrays must be disjoint. {
""registry_version"": ""1"",
""diagnostics"": [
{
""diagnostic_id"": ""DS-CNV-001"",
""severity"": ""INFO"",
""phase"": ""SOURCE_CERTIFICATION"",
""behavior"": ""CONTINUE"",
""next_action"": ""RUN_WINDOWS_1252_CONVERSION"",
""required_facts"": [""source_filename"", ""windows_1252_compatibility_outcome""],
""optional_facts"": []
},
{
""diagnostic_id"": ""DS-ENC-001"",
""severity"": ""ERROR"",
""phase"": ""SOURCE_CERTIFICATION"",
""behavior"": ""REFUSE"",
""next_action"": ""NONE"",
""required_facts"": [""first_invalid_byte_offset"", ""source_filename"", ""stop_reason""],
""optional_facts"": [""analytical_outputs_published"", ""materialization_started"", ""source_modified_by_data_sculptor"", ""store_state_committed""]
},
{
""diagnostic_id"": ""DS-HLP-001"",
""severity"": ""ERROR"",
""phase"": ""DIAGNOSTIC_ASSEMBLY"",
""behavior"": ""REFUSE"",
""next_action"": ""NONE"",
""required_facts"": [""intended_diagnostic_id"", ""missing_required_facts""],
""optional_facts"": []
}
]
} The PRD does not need to enumerate every allocated WASM-002 diagnostic row. The complete registry delivered with the build is retained acceptance evidence. A diagnostic ID becomes permanent once allocated and must not later be reused for a different meaning. Build validation must fail on malformed JSON; extra/missing entry fields; duplicate or noncanonical diagnostic IDs; invalid fixed tokens; unsorted, duplicate, overlapping, or invalid fact-key declarations; engine diagnostic definitions whose fixed semantics disagree with the registry; engine diagnostic definitions absent from the registry; Help-catalog IDs absent from the registry; or Help placeholders that name facts not declared as required or optional by the matching diagnostic. F-07 DS-ENC-001 fact mapping: the canonical lower-case diagnostic facts for strict UTF-8 refusal are first_invalid_byte_offset , source_filename , and stop_reason . For this diagnostic, stop_reason is exactly INVALID_UTF8_SEQUENCE . The generic fact name byte_offset is retired for this UTF-8 refusal diagnostic. P2-03 clock-order diagnostic facts: whichever stable WASM-002 Diagnostic ID is allocated to refusal because a successor Store MAP or WKO MAP cannot satisfy the strict monotonic UTC publication guard must declare these exact lower-case required facts in its diagnostic-registry entry: map_profile , observed_host_utc , predecessor_map_filename , and predecessor_utc . map_profile has exactly two permitted values: STORE for a Store-MAP chronology guard and WKO for a Work-Order-registry-MAP chronology guard. These facts identify both the governed MAP profile, the blocking predecessor artifact, and the truthful clock observation that caused refusal. F-16 DS-CNV-001 allocation: DS-CNV-001 is emitted only when the complete read-only compatibility assessment under W002-CONV-002 through W002-CONV-002.5 reaches EOF with outcome COMPATIBLE . Its required fact windows_1252_compatibility_outcome is therefore exactly the JSON string ""COMPATIBLE"" . behavior: CONTINUE means this informational diagnostic introduces no additional refusal; it does not reverse the already-established DS-ENC-001 refusal or resume Stage 2. F-17 DS-HLP-001 allocation: DS-HLP-001 is the canonical fail-safe event when the engine cannot satisfy the complete required-fact contract of an intended registered diagnostic. intended_diagnostic_id is the exact canonical ID that was being assembled. missing_required_facts is a JSON array of every missing required fact-key string, sorted in ascending UTF-8 byte order with no duplicates. The intended diagnostic is suppressed rather than emitted incompletely. DS-HLP-001 always refuses and has next_action: NONE . F-22 QA-independence boundary: diagnostics.json is authoritative for the fixed semantic contract of an allocated Diagnostic ID — its ID, severity, phase, behavior, next action, and permitted required/optional fact keys — but the implementation-delivered registry is not, by itself, an independent oracle proving that every arbitrary runtime condition was mapped to the correct Diagnostic ID. WASM-002 does not require a second QA-owned registry duplicating every implementation allocation. Where this PRD independently freezes a condition-to-diagnostic mapping or exact required facts — including the named DS-ENC-001 , DS-CNV-001 , and DS-HLP-001 contracts and other explicitly pinned diagnostic facts — that PRD text remains normative and acceptance must test the mapping independently of the implementation registry. For allocations not independently pinned by the PRD, WASM-002 accepts the validated build registry as the build allocation while retaining all registry-shape, permanence, semantic-agreement, fact-discipline, and Help cross-validation gates. This is an explicit accepted QA-scope risk, not a claim of independent condition-to-ID verification. Day 060 H-02 fixture-pinned diagnostic allocations The following allocations are normative for the byte-exact Receipt acceptance corpus. They are genuine product diagnostics, not QA-only placeholder IDs. Every row has severity: ERROR , behavior: REFUSE , next_action: NONE , the phase shown below, the listed required facts, and an empty optional_facts array unless another requirement explicitly adds optional facts later. The existing DS-ENC-001 remains the Stage-1 invalid UTF-8 diagnostic and is reused by the H-02 Stage-1 compatibility-state fixtures. Diagnostic ID Severity Phase Behavior Next action Frozen meaning Required facts DS-WKO-001 ERROR WORK_ORDER_VALIDATION REFUSE NONE Work Order validation refuses before one of the seven governed operations can be identified. work_order_filename DS-MAT-010 ERROR MATERIALIZATION_VALIDATION REFUSE NONE Ordinary MATERIALIZE validation/routing refuses before Stage 1 begins after the source reference is established, excluding the specialized damaged-lineage and malformed-MAP routing conditions allocated by Day 060 H-12. source_filename DS-MAT-011 ERROR CSV_DECODING REFUSE NONE MATERIALIZE Stage 2 refuses on a governed structural CSV condition. source_filename csv_refusal_condition csv_source_byte_offset csv_physical_line csv_logical_record csv_field_ordinal DS-MAT-012 ERROR MATERIALIZATION_GATE REFUSE NONE MATERIALIZE post-Stage-2 gate refuses because existing-Store source cardinality does not match the inherited RID cardinality. source_filename base_map_filename rid_filename source_row_count rid_row_count DS-MAT-013 ERROR STORE_PUBLICATION REFUSE NONE MATERIALIZE governed Store-artifact filename identity allocation refuses after collision-retry exhaustion before any new Store artifact becomes authoritative. artifact_class collision_retry_count DS-INV-001 ERROR INVENTORY_VALIDATION REFUSE NONE INVENTORY validation refuses before the inventory scan begins. work_order_filename DS-INV-002 ERROR INVENTORY_SCAN REFUSE NONE INVENTORY scan/measurement refuses for an identified immediate Suitcase entry before a complete snapshot is established. entry_name DS-INV-003 ERROR INVENTORY_PUBLICATION REFUSE NONE INVENTORY governed INV filename identity allocation refuses after collision-retry exhaustion after the snapshot facts are established. artifact_class collision_retry_count DS-ALS-001 ERROR ALIAS_VALIDATION REFUSE NONE UPDATE ALIASES validation/routing refuses before an exact base Store MAP is established. work_order_filename DS-ALS-002 ERROR ALIAS_GATE REFUSE NONE UPDATE ALIASES refuses after the exact base Store MAP is established but before successor publication. base_map_filename DS-ALS-003 ERROR STORE_PUBLICATION REFUSE NONE UPDATE ALIASES successor-MAP filename identity allocation refuses after collision-retry exhaustion. artifact_class collision_retry_count DS-RPM-001 ERROR REPAIR_MAP_VALIDATION REFUSE NONE REPAIR MAP validation refuses before an exact target MAP/RID pair is established. work_order_filename DS-RPM-002 ERROR REPAIR_MAP_ANALYSIS REFUSE NONE REPAIR MAP analysis refuses before a complete repair result is established. target_map_filename DS-RPM-003 ERROR REPAIR_MAP_ANALYSIS REFUSE NONE REPAIR MAP deterministically refuses because every mapped COL is broken and retained COL count is zero. target_map_filename broken_col_count DS-RPM-004 ERROR STORE_PUBLICATION REFUSE NONE REPAIR MAP successor-MAP filename identity allocation refuses after collision-retry exhaustion after repair analysis is established. artifact_class collision_retry_count DS-WKR-001 ERROR WORK_ORDER_REGISTRY_VALIDATION REFUSE NONE REPAIR WORK ORDER REGISTRY validation refuses before the current structurally valid WKO MAP is established. work_order_filename DS-WKR-002 ERROR WORK_ORDER_REGISTRY_REPAIR REFUSE NONE REPAIR WORK ORDER REGISTRY repair-plan/gate processing refuses after the base WKO MAP is established. base_wko_map_filename DS-WKR-003 ERROR WORK_ORDER_REGISTRY_PUBLICATION REFUSE NONE REPAIR WORK ORDER REGISTRY successor-WKO-MAP filename identity allocation refuses after collision-retry exhaustion. artifact_class collision_retry_count DS-CVT-001 ERROR CONVERSION_VALIDATION REFUSE NONE CONVERT WINDOWS-1252 TO UTF-8 validation/classification refuses before bounded transcoding begins. source_filename DS-CVT-002 ERROR CONVERSION REFUSE NONE CONVERT WINDOWS-1252 TO UTF-8 refuses after bounded transcoding begins but before publication. source_filename DS-CVT-003 ERROR CONVERSION_PUBLICATION REFUSE NONE CONVERT WINDOWS-1252 TO UTF-8 CVT filename identity allocation refuses after collision-retry exhaustion after conversion facts are established. artifact_class collision_retry_count DS-CAT-001 ERROR CATALOG_DISCOVERY REFUSE NONE CATALOG STORES validation/discovery refuses before the complete authoritative catalog row set is established. work_order_filename DS-CAT-002 ERROR CATALOG_PUBLICATION REFUSE NONE CATALOG STORES CAT filename identity allocation refuses after collision-retry exhaustion after the complete row set is established. artifact_class collision_retry_count Day 060 H-04 normalization: all allocated Diagnostic IDs in the current WASM-002 contract, including DS-CNV-001 , use exactly three ASCII uppercase letters in DOMAIN . No exception exists. Day 060 H-12 / BM-09 specialized diagnostic allocations The H-02 fixture diagnostics above are intentionally narrow. In particular, publication diagnostics whose required facts are only artifact_class and collision_retry_count mean identity-allocation collision exhaustion , not every possible publication failure. Other publication failures receive distinct registry allocations unless another requirement independently pins their Diagnostic ID. The following additional pre-freeze allocations are normative because existing Help duties require fact contracts that the broad H-02 fixture IDs cannot truthfully carry. Every row has severity: ERROR , behavior: REFUSE , and next_action: NONE except DS-MAT-017 , whose next_action is RUN_REPAIR_MAP . optional_facts is empty unless another requirement explicitly extends it. Diagnostic ID Severity Phase Behavior Next action Frozen meaning Required facts DS-MAT-014 ERROR MATERIALIZATION_ROUTING REFUSE NONE MATERIALIZE is blocked because exact source routing identifies a current INVALID Store lineage whose governed RID is missing or invalid. source_filename current_map_filename rid_filename store_health DS-MAT-015 ERROR MATERIALIZATION_ROUTING REFUSE NONE MATERIALIZE is blocked because exact source routing identifies a DEGRADED Store whose every mapped non-RID COL is missing or invalid, so REPAIR MAP cannot publish a non-empty successor. source_filename current_map_filename rid_filename store_health mapped_col_count broken_col_count DS-MAT-016 ERROR MATERIALIZATION_ROUTING REFUSE NONE New-Store creation is blocked because no routable Store lineage can be established while one or more structurally malformed Store-MAP-class artifacts are visible in the active Suitcase. source_filename malformed_map_filenames DS-MAT-017 ERROR MATERIALIZATION_ROUTING REFUSE RUN_REPAIR_MAP MATERIALIZE is blocked because exact source routing identifies a current DEGRADED Store whose governed RID is valid and whose mapped non-RID COL set contains at least one broken COL and at least one surviving valid COL, so a separate governed REPAIR MAP operation is available. source_filename current_map_filename rid_filename store_health broken_col_count DS-UTC-001 ERROR PUBLICATION_CHRONOLOGY REFUSE NONE A successor Store MAP or WKO MAP publication is blocked because truthful observed host UTC is not strictly greater than the canonical chronology predecessor UTC. map_profile observed_host_utc predecessor_map_filename predecessor_utc Day 060 H-26 / BM-09 allocation: DS-MAT-017 is the ordinary repairable-DEGRADED routing refusal. store_health is exactly DEGRADED ; broken_col_count is the exact number of mapped non-RID COL bindings that fail the applicable Store-health validation at this routing gate and is at least 1 . The condition excludes the all-COLs-broken case allocated to DS-MAT-015 . current_map_filename is the exact current structurally valid Store MAP that a separate REPAIR MAP Work Order must name. RUN_REPAIR_MAP is a safe next-action token only; it never causes automatic repair. Closed-world Help consequence: Help may render the richer damaged-lineage, malformed-MAP, and monotonic-UTC explanations only from the applicable specialized diagnostic event above. It must not borrow undeclared facts from DS-MAT-010 or from a collision-exhaustion publication diagnostic merely because those facts are available elsewhere at runtime. Cross-operation UTC rule: DS-UTC-001 has one stable semantic condition across Store-MAP and WKO-MAP successor publication. The required map_profile fact tells closed-world Help which governed MAP profile encountered the chronology guard: STORE means Store MAP and WKO means Work Order registry MAP. Help must select profile-appropriate explanation and analyst exits only from that declared fact and the other registered event facts; it must not infer the profile from filename shape, surrounding host state, or an undeclared operation field. The shared Diagnostic ID therefore does not need profile-specific clones.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002,Three-voice parity,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The Help Engine must support the three established Data Sculptor help voices. All three renderings must preserve the same diagnostic truth. Voice selection may change wording, sentence structure, degree of technical detail, and explanatory style. F-24 session default and persistence: Technical is the canonical Help voice at the start of every new browser application instance. The analyst may select Casual or Office Speak during that instance, but WASM-002 retains the selected voice only in volatile runtime state and does not persist the preference in browser-private storage. A new application instance therefore returns to Technical. This default does not alter the F-17 rule that a missing diagnostic-specific catalog entry visibly falls back to Generic Technical Help.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.1,Voice selection must not change diagnostic identity.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.2,Voice selection must not change severity.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.3,Voice selection must not change counts or evidence.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.4,Voice selection must not change whether execution continues or refuses.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.5,Voice selection must not change safe/unsafe action boundaries.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.6,Voice selection must not change provenance.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.7,Voice selection must not change the meaning of the recommended next step.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Tests must assert parity on the canonical event and structured facts, not brittle equality of prose.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.8,One validated Help message catalog is the source of truth for all three voices,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The Help layer resolves a canonical diagnostic ID through one validated catalog that associates an authored ID with Casual, Office Speak, and Technical templates. The human-maintained development source is exactly help_messages.json , encoded as UTF-8 without BOM. help_messages.json is a Data Sculptor product/build resource, not a Suitcase artifact. It must not use the __DS__ governed artifact namespace, consume a semantic artifact-class token, or be copied into an analyst's Suitcase merely because Data Sculptor runs. Run-specific structured facts remain authoritative in the canonical diagnostic event and are supplied separately to the selected template. The three authored voices must not be maintained as unrelated message stores. F-17 coverage fallback: absence of an authored catalog entry for an otherwise complete registered diagnostic is permitted at run time and does not make the diagnostic incomplete. Data Sculptor must instead render the deterministic Generic Technical Help view defined by W002-HELP-002.9. The fallback consumes only the canonical event semantic core and its emitted governed facts; it is not a second message catalog and does not manufacture replacement diagnostic facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.9,WASM-002 may use mechanically generated placeholder voice text to prove Help wiring,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"WASM-002 acceptance does not require the complete production Help corpus. Authored catalog entries may use unmistakable placeholder strings, and placeholder entries may be generated mechanically from the validated diagnostics.json registry; no production prose authorship is required. Deterministic Generic Technical Help fallback. When a complete registered canonical diagnostic has no matching entry in help_messages.json , all selected Help voices fall back visibly to one Generic Technical rendering. The rendering must show, in this exact conceptual order, the diagnostic ID, severity, phase, behavior, next-action token, and then every emitted governed fact ordered by ascending UTF-8 byte order of fact key. It must state that no diagnostic-specific authored explanation is available. It must not infer cause beyond the diagnostic, invent remediation, default missing facts, inspect undeclared external state, or substitute prose for governed fact values. The Generic Technical fallback preserves the original diagnostic unchanged. Catalog incompleteness is therefore distinct from diagnostic incompleteness: a valid event can always be rendered generically, while inability to satisfy the event's own required_facts contract suppresses that intended event and produces DS-HLP-001 under W002-HELP-001.4 and W002-HELP-001.8. Acceptance must prove correct diagnostic-ID lookup, selected-voice resolution, structured-fact interpolation where a template exists, voice switching, deterministic Generic Technical fallback for a deliberately absent catalog entry, and semantic parity across authored voices. Final authored Help wording, examples, editorial polishing, and production-corpus quality remain deferred to a later Help-content milestone.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.10,help_messages.json has one deterministic WASM-002 source schema,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The top-level JSON object has exactly two fields: catalog_version and messages . catalog_version is the string ""1"" . messages is an array written in ascending UTF-8 byte order of diagnostic_id . Each message entry has exactly four fields: diagnostic_id , casual , office_speak , and technical . diagnostic_id must satisfy the canonical DS-<DOMAIN>-<NNN> grammar and must be unique in the catalog. Each voice field is a JSON string. A voice string may contain zero or more structured-fact placeholders using the exact form {fact_name} . Each catalog diagnostic_id must exist in the validated diagnostics.json registry, and each referenced placeholder must be declared in that diagnostic's required_facts or optional_facts . Duplicate IDs, missing voice fields, null voice values, malformed JSON, noncanonical or unregistered diagnostic IDs, or undeclared fact placeholders make catalog validation fail. The catalog is intentionally allowed to be non-exhaustive. A registered diagnostic with no message entry is rendered through the deterministic Generic Technical fallback in W002-HELP-002.9. Therefore a missing catalog entry for a registered diagnostic is not a build-validation failure and must not cause the engine to synthesize an authored entry or suppress the diagnostic. WASM-002 therefore does not require one global exhaustive fact-name table in the PRD. Fact-key authority is per diagnostic: the validated registry declares which fact names are legal for each stable diagnostic meaning. {
""catalog_version"": ""1"",
""messages"": [
{
""diagnostic_id"": ""DS-ENC-001"",
""casual"": ""[CASUAL PLACEHOLDER] {source_filename}"",
""office_speak"": ""[OFFICE PLACEHOLDER] {source_filename}"",
""technical"": ""[TECHNICAL PLACEHOLDER] {source_filename} {first_invalid_byte_offset} {stop_reason}""
}
]
} Later Help-content revisions may extend or version this schema only through an explicit PRD revision. F-07 placeholder mapping: Help for the strict UTF-8 refusal may render {first_invalid_byte_offset} and {stop_reason} because those exact fact names are declared by the canonical DS-ENC-001 diagnostic registry entry. The older generic {byte_offset} placeholder is not valid for DS-ENC-001. P2-03 Help rendering duty: Help for the monotonic-UTC refusal must identify the exact blocking predecessor MAP and show both predecessor UTC and truthful observed host UTC. It must distinguish an incorrect host clock from a genuinely future-dated governed MAP and may explain the approved analyst-owned choices: correct the clock, wait/rerun after truthful time advances, or deliberately move the exact future-dated current MAP out of the active Suitcase root with the warning that an older snapshot/registry may become current and that restoring the moved MAP may restore its authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.11,The validated Help catalog is embedded into the released HTML build and supplied to the shared core,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Before a WASM-002 browser build is accepted, the build must parse and validate help_messages.json , then serialize the validated catalog directly into the Data Sculptor HTML itself as one non-executable application/json payload with the exact element ID ds-help-catalog . The embedded JSON must be HTML-safe so catalog text cannot terminate the containing script element; at minimum, literal less-than characters in JSON string content must be escaped during embedding. At runtime, the browser host obtains this embedded payload and supplies the validated catalog to the shared Rust/WASM Help core. Browser JavaScript must not implement a competing template-selection, fact-interpolation, fallback, escaping, or HLP-semantic engine. The browser host must not fetch a Help catalog from the network, the filesystem, the Suitcase, or an adjacent deployment file. Missing or malformed embedded catalog JSON, or a build whose embedded catalog does not correspond to the validated build input, is a build-validation failure. The released HTML therefore remains one offline portable front door for the browser Help catalog. A later native host may supply the same governed catalog semantics to the same shared core from its own build-bundled resource; host packaging may differ, but Help semantics must not fork.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-003,Message and report outputs,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,The Help Engine must support both live and durable help surfaces.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-003.1,The Help Engine must support a concise human-facing message suitable for the live browser surface.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,The concise message is rendered in the dedicated browser Help / Diagnostic Surface when that surface is present; it is not required to be a modal or transient notification.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-003.2,"The Help Engine must support a durable HTML Help report using the canonical built-in Data Sculptor presentation suitable for saving with the Work Order, receipt, and output artifacts.",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"A concise Help message for an individual diagnostic and any durable Help Report that includes that diagnostic must resolve from the same canonical diagnostic event. A durable Help Report request may cover one active governed diagnostic, including a non-run diagnostic, or one governed run containing one or more canonical diagnostic events. Exactly one HLP is published for each explicit Help Report request.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004,HTML Help report content,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,A saved Help report must be able to include the following elements when relevant.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.1,Product and brand identity.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.2,Plain-language summary.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.3,Stable diagnostic ID.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.4,What Data Sculptor observed.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.5,Evidence and structured facts.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.6,What the user can safely do next.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.7,Source/Work-Order context is governed by the HLP disclosure allowlist.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The report may include only source and Work Order context permitted by W002-HELP-010. Durable HLP disclosure is intentionally stricter than transient local Help because the HLP is a portable support-handoff artifact. A relevant governed alias or source header may enter the HLP only under the necessity and disclosure rules in W002-HELP-010. Source-header text is eligible only when Data Sculptor has structurally established an actual CSV header record under the governed parser. Record position alone does not make text a header. When no valid header record has been established, including the headerless-source refusal case, the HLP must use structural evidence such as the 1-based column ordinal, diagnostic condition/location, or an applicable operational fallback name and must not substitute field data from the first data row. Absolute local paths, entire Work Orders, Work Order comments, source rows/values, unrelated headers/aliases/columns, and unrelated Suitcase contents are not automatically eligible merely because they are available to the running application.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.8,Report-generation metadata preserves HLP identity and lineage.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,The report must carry its own governed HLP filename and generation UTC together with the diagnostic identity and applicable originating execution lineage. The exact HLP provenance contract is governed by W002-HELP-009.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.9,Selected Help voice and its human-facing explanation.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.10,A clearly labelled structured-facts block derived from the canonical diagnostic event.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.11,Four canonical Boolean facts describe the WASM-002 execution boundary.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"When the governed diagnostic context can determine the execution boundary, the canonical fact names are exactly: source_modified_by_data_sculptor materialization_started analytical_outputs_published store_state_committed When one of these facts has an established Boolean value, the JSON/structured value is the native Boolean true or false , never the strings ""TRUE"" or ""FALSE"" . source_modified_by_data_sculptor states only whether Data Sculptor modified the analyst-owned source in place; it must not imply knowledge that no external process or analyst changed the source between sessions. materialization_started records whether the governed analytical materialization phase began. analytical_outputs_published records whether governed analytical outputs were successfully published for user use; transient SCR candidates or abandoned/uncommitted debris do not make this fact true. store_state_committed records whether the successor Store MAP commit point was crossed. If a present boundary fact must express governed absence rather than an established Boolean, its JSON/structured value is the exact applicable shared absence-state string ""NONE"" , ""NOT_RUN"" , ""NOT_AVAILABLE"" , or ""NOT_APPLICABLE"" . JSON null is not a valid encoding for these four boundary facts because it would discard the reason for absence. A boundary fact that is optional for a particular diagnostic may instead be omitted under W002-HELP-001.4; that omission carries no absence-state meaning. A missing, omitted, unavailable, or not-run fact must never be interpreted as false . If one of these facts is declared required for an intended diagnostic and the required value cannot be produced, it must not be silently defaulted; the intended diagnostic is suppressed and the fail-safe DS-HLP-001 contract in W002-HELP-001.4/W002-HELP-001.8 applies.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.12,Governed Work Order lineage sufficient to establish user intent.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,Included lineage must obey the disclosure boundary defined for Help reports and must not automatically expand into source-data disclosure.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-005,Deterministic rendering uses a closed governed input set,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Given the same canonical diagnostic event or ordered set of events, selected voice, PRETTY rules, validated Help catalog, and built-in presentation version, Help rendering must be deterministic except for explicitly permitted event/report-specific fields. The Help renderer may consume only the canonical diagnostic fields and fact keys declared by the applicable diagnostic registry entries plus fields explicitly defined by the applicable HLP provenance schema. It must not inspect or interpolate an open-ended host-state bag, undeclared browser state, unrelated Suitcase contents, or another value merely because it is available at runtime. A future configurable Brand Manifest may add another governed presentation input, but it is not part of the WASM-002 rendering contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-006,Host parity uses one shared Help semantic core,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The Help Engine must be designed for use by the browser host and the later native CLI host without changing diagnostic semantics. The shared Rust core owns diagnostic-to-template selection, governed fact interpolation, deterministic fallback behavior, governed escaping, and durable HLP semantic serialization. The WASM-002 browser host supplies the validated catalog embedded under W002-HELP-002.11. A later native host may supply the same governed catalog semantics from a build-bundled native resource. Host-specific presentation and packaging may differ, but they must not create a second Help semantic engine or change canonical diagnostic identity, facts, behavior, next action, voice semantics, disclosure policy, or HLP meaning.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-007,"Help surfaces are projections, not diagnostic authority",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The live Help / Diagnostic Surface and the saved HTML Help Report must render from the canonical diagnostic event. Neither surface may independently create, reinterpret, weaken, suppress, or override governed diagnostic truth.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-008,HTML Help Report is a governed support-handoff artifact,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The user must be able to generate a styled, self-contained HTML Help Report from a governed diagnostic event for retention, IT/support handoff, or communication to another analyst. The report must support two audiences in one document: a human-readable explanation using the selected Help voice and a clearly inspectable structured-facts section that preserves the technical evidence required to understand the event.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-008.1,"The report preserves the canonical execution-boundary facts, including relevant negative facts.",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"When relevant to the diagnostic, the report must render the governed values of source_modified_by_data_sculptor , materialization_started , analytical_outputs_published , and store_state_committed . These values originate from governed execution state rather than reassuring prose invented by the renderer. A missing/unavailable fact is not rendered as false .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-008.2,The report preserves only the Work Order lineage needed to explain the diagnostic.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The report must identify the originating WKO physical filename when one applies and may include only the minimum executable Work Order clause or clauses needed to establish the governed operation, user intent, and trigger for the diagnostic. It must not automatically embed the entire Work Order or Work Order comments. All such context remains subject to the fixed disclosure boundary in W002-HELP-010.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-009,"WASM-002 establishes HLP identity, lineage, multiplicity, and one canonical embedded provenance payload.",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"A durable generated Help Report is an immutable governed HLP artifact whose physical filename is: __DS__HLP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html The UTC token is the HLP's own governed generation/publication time. The report is the final self-contained HTML artifact using the canonical built-in Red5Sorcery/Data Sculptor presentation; no unstyled intermediate is the canonical HLP. Report-request multiplicity: one explicit Help Report request publishes exactly one HLP. The request may be bound to one active governed diagnostic, including a diagnostic that is not associated with a Run, or to one governed Run containing one or more canonical diagnostic events. A Run-level report includes the governed diagnostic events selected by that request in deterministic event order. HLP generation is never an automatic one-artifact-per-diagnostic side effect. Every HLP must expose a visible deterministic Provenance section and exactly one embedded non-executable application/json payload whose element ID is exactly ds-hlp-provenance . F-34 supersedes the earlier draft schema version ""1"" . For schema version ""2"" , the JSON top-level object contains exactly these ten fields: {
""schema_version"": ""2"",
""hlp_filename"": ""__DS__HLP__20260922T191500123Z__<uuid-v4>.html"",
""hlp_generation_utc"": ""20260922T191500123Z"",
""diagnostic_ids"": [""DS-ENC-001"", ""DS-MAT-004""],
""originating_wko_filename"": ""__DS__WKO__...txt"",
""originating_rcp_filename"": null,
""selected_help_voice"": ""technical"",
""presentation_id"": ""red5sorcery-data-sculptor"",
""presentation_version"": ""1"",
""data_sculptor_build"": ""<exact-build-id>""
} hlp_generation_utc must use the canonical fixed-width millisecond UTC form YYYYMMDDTHHMMSSmmmZ . diagnostic_ids is a non-empty JSON array containing one canonical diagnostic ID for each diagnostic event included in the report, in the same deterministic event order used by the report. Repeated IDs are permitted when distinct included events legitimately share one diagnostic type. selected_help_voice is exactly one of casual , office_speak , or technical , matching the Help catalog keys. For WASM-002 the built-in presentation identity is exactly red5sorcery-data-sculptor and its presentation version is exactly ""1"" . data_sculptor_build must contain the exact running build identifier used for the tested/released build; the literal scope label WASM-002 alone is not sufficient unless it is also the exact build identifier. originating_wko_filename and originating_rcp_filename are schema-declared nullable lineage fields . When the relationship exists and the exact physical filename is known, the value is that filename as a JSON string. When the relationship itself does not apply to this Help event/report request, the machine-readable value is JSON null . That null has one schema-defined meaning: the nullable relationship has no value, equivalent to Rust Option<T>::None and to the governed semantic state NOT_APPLICABLE . The visible Provenance section renders it as NOT APPLICABLE . If the lineage relationship does apply but the exact filename cannot be obtained, JSON null must not be used; the field value is the exact string ""NOT_AVAILABLE"" and the visible Provenance section renders NOT AVAILABLE . Empty strings, invented lineage, N/A , UNKNOWN , or another substitute are forbidden. For these two lineage fields, null and ""NOT_AVAILABLE"" are deliberately non-interchangeable. A non-run HLP may therefore legitimately carry JSON null for both lineage fields when neither relationship applies. This nullable-field rule is a schema-specific serialization choice, not a fifth absence state and not a generic JSON encoding rule. Other diagnostic JSON facts follow W002-HELP-001.4 and W002-HELP-004.11. The visible and machine-readable HLP provenance must express the same governed semantics even where their physical representations differ; a semantic mismatch is an HLP-generation failure and must not be silently tolerated. The embedded JSON must be HTML-safe so provenance text cannot terminate the containing script element; at minimum literal less-than characters in JSON string content must be escaped during embedding. The provenance payload remains subject to W002-HELP-010 and must not introduce source rows, source values, absolute local paths, arbitrary Work Order content, or other context excluded by the fixed HLP disclosure policy. WASM-002 does not automatically compute or embed a SHA-256 of the HLP, and saving an HLP must not create, refresh, or verify an LCK . The final HLP bytes remain eligible for exact-byte integrity evidence under the later explicit FINGERPRINT/LCK workflow. Configurable Brand Manifest provenance remains deferred to V1-BACKLOG / a future build. F-14 HLP publication: the complete self-contained report is first written as the corresponding SCR candidate under W002-STOR-023.1. It must close, reopen, and validate the required visible Provenance section, exact schema-version-2 embedded JSON shape, HTML-safe serialization, self-contained presentation and visible/machine semantic parity before the class token may be renamed from SCR to HLP . A partial or semantically mismatched candidate never becomes a canonical HLP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-010,Help Report disclosure uses one fixed WASM-002 allowlist.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Generating a Help Report must not silently become a data-export path. WASM-002 therefore uses one deterministic allowlist rather than collecting broad context and attempting to redact it afterward. There are no disclosure checkboxes, permissive export modes, or per-report overrides in WASM-002. Always eligible when present and applicable: diagnostic ID; severity/classification; governed operation/phase; continue/refuse decision; safe next action; selected Help voice; HLP identity and generation UTC; relevant governed artifact filenames; and the four canonical boundary facts from W002-HELP-004.11. Eligible only when necessary to explain the diagnostic: the exact source filename but not an absolute OS path; a relevant source column header only when Data Sculptor has structurally established an actual CSV header record; the relevant 1-based column number; a relevant governed Store/RID/COL alias only when that alias itself is necessary to explain the diagnostic, such as an alias collision, ambiguity, or governed alias mutation; byte offset, row/count, or byte-length evidence; Store/RID/COL/MAP/WKO physical filenames; and only the minimum executable Work Order clause or clauses needed to establish intent and the diagnostic trigger. If that minimum Work Order excerpt necessarily contains a governed alias, that alias is disclosed and counts as alias text included. Headerless boundary: record position alone never establishes a source header. If the governed parser has not established a valid header record, including a headerless-source refusal, HLP generation must not treat any field from the first data row or any later data record as header text. Structural evidence such as 1-based column ordinal, governed diagnostic/location facts, or an applicable operational fallback name must be used instead. Never included automatically: source rows; source field values or arbitrary data samples; field data mislabeled as header text; absolute local paths; unrelated source headers, aliases, or column names; the complete Work Order; Work Order comments; unrelated Suitcase contents; browser/environment internals not governed as diagnostic evidence; or raw ungoverned stack traces. Every generated HLP must contain a visible Disclosure section stating, at minimum: Source rows included: NO ; Source values included: NO ; Source header text included: YES or NO ; Governed alias text included: YES or NO ; Absolute local paths included: NO ; Work Order comments included: NO ; and Work Order excerpt: RELEVANT EXECUTABLE CLAUSES ONLY . The two YES/NO declarations must truthfully reflect the actual HLP bytes. A genuine established source header does not count as a source field value; this distinction applies only after the governed parser has established the header record. The renderer must not weaken any declaration when the underlying policy has not changed. This durable-HLP allowlist does not prohibit transient local Help from showing a relevant governed alias or a genuinely established source header when useful to explain the same canonical diagnostic event. Local presentation does not enlarge what the portable HLP may disclose.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-011,Help owns the cross-session source-continuity edge-case explanation,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"When an unexpected analytical result, row-alignment concern, or support question raises the possibility that an analyst-owned source changed between sessions, Data Sculptor-controlled guidance must flow through the Help Engine. Help must not imply that the engine monitored or cryptographically protected the source when it did not. The explanation must distinguish ordinary analyst-controlled workflow from stronger optional evidence. It may ask whether the analyst edited, replaced, sorted, re-exported, synchronized, copied over, or otherwise changed the source after the Store was established.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-011.1,Help presents continuity evidence in explicit assurance levels,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"For a suspected cross-session source change, Help must distinguish at least these evidence levels: No continuity evidence: state that cross-session byte continuity cannot be independently verified from filename/Store metadata alone. INVENTORY available: use filename, exact byte length, and last-modified metadata as lightweight clues; changed metadata may indicate that the source changed, while unchanged metadata must not be presented as proof of unchanged bytes. Explicit fingerprint evidence available: exact-byte SHA-256 evidence may establish whether the compared file bytes match or differ under the later governed FINGERPRINT workflow. Help must not collapse these levels into one generic statement of certainty.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-011.2,WASM-002 does not impose automatic cross-session hashing or Suitcase surveillance,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Ordinary WASM-002 materialization and Store inheritance must not automatically SHA-256 the source, recursively fingerprint the Suitcase, or maintain hidden whole-Suitcase surveillance merely to guard against the possibility that an analyst-owned file changed between sessions. This is an intentional product boundary for the lone-office-analyst model. The product assumes the analyst normally controls the Suitcase, provides lightweight explicit INVENTORY evidence in WASM-002, preserves a later explicit FINGERPRINT path for stronger assurance, and relies on Help to explain unusual cross-session continuity questions proportionately. WASM-002 must not create, refresh, or silently verify an LCK Suitcase Lock as a side effect of Work Order save, materialization, Store inheritance, INVENTORY, alias maintenance, or ordinary project use. LCK publication belongs to the explicit later-V1 FINGERPRINT workflow. F-13 single-writer Help boundary: Help must distinguish cross-session continuity from concurrent writing. WASM-002 does not claim that two Data Sculptor tabs/windows can safely write the same Suitcase at once. User guidance must say to use one writing Data Sculptor context per Suitcase; read-only viewing is not itself a governed write. When a pre-commit guard detects that relevant governed state changed underneath an operation, Help must identify the changed authority where available and direct the analyst to refresh or reopen current state and rerun deliberately. It must not imply that Data Sculptor acquired a cross-tab lock, merged the competing work, or automatically rebased the refused transaction.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-001,Separation of truth and presentation,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,The PRETTY Engine must not decide analytical truth or reinterpret diagnostic meaning. It receives governed content and renders it into human-facing artifacts. WASM-002 conceptual boundary: ENGINE TRUTH -> HELP / REPORT CONTENT -> PRETTY ENGINE -> BUILT-IN DATA SCULPTOR PRESENTATION -> ARTIFACT. A future build may replace the built-in presentation source with a governed Brand Manifest without changing the analytical or diagnostic truth supplied to PRETTY.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-002,Shared renderer path,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"The PRETTY Engine must provide a common rendering path for Data Sculptor artifacts that require governed human presentation, including at minimum the WASM-002 Help HTML report. WASM-002 uses the canonical built-in Red5Sorcery/Data Sculptor presentation. The architecture must permit the same path to accept a configurable Brand Manifest in a future build without changing analytical semantics. The architecture must also permit later reuse for branded Receipt HTML, verification reports, tables, Quick Viz, and other PRETTY outputs. WASM-002 canonical run Receipts themselves remain TXT-only under W002-RCP-003.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003,Self-contained HTML,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"Durable HTML artifacts produced by PRETTY must be self-contained for ordinary viewing after generation. Self-containment requires semantic and functional portability, not pixel-identical rendering across operating systems or browsers; ordinary system-font substitution and browser rendering differences are acceptable when meaning, evidence, hierarchy, and accessibility remain intact.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.1,A saved artifact must not require a network connection.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.2,A saved artifact must not require an external stylesheet.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.3,A saved artifact must not require a remote font.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.4,A saved artifact must not require a separately located logo file.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.5,A saved artifact must not require external presentation resources.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"Required CSS, SVG, and other built-in presentation assets needed for ordinary viewing must be embedded or otherwise resolved into the generated artifact at creation time. Future configurable Brand Manifest inputs, when implemented, must preserve this self-contained output rule.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-004,Accessibility and inspectability,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"PRETTY HTML must remain ordinary inspectable HTML. Presentation must not obscure the text, evidence, diagnostic code, provenance, or next-step guidance. The rendered artifact must remain usable without JavaScript when JavaScript is not required for its content.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-QA-001,Governed test-only seams and acceptance coverage,W002-QA,W002-QA,WASM-002,UNDER REVIEW,—,"Every material frozen WASM-002 behavior must have retained acceptance evidence sufficient to exercise the governed success, refusal, mutation, publication, or recovery boundary that makes the behavior meaningful. Related cases may share one fixture when the shared fixture proves each required condition explicitly; acceptance coverage must not rely on a behavior being difficult to reproduce under an uncontrolled host environment. Permitted deterministic test-only seams. WASM-002 acceptance may use controlled clock values; controlled UUID sequences and collision outcomes; controlled filesystem create/write/close/rename/promotion failures; and controlled run-local source-handle reread/substitution conditions. A seam supplies only the external condition required to reach the governed behavior. It must not bypass validation, alter the normative semantic result, change governed serialization, relax publication rules, rewrite diagnostic truth, or create a second analytical execution model. Release boundary. Test-only controls must not be invocable through the ordinary Data Sculptor UI, DS-STEPS, saved Work Orders, URL/query parameters, Suitcase configuration, or another analyst-facing product path. Compile-time exclusion, test-build configuration, or an isolated acceptance harness are permitted implementation techniques. Retained acceptance evidence must identify any seam used and must separately demonstrate that the accepted release surface cannot invoke that seam as a user feature. Named storage acceptance gaps. Acceptance must include a case-variant governed namespace/class fixture proving that Data Sculptor does not silently normalize the variant spelling into canonical governed identity; an unknown syntactically valid governed-class fixture proving that the file remains byte-for-byte unchanged while a canonical INFO diagnostic and INVENTORY surface the unknown/unrecognized class; and at least one known-but-not-emitted-class fixture drawn from DGN , RCV , BRD , or LCK proving the same preserve-and-report behavior without activating a producer, lifecycle, or interpretation path. Carried feature gates remain feature-owned. Mechanisms whose normative lifecycle is integrated in another package — including the F-02 Work Order-registry/alias-replacement behavior, the F-04 existing-Store cardinality refusal, and the F-24 CER-history decision — cannot be considered accepted without their corresponding feature acceptance gates. This requirement does not invent those feature semantics. If a proposed mechanism is removed from WASM-002 rather than integrated, no acceptance gate for that removed mechanism is required.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-001,UTF-8 certification pass,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,A valid multi-gigabyte UTF-8 fixture must complete whole-source certification with exact byte accounting under bounded memory.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-002,UTF-8 certification fail,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"A fixture containing an invalid UTF-8 sequence, including a sequence that crosses an input-window boundary, must deterministically produce STAGE1_UTF8_OUTCOME: FAIL , UTF8_STOP_REASON: INVALID_UTF8_SEQUENCE , and the exact governed zero-based UTF8_FIRST_INVALID_BYTE_OFFSET . Stage 2 must not begin and no analytical materialization output may be published. The same bytes tested under different permitted Stage-1 input-window sizes and boundary placements must yield the same outcome, stop-reason token, and first-invalid offset.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-003,Run-local source substitution refusal,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"An acceptance fixture must attempt to present Stage 2 with a different source instance/reference than the one retained from Stage 1. The run must refuse before materialization rather than accept the substitute merely because filename, alias, path, or byte length appears compatible. F-23 governed seam: this fixture must use the test-only source-handle substitution/reread seam permitted by W002-QA-001 so the different Stage-2 instance is injected without changing the analyst-visible SOURCE syntax or adding a product-level source-selection path. Release-surface evidence must demonstrate that an analyst cannot invoke this substitution seam through the normal UI, Work Order, URL/query, or Suitcase configuration.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-004,ASCII-only fast path,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,An all-ASCII fixture must certify successfully without invoking non-ASCII sequence validation and must produce exact byte accounting.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-005,Valid non-ASCII sequence matrix,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"Acceptance must cover valid two-byte, three-byte, and four-byte UTF-8 sequences, including sequences placed at window boundaries and split at every legal boundary position.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-006,Strict invalid-sequence matrix,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"Acceptance must reject at known exact offsets: lone continuation bytes, malformed continuation sequences, truncated sequences, overlong encodings, UTF-16 surrogate encodings, invalid lead bytes 0xC0 / 0xC1 , values introduced by 0xF5 - 0xFF , and code points above U+10FFFF. Every invalid fixture must serialize the same canonical UTF-8 stop reason INVALID_UTF8_SEQUENCE while preserving its fixture-specific exact first-invalid byte offset. For an EOF-truncated multibyte sequence, the expected offset is the lead byte of the incomplete sequence. Acceptance must include at least one malformed sequence crossing a Stage-1 input-window boundary and prove window invariance. Separate valid fixtures covering ASCII-only, valid multibyte UTF-8, and permitted leading-BOM forms must complete with STAGE1_UTF8_OUTCOME: PASS ; their UTF-8 refusal-only Receipt fields are NOT_APPLICABLE .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-007,Late invalidity,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,A source that is ASCII/valid UTF-8 until near EOF and becomes invalid late in the file must fail at the first invalid absolute offset; bounded-prefix success must not be treated as whole-file certification.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-008,Window-size invariance,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,The same fixture matrix must return the same PASS/FAIL and first invalid absolute offset across at least two materially different bounded window sizes.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-009,EOF pending-state refusal,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,EOF with an incomplete UTF-8 sequence must fail deterministically and report the governed offset; no replacement character may be inserted.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-010,BOM behavior,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"A UTF-8 BOM at offset zero must be accepted as metadata while the remainder of the source is still fully certified; a BOM must not mask later invalid UTF-8. F-07 BOM coordinate fixture: when a permitted three-byte UTF-8 BOM precedes a later malformed UTF-8 sequence, the expected first-invalid offset counts the BOM's physical bytes. The BOM is excluded from analytical CSV content but included in the absolute physical source-byte coordinate system.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-001,Multi-column one-pass Stage 2 materialization,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Using a valid UTF-8 source and a Work Order requesting at least four source columns through a mixture of HEADER and COLUMN selectors, acceptance must prove that Stage 1 completes first, Stage 2 restarts at byte zero of the same run-local source instance, parses the header once, resolves all selectors before the first data row, and reads the source data records only once while producing all requested columns. Evidence must reconcile total source bytes read by Stage 2, logical data-row count N, per- COL data-record count N, selector-to-source ordinal/header resolution, resolved KEEP order, and the resulting successor MAP. A one-column rerun of the same source/column must produce the same canonical physical column bytes as that column produced inside the multi-column run, apart from governed artifact identity. F-20 width/one-pass acceptance: acceptance must include a maximum-width fixture whose valid source has exactly 16,384 columns and whose KEEP resolves all 16,384 distinct columns. Instrumentation must prove one source data-record traversal regardless of the implementation's bounded post-scan spool/finalization strategy. A companion 16,385 -column source must refuse during header resolution before the first data record is consumed.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002,"Automatic Store MAP creation, inheritance, and rematerialization continuity",W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must materialize four previously unseen source columns in one Store-establishing Work Order and prove that one successor Store MAP is created with four mapping rows. Every row must repeat identical Store-level fields, bind the newly created RID filename, default store_alias to the exact Store-establishing source filename, default rid_alias to RID , and default each COL alias to its exact source header. A later Work Order using the same exact SOURCE without explicitly naming a MAP must route under W002-STOR-019.2 . If exactly one routable Store lineage exists for that exact source filename and its current Store state permits materialization, the Work Order must inherit that lineage’s current structurally valid Store MAP, preserve the Store/RID metadata and four prior mappings, add a fifth default COL alias, and publish one new complete Store MAP. A later rematerialization of one earlier logical column must preserve its inherited COL alias while updating its column_filename . An explicit older MAP selection must instead use that historical Store state. Equal-latest-timestamp ambiguity within one routed lineage, malformed-newer-MAP fallback within the same Store lineage, no-routable-Store-lineage creation, and multiple-routable-Store-lineages-for-the-same-source refusal must also be exercised.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.1,Exact eight-column Store MAP serialization acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must validate the exact Store MAP header store_alias,rid_filename,rid_alias,source_filename,source_column_number,source_header,alias,column_filename , UTF-8 without BOM, LF line endings, deterministic mapping-row order, standard governed CSV quoting, and byte-for-byte repetition of store_alias , rid_filename , rid_alias , and the common source_filename on every mapping row. The fixture must prove that a MAP with inconsistent repeated Store-level metadata, more than one rid_filename , more than one source_filename , a missing or invalid RID filename, a duplicate logical source-column key, or a non-eight-column schema is ineligible for inheritance. Source compatibility fixtures must prove that an explicit MAP may proceed only when the Work Order SOURCE exactly equals that MAP's common source_filename . A different source must refuse before materialization even when its row count equals the Store's RID cardinality; matching row count never creates a positional-join escape. P3-06 validation-tier fixtures: acceptance must distinguish Store-health Tier 1 from full Tier 2 validation. A same-named externally restored RID/COL may be treated as eligible only after it passes the tier required by the operation, and no fixture may label such an artifact “the exact original” solely from its physical filename. Tier-1 fixtures must prove the exact bounded checks in W002-STOR-019.10 without an end-to-end scan of every artifact value. Tier-2 fixtures must prove full RID sequence/cardinality validation and full COL canonical-form/header/cardinality validation. REPAIR MAP fixtures must demonstrate that the same input bytes yield one deterministic set of removed COL bindings under Tier 2. P2-04 closure fixtures: acceptance must include (1) a RID that satisfies Tier 1 but fails Tier 2 because the body does not contain the exact declared 1..N sequence; (2) a COL that satisfies Tier 1 but fails Tier 2 because its complete CSV body or logical-record count is invalid; (3) an externally supplied same-named RID/COL that passes the required governed tier without any assertion that it is the historical original bytes; and (4) a REPAIR MAP case with a mixture of Tier-2-valid and Tier-2-invalid COLs proving that the successor removes exactly the failing bindings. Repeating the same fixture bytes must yield the same repair set and successor mapping.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.2,Multiple Stores in one Suitcase remain distinct through RID-anchored MAP lineages,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must establish at least two Stores from different source files in the same Suitcase. Their Store MAP lineages must contain different immutable rid_filename values, and automatic routing for each source must choose only that source's routable Store lineage. The fixture must prove that a lineage remains routable when at least one Store MAP is structurally valid even if subsequent Store-health evaluation is DEGRADED or INVALID ; health may refuse the operation, but it must not make the lineage disappear from routing. Changing a human-facing store_alias or rid_alias in a later governed MAP must not change the Store's rid_filename , RID bytes, or lineage identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.3,WKO MAP profile and alias-registry publication acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must save at least three immutable WKO artifacts, each containing exactly one non-empty WORK ORDER AS clause: one with a multi-word alias, one whose alias is deliberately replaced under the frozen WKO lifecycle, and one with punctuation permitted by the governed string rules. The committed WKO MAP must satisfy the frozen current-registry schema and lifecycle rules, use UTF-8 without BOM and LF endings, preserve exact physical WKO references, and prove deterministic governed serialization. The fixture must prove that a WKO MAP cannot be treated as a Store MAP; duplicate physical WKO rows are invalid; conflicting current authority for the same non-empty alias is refused before commit; and equal-latest-timestamp ambiguity refuses current-registry selection. A saved/executable WKO without WORK ORDER AS is invalid in Revision BM and must refuse before execution.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.4,WORK ORDER AS and # comment lexical acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must prove that WORK ORDER AS ""Prepare monthly crime data"" is parsed as the immutable WKO alias, that whole-line and trailing # comments are ignored semantically, and that # inside double-quoted strings remains ordinary string content. The fixture must also prove that saved WKO bytes preserve comments exactly, that changing only a comment or Work Order alias requires a new WKO physical identity, and that no standalone browser Description value is required to reopen or display the governed alias. P3-10 alias fixture: acceptance must prove that WORK ORDER AS "" "" refuses as a whitespace-only alias, while an otherwise valid alias containing leading or trailing whitespace is not silently trimmed or normalized and is preserved exactly in saved WKO bytes and the governed alias registry.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-003,Stage 2 structural window-invariance matrix,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Acceptance fixtures must force input boundaries at structurally difficult positions including before/after delimiters, before/after opening and closing quotes, between doubled quote bytes, between CR and LF, inside quoted multiline field content, at empty fields, and inside already-certified multi-byte UTF-8 sequences. Across permitted window sizes and boundary placements, the logical row count, selected values, canonical COL bytes, first refusal location/condition, and resolved mapping semantics must remain invariant. P3-09 fixtures: acceptance must include both byte forms identified by the Pass 3 finding: (1) an exactly zero-byte source and (2) a source containing only the three UTF-8 BOM bytes EF BB BF . Both must pass the applicable Stage 1 UTF-8 gate and then refuse in Stage 2 with NO_HEADER_RECORD . The exact expected location tuples are respectively (offset 0, physical line 1, logical record 1, field ordinal 1) and (offset 3, physical line 1, logical record 1, field ordinal 1) . The fixtures must also distinguish this case from an existing-but-blank first logical record, which remains BLANK_LOGICAL_RECORD . P3-10 delimiter-help fixture: acceptance must include a quoted semicolon-delimited form such as ""a"";""b"" and an equivalent TAB-delimited quoted form that reach INVALID_BYTE_AFTER_CLOSING_QUOTE . The canonical refusal condition and location facts must remain unchanged, while the Help rendering is permitted to surface the delimiter-mismatch hint for offending byte 0x3B or 0x09 . F-06 structural-refusal acceptance matrix An unexpected quote in an unquoted field must report the quote byte and UNEXPECTED_QUOTE_IN_UNQUOTED_FIELD . A prohibited byte after a closing quote must report that byte and INVALID_BYTE_AFTER_CLOSING_QUOTE . A bare CR outside quoted content must report the CR byte and BARE_CR_OUTSIDE_QUOTED_FIELD . CR, LF, and CRLF inside valid quoted values must remain field content and must not trigger the bare-CR rule. EOF in an open quoted field must report the one-past-end source offset and EOF_INSIDE_QUOTED_FIELD . A blank logical record must report BLANK_LOGICAL_RECORD , not TOO_FEW_FIELDS . A short record must report the terminator/EOF location and the first missing field ordinal. A wide record must report the comma delimiter opening the first extra field and that extra field ordinal. All five refusal facts must remain identical across permitted source-window sizes and boundary placements. Fixtures must force boundaries around commas, opening and closing quotes, doubled-quote pairs, CR/LF pairs, quoted multiline content, empty fields, and already-certified multibyte UTF-8 sequences. A semicolon-separated file must not refuse solely because it uses semicolons; Help may explain comma-only interpretation when header selection fails. Day 060 H-13 Receipt-corpus binding for P3-09 The two analytical P3-09 source fixtures above must each have a corresponding byte-exact refusal Receipt under W002-RCP-ACC-002. The zero-byte and BOM-only cases therefore prove both the parser/refusal oracle and the Receipt serialization oracle independently.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-004,Canonical one-column COL serialization acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Golden-byte fixtures must cover ordinary ASCII, non-ASCII UTF-8, commas, embedded double quotes, CR, LF, CRLF inside quoted values, explicit empty data values, empty source headers, and header-only zero-row input. Acceptance must prove one UTF-8 BOM at file start, LF record termination independent of host platform, deterministic minimal quoting, doubled embedded quotes, """" for an empty one-column data value, no accidental inclusion of the source BOM in the first header, and byte-identical round-trip semantics through the Data Sculptor CSV reader. F-20 oversized-header serialization acceptance: fixtures at exactly 1,024 and 1,025 Unicode scalar values must prove that the physical COL header remains byte-faithful to the exact decoded source header while only the operational/default-alias name changes at the boundary. Scalar-count fixtures must include combining characters so acceptance cannot accidentally measure UTF-8 bytes or grapheme clusters instead.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-005,"Field-limit, ragged-record, blank-record, and failure-publication acceptance",W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Acceptance must include decoded field sizes exactly 16 MiB and 16 MiB + 1 byte, malformed runaway quoted-field cases, nonblank records with too few and too many fields, a bare blank logical data record, explicit empty fields, and a physical blank line inside a valid quoted multiline field. The first invalid case must refuse without truncation or silent repair. Publication evidence must additionally exercise both a new-Store multi-column materialization and a later existing-Store materialization. For the new Store, the shared publication-transaction UTC must be established before any new RID/COL SCR candidate is opened, and each candidate-specific UUID must be allocated before its candidate is created. RID and COL outputs must remain governed SCR until the complete candidate set validates; the RID must then promote first, requested COLs must promote in deterministic KEEP order, the successor MAP UUID must be allocated before its MAP SCR candidate is opened, that MAP candidate must be written/closed/reopened/validated while still SCR , and its final SCR -to- MAP rename must occur last. For every successfully promoted RID, COL, and MAP artifact, acceptance must prove that the candidate and final identity have the exact same UTC, UUID, extension, and bytes and differ in the governed filename only by the three-letter semantic class token. For the existing Store, the inherited RID must remain byte-for-byte and filename-identical with no new RID candidate. F-04 existing-Store cardinality acceptance: acceptance must include two otherwise valid existing-Store materializations using the same exact governed SOURCE identity. In the equal-cardinality fixture, Stage 2 candidate N must equal the inherited RID-header N and publication may proceed under the ordinary rules. In the mismatch fixture, candidate N must differ from RID-header N ; the Run must refuse before any candidate COL is promoted into the final COL namespace and before any successor MAP is published. The inherited RID, current MAP, existing COL artifacts, and Store health must remain unchanged, with the existing Store remaining VALID. The equal-cardinality case must not be represented as proof of source-byte or row-semantic identity. Forced failure cases must cover: failure before any promotion; RID-promotion failure; failure during COL promotion after RID and at least one COL have promoted; MAP-candidate write/close/reopen/validation failure; MAP final-rename failure; and interruption after physical RID/COL promotion but before MAP commit. Each case must prove rollback where safely possible or visible non-authoritative SCR failure evidence otherwise, must prove that unreferenced final-class-looking RID/COL files are not treated as committed Store membership, and must prove that the prior valid MAP remains authoritative for an existing Store or that no committed Store exists for an uncommitted first materialization. F-20 bounded-width/name acceptance: acceptance must cover exactly 16,384 versus 16,385 source columns; KEEP widths of 1 and 16,384 ; operational-name derivation at 1,024 versus 1,025 Unicode scalar values; physical ordinals producing Column A , Column Z , Column AA , and Column XFD ; and deterministic oversized-header fallback collisions proving [ordinal] then -2 progression. A separate short-header alias collision must prove refusal rather than automatic suffixing.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-006,Large-source browser materialization evidence,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"WASM-002 acceptance must include a browser run against the established Statistics Canada scale source or an equivalently retained scale fixture, recording source bytes, Stage 1 time, Stage 2 time, total time, selected-column count, logical row count, bytes written per COL , peak/bounded memory observations, output fingerprints, and browser/platform details. The retained Day 039 evidence established that Microsoft Edge could stream the 7,250,808,204-byte source through a small Rust/WASM materializer and materialize 29,014,718 VALUE data rows in practical time. Revision AM treats that result as engineering evidence and a comparison baseline, not as proof that WASM-002 is already implemented or as a frozen wall-time threshold. F-20 writer-resource evidence: retained acceptance evidence must identify the build's configured maximum simultaneously active writable-output resources and the observed peak for the run. Evidence must show that wide KEEP cardinality does not imply one simultaneously open writer per selected column and that any bounded spool/finalization strategy preserves the same governed output bytes and semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-ACC-001,Separate Windows-1252 conversion,W002-CONV-ACC,W002-CONV,WASM-002,UNDER REVIEW,—,"A non-UTF-8 fixture compatible with the supported Windows-1252 converter must cause the analytical task to stop, permit a Help suggestion, and succeed only when the separate conversion Work Order is explicitly run. P3-08 acceptance: the fixture set must convert an analyst-owned legacy source successfully, materialize the resulting CVT, then perform a second successful conversion from a refreshed legacy source using the same analyst-owned filename. The second conversion must publish a different CVT physical filename. First materialization of that second CVT must establish a distinct Store/RID lineage rather than inherit from the first CVT-backed Store. Acceptance must also prove that Help discloses this consequence at conversion success and again when the CVT is first materialized, and that no hidden original-source identity is used to join the two CVTs into one lineage. F-16 acceptance: the compatible non-UTF-8 fixture must prove that strict UTF-8 certification first emits DS-ENC-001 with next_action: NONE ; Stage 2 does not start; Data Sculptor restarts at byte 0 of the same bound source instance and scans the complete source under the frozen mapping; the Receipt records WINDOWS_1252_COMPATIBILITY_OUTCOME: COMPATIBLE and WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET: NOT_APPLICABLE ; and only then is DS-CNV-001 emitted with severity: INFO , behavior: CONTINUE , and next_action: RUN_WINDOWS_1252_CONVERSION . The refused MATERIALIZE run must remain refused. A separate valid-UTF-8 fixture must prove that both Windows-1252 compatibility Receipt fields are NOT_RUN and DS-CNV-001 is not emitted. F-10 conversion-gate and byte-output acceptance A source already valid as complete strict UTF-8 must refuse CONVERT WINDOWS-1252 TO UTF-8 as unnecessary and create no CVT . A source that fails strict UTF-8 but passes the complete Windows-1252 compatibility assessment may convert only when the separate conversion WKO is explicitly run. The analyst-owned source bytes must remain unchanged. The published CVT must pass complete strict UTF-8 certification. Source CR, LF, and CRLF bytes must be preserved in place rather than normalized. The conversion must remain bounded/streaming. The published CVT must not begin with a UTF-8 BOM introduced by Data Sculptor. The successful Receipt must contain the frozen conversion operation token and required conversion facts. Frozen minimal byte oracle: Windows-1252 source bytes:
63 61 66 E9 0D 0A
UTF-8 CVT bytes:
63 61 66 C3 A9 0D 0A This is café followed by CRLF. The expected CVT begins with byte 63 ; no EF BB BF prefix is present. Day 060 H-25 / BM-04 acceptance: the already-valid-UTF-8 CONVERT fixture must use a complete source whose byte stream is valid strict UTF-8 and must produce a byte-exact refused Receipt containing: SOURCE_ENCODING: UTF-8
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: NOT_RUN
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE The same fixture must prove that no Windows-1252 compatibility assessment runs, no transcoding begins, the analyst-owned source bytes remain unchanged, and no CVT file is created.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-ACC-002,Undefined Windows-1252 byte refusal,W002-CONV-ACC,W002-CONV,WASM-002,UNDER REVIEW,—,"A fixture containing a byte undefined by the frozen Windows-1252 mapping must not be silently converted. F-16 acceptance: use fixtures placing each of 0x81 , 0x8D , 0x8F , 0x90 , and 0x9D at controlled physical offsets, including across compatibility-buffer boundaries. The complete oracle must prove WINDOWS_1252_COMPATIBILITY_OUTCOME: INCOMPATIBLE , the exact first undefined-byte offset, no DS-CNV-001 emission, no conversion recommendation, and window-size invariance. A separate injected read-failure fixture after the compatibility pass begins must prove NOT_AVAILABLE for both compatibility Receipt fields and no conversion recommendation. F-10 conversion-operation undefined-byte acceptance The separate CONVERT WINDOWS-1252 TO UTF-8 operation must itself refuse before transcoding when its complete compatibility assessment encounters any byte undefined by the frozen Windows-1252 mapping. Such a refusal publishes no CVT . Acceptance must cover each frozen undefined byte value at a controlled absolute source offset and prove that no replacement-character, ISO-8859-1, or permissive-decoder fallback produces output. Day 060 H-14 / BM-11 byte-exact undefined-byte CONVERT fixture The golden CONVERT refusal fixture uses this exact analyst-owned source byte sequence: 41 81 42 The strict UTF-8 gate must fail, and the subsequent complete Windows-1252 compatibility assessment must encounter 0x81 as the first undefined byte at exact zero-based absolute physical source-byte offset 1 . The operation must refuse before transcoding begins. The byte-exact Receipt for this fixture must include: SOURCE_ENCODING: WINDOWS-1252-INCOMPATIBLE
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: 1
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE
RESULT: REFUSED The analyst-owned source bytes must remain exactly 41 81 42 ; no CVT is published; no replacement character is introduced; and no ISO-8859-1 or permissive-decoder fallback is permitted. A second acceptance form must place at least two undefined Windows-1252 bytes in one source and prove that the reported offset is always the first undefined byte. Buffer/window-boundary variants must preserve the same absolute offset.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-001,Canonical diagnostic event,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,At least one real governed WASM-002 failure path must emit a complete canonical diagnostic event with stable code and structured facts. A separate test-only fault-injection fixture must remove or withhold one required fact while the engine attempts to assemble a registered diagnostic. Acceptance must prove that the malformed intended diagnostic is not emitted and that exactly one canonical DS-HLP-001 replacement event is emitted with the exact intended diagnostic ID and the complete ascending-UTF-8 list of missing required fact keys.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-002,Three-voice rendering parity,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"A complete event with an authored catalog entry must be renderable in all three established Help voices. Automated checks must demonstrate invariant diagnostic truth across the three outputs. A separate complete registered diagnostic fixture must deliberately have no help_messages.json entry. Casual, Office Speak, and Technical selections must all resolve to the same deterministic Generic Technical Help fallback, preserving the original diagnostic semantic core and rendering emitted facts in ascending UTF-8 fact-key order without invented cause or remediation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-003,Saved HTML Help report using the canonical built-in Data Sculptor presentation,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,At least one complete HTML Help report using the canonical built-in Data Sculptor presentation must be generated and saved locally from that real event.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-004,Offline durability,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,The saved HTML report must remain readable with its canonical built-in Red5Sorcery/Data Sculptor presentation when opened without network access and without access to Data Sculptor or any external presentation resource.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-008,Support-handoff report acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"From a real governed refusal, Data Sculptor must generate one styled HTML Help Report that opens in an ordinary browser without Data Sculptor or network access and contains both a selected-voice explanation and the canonical structured facts needed by a technical reviewer.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-009,Canonical boundary-fact acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"An early-refusal fixture that stops before analytical materialization must demonstrate the exact four Boolean fact names from W002-HELP-004.11 and, when those are the true governed facts, values equivalent to: source_modified_by_data_sculptor = false
materialization_started = false
analytical_outputs_published = false
store_state_committed = false Acceptance must also exercise at least one boundary-fact case in which an established Boolean value is unavailable or otherwise carries an applicable governed absence state. The emitted value must use the exact shared JSON string token required by W002-HELP-004.11 (for example ""NOT_AVAILABLE"" ) and must not be coerced to false or JSON null . Where a boundary fact is optional and its key is omitted, acceptance must prove that omission is not interpreted as false or as any governed absence token. The same fixture family must prove that temporary SCR candidates or abandoned/uncommitted debris do not make analytical_outputs_published true.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-010,"HLP provenance, multiplicity, and no-automatic-hash acceptance",W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"Acceptance evidence must generate a final HLP using the built-in Red5Sorcery/Data Sculptor presentation and verify its governed __DS__HLP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html identity, its visible Provenance section, and exactly one embedded application/json payload with element ID ds-hlp-provenance . The embedded payload must contain exactly the schema-version-2 fields governed by W002-HELP-009 and must verify the same HLP filename/generation UTC, non-empty ordered diagnostic_ids array, WKO/RCP lineage semantics, selected Help voice, built-in presentation identifier red5sorcery-data-sculptor , built-in presentation version ""1"" , and the exact running Data Sculptor build identifier. Acceptance must cover: (1) an explicit request for a single diagnostic; (2) one governed Run with multiple included diagnostic events, proving exactly one HLP for the request and event-order parity with diagnostic_ids ; and (3) a non-run diagnostic such as Suitcase-validation or WKO-save refusal, proving that non-applicable WKO/RCP lineage is represented by JSON null and visible NOT APPLICABLE rather than invented Run lineage. Acceptance must also cover all three lineage representations permitted by W002-HELP-009: an exact physical filename when the relationship exists and is known; JSON null when the relationship does not apply; and the exact JSON string ""NOT_AVAILABLE"" when the relationship applies but its exact filename cannot be obtained. The fixture must prove that null and ""NOT_AVAILABLE"" are not interchangeable. Acceptance must prove that the visible Provenance section and machine-readable payload agree semantically; missing, duplicate, malformed, mismatched, non-HTML-safe, disclosure-violating, empty diagnostic_ids , or scope-label-only build provenance must not be accepted. The same acceptance must prove that ordinary HLP generation does not compute or embed an HLP SHA-256 and does not create, refresh, or verify an LCK . Exact-byte HLP integrity remains outside WASM-002 in the later explicit FINGERPRINT/LCK workflow.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-011,Fixed support-handoff disclosure acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"Acceptance must prove the fixed support-handoff disclosure boundary with both permitted-context and adversarial headerless fixtures. A permitted-context fixture must generate an HLP whose diagnostic requires a source filename, one genuinely established relevant source header and/or 1-based column number, bounded execution evidence, and a small executable Work Order excerpt. A governed alias may appear only when the alias itself is necessary to explain the diagnostic, such as an alias collision, ambiguity, or mutation; an unrelated alias must remain excluded. The report must include only the necessary permitted facts while excluding source rows/values, absolute local paths, unrelated headers/aliases/columns, the complete Work Order, Work Order comments, unrelated Suitcase contents, and raw ungoverned stack traces. A separate headerless-source fixture must place unmistakable sentinel text in the first data row and prove that none of that text appears in the HLP as a header or other disclosed source value. That HLP must show Source header text included: NO and Source values included: NO while still presenting sufficient structural evidence to explain the diagnostic. A genuine-header fixture must prove that a necessary established header may appear with Source header text included: YES . Alias fixtures must similarly prove truthful Governed alias text included: YES only when necessary and NO otherwise. Every fixture must verify the remaining frozen Disclosure declarations from W002-HELP-010. WASM-002 must expose no control that changes this fixed disclosure policy.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-012,Cross-session source-continuity Help acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"An acceptance fixture must present Help with a suspected cross-session source-change scenario and verify that the explanation asks whether the source may have been edited/replaced/sorted/re-exported/synchronized, distinguishes no evidence from INVENTORY metadata evidence and stronger explicit fingerprint evidence, and never claims that unchanged filename or unchanged INVENTORY metadata proves byte identity. A no-evidence fixture must state that continuity cannot be independently verified. An INVENTORY fixture with changed source byte length or last-modified metadata must describe the difference as evidence that the source may have changed, not as a cryptographic conclusion. The fixture must also confirm that ordinary WASM-002 materialization did not automatically hash the source as part of this edge-case protection.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-013,Diagnostic-registry and Help cross-validation acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"WASM-002 acceptance must retain the validated diagnostics.json used by the accepted build and verify its exact version-1 schema, canonical sort order, unique permanent IDs, fixed-token grammars, and disjoint required/optional fact declarations. At least one real governed diagnostic fixture must prove that the emitted semantic core matches the matching registry entry and that all required facts are present while no undeclared fact key is emitted. Negative build-validation fixtures must prove deterministic failure for malformed/duplicate registry entries, an engine diagnostic definition absent from the registry, fixed semantic disagreement, an undeclared emitted fact, a Help-catalog diagnostic ID absent from the registry, and a Help placeholder not declared for its matching diagnostic. F-17 runtime completeness fixtures: missing required facts are no longer treated as a malformed event that may leak to Help. Fault injection must prove deterministic substitution with DS-HLP-001 , including exact intended_diagnostic_id and sorted missing_required_facts , with no partially populated intended diagnostic emitted. Separately, a valid registered diagnostic omitted from help_messages.json must remain a valid build/runtime condition and must exercise the Generic Technical fallback rather than build failure or diagnostic suppression. F-22 QA-independence acceptance boundary: acceptance must prove the registry/engine/Help wiring and generic invariants without circularly presenting the implementation-delivered registry as an independent oracle for its own condition-to-Diagnostic-ID allocations. Representative governed fixtures must trace condition → emitted Diagnostic ID → matching registry semantic core → required/optional fact discipline → Help lookup/rendering. Every condition-to-ID or required-fact mapping explicitly frozen elsewhere in this PRD remains independently testable and must match that PRD contract. For allocations not independently pinned by this PRD, WASM-002 does not require a duplicate QA-owned registry that restates every condition-to-ID choice. Passing this acceptance gate therefore demonstrates registry integrity, engine↔registry semantic agreement, fact completeness/legality, Help-catalog wiring, F-17 fail-safe behavior, and representative end-to-end diagnostic routing; it must not be reported as exhaustive independent proof that every possible runtime condition was assigned the semantically correct Diagnostic ID. That residual independence limitation is an accepted WASM-002 risk. F-23 embedded Help-catalog release fixture: acceptance must build the released HTML from a validated help_messages.json , verify exactly one non-executable application/json payload with element ID ds-help-catalog , and include adversarial catalog text containing literal < / script-like delimiter content to prove HTML-safe embedding. Runtime instrumentation must prove that Help lookup reads only the embedded payload and performs no network, filesystem, Suitcase, or adjacent-file fetch for the Help catalog. A missing, malformed, mismatched, or unsafe embedded catalog must fail build acceptance.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-007,Work Order syntax is the analytical contract,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"If a value, reference, option, or instruction changes what Data Sculptor analytically does, that intent must be represented in governed Work Order text or in a separately governed artifact explicitly referenced by that Work Order. Browser permission, directory selection, UI focus, a highlighted file, an alias display, or another GUI gesture must not silently become analytical intent. For WASM-002, every executable saved WKO begins with the common preamble: SUITCASE: .
WORK ORDER AS ""<non-whitespace alias>"" Ignoring blank lines and governed comments, the WKO must then parse completely under exactly one of these seven executable operation grammars: Operation Governed DS-STEPS structure after the common preamble MATERIALIZE SOURCE ""..."" ; optional MAP ""..."" ; KEEP ; one or more selectors; terminal MATERIALIZE . INVENTORY terminal INVENTORY only. UPDATE ALIASES exactly one Store-state selector: SOURCE ""..."" or MAP ""..."" ; one or more governed alias mutations; terminal UPDATE ALIASES . REPAIR MAP exactly one MAP ""<exact current Store MAP filename>"" ; terminal REPAIR MAP . REPAIR WORK ORDER REGISTRY terminal REPAIR WORK ORDER REGISTRY only. CONVERT WINDOWS-1252 TO UTF-8 exactly one SOURCE ""..."" ; terminal CONVERT WINDOWS-1252 TO UTF-8 . CATALOG STORES terminal CATALOG STORES only. Each operation-specific numbered requirement remains authoritative for its detailed selectors, preconditions, mutations, publication semantics, and acceptance behavior. This requirement freezes the cross-operation boundary: unknown semantic lines refuse; clauses from another operation grammar refuse unless the selected operation explicitly defines them; there is no best-effort interpretation and no silent cross-operation mixing. Lexical token separation. DS-STEPS keywords are matched ASCII case-insensitively; canonical examples render them uppercase. Wherever two adjacent lexical tokens would otherwise run together, they must be separated by one or more ASCII SPACE ( 0x20 ) or horizontal TAB ( 0x09 ) characters. Leading SPACE/TAB indentation is semantically neutral. Thus REPAIR MAP , SOURCE ""crime.csv"" , and COLUMN 7 are valid tokenizations, while REPAIRMAP , SOURCE""crime.csv"" , and UPDATE_ALIASES are not alternate DS-STEPS spellings. Quoted-string contents are never case-folded or whitespace-normalized merely because keywords are case-insensitive. The browser may authorize resources, edit text, validate, save, invoke Run, display evidence, and provide Help. Authorization to access a resource is not authorization to use that resource analytically.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-008,Every executable Work Order explicitly declares its Suitcase,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"For WASM-002, every executable saved Work Order must contain the exact portable declaration SUITCASE: . . The dot means the filesystem directory that physically contains the saved WKO artifact being executed. A Work Order lacking this declaration must not be treated as an executable WASM-002 Work Order. The declaration is analytical/execution syntax, not a substitute for browser filesystem permission. The host must still possess valid access to the directory before execution can proceed. Help obligation: Data Sculptor Help must explain SUITCASE: . in plain language: the saved Work Order uses the folder that contains that WKO as its Suitcase; the dot means “this folder”; ordinary Work Order file references are therefore portable and Suitcase-relative; and browser/host permission to the folder is granted separately. Help must not teach an absolute machine path as the normal replacement for . .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-009,Ordinary Work Order file references are Suitcase-relative,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Unless another numbered requirement explicitly governs a different reference mechanism, file references in an executable WASM-002 Work Order resolve relative to the declared Suitcase. A portable Work Order must not depend on an absolute machine-specific path to identify ordinary Suitcase files. Resolution must be deterministic in browser and later native hosts. Moving an intact Suitcase to another permitted filesystem location must not change the logical meaning of the Work Order solely because the parent machine path changed.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-009.1,WASM-002 SOURCE eligibility is exact and root-bounded,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"A WASM-002 SOURCE clause names exactly one physical regular file in the Suitcase root by exact filename only. It must not name an absolute path, drive or UNC path, subdirectory, path containing / or \ , traversal such as .. , URL/URI, or another external reference. Resolution uses the exact Unicode-scalar filename identity and reference-bounded rules frozen by F-15; no case-folding, normalization, trimming, or filesystem-equivalence search is permitted. The only eligible WASM-002 SOURCE kinds are: Analyst-owned CSV: a regular Suitcase-root file whose exact filename does not begin with the reserved exact prefix __DS__ and whose final extension is .csv under ASCII case-insensitive extension recognition. Thus .csv , .CSV , and mixed-case equivalents are candidate CSV extensions. This case-insensitivity applies only to extension recognition; the complete filename reference remains exact. If the physical file is crime.CSV , a differently cased full filename does not become an alternate reference to it. Governed converted source: a successfully published CVT whose exact canonical identity and class-specific publication/validity predicate satisfy W002-CONV-004, W002-STOR-023, and PB-STOR-008. A filename that merely resembles a CVT is not sufficient. No other governed semantic class is eligible as SOURCE in WASM-002, even when its physical serialization is CSV. In particular, COL , RID , MAP , CAT , INV , RCP , HLP , CER , SCR , RCV , and WKO artifacts cannot be reintroduced as SOURCE merely because their bytes or extension appear compatible. A recognized .csv extension establishes only candidate SOURCE form. It does not certify encoding or CSV structure; the normal strict UTF-8 and structural certification contracts still govern after source resolution. Conversely, CSV-like bytes stored under a non-CSV analyst-owned extension are not an eligible WASM-002 SOURCE.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-008; CP-009; CP-010,"T-ACCEPTED, BANKED; analyst-owned CSV filename candidate preflight only; full SOURCE eligibility remains partial; CP009 T-ACCEPTED, BANKED — pure exact-name root snapshot matching only; full requirement remains partial; CP010 T-ACCEPTED, GIT BANKED — lexical CVT candidate only; complete requirement remains open",346733a962192320e0d56271add15a47b6037b6b; dc6ee5d1e547a730e5acdc79d53e56ec5d1c00d8; b7c515faa9bd000369d7656e09437310261290ae,Evidence/CP-008/CP008_RED_Test_Output.txt; Evidence/CP-008/CP008_GREEN_Test_Output.txt; Evidence/CP-008/CP008_Full_Regression_Test_Output.txt; Evidence/CP-008/CP008_Post_Format_Test_Output.txt; Evidence/CP-008/CP008_Rustfmt_Check_Output.txt; Evidence/CP-008/CP008_WASM_Build_Output.txt; Evidence/CP-008/CP008_Hash_Inventory_Verification.txt; Evidence/CP-008/CP008_Precommit_Git_Review.txt; Evidence/CP-008/CP008_Final_Source_Review.txt; Evidence/CP-008/CP008_Whitespace_Exception_Review.txt; CP008_Git_Banking_Output.txt (separate post-commit evidence; archived outside repository); Evidence/CP-009/CP009_Baseline_Test_Output.txt; Evidence/CP-009/CP009_RED_Test_Output.txt; Evidence/CP-009/CP009_GREEN_Test_Output.txt; Evidence/CP-009/CP009_Full_Regression_Test_Output.txt; Evidence/CP-009/CP009_Rustfmt_Check_Output.txt; Evidence/CP-009/CP009_Git_Whitespace_Check.txt; Evidence/CP-009/CP009_Post_Format_Test_Output.txt; Evidence/CP-009/CP009_WASM_Build_Output.txt; Evidence/CP-009/CP009_Hash_Inventory.txt; Evidence/CP-009/CP009_Hash_Inventory_Verification.txt; Evidence/CP-009/CP009_Precommit_Git_Review.txt; Evidence/CP-009/CP009_Final_Staging_Review.txt; CP009_Git_Banking_Output.txt (separately archived post-commit evidence); Evidence/CP-010/CP010_Scope_Lock.txt; Evidence/CP-010/CP010_RED_Test_Output_CMD_Corrected.txt; Evidence/CP-010/CP010_GREEN_Test_Output.txt; Evidence/CP-010/CP010_Post_Format_Regression_Test_Output.txt; Evidence/CP-010/CP010_WASM_Build_Output.txt; Evidence/CP-010/CP010_Post_Format_Check_Output.txt; Evidence/CP-010/CP010_Hash_Inventory_Verification.txt; Evidence/CP-010/CP010_Supplementary_Hash_Verification.txt; Evidence/CP-010/CP010_Closing_Git_Review.txt; CP010_Git_Banking_Output.txt (post-commit; separately archived),"CP008 Day066: public is_analyst_owned_csv_source_candidate(&str) -> bool recognizes the final .csv extension ASCII case-insensitively for exact Suitcase-root analyst-owned candidate names. It refuses empty stems, __DS__-reserved names, slash/backslash paths, colon-bearing references, and traversal-like double-dot forms; preserves full spelling, case and Unicode normalization distinctions. Five new tests and 23 prior tests passed, 28/28 after Rustfmt. WASM32-target library compilation passed; no standalone browser execution proven. 20/20 SHA-256 file inventory matched; staged Rust source/test whitespace check 0. Full staged whitespace check 2 due solely to two preserved archival trailing-space lines in the CP008 precommit TXT, documented with supplemental diagnostic. Human T approved; Git commit banked with 18 files and clean working tree. This is ONLY lexical analyst-owned CSV candidate form, NOT regular-file proof, exact physical filename resolution, governed CVT publication, CSV UTF-8 certification, full SOURCE eligibility, or requirement acceptance. Independent Claude implementation QA pending. CP009 Day066: match_analyst_csv_root_snapshot(&str, &[RootSnapshotEntry]) -> RootSnapshotMatch applies CP008 analyst CSV candidate preflight, then exact Rust string equality (case, Unicode scalar sequence and whitespace preserved), reports no match, reported nonregular entry, ambiguous duplicate exact entries, or single caller-reported regular file. Entry origin and kind are caller assertions, not independently verified. Eight new tests; post-format full native regression 36/36; wasm32-unknown-unknown library compilation exit 0; SHA-256 inventory verified 22/22; staged whitespace exit 0; T approved and git banked 15 files, clean working tree. This is NOT actual root scanning, filesystem entry proof, browser permission, CSV/UTF-8 certification, governed CVT SOURCE eligibility or end-to-end requirement acceptance; independent Claude QA pending. CP010 Day066 adds is_governed_cvt_source_filename_candidate(&str)->bool, requiring existing canonical immutable envelope validator, exact CVT class, and exact lowercase .csv serialization token. Four bounded tests pass and native full regression 40/40; wasm32-target library build PASS with Rust 1.97.1; format check PASS; primary 29/29 and supplementary 8/8 SHA-256 verification PASS; staged whitespace PASS with documented exact-file archival exceptions; T approval; git b7c515faa9bd000369d7656e09437310261290ae committed 28 files and clean working tree. No physical file checks, conversion execution, close/reopen, publication predicate, UTF-8/CSV certification, executable SOURCE authority or browser runtime proven. Independent Claude QA pending.",Day066,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-010,WIP and WKO are distinct Work Order lifecycle states,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"WIP is the editable, non-executable Work Order state. WKO is the saved, validated, immutable Work Order artifact that may become a Run target. Validation establishes that a Work Order is structurally eligible to run; it does not guarantee that runtime conditions will succeed. Loading a WKO for inspection does not make it mutable. If its instruction text is changed, the editor must treat the edited text as a new WIP derived from the original WKO. The original WKO bytes and physical identity remain unchanged, and the derived WIP cannot Run until saved as a new WKO. F-08 Run distinction: the browser Run action invokes one selected saved immutable WKO that is eligible under the governed WKO-registry rules. No ordinary WASM-002 WKO contains a textual RUN line merely to execute itself. The DS-STEPS token RUN is reserved for future saved-Work-Order composition under W002-WKO-011 and is not repurposed as the browser execution trigger.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-013,WASM-002 executes one saved Work Order without Work Order chaining,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"For WASM-002, one saved immutable WKO is one top-level executable request. It must not invoke, include, chain, or execute another WKO. The governed RUN composition operation and equivalent nested-orchestration constructs are not executable in WASM-002. If a saved WKO contains composition syntax, validation must refuse before analytical execution begins. The canonical diagnostic and Help path must explain that Work Order composition is deferred rather than treating the syntax as arbitrary text, silently ignoring it, or partially executing surrounding instructions. This scope cut does not prohibit one Work Order from selecting and materializing multiple columns in the single Stage 2 operation defined by WASM-002.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012,Materialization COL alias assignment uses AS; standalone alias maintenance uses UPDATE ALIASES,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within the WASM-002 DS-STEPS materialization form, an analyst assigns or changes the alias of a selected materialized COL with the optional same-line clause AS ""alias"" under W002-STEPS-005. This syntax is part of the governed Work Order and is not a GUI gesture. A single KEEP block may therefore assign aliases to multiple selected columns in one governed materialization. Automatic source-header COL aliases and inherited rematerialization aliases are resolved first; explicit AS clauses then determine requested successor COL aliases before complete Store-MAP validation and publication. Revision BD freezes alias-only creation/replacement with UPDATE ALIASES and explicit historical Store-MAP selection with MAP ""<exact Store MAP filename>"" . Revision BE completes the bounded alias lifecycle with explicit CLEAR ... ALIAS and RESET ... ALIAS forms under W002-WKO-012.5 through W002-WKO-012.6. Empty-string AS """" is not the clearing syntax.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.1,Canonical standalone alias-maintenance Work Order uses UPDATE ALIASES,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"The canonical alias-only Store metadata forms are: SUITCASE: .
WORK ORDER AS ""Rename crime store""
SOURCE ""35100178.csv""
STORE AS ""Crime Statistics""
UPDATE ALIASES or, when the analyst intentionally selects one exact Store snapshot: SUITCASE: .
WORK ORDER AS ""Rename crime store""
MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv""
STORE AS ""Crime Statistics""
UPDATE ALIASES UPDATE ALIASES is the explicit terminal commitment clause for an alias-only Work Order. The WKO must identify exactly one Store-state base using either SOURCE ""..."" for ordinary Store-aware current-state selection or MAP ""..."" for exact Store-MAP selection, never both. At least one supported alias mutation clause must occur after the Store-state selector and before UPDATE ALIASES . An alias-only Work Order must not contain KEEP , MATERIALIZE , INVENTORY , conversion, Store repair, Work Order registry repair, cataloging, deferred Work Order composition, or another operation's terminal clause. Alias maintenance changes governed human-facing metadata only.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.2,"STORE AS, RID AS, and COL ... AS are the canonical alias-replacement clauses",W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within an alias-only UPDATE ALIASES Work Order, the canonical mutation clauses are: STORE AS ""Crime Statistics""
RID AS ""Row Number""
COL ""Crime Rate"" AS ""Police-Reported Crime Rate"" STORE AS ""..."" replaces the selected Store snapshot's store_alias . RID AS ""..."" replaces its rid_alias . COL ""<reference>"" AS ""..."" replaces the alias of exactly one existing mapped COL. The COL reference resolves under W002-STOR-021: it may be the exact physical column_filename or one unique current COL alias from the selected Store MAP. Missing, ambiguous, non-COL, or conflicting resolution must refuse rather than guess. One Work Order may update the Store alias, RID alias, and multiple distinct COL aliases together, provided the complete successor state satisfies all existing alias uniqueness/shadowing rules.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.3,"MAP ""<filename>"" is the exact historical Store-MAP selector",W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"The canonical explicit Store-MAP selection clause is: MAP ""__DS__MAP__20260920T184512347Z__<uuid-v4>.csv"" The value is always the exact physical filename of one structurally valid immutable Store MAP. It is not a Store alias, WKO alias, timestamp shorthand, UUID-only selector, or latest expression. For MATERIALIZE, if present, the clause occurs immediately after SOURCE and before KEEP . It overrides automatic Store-MAP inheritance and binds the run to exactly the named Store snapshot. For alias-only maintenance, the Work Order uses either SOURCE ""..."" or MAP ""..."" as its Store-state selector, not both. For materialization, SOURCE ""..."" remains mandatory and an optional MAP ""..."" supplies the exact historical/current Store-state base. Validation must refuse an incompatible source/MAP pairing or a MAP that is not a valid Store-MAP profile. Health rule: explicit historical selection does not override the current Store-lineage health gate. The selected lineage must currently be VALID and every RID/COL binding referenced by the named MAP must currently be present and valid. Otherwise the operation refuses. This applies equally to MATERIALIZE and UPDATE ALIASES. F-05/P2-01 source-compatibility predicate: for materialization, an explicitly named MAP is compatible only when the mandatory Work Order SOURCE exactly equals the one common source_filename carried by that Store MAP. If the exact filenames differ, validation refuses before the F-04 existing-Store cardinality gate in W002-MAT-002.6. Equal row count never authorizes a different source to enter the selected Store lineage.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.4,Alias-only execution publishes one complete successor Store MAP and no rewritten data artifacts,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"A successful UPDATE ALIASES operation begins from the selected complete Store MAP, applies only the requested alias replacements in memory, validates the complete resulting Store state, writes the successor MAP under governed SCR , closes and reopens it, validates it fully, and promotes it to a new immutable MAP last. That successful promotion is the alias-update commit point. The operation must preserve the selected Store's physical RID and COL filenames and bytes, source-column keys, row order, cardinality, and lineage except for the human-facing alias fields explicitly changed by the Work Order. It must not reread source data rows merely to change aliases, must not create RID/COL artifacts, and must not rewrite or delete the inherited MAP. The prior MAP remains visible historical state. If validation or MAP publication fails, no successor alias state becomes current. The failure is reported through the governed diagnostic/Help path and any incomplete candidate remains subject to the retained- SCR failure-evidence rules in W002-STOR-023.1; WASM-002 does not emit RCV. Revision BM E-02 integration: when the alias-only operation uses an explicitly named historical Store MAP, publication is permitted only if the Store lineage currently evaluates VALID and every RID/COL binding referenced by that named MAP is currently present and valid. An older MAP cannot be used to bypass current damage. P3-06 validation depth: because UPDATE ALIASES does not consume RID/COL analytical contents, its Store-health and binding checks use Tier 1 under W002-STOR-019.10. The operation must not scan every RID/COL record merely to change aliases. This does not weaken later operations that actually consume those artifacts; they must perform the applicable Tier 2 validation before relying on the contents.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-007,Standalone Store/RID/COL alias maintenance acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"Acceptance must establish a Store with one RID and at least three materialized COLs, then execute an alias-only Work Order that changes the Store alias, RID alias, and at least two COL aliases in one UPDATE ALIASES operation. One COL must be targeted by its unique current alias and another by its exact physical COL filename. The fixture must prove that exactly one complete successor Store MAP becomes current; prior MAP, RID, and COL artifacts remain byte-for-byte unchanged; no source-data row read is required; no new RID/COL artifact is published; and the successor MAP contains exactly the requested aliases while preserving all physical bindings and logical source-column keys. Missing/ambiguous COL references and successor alias collisions must refuse without publishing a successor MAP. F-23 CLEAR/RESET alias fixtures: acceptance must separately exercise CLEAR STORE ALIAS , CLEAR RID ALIAS , CLEAR COL ""<reference>"" ALIAS , RESET STORE ALIAS , RESET RID ALIAS , and RESET COL ""<reference>"" ALIAS . Each CLEAR fixture must prove that the successor MAP stores the governed empty alias without renaming or rewriting the referenced artifact. Each RESET fixture must prove restoration of the exact deterministic default governed by W002-WKO-012.6 and W002-STOR-019.7, including the oversized-header operational fallback where applicable. The fixtures must prove that CLEAR and RESET require no source-data row read, publish exactly one complete successor Store MAP on success, leave the predecessor MAP/RID/COL bytes unchanged, and deterministically refuse duplicate mutation of the same alias field or a reset/default value that fails the complete successor alias validity/uniqueness/shadowing rules.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-008,Explicit historical Store-MAP selection acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"Acceptance must create at least two valid Store MAP snapshots for one Store, then prove that a Work Order containing MAP ""<older exact Store MAP filename>"" binds to that exact older snapshot even though a newer valid MAP exists. An alias-only fixture must publish its successor from the explicitly named older base rather than from the newer automatic current state. A materialization fixture must retain mandatory SOURCE ""..."" while using the explicit MAP as its Store-state base. The tests must also prove refusal for a missing MAP, malformed MAP, WKO-MAP profile supplied as Store MAP, and source/MAP incompatibility. No implementation may substitute the newest MAP after an explicit MAP clause has validated. F-21 chronology acceptance: the fixture must use at least three successive valid MAP snapshots for one Store so that an explicitly selected older base and a distinct pre-run current MAP both exist. Merely selecting/validating the older MAP must leave current authority unchanged. A successful governed operation from that older base must then publish exactly one new successor whose requested state is derived from the named older base, whose publication UTC is later than the pre-run current chronology predecessor, and which becomes current under ordinary greatest-UTC selection. The selected historical MAP and the formerly current MAP must remain byte-for-byte unchanged. Acceptance must prove that later mappings/aliases present only in the formerly current MAP are not silently merged into the historical-base successor unless the Work Order explicitly recreates them. Receipt evidence must identify the exact operation base and exact published successor through the already-frozen operation-specific Receipt fields. No additional warning/permission gate or informational diagnostic is required merely because the analyst explicitly chose a historical base.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.5,CLEAR ... ALIAS deliberately removes a human-facing alias,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within an alias-only UPDATE ALIASES Work Order, the canonical clearing forms are: CLEAR STORE ALIAS
CLEAR RID ALIAS
CLEAR COL ""<reference>"" ALIAS CLEAR deliberately stores the empty string in the corresponding alias field of the successor Store MAP. It does not restore a default alias. An empty-string replacement such as STORE AS """" , RID AS """" , or COL ""..."" AS """" is not the canonical clearing form and must be rejected by the bounded WASM-002 grammar. For CLEAR COL , <reference> resolves against the selected pre-mutation Store MAP by exact physical column_filename or one unique current COL alias under W002-STOR-021. All COL references in one UPDATE ALIASES Work Order are resolved before any mutation is applied so clause order cannot change target identity. Missing, ambiguous, duplicate-target, or non-COL references must refuse. Clearing an alias never renames, rewrites, or deletes the underlying RID/COL artifact and never changes physical identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.6,RESET ... ALIAS restores the deterministic default alias,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within an alias-only UPDATE ALIASES Work Order, the canonical reset forms are: RESET STORE ALIAS
RESET RID ALIAS
RESET COL ""<reference>"" ALIAS RESET STORE ALIAS restores the Store MAP's common exact source_filename . RESET RID ALIAS restores the literal RID . RESET COL ""<reference>"" ALIAS restores that mapped COL's deterministic operational default defined by W002-STOR-019.7 from its exact recorded source_header and physical source ordinal: the exact header when it contains at most 1,024 Unicode scalar values, or the deterministic Column <LETTERS> fallback/disambiguation rule when the recorded header exceeds that boundary. RESET never substitutes the potentially oversized exact header into the alias field merely because that header remains authoritative source evidence. RESET is therefore distinct from CLEAR . The restored value must pass the same governed alias validity, uniqueness, and shadowing rules as any explicit alias. If the deterministic default is empty or conflicts in the complete successor Store MAP, RESET must refuse except for the narrow oversized-header fallback/disambiguation rule already frozen in W002-STOR-019.7; Data Sculptor must not otherwise invent a suffix, alternate spelling, or substitute. AS , CLEAR , and RESET mutations may coexist in one Work Order when they target distinct alias fields; duplicate mutation of the same alias field in one Work Order must refuse. A successful operation publishes exactly one complete successor Store MAP under the existing UPDATE ALIASES commit contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-001,Canonical WASM-002 DS-STEPS materialization form,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 materialization Work Order form is: # Optional human comment
SUITCASE: .
WORK ORDER AS ""Prepare monthly crime data""
SOURCE ""crime.csv""
[MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv""]
KEEP
HEADER ""REF_DATE"" AS ""Year"" # reporting year
HEADER ""GEO""
COLUMN 7 AS ""Crime Rate""
MATERIALIZE SUITCASE: . is governed by W002-WKO-008. WORK ORDER AS ""..."" is mandatory for an executable/saved WASM-002 Work Order and declares the immutable human-facing WKO alias governed by W002-STEPS-001.1. SOURCE ""..."" names the exact Suitcase-root source file. MAP ""..."" is optional with cardinality 0..1. If present, it occurs immediately after SOURCE and before KEEP , names one exact physical governed Store MAP filename, and binds the run to that exact current or historical Store lineage subject to W002-STOR-019.3 and W002-WKO-012.3. If absent, the Store-aware exact-source routing rules apply. KEEP is the bare governed keyword and introduces one or more column selectors. KEEP: is not valid WASM-002 syntax. Each selector is either HEADER ""..."" or COLUMN n and may optionally end with AS ""..."" . MATERIALIZE is the explicit terminal commitment verb. Duplicate structural clauses refuse. An empty KEEP refuses. After MATERIALIZE , only blank lines or comments may follow; a trailing comment on the physical MATERIALIZE line is permitted because comments are removed from the semantic token stream. # comments are governed by W002-STEPS-001.2. No RID/row-index clause appears in the Work Order. If this materialization establishes a new Store, the engine automatically generates exactly one RID artifact under W002-RID-002 and W002-RID-008. If it extends an existing Store, the existing RID is reused subject to the Store health/cardinality rules. This requirement freezes the bounded keyword structure and selector forms shown above for BM integration. Other complete-language lexical features remain outside this bounded syntax freeze unless separately specified. F-08 common-grammar boundary: MATERIALIZE is one of the seven executable WASM-002 operation grammars governed by W002-WKO-007. Its optional MAP clause remains in the frozen position immediately after SOURCE and before KEEP . The terminal MATERIALIZE clause is DS-STEPS syntax; the browser's Run action is not written into the Work Order. F-20 bounded KEEP: the canonical KEEP block contains at least one and at most 16,384 selectors, and after resolution those selectors must identify at least one and at most 16,384 distinct source columns. This is the complete WASM-002 selection-width bound.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-001.1,WORK ORDER AS declares the immutable human-facing Work Order alias,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"An executable or saved WASM-002 Work Order must contain exactly one top-level clause: WORK ORDER AS ""<alias>"" In canonical forms it appears after SUITCASE: . and before the operation-specific source/selector clauses. The decoded alias must be non-empty. The quoted alias may contain spaces and ordinary UTF-8 phrase text subject to the governed string-literal rules. The alias affects display and governed alias resolution only; it does not replace the WKO filename/UUID as physical execution identity. The alias is stored in the immutable WKO bytes and is published into the current WKO MAP when the WKO save transaction commits. Changing the alias therefore requires saving a new WKO under the frozen WKO lifecycle. No valid executable/saved WKO in WASM-002 is unaliased. P3-10 alias-content rule: “non-empty” means that, after decoding the quoted string literal, the alias must contain at least one non-whitespace character. An alias consisting only of whitespace refuses Work Order validation. Data Sculptor must not trim, collapse, normalize, or otherwise rewrite leading or trailing whitespace in an otherwise valid alias; the decoded alias text remains authoritative and is preserved exactly in the immutable WKO and governed WKO MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-001.2,# introduces a DS-STEPS line comment outside double-quoted strings,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"Outside a double-quoted string, the first # on a line begins a comment that continues through the line's LF terminator. Whole-line comments and trailing comments are permitted. Comment text has no execution semantics and is ignored by the DS-STEPS parser after lexical recognition. A # inside a double-quoted string is ordinary string content and does not begin a comment; for example WORK ORDER AS ""Analysis #3"" and HEADER ""CATEGORY #"" preserve the hash character. WASM-002 defines no block-comment syntax. Comments are preserved byte-for-byte in the saved immutable WKO TXT. Editing, adding, or removing a comment changes the WKO bytes and therefore requires saving a new WKO artifact even though analytical semantics may remain unchanged.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-002,HEADER selects by exact decoded source-header value,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"HEADER ""name"" resolves against the exact decoded header values established for the certified source. Header equality is exact Unicode scalar-value sequence equality under PB-STOR-010: Data Sculptor performs no case folding, locale folding, Unicode normalization, trimming, or filesystem-style comparison. A selector that matches no source header must refuse. If the same exact decoded header sequence occurs in more than one source column, the header selector is ambiguous and must refuse rather than choose by position, discovery order, normalization, case-insensitive similarity, or another heuristic. An analyst can disambiguate duplicate exact header text with the 1-based COLUMN n selector. F-20 selector identity: HEADER always matches the authoritative exact decoded source header. It never matches an operational fallback name such as Column AA , a generated collision-disambiguation suffix, a COL alias, or a truncated form of the source header.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-003,COLUMN selects by 1-based source ordinal,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"COLUMN n identifies the source column by 1-based ordinal position. COLUMN 1 is the first source column. Zero, negative values, non-integers, and ordinals greater than the source width must refuse. Ordinal selection does not suppress source metadata: Data Sculptor must still resolve and record the selected column's actual decoded source header in the successor MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-004,HEADER and COLUMN selectors may be mixed but may not select one source column twice,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"One KEEP block may contain any supported mixture of HEADER and COLUMN selectors. Selector order expresses the analyst's requested selection order for the governed operation. After resolution, two or more selectors that identify the same physical source column constitute a duplicate selection and must refuse before materialization. Data Sculptor must not materialize the same source column twice merely because it was named once by header and once by ordinal.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-005,AS assigns the resulting materialized-column alias,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"The optional clause AS ""alias"" belongs to the immediately preceding HEADER or COLUMN selector and expresses an intentional human-facing alias assignment in the governed Work Order. For a logical source column not present in the inherited MAP, omission of AS uses the exact source header as the default alias. For a logical source column already present in the inherited MAP, omission of AS preserves the inherited alias. An explicit AS overrides either default for the successor MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-006,The complete successor MAP must contain unique aliases,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"After inheritance, selector resolution, default-alias application, rematerialization continuity, and all explicit AS clauses are applied, every alias in the complete successor MAP must identify exactly one logical materialized column. If two different logical columns would have the same alias, including a collision with an inherited mapping, validation must refuse unless the Work Order has explicitly resolved the conflict through supported governed syntax. Data Sculptor must not invent suffixes such as Year_2 , use last-write-wins behavior, or silently shadow an existing alias. F-20 narrow generated-name exception: the prohibition on invented suffixes applies to ordinary source-header defaults and analyst-authored aliases. The only automatic suffixing permitted in WASM-002 is deterministic disambiguation of an oversized-header operational fallback under W002-STOR-019.7. That mechanism is not an alias-repair heuristic and must not be applied to an explicit AS value or to a short exact source-header default.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-007,MATERIALIZE commits the resolved KEEP set to the governed structural pass,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"MATERIALIZE is the explicit commitment verb for this WASM-002 DS-STEPS form. The KEEP selectors express which source columns belong in the operation; they do not themselves authorize data-row materialization. Before the bounded structural pass begins, the source, all selectors, actual source ordinals/headers, requested aliases, inherited alias state, and resulting alias uniqueness must be resolved and validated. Successful multi-column execution then follows the one-pass materialization contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-008,The Store MAP records resolved truth rather than selector spelling,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"The successor Store MAP must record the fully resolved materialization result using the frozen eight-column schema store_alias,rid_filename,rid_alias,source_filename,source_column_number,source_header,alias,column_filename , regardless of whether the analyst selected a column with HEADER or COLUMN . For example, COLUMN 7 AS ""Crime Rate"" records the Store alias, RID filename/alias, common source filename, source ordinal 7 , the actual decoded header found at column 7, alias Crime Rate , and the newly generated physical COL filename. DS-STEPS expresses intent; the Store MAP persists the resolved durable mapping truth.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-009,DS-STEPS materialization syntax acceptance,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"Acceptance must cover: one column selected by exact header; one column selected by 1-based ordinal; mixed header/ordinal selectors in one KEEP block; multiple columns materialized in one governed structural pass; AS alias assignment; default header aliasing; inherited-alias preservation on rematerialization; explicit alias replacement on rematerialization; duplicate-header ambiguity refusal; invalid ordinal refusal; duplicate resolved-column refusal; and duplicate successor-alias refusal. Acceptance must also prove that the generated successor MAP records the same resolved source filename, source ordinal, actual source header, resulting alias, and physical COL identity whether a column was selected by header or by ordinal. For a new Store, both the single-column and multi-column materialization fixtures must contain no RID/row-index instruction yet must automatically publish exactly one RID artifact. For a later permitted same-Store materialization, the fixture must likewise contain no RID instruction and must reuse the original RID without publishing another. Damaged-lineage Help acceptance: fixtures must prove that exact source routing to an INVALID Store, and to a DEGRADED Store whose every mapped COL is broken, refuses ordinary materialization without silently treating the source as unseen. The canonical diagnostic/Help evidence must identify the blocked lineage/current MAP and preserve the frozen analyst-owned exits: external restoration under the original governed physical filename followed by governed validation; source rename to begin a distinct new Store lineage; or moving all lineage MAPs out of the active Suitcase to retire that lineage from routing. The all-COLs-broken fixture must warn that moving only the latest MAP is insufficient. No fixture may imply a new Data Sculptor recovery command, automatic RID regeneration, silent replacement of the damaged lineage, or historical byte identity based only on a restored filename. P3-06 validation-tier acceptance: acceptance must prove that a routine routing/status or alias-only path can use Tier 1 without an end-to-end scan of every RID/COL value, while an operation that consumes artifact contents performs Tier 2 before relying on them. Fixtures must include: a RID that passes Tier 1 but fails Tier 2 because its declared N /sequence is internally wrong beyond the Tier-1 boundary; a COL that passes Tier 1 but fails Tier 2 because its data-record count or CSV body is invalid beyond the Tier-1 boundary; and a REPAIR MAP fixture proving that the Tier-2 failure set determines exactly which COL bindings are removed. P3-07 routing acceptance: fixtures must prove that routing discovers a lineage from a structurally valid Store MAP regardless of whether later Store-health evaluation is VALID , DEGRADED , or INVALID . A separate fixture must present no routable lineage together with at least one structurally malformed Store-MAP-class artifact in the active Suitcase and prove that ordinary materialization refuses before publishing a new RID or first Store MAP, while Help identifies the malformed MAP artifact or artifacts. No fixture may treat an all-MAPs-damaged condition as permission for a silent replacement lineage. F-08 cross-operation grammar acceptance: fixtures must prove the common preamble, ASCII-case-insensitive keywords, exact quoted-value preservation, required SPACE/TAB token separation, unknown-line refusal, one-operation-per-WKO refusal, and separation between DS-STEPS terminal phrases and Receipt OPERATION tokens. At least one fixture for each of the seven executable operations must prove that its canonical structure validates while an otherwise similar WKO containing another operation's terminal clause refuses. Separate fixtures must prove that browser Run does not require a textual RUN clause and that parsed RUN composition syntax refuses as deferred before analytical execution. P2-04 restoration-language acceptance: Help, diagnostics, UI text, and acceptance evidence may say that a file restored under the exact governed physical filename passed the required validation tier and may therefore re-enter use. They must not state or imply that filename equality alone proves restoration of the historical original bytes. If stronger historical-byte identity is desired, Help may point to the separately governed explicit fingerprint/LCK direction rather than silently hashing ordinary Store artifacts. F-20 selector/name/width acceptance: fixtures must additionally prove that HEADER resolves only against exact decoded source-header text and never against an operational fallback/default alias; a KEEP selecting all 16,384 columns is valid; a source wider than 16,384 refuses before data-row materialization; and RESET of an oversized-header COL restores the deterministic operational fallback rather than the exact oversized header as alias text. F-03 Store-health and REPAIR MAP acceptance set Target required: REPAIR MAP without exactly one current Store MAP target refuses. Historical target: a structurally valid but non-current historical Store MAP refuses for repair. Wrong profile: a WKO MAP supplied as the repair target refuses. DEGRADED repair: one or more broken COL bindings are removed while every valid binding and the exact RID identity are preserved. All COLs broken: repair refuses, publishes no successor MAP, and the Store remains DEGRADED . Malformed newest MAP: current-state resolution falls back to the greatest earlier structurally valid MAP in the same lineage and reports the malformed artifact. Missing COL in current valid MAP: no fallback occurs; the current MAP remains current and the Store evaluates DEGRADED . Missing RID in current valid MAP: no fallback occurs; the current MAP remains current and the Store evaluates INVALID . Original RID externally restored: the Store is re-evaluated after governed validation without Data Sculptor creating or inferring a replacement RID. No silent fork: neither DEGRADED nor INVALID permits ordinary materialization to create a replacement Store for the same routed lineage.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-003,Suitcase-relative Work Order portability acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"An acceptance fixture must execute a saved WKO containing SUITCASE: . and ordinary Suitcase-relative file references, then move the intact fixture Suitcase to a different permitted parent path and execute the same saved WKO again. Resolution must identify the same logical Suitcase files without editing the WKO to insert the new absolute machine path.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-004,WIP/WKO lifecycle acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"Acceptance evidence must show that an editable WIP cannot Run; saving a valid WIP produces a distinct immutable WKO Run target; loading that WKO and changing instruction text creates a new non-runnable WIP; and the original WKO bytes, filename, identity, and provenance remain unchanged. F-02 alias-registry lifecycle acceptance: a first save for an unused alias must publish a successor WKO MAP containing exactly one CURRENT row for that alias. Saving a second valid WKO with the same exact alias must surface exactly Replace alias target and Cancel . The Cancel fixture must leave the predecessor WKO MAP authoritative and must not commit the pending WKO/WKO-MAP pair as a registry update. The Replace fixture must publish a successor WKO MAP in which the former owner is DEPRECATED , the new WKO is the sole CURRENT row for that alias, and any earlier deprecated history remains preserved. The former WKO bytes and filename and every predecessor WKO MAP must remain unchanged. Alias resolution against the successor registry must resolve to the new CURRENT row and never to a DEPRECATED row. A malformed fixture containing more than one CURRENT row for one exact alias must fail structural validation rather than choose by filename UTC, modified time, discovery order, or row order. P2-03 WKO-registry clock acceptance: using a deterministic injected clock seam, acceptance must prove that a successor WKO MAP publishes only when the observed transaction UTC is strictly greater than the current structurally valid WKO MAP UTC; equal-millisecond and backward/future-dated-predecessor cases refuse without committing the new WKO/registry state. The diagnostic must expose predecessor_map_filename , predecessor_utc , and observed_host_utc . A separate fixture must deliberately move the future-dated current WKO MAP out of the active Suitcase, rescan, and prove deterministic reselection of the remaining current structurally valid WKO MAP without Data Sculptor silently moving or deleting anything itself. Day 060 H-12: every equal/backward/future-predecessor chronology refusal in this acceptance set must emit DS-UTC-001 with exact map_profile: WKO , observed_host_utc , predecessor_map_filename , and predecessor_utc facts. F-23 save-transaction filesystem-fault fixture, reconciled by F-33: using a controlled create/write/close/rename/promotion failure at a deterministic point after a valid WIP has entered the governed save path, acceptance must prove that a failed WKO/WKO-MAP save is never represented as a committed alias-registry update. The pre-run current WKO MAP must remain authoritative; no malformed or unpromoted candidate may become current; and any rollback or retained SCR evidence must follow W002-STOR-018.3 and the shared non-Store publication/retained-evidence contract. No RCV artifact is emitted. F-02 registry-repair acceptance set Deadlock escape: with a repair-required current WKO MAP, a newly saved structurally valid repair-only WKO can Run by exact filename and successfully publish a repaired successor registry. No broad bypass: a newly saved unregistered WKO for any other operation remains ineligible to Run. Missing reference: repair removes a stale registry row but does not recreate the missing WKO, substitute a historical WKO, or promote an older WKO automatically. Discovered alias, no owner: one discovered valid WKO with an otherwise unowned alias becomes CURRENT . Discovered alias collision: a discovered WKO whose alias is already owned by a surviving CURRENT row becomes DEPRECATED . Several discovered WKOs, no owner: all become DEPRECATED ; no winner is inferred by UTC, filename, UUID, directory order, discovery order, or modified time. Mandatory alias: an unaliased WKO cannot be structurally valid. Line endings: otherwise-identical structurally valid WKO fixtures with LF and CRLF line endings are accepted; the lone-CR form refuses. Deterministic successor: repaired successor rows serialize in ascending UTF-8 byte order of exact wko_filename . Historical Run: a registered DEPRECATED WKO can Run by exact physical filename but not by alias. Receipt identity: a successful or refused registry-repair Receipt uses REPAIR_WORK_ORDER_REGISTRY as the operation token. Day 060 H-10 / BM-07 registry-repair Receipt-count acceptance Acceptance must include a successful repair-required-registry fixture in which the exact repair-only bootstrap WKO is initially visible and unregistered, runs by the bounded exact-filename bootstrap, and is then registered by the repair result. The committed successor WKO MAP must contain the repair WKO row. The successful Receipt must list that exact repair WKO under either REGISTERED_CURRENT_WKO_<INDEX>_FILENAME or REGISTERED_DEPRECATED_WKO_<INDEX>_FILENAME , according to the ordinary alias-ownership rule. The corresponding REGISTERED_*_COUNT must equal the number of newly registered rows in that status class, including the repair WKO when applicable. Pre-existing surviving CURRENT / DEPRECATED rows in the base registry must not inflate either registered count. A fixture containing both pre-existing surviving rows and newly registered rows must prove that the Receipt reports the repair change set while the successor MAP reports the complete resulting registry state.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-005,"Store MAP inheritance, historical override, and immutable snapshot acceptance",W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"An acceptance fixture must execute a saved Store-establishing Work Order containing multiple COL alias assignments when no routable Store lineage exists and no structurally malformed Store-MAP-class artifact is present , and prove that exactly one new immutable complete Store MAP is created while the GUI supplies no alias-edit gesture and target artifacts remain unchanged. A later Work Order with the same exact source and no explicit MAP must route to that Store's lineage and inherit its unique newest permitted MAP automatically. Another Work Order must explicitly select an older valid MAP even though newer MAPs for that Store exist and prove that Store/RID binding, alias resolution, and inheritance use exactly the named historical MAP instead. A fixture specifying more than one MAP must refuse. A fixture with two otherwise permitted current MAP candidates for the selected Store sharing the greatest UTC millisecond timestamp must refuse automatic inheritance rather than use UUID as chronology. A separate fixture must remove or corrupt every Store MAP in a prior lineage so that no structurally valid Store MAP remains while at least one malformed Store-MAP-class artifact remains visible in the active Suitcase. Re-running ordinary materialization must refuse before creating a new RID or first Store MAP, and Help must identify the malformed MAP artifact or artifacts. P2-03 Store chronology acceptance: injected-clock fixtures must prove later observed UTC success, equal-millisecond refusal, backward-UTC refusal, and a genuinely future-dated current Store MAP that remains current while blocking successor publication. Every refusal must leave the chronology predecessor unchanged and publish no successor Store MAP. A historical-base fixture must derive requested state from an older eligible MAP while proving that the strict-greater-than comparison uses the actual current Store MAP as chronology predecessor, not the historical base. A deliberate analyst-removal fixture must move the future-dated current MAP out of the active Suitcase and prove deterministic reselection of the remaining structurally valid history; restoring that MAP must make ordinary greatest-UTC authority rules applicable again. Day 060 H-12: every equal/backward/future-predecessor Store-MAP chronology refusal in this acceptance set must emit DS-UTC-001 with exact map_profile: STORE , observed_host_utc , predecessor_map_filename , and predecessor_utc facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-006,Work Order chaining refusal acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"An acceptance fixture must submit a structurally saved WKO containing a RUN or other recognized Work Order-invocation construct and prove that WASM-002 refuses it during validation before Stage 1, Stage 2, conversion, inventory, or other governed execution begins. The diagnostic/Help output must identify composition as deferred functionality. A separate multi-column MATERIALIZE fixture must still succeed, proving that multiple selected columns inside one Work Order are not misclassified as Work Order chaining.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-001,One explicit Work Order command surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser front end shall use the Work Order editor as the single human command-entry surface for governed execution. It shall not expose a second interactive command prompt or point-and-click analytical path that can become an independent source of analytical intent. The editable draft may be syntax-highlighted, validated, and saved, but it is not itself executable authority. The browser Run action operates only on one loaded/selected saved immutable WKO that is eligible under the governed Work Order registry rules. Run is a browser action, not a line that ordinary WASM-002 Work Orders must contain. If a WKO contains the reserved DS-STEPS RUN composition token, WASM-002 refuses before executing any child or top-level analytical operation because saved-Work-Order chaining is deferred. The token remains reserved so later ordered composition can be added without repurposing existing syntax. F-24 fresh-application state: each new Data Sculptor browser application instance begins without a selected Suitcase and without a restored unsaved Work Order draft. Initial page load and full reload therefore return the command surface to the pre-Suitcase gate. A previously selected folder, loaded WKO, or dirty WIP must not be silently reconstructed from browser-private persistence.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-002,Front end presents and authorizes; shared Rust core decides,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The browser front end may authorize files, edit and validate Work Orders, invoke the shared engine, display governed state, render diagnostics, and present generated artifacts. It must not independently decide analytical truth, silently reinterpret a Work Order, or implement a competing semantic path. Where front-end presentation and shared-core semantics disagree, the shared governed semantics and frozen requirements are authoritative.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-003,Visible Suitcase and governed run context,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser surface shall make the currently validated Suitcase visible and shall expose the visible files in that folder. Source and requested-column context become governed execution state only when a saved Work Order resolves them; the UI must not imply that directory presence alone means a source has been selected, scanned, certified, or materialized.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-004,Certification gate is visible and blocking,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The front end shall visibly represent strict whole-file UTF-8 certification as a required stage before analytical materialization. A certification refusal must stop the current analytical Work Order, prevent later materialization stages from being presented as successful, and provide the canonical diagnostic / Help path.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-005,One-pass multi-column materialization is represented truthfully,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"When a valid Work Order requests multiple source columns, the front end shall represent them as one governed multi-column materialization request through one bounded structural CSV pass, not as unrelated per-column scans when the frozen engine contract performs one pass. Requested columns must be validated before data-row materialization begins, consistent with the materialization requirements.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-006,Visible Suitcase Directory is the artifact orientation surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"After Suitcase validation, the browser shall present a human-readable directory view of the visible files in the selected Suitcase, including physical filename, read-only governed alias where applicable, file type, and size. Governed artifacts created by a run shall appear in that same visible inventory after refresh or update. The directory is an orientation and metadata surface over the real flat Suitcase. It is not a hidden browser cache, a second persistence system, or an analytical command surface. CAT integration: this existing directory remains the sole WASM-002 artifact-orientation surface. CAT and MAP artifacts are first-ranked under W002-CAT-UI-001 through W002-CAT-UI-008; no second catalog browser is introduced.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-007,All user-facing Help flows through the Help Engine,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"All Data Sculptor-controlled user-facing Help messages, warnings, refusals, explanations, validation guidance, safe-next-action messages, and governed success/status messages that participate in the Help/status/evidence system shall be produced through the Help Engine from governed facts or canonical diagnostic events. Individual UI controls must not maintain an independent competing stock of semantic Help text. Governed success/status events in this system use canonical INFO diagnostics. Ordinary static labels, headings, decorative copy, and presentation-only UI text are not diagnostics and need not be routed through the diagnostic registry merely because they are visible. Help voice may change wording and depth but must not change diagnostic identity, evidence, severity, refusal/continue behavior, provenance, or safe next action. Durable Help Reports derive from the same governed truth. F-17 fallback behavior: when a complete registered diagnostic lacks an authored help_messages.json entry, the UI must show the deterministic Generic Technical Help rendering from W002-HELP-002.9 for Casual, Office Speak, and Technical selections rather than a blank state, guessed prose, or UI-local explanation. When diagnostic assembly itself fails its required-fact contract, the UI presents DS-HLP-001 ; it must not display the incomplete intended diagnostic as if valid.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-008,Legacy encoding conversion remains a separate operation,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"If UTF-8 certification fails and the bytes are eligible for the separately governed Windows-1252 compatibility/conversion path, the front end may explain or help draft that separate conversion Work Order. It must not silently reinterpret the failed analytical Work Order as Windows-1252 and continue materialization. P3-08 front-end disclosure: after a successful conversion, the visible result/Help path must identify the exact published CVT filename and explain that it is a new source identity for later Store routing. When that CVT is subsequently chosen for first materialization, the front end must not present the action as a refresh of an earlier conversion-derived Store merely because the analyst-owned input filename is the same; it must preserve the governed Help disclosure that each distinct CVT is a distinct source artifact and lineage input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-009,Front-end branding is presentation-only,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser front end shall use the canonical built-in Red5Sorcery/Data Sculptor branding and approved presentation tokens without changing analytical or diagnostic meaning. The current Red5Sorcery identity treatment, including the red “5”, remains the active WASM-002 design direction. Configurable Brand Manifest loading, validation, selection, and substitution are deferred to V1-BACKLOG / a future build whose number is not yet assigned.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-010,WASM-002 front end must not preview deferred analytical features as available controls,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 front end shall stop at the capabilities allocated to the WASM-002 build slice. It shall not present filtering, grouping, sorting, Quick Viz, PRETTY Tables, DS-VERIFY, or later filter-driven build/export workflows as executable WASM-002 controls unless their individual requirement SCOPE is deliberately changed and frozen.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PLAT-001,WASM-002/V1 browser and modest-hardware acceptance baseline,W002-PLAT,W002-PLAT,WASM-002,UNDER REVIEW,—,"The canonical modest-hardware acceptance machine for the WASM-002 browser release and the browser path carried into V1 is the project's 11-inch Windows 11 laptop with an Intel N100 processor, 16 GB RAM, and a 1920×1200 native display. Each acceptance record must capture the exact tested Windows build, browser version, Windows display scaling, browser zoom, and materially relevant machine configuration. Those observed version and presentation settings are acceptance evidence; they do not become timeless minimum-version requirements unless separately frozen. V1 browser support is scoped to certified desktop Chromium hosts that expose the user-selected writable-directory and file-publication capabilities required by the visible Suitcase contract. Microsoft Edge is the primary certified browser. Google Chrome is the secondary certified browser. Another Chromium-derived browser may work, but Data Sculptor must not claim it as a certified V1 browser until that browser has passed the applicable acceptance suite. Firefox and Safari are not supported V1 browser hosts under this contract and their lack of the required filesystem capability must not block V1 release. Supported-host acceptance must exercise the real browser filesystem path: explicit user-selected Suitcase access, CER validation, governed Work Order save/Run behavior, and governed artifact publication. Data Sculptor must not substitute OPFS, IndexedDB, download-only publication, a browser extension, or another hidden/different persistence model merely to make an unsupported browser appear supported. Required filesystem capability is feature-detected before folder validation begins. If the host cannot expose the governed writable-directory contract, Data Sculptor must treat that state as a host-capability refusal , keep governed save/Run/analytical controls locked, and route the explanation through the canonical diagnostic/Help path. It must not claim that a particular user folder failed validation when no folder could actually be tested.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-011,"Keyboard-operable, small-screen browser shell",W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The required WASM-002 front-end interactions shall remain operable from a keyboard and usable on the canonical modest-hardware/small-screen baseline defined by W002-PLAT-001. At the display scaling and browser zoom recorded for acceptance, every required control and governed surface needed to complete the supported workflow must remain reachable without changing those settings merely to reveal an otherwise inaccessible control. Responsive reflow and ordinary scrolling are permitted; this requirement does not demand that every panel be visible simultaneously. Visible labels must carry meaning without relying on color alone. Exact shortcut assignments are presentation details unless separately frozen.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-012,"Reference prototype is evidence, not a shadow specification",W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The Day 043 HTML prototype embedded below is retained as concrete design evidence for the WASM-002 browser workbench. Its layout, simulated analytical execution, illustrative Work Order grammar, current aliases, demo shortcuts, artifact examples, and other unfrozen literals do not become normative merely because they appear in the prototype. If the embedded prototype conflicts with a numbered requirement, the numbered requirement governs and the prototype must be revised.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-013,Dedicated persistent Help / Diagnostic Surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The primary WASM-002 workspace must reserve a dedicated Help / Diagnostic Surface with stable layout presence. When a governed diagnostic is active, the analyst must be able to view its explanation without losing sight of the Work Order and the execution/source context required to understand it. The persistent surface is a viewport into canonical diagnostic truth; it is not a second state authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-014,Governed analytical refusals are not modal- or toast-only interactions,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,An application-controlled modal dialog must not be the primary presentation of a governed analytical refusal when it would obscure the Work Order or execution context. A transient toast or timed notification must not be the sole carrier of governed diagnostic truth. Browser- or operating-system-controlled permission/security dialogs are outside this requirement because Data Sculptor does not control their presentation.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-015,Idle Help state remains semantically quiet,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"When no canonical diagnostic is active, the Help / Diagnostic Surface should communicate only restrained readiness/idle state rather than becoming a general dashboard for unrelated metrics, checkpoints, or project status. Exact wording such as “No active diagnostic. Ready.” is presentation detail unless separately frozen.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-016,Help surface exposes a direct saved-report action,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"From an active governed diagnostic, including a non-run diagnostic, or from one governed Run whose diagnostic history is available to the Help surface, the browser Help / Diagnostic Surface must provide an explicit action to generate the durable HTML Help Report. Each explicit report request publishes exactly one HLP under W002-HELP-003.2 and W002-HELP-009. The generated report must become a visible Suitcase artifact governed by the Help, PRETTY, persistence, and provenance requirements and must use the canonical built-in Data Sculptor presentation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-017,Writable Suitcase validation is the first interaction gate,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"Before Data Sculptor enables Work Order saving, governed Run, or analytical processing, the analyst must choose one Suitcase folder and Data Sculptor must validate that folder by successfully creating, completely writing, and closing one governed HTML Suitcase Validation Certificate under W002-STOR-022 through W002-STOR-022.3. Permission state or directory enumeration alone is not sufficient to pass the gate. The successful certificate remains visibly in the Suitcase as durable evidence. Validation does not require deleting or renaming the certificate. Until the certificate write/close succeeds, the analytical workspace remains locked except for Help and Suitcase selection. Browser- or operating-system-controlled refusal of protected directories is outside Data Sculptor presentation control and must be explained through the Help Engine when the host can observe the refusal. F-24 opening/selection lifecycle: merely loading Data Sculptor does not create a CER. A CER is published only after an explicit Suitcase selection successfully passes the governed validation gate. Reselecting and successfully validating the same physical Suitcase is a new certification event and publishes one new CER; all earlier CERs remain untouched. Data Sculptor does not remember the directory handle between application instances, so a new load/reload requires explicit Suitcase selection again before the workspace can unlock.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-018,Suitcase Directory enumerates visible files before analytical work,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"Immediately after Suitcase validation, Data Sculptor shall enumerate the visible files available through the authorized directory handle and show them in the Suitcase Directory. No source, header, column, certification, or materialization state shall be inferred merely from the existence of those files.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-019,Directory inventory and displayed aliases must not become point-and-click analytical intent,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The Suitcase Directory may expose file inventory and read-only human-facing metadata such as aliases, but it shall not provide alias-edit controls, “Use as source,” column-pick, materialize, filter, or equivalent governed-action controls. Source files, requested columns, alias mutations, and analytical operations are stated in saved Work Orders and resolved by the governed engine.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-020,Saved Work Orders are the only Run targets,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The Work Order editor may create a new draft or load a saved Work Order TXT artifact from the validated Suitcase. A loaded saved Work Order is an immutable Run target and may be inspected or run directly. If the analyst changes its instruction text, the editor must transition to a new draft derived from that saved Work Order; the draft is not runnable until it is saved as a new immutable Work Order with a new governed physical identity. The original saved Work Order remains unchanged.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-021,User chooses the Suitcase; Data Sculptor chooses generated filenames,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"For Work Orders, materialized columns, Help Reports, receipts, maps, and other Data Sculptor-generated artifacts, the analyst chooses or has already chosen the validated Suitcase folder. The browser shall not require the analyst to supply an output filename for those governed artifacts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-022,"Execution Output is read-only observation, never command input",W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The browser shall provide a read-only Execution Output surface that reports which saved Work Order was run, how its source and governed aliases resolved, which execution stages occurred, what was refused, and which governed artifacts were created or assigned. For WASM-002 it does not display a nested Work Order invocation chain because Work Order composition is deferred. The surface shall not accept commands, analytical text, or cursor-driven execution input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-023,The browser has no separate Work Order Description field,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The browser must not expose a standalone editable Description field for a saved or draft Work Order. Human-facing Work Order naming is authored in DS-STEPS with the required WORK ORDER AS ""..."" clause inside the Work Order itself. The Saved Work Order chooser and Suitcase Directory may display governed WKO alias/lifecycle information from the current structurally valid WKO MAP . Where lifecycle information is shown, CURRENT and DEPRECATED are read-only governed registry state, and the exact physical WKO filename must remain available/visible so human meaning, lifecycle authority, and physical identity remain distinct. Alias resolution uses the sole CURRENT row for the exact alias; a DEPRECATED row is historical evidence rather than the alias target. If that current registry references a missing physical WKO, the MAP remains current and the registry is repair-required; the browser must not silently display an older WKO MAP as though it had become current merely because of the missing reference. A structurally malformed newer WKO MAP never becomes current and is reported through Help/evidence surfaces. Editing a loaded saved WKO—including changing its alias or comments—creates a derived draft that must be saved as a new immutable WKO before it can Run. If that save would supersede the existing CURRENT target for the same alias, the save flow follows the exact Replace alias target / Cancel decision in W002-STOR-018.3; the UI must not provide a separate direct registry-edit gesture.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-024,Suitcase Directory aliases are read-only views of governed MAP profiles,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"Alias displays in the Suitcase Directory are observation-only. Store, RID, and materialized-COL aliases are read from eligible Store MAP state. Saved Work Order alias and lifecycle state are read from the current structurally valid WKO MAP. The browser may aggregate those governed sources into one human-facing directory view while keeping exact physical filenames available for inspection. For WKO rows, CURRENT / DEPRECATED is read-only governed lifecycle metadata. A CURRENT row identifies the registry target for that exact alias; a DEPRECATED row remains historical registry evidence and must not be presented as the current alias target. The GUI must not expose an input, inline editor, context action, or other non-Work-Order path that directly mutates governed aliases or WKO lifecycle status. Store/RID/COL alias mutation remains Work-Order-governed. WKO aliases are authored inside immutable WKO text with WORK ORDER AS and enter or change WKO alias-registry authority only through a successful governed save transaction under W002-STOR-018.3.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-025,The browser has exactly two governed built-in presentation themes,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser presentation contract exposes exactly two governed theme choices: Modern Dark and Modern Light . Custom presentation is deferred to V1-BACKLOG / a future build not yet numbered. A Terminal theme is not part of the WASM-002/V1 browser contract and must not be exposed as a governed theme choice. Theme selection is presentation-only. It must not change Work Order semantics, source resolution, diagnostic identity or facts, continue/refuse decisions, analytical values, Receipt truth, or other governed execution meaning. The selected browser theme does not control durable HLP or CER presentation in WASM-002. Those governed HTML artifacts use the canonical built-in Red5Sorcery/Data Sculptor presentation regardless of whether the live browser is using Modern Dark or Modern Light. F-24 session default and persistence: Modern Dark is the canonical theme at the start of every new browser application instance. The analyst may switch to Modern Light during that instance, but WASM-002 retains the choice only in volatile runtime state and does not persist it in browser-private storage. A new application instance therefore returns to Modern Dark.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-026,Flight Recorder is a read-only derived Receipt-history surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser may present a Flight Recorder surface that is derived exclusively from governed RCP Receipt artifacts currently visible in the authorized Suitcase. The surface is read-only and regenerable. It must not create or maintain a second execution-history database, mutable log, hidden cache, browser-private history, or alternate chronology authority. The Flight Recorder may sort, filter, group, or summarize Receipt-derived facts for human orientation, but those presentation operations must not alter Receipt bytes, invent missing events, or become authoritative over the underlying immutable Receipts. Where no canonical Receipt exists because Receipt publication failed, the surface must not reconstruct a substitute original Receipt from UI state, console text, or memory.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-001,Single-command-surface and saved-run-target acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The acceptance check must show one Work Order editor that can hold either a new draft or a loaded saved Work Order and no second independent prompt, command-entry cursor, point-and-click source selector, or point-and-click column selector. A governed browser Run must read exactly one loaded/selected saved immutable WKO artifact that is eligible under the current registry rules. An unsaved WIP must not Run. Editing the instruction text of a loaded saved WKO must transition the editor to a new draft state that cannot Run until saved as a new immutable WKO. A fixture containing the exact reserved semantic token RUN as a Work Order composition construct must refuse before any governed operation executes and must reach the deferred-composition Help path. A near-synonym such as CALL , EXEC , or INCLUDE must not be silently accepted as composition syntax.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-002,Certification-refusal gating acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Using a source fixture that fails strict UTF-8 certification, the browser must show certification failure, leave later analytical stages unaccepted, produce no materialized analytical outputs, preserve the source unchanged, and expose the canonical Help path. The retained event/Receipt evidence must agree on STAGE1_UTF8_OUTCOME: FAIL , exact UTF8_FIRST_INVALID_BYTE_OFFSET , and UTF8_STOP_REASON: INVALID_UTF8_SEQUENCE . The canonical diagnostic event must expose the same meaning through lower-case facts first_invalid_byte_offset , source_filename , and stop_reason .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-003,Multi-column path acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Using a valid UTF-8 source and a Work Order requesting at least two source columns, the browser must show successful certification followed by one governed structural materialization pass and then expose the resulting visible Suitcase artifacts required by the build contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-004,Diagnostic/Help parity acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"For at least one real WASM-002 refusal path, the live message, each supported Help voice, and the durable HTML Help report must resolve from the same canonical diagnostic event and preserve the governed facts, severity, provenance, refusal behavior, and safe next action.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-005,Visible-persistence and Suitcase-directory acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"A completed governed browser run must be auditable from the visible Suitcase artifacts required by the build contract, and newly created governed artifacts must become visible through the Suitcase Directory. Acceptance evidence must show that Data Sculptor did not intentionally persist project or analytical state in browser-private storage as a substitute for those artifacts. F-24 session/CER lifecycle acceptance: acceptance must begin from a clean application instance and prove all of the following in one controlled sequence: no Suitcase is selected or silently recovered; Work Order saving and governed Run remain gated; the live browser defaults to Modern Dark and Technical Help; explicitly selecting and successfully validating a writable Suitcase publishes exactly one fresh CER and unlocks the workspace; after switching to Modern Light and a non-Technical Help voice and creating a dirty unsaved WIP, an ordinary reload/navigation path triggers the browser-supported unsaved-change warning where the host permits it; after proceeding with reload, the Suitcase handle, non-default theme, non-default Help voice, and dirty WIP are not restored from Data Sculptor-controlled browser-private persistence; reselecting and successfully validating the same Suitcase publishes a second distinct CER while the first CER remains present under its original governed filename and exact bytes; and no automatic CER-history ZIP, compaction, replacement, or deletion occurs. The acceptance record must inspect the relevant Data Sculptor-controlled browser persistence surfaces and show that no persisted project/session record was used to restore the Suitcase handle, WIP, theme, or Help voice. WASM-002 does not claim dirty-draft warning or recovery after browser crash, forced process termination, operating-system failure, or power loss.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-006,Scope-surface acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The frozen WASM-002 browser build must not expose executable controls for requirements whose current SCOPE remains V1-BACKLOG, POST-V1, OUT-WASM-002, or otherwise outside the frozen WASM-002 build slice.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-007,"Small-screen, keyboard, and certified-browser acceptance",W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"On the canonical Intel N100 / 16 GB Windows 11 laptop and its 1920×1200 display, acceptance must record the Windows build, display scaling, browser zoom, and exact browser version. In the primary certified Microsoft Edge host, the required browser controls, Work Order editor, governed-stage status, artifact/result surface, and diagnostic/Help surface must remain reachable and usable without requiring an IDE or developer tools, and the required interaction path must be completable by keyboard. Ordinary scrolling and responsive reflow are allowed; changing scaling or zoom merely to expose an otherwise unreachable required control is not. The same canonical machine must also exercise the supported-host Suitcase → CER → Work Order save/Run → governed publication path in the secondary certified Google Chrome host. Chrome must satisfy the same governed filesystem and semantic contract; browser-specific presentation differences do not permit different analytical meaning or a different persistence model.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-008,Persistent diagnostic co-presence acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,Triggering a real governed refusal must leave the Work Order and relevant execution/source context available while the diagnostic is visible in the dedicated Help surface. The refusal must not depend on an application-controlled modal dialog or transient toast as its sole presentation.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-009,Idle-state discipline acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"With no active diagnostic, the dedicated Help surface must remain present but semantically quiet and must not aggregate unrelated project/dashboard state as a substitute for its diagnostic purpose.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-010,Saved-report action acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"From a displayed real diagnostic event, including a governed non-run diagnostic, the user must be able to invoke the Help-report action and obtain the corresponding durable HTML Help Report as one visible governed artifact without manually copying diagnostic text or reconstructing the event. A governed Run fixture containing multiple diagnostic events must also permit one explicit Run-level Help Report request and must produce exactly one HLP for that request. The HLP must identify the included diagnostics in deterministic event order and must not create one HLP automatically for each diagnostic.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-011,Suitcase-first gate and supported-host capability acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"With no Suitcase validated, Work Order saving, governed Run, and analytical processing controls must be unavailable. Acceptance first proves supported-host capability under W002-PLAT-001. Microsoft Edge and Google Chrome acceptance must each expose the required user-selected writable-directory path; Data Sculptor must not satisfy this gate through OPFS, IndexedDB, download-only output, a browser extension, or another substitute persistence model. Acceptance must enumerate every governed final-artifact filename form and SCR staging form that WASM-002 can emit, derive the longest canonical filename length, and verify that the current contract yields 73 ASCII bytes/characters . The canonical __DS__CER__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html form is one of the forms at that maximum and is used for the actual create/write/close folder-validation test. After the analyst selects a writable test folder on a supported host, Data Sculptor must create one retained governed certificate whose filename matches that canonical CER form, completely write and close it, and expose it in the visible Suitcase Directory. The certificate must contain the semantic fields and limitation statements required by W002-STOR-022.2. Only after that certificate operation succeeds may the workspace unlock. A failure to create, completely write, or close the certificate after actual folder selection must leave the workspace locked and surface the canonical diagnostic/Help path. Separately, a deterministic missing-capability acceptance fixture must prove that a host lacking the required writable-directory contract refuses before folder validation, leaves the workspace locked, and does not mislabel an untested folder as unwritable. Acceptance must not depend on a hard-coded operating-system path-length number, deletion of the certificate, or a validation-only rename. If the emitted-name inventory changes so that another form exceeds the CER maximum, this acceptance gate must fail until the new maximum is explicitly exercised.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-012,Directory-is-inventory acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"After Suitcase validation, the visible directory must list a mixed fixture set including at least one CSV and one non-CSV file with their physical names, types, and sizes. The directory must expose no “Use as source,” column-pick, or materialize action that bypasses the Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-013,Generated Work Order identity and immutability acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,Saving a valid draft must create a new TXT artifact whose physical name matches the frozen Work Order filename contract and must not open a filename-entry Save As path. Editing the draft and saving again must create a different Work Order identity; the first saved TXT bytes and filename must remain unchanged.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-014,Work-Order-only source and column selection acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Using a Suitcase containing multiple candidate files and a CSV with multiple headers, the analyst must be able to request the source and materialized column solely through a saved Work Order. Acceptance must show that the browser performs no separate point-and-click source or column selection. F-26 SOURCE eligibility fixtures: the acceptance set must prove all of the following under W002-WKO-009.1: analyst-owned root files ending .csv , .CSV , and a mixed-case equivalent are recognized as CSV candidates; the complete physical filename reference remains exact and case-sensitive under F-15; an analyst-created __DS__notes.csv is refused as an analyst-owned SOURCE; a valid published CVT is accepted; a canonical-looking or renamed file that does not satisfy the governed CVT validity/publication contract is refused; governed non-CVT classes including COL are refused as SOURCE; a non-CSV analyst-owned extension is refused even if its bytes are CSV-like; and path, traversal, subdirectory, URL/URI, and external-file references are refused.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-015,Read-only Execution Output acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The execution surface must display the selected saved Work Order, source resolution, relevant stage/refusal facts, and resulting artifact identity while accepting no command input. Keyboard focus in the execution surface must not create a second execution path.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-016,Store-MAP snapshot persistence and read-only directory acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Creating or changing governed alias/Store metadata through a saved Work Order must create one new immutable complete Store MAP in the same flat Suitcase while preserving earlier MAPs and leaving target artifact bytes and physical filenames unchanged. After a governed run that creates a new Store MAP, refreshing/reopening the Suitcase may display Store, RID, and COL aliases from the exact Store lineage and Store MAP resolved for that specific governed operation. The directory must not infer a global “current Store,” guess from unrelated newest MAP timestamps, or independently choose or mutate Store/MAP authority for execution.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-017,"Store-aware MAP selection, historical override, and anti-rebinding acceptance",W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"A saved materializing Work Order that does not explicitly name a MAP must use exact SOURCE matching against the one common source_filename carried by each routable Store lineage's Store MAP. A routable Store lineage is one with at least one structurally valid Store MAP, regardless of later Store-health state. A fixture with exactly one routable Store lineage must route to that lineage and, when its health permits materialization, inherit the Store's unique newest permitted MAP and record both the MAP identity and bound rid_filename in execution evidence. A fixture with no routable Store lineage and no structurally malformed Store-MAP-class artifact present may establish a new Store. A fixture with more than one routable Store lineage for the same source must refuse automatic selection. An explicit-MAP fixture must prove that SOURCE must exactly equal the selected MAP's common source_filename . A different source must refuse before materialization even when source/RID row counts happen to match. A separate all-MAPs-damaged fixture must leave one or more structurally malformed Store-MAP-class artifacts visible while no routable lineage can be established. The UI/run path must refuse before new-Store/RID creation and expose Help that identifies the malformed MAP artifact or artifacts; it must not present the condition as an unseen source. Another fixture must prove that explicitly naming an older valid MAP overrides the newer default for that same Store. More than one explicitly named MAP must refuse. An equal-greatest-timestamp ambiguity within the selected Store lineage must refuse automatic selection. Once an inherited Store MAP has been selected for a run, creation of a newer MAP during execution must not silently rebind that in-progress run. P2-03 authority/clock acceptance: the UI/evidence path must distinguish the selected operation base MAP from the chronology predecessor used for successor UTC validation. When a future-dated current MAP blocks publication, the UI must not label that MAP corrupt merely because of its timestamp, must identify it as the blocking current authority, and must route to Help describing the clock correction/wait/deliberate-removal choices without performing any automatic fallback or filesystem move.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-018,Help-Engine-only messaging acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"For representative Suitcase validation, Work Order validation, source-resolution, and analytical refusal cases, user-facing guidance must be traceable to the Help Engine/canonical diagnostic path. Acceptance must show no competing ad hoc semantic refusal text generated independently by individual analytical controls.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-019,No standalone Work Order Description acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Acceptance must prove the architecture that WASM-002 permits: the browser exposes no standalone editable Work Order Description field; no separate mutable or hidden Work Order-description store exists; editing any governed WKO byte transitions a loaded saved WKO into a derived draft; the predecessor WKO TXT bytes, physical filename, and UUID remain unchanged; and the derived draft cannot Run until saved as a new WKO identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-020,Theme semantic-invariance acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The same saved Work Order and governed diagnostic fixture must be exercised under Modern Dark and Modern Light. Acceptance evidence must show identical Work Order resolution, diagnostic ID and structured facts, continue/refuse decision, and analytical result/provenance across both themes, with only governed live-browser presentation differences. The browser must expose no Custom or Terminal governed theme choice in WASM-002. Acceptance must also verify that switching between Modern Dark and Modern Light does not change the canonical built-in presentation of a generated HLP or CER.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-021,Flight Recorder read-only derivation acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Acceptance must populate the Suitcase with governed RCP artifacts for at least one successful Run and one refused Run whose Receipt publication succeeded, then reconstruct the Flight Recorder surface solely from those Receipts. The rendered history must preserve each Receipt's governed execution outcome and lineage while allowing only read-only presentation operations. A separate fixture must represent a Run for which Receipt publication failed under W002-RCP-010 and prove that the Flight Recorder does not invent, backfill, or reconstruct a canonical Receipt from transient execution state. User interaction with the Flight Recorder must not modify, delete, rename, rewrite, supersede, or create RCP artifacts and must not create hidden persistent history state.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-001,Certification interprets nothing analytically,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The certification stage establishes source-encoding validity and evidence; it does not perform analytical materialization.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-002,Materialization assumes nothing about encoding,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,Materialization proceeds only under the governed UTF-8-certified-source invariant and does not guess or silently change source encoding.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-003,Conversion is a separate transformation,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"Windows-1252-to-UTF-8 conversion is an explicit user-authorized operation producing a new artifact, not a hidden fallback.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-004,The fast path preserves strictness,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"ASCII-first acceleration is an optimization of strict UTF-8 certification, not a relaxation of validity rules. Every non-ASCII sequence remains subject to strict validation and EOF remains authoritative.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-005,Help is first-class,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The shared engine emits governed diagnostic truth; the Help Engine owns governed explanation.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-006,PRETTY is first-class,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The PRETTY Engine owns deterministic human-facing rendering.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-008,One shared semantic core,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The WASM-first implementation must remain suitable for later use by a standalone native CLI host without creating a permanent second semantic engine.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-011,Open source and commercial service are separate layers,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The open-source analytical product and Red5Sorcery's optional paid automation must remain architecturally distinguishable. A paid service may save work; it must not become a hidden prerequisite for executing or understanding the delivered analytical software.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-014,WASM-002 and V1 analytical execution are sequential,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"WASM-002 must execute governed analytical operations sequentially and predictably. The product must not expose worker-count, thread-count, task-parallelism, or similar tuning controls, and it must not silently introduce a parallel analytical execution mode whose ordering or resource use changes the governed semantics. Sequential execution does not require inefficient repeated scans. One bounded structural source pass may process multiple requested columns together, and implementation may use ordinary low-level/runtime mechanisms that do not create user-visible analytical concurrency or change deterministic operation order. Any future analytical parallelism requires a separate measured experiment and explicit PRD decision.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-014.1,WASM-002 has a single-writer Suitcase contract,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"WASM-002 assumes one user, one active Suitcase, and one Data Sculptor writing execution context at a time . Multiple read-only views may observe the same Suitcase, but concurrent governed writers—including a second browser tab or window attempting governed writes against the same Suitcase—are outside the supported WASM-002 contract. WASM-002 does not implement cross-tab locks, filesystem leases, lockfiles, hidden coordination state, or multi-writer merge/rebase semantics. This is an explicit product boundary, not an implicit guarantee that concurrent writers are safe. Before a governed transaction reaches its authoritative commit point, Data Sculptor must re-resolve and revalidate the governing state on which the transaction depends. If relevant governed state has changed since the transaction established its basis, publication must refuse rather than overwrite the newer authority, silently rebase itself, synthesize another chronology, or report success. Candidates already created remain subject to the existing rollback and attributable SCR recovery-evidence rules. Help must explain the boundary in ordinary terms: do not run two writing Data Sculptor contexts against the same Suitcase at the same time. If a pre-commit guard detects changed authority, the safe next action is to refresh or reopen the current governed state and rerun deliberately. Acceptance evidence must inject a relevant Store-MAP and WKO-MAP authority change after transaction preparation but before commit and prove that the newer authority remains authoritative and the stale transaction refuses.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
Day 074 CP018 post-commit Git object volume audit report — CP018_Git_Volume_Audit.txt
User-uploaded original source · SHA-256: 78A57994BBD63511747A6E8657ED29D47AAC57FD683B2572057BE056B75FB21A · 573 bytes · Local read-only audit after Git banking; NOT included in the 30 CP018 Git-committed evidence ZIPs. Audit totals verified against the 32 committed file sizes and parent/source replacement.
=== CP018 DIRECT GIT OBJECT VOLUME AUDIT ===
Date: 2026-10-21
Commit: 75620f17649a5d38d5357960bb99e9ac39ae354f
Parent: 339cf12e747738d89442ce401feeea1afcd19dc6
Committed paths: 32
Evidence ZIPs: 30
Evidence bytes: 25906
Source bytes: 17265
Tests bytes: 4970
GROSS COMMITTED BYTES: 48141
NET REPOSITORY GROWTH BYTES: 31996
Gross KiB: 47.013
Net KiB: 31.246
File ledger SHA256: 0305D7F6038493955968817D0F8726B2BF1A2F0C9364BCA8E74D6E63F3CEF0B0
Method: git diff-tree, rev-parse, cat-file -s
Git files modified: NO
Git commit created: NO
AUDIT RESULT: PASS
Day 074 CP018 post-commit 32-path Git blob-size ledger — CP018_Git_Volume_Files.csv
User-uploaded original source · SHA-256: 0305D7F6038493955968817D0F8726B2BF1A2F0C9364BCA8E74D6E63F3CEF0B0 · 4,248 bytes · Local read-only audit after Git banking; NOT included in the 30 CP018 Git-committed evidence ZIPs. Audit totals verified against the 32 committed file sizes and parent/source replacement.
"Path","Status","Category","GitBlob","GrossBytes","PreviousBytes","NetBytes"
"Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip","A","Evidence","213d0d139c4eedebb917dc7cadefe8834f910e67","610","0","610"
"Evidence/CP-018/ZIP/CP018_Evidence_ZIP_Inventory.txt.zip","A","Evidence","eaa19f5be44ff705cd95e875267b3305e700b45d","2689","0","2689"
"Evidence/CP-018/ZIP/CP018_Formatting_Correction_Record.txt.zip","A","Evidence","4ad9c5481bf4cbf2788dc34f53624cac3227c189","539","0","539"
"Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdErr.txt.zip","A","Evidence","9f79019c719f3af3a84e24796bf78e497253fe9e","174","0","174"
"Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdOut.txt.zip","A","Evidence","b8e6ae3be860cb0a64be4869938b65c3670a3892","174","0","174"
"Evidence/CP-018/ZIP/CP018_GREEN_Installation_Record.txt.zip","A","Evidence","9bed6e8c1b7c33afb99f04e06e5591f16d99723a","565","0","565"
"Evidence/CP-018/ZIP/CP018_GREEN_Run_Record.txt.zip","A","Evidence","b94b46ba6d8971431ce10f443a70b2fe5c3e09d0","536","0","536"
"Evidence/CP-018/ZIP/CP018_GREEN_StdErr.txt.zip","A","Evidence","4dd8642ddeb8ba91059e32ec8d7bd5ceca84c7b2","347","0","347"
"Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip","A","Evidence","03bb16a3b3c2f8323e3560a46ac4ddc47aeafa4a","387","0","387"
"Evidence/CP-018/ZIP/CP018_Git_PreStaging_Review.txt.zip","A","Evidence","dc763ee7981ad60b41ce82eb2ec4a2eb40bf9adc","3028","0","3028"
"Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdErr.txt.zip","A","Evidence","63220ca15bb3fbd09f3cdc1d606220fbe6aa0c39","164","0","164"
"Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdOut.txt.zip","A","Evidence","5e21da0223e5482f283d5bce95a4d828ebd69bc4","164","0","164"
"Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdErr.txt.zip","A","Evidence","cc0fb9402b0fa7f9def7fa2a9157f11211f4b7e6","851","0","851"
"Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip","A","Evidence","560562f209e108ec7abe8fcdd773c7aaaf590589","1883","0","1883"
"Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip","A","Evidence","5877b657824509f2ce520c697764bc008ed6304c","526","0","526"
"Evidence/CP-018/ZIP/CP018_PreFormat_Test_Original.rs.zip","A","Evidence","ba1e54dfea313fd06601283276f50f4f5efe1fe3","1658","0","1658"
"Evidence/CP-018/ZIP/CP018_PreGREEN_lib.rs.zip","A","Evidence","f6de95516d606e936ebf2f481c274e915ac28746","4746","0","4746"
"Evidence/CP-018/ZIP/CP018_RED_Installation_Record.txt.zip","A","Evidence","3dacfa5b3453367fdb61758020f9aec793a1e8ad","421","0","421"
"Evidence/CP-018/ZIP/CP018_RED_Run_Record.txt.zip","A","Evidence","eb5e52e0ecfeb2b74639886bebecf060675303cf","489","0","489"
"Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip","A","Evidence","8df8bf092699e57d6dc205778ff4b3ee7ba97154","501","0","501"
"Evidence/CP-018/ZIP/CP018_RED_StdOut.txt.zip","A","Evidence","a3081afc3c18cace5f13e4efc2514fd2848052dd","138","0","138"
"Evidence/CP-018/ZIP/CP018_Regression_Run_Record.txt.zip","A","Evidence","f220a479a1eca5b723eaa8bc986794cfd558138d","503","0","503"
"Evidence/CP-018/ZIP/CP018_Regression_StdErr.txt.zip","A","Evidence","824de2eda373793326fe82ea8a443beeebe64d2e","830","0","830"
"Evidence/CP-018/ZIP/CP018_Regression_StdOut.txt.zip","A","Evidence","82365c6a175193719140f409dec1915720ace41f","1881","0","1881"
"Evidence/CP-018/ZIP/CP018_Rustfmt_Run_Record.txt.zip","A","Evidence","12a5331d6cd2fdb0d76d20c67c62ff7a70a0363d","428","0","428"
"Evidence/CP-018/ZIP/CP018_Rustfmt_StdErr.txt.zip","A","Evidence","d67d517a30affa2a52d9ad3c7ab3634b38440ec8","146","0","146"
"Evidence/CP-018/ZIP/CP018_Rustfmt_StdOut.txt.zip","A","Evidence","25b807aeeb66a34d25377188df95d3b0ea84011f","461","0","461"
"Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip","A","Evidence","78947f4765727ae9c947eedb805d368bde6ed99c","622","0","622"
"Evidence/CP-018/ZIP/CP018_WASM_Build_StdErr.txt.zip","A","Evidence","7eccfb28719af961461f55870915d39aa4677325","293","0","293"
"Evidence/CP-018/ZIP/CP018_WASM_Build_StdOut.txt.zip","A","Evidence","0bef6896a81f6b1784173510eaeb61a828c81d10","152","0","152"
"src/lib.rs","M","Source","b6aaa205315108a6c13c57d6664ac0d43e7087e7","17265","16145","1120"
"tests/CP018_receipt_core_envelope.rs","A","Tests","a267a5bd6916476326d847f34ac253ce40ccdade","4970","0","4970"
Day 074 CP018 derived successor ledger — WASM002_Requirement_Implementation_Ledger_Day074_CP018.csv (402 rows)
Derived from frozen Day068 CP016 successor: only the mutable CP018 traceability fields for RCP-005 and RCP-006 updated; all original frozen IDs, titles, requirement normative texts and revisions verified unchanged. SHA-256: 66A3A7A61A19CE8CF3B22DDB852552F9722987CEDD1BC1BF1913426F86AECD25 · 528,486 bytes · Not a Git-committed CP018 artifact.
requirement_id,title,family,major_family,scope,source_prd_status,source_build_flag,requirement_text,implementation_state,local_verification,independent_qa,requirement_acceptance,linked_checkpoints,checkpoint_disposition,git_commits,test_evidence,implementation_notes,last_evidence_day,source_revision
PB-STOR-001,Suitcase is the complete Data Sculptor-controlled persistence surface,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Every persistent project or analytical artifact intentionally created by Data Sculptor must be written into the visible, user-controlled Suitcase. Data Sculptor must not intentionally persist user data, analytical state, scratch state, logs, recovery state, or project metadata in hidden AppData-style locations or browser-private persistence such as OPFS. Incidental browser/OS runtime caches outside Data Sculptor control are explicitly outside this contract. F-24 browser-session persistence boundary: WASM-002 must not use IndexedDB, localStorage , OPFS, another browser-private database, or an equivalent hidden Data Sculptor-controlled persistence surface to remember a Suitcase directory handle, unsaved WIP text, project truth, analytical state, or live UI preferences between application instances. A later build may deliberately define a user-visible preferences or continuity mechanism, but WASM-002 does not create one implicitly. Volatile in-memory runtime state within the current application instance is permitted.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-002,No Data Sculptor-created subfolders,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Data Sculptor does not create scratch/cache subfolders inside the Suitcase. Logical organization is expressed by the flat filename grammar, open metadata, Store MAP, and human-facing aliases.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-004,__DS__ is the reserved Data Sculptor governed namespace,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Every artifact that Data Sculptor creates or intentionally interprets as one of its governed artifacts must use the exact visible prefix __DS__ . The prefix identifies participation in the Data Sculptor namespace; it does not imply that the artifact is temporary, scratch-only, or automatically generated.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-001,BANKED; separate requirement acceptance not claimed,03201870b8ec68730a0c027c572db03ccd5eeaa8,Evidence/CP-001/CP001_GREEN2_Test_Output.txt; Evidence/CP-001/CP001_WASM_Build_Output.txt,"CP001: bounded lexical artifact-class recognition via reserved_artifact_class(). Five native tests passed and Rust wasm32-target library built. No content/provenance/authority validation, persistence, or complete governed artifact contract implemented.",Day063,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-005,External inputs retain their identity; Data Sculptor derivatives enter the namespace,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"An analyst or external source file must not be renamed into __DS__ merely because Data Sculptor reads, fingerprints, certifies, or references it. If Data Sculptor creates a new governed derivative—such as an explicit converted source—the new artifact enters the __DS__ namespace under its semantic class. F-26 SOURCE boundary: a Suitcase-root file whose exact filename begins with the reserved prefix __DS__ is not treated as an analyst-owned source merely because it has a CSV-like extension or CSV-like bytes. It participates in the reserved Data Sculptor namespace and must satisfy the applicable governed-artifact contract before any governed role is granted.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-002,"T-ACCEPTED, BANKED; requirement remains partial",206dcd8b76af29edcb658a0c5a2dc40d87089fe3,Evidence/CP-002/CP002_Post_Format_Test_Output.txt; Evidence/CP-002/CP002_Post_Format_WASM_Build_Output.txt; Evidence/CP-002/CP002_Hash_Inventory_Verification.txt,CP002: exact __DS__ lexical prefix recognition via has_reserved_namespace_prefix(). Six native tests and wasm32-target compilation passed. The SOURCE boundary and governed CVT validation/emission rules in this requirement are NOT implemented.,Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-006,The governed semantic artifact-class registry is explicit and stable,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"The token immediately following __DS__ must be an exact three-uppercase-letter semantic artifact class. The governed class tokens currently reserved by this PRD are: Class Meaning WKO Work Order RCP Receipt DGN Diagnostic Event — reserved; not emitted by WASM-002 HLP Help Report CER Certification Evidence CVT Converted Source RID Row Identity COL Materialized Column MAP Governed MAP artifact class — Store MAP and WKO MAP profiles CAT Store Catalog — collection-level orientation index across MAP-governed Stores INV Suitcase Inventory Snapshot SCR Scratch / Structural Support RCV Recovery Artifact — reserved; not emitted by WASM-002 BRD Brand Manifest — reserved; not emitted by WASM-002 LCK Suitcase Lock — reserved for the explicit later-V1 FINGERPRINT workflow; not emitted or maintained by ordinary WASM-002 WASM-002 emission boundary. DGN , RCV , BRD , and LCK are registered/reserved classes but are not emitted by WASM-002. Registration alone does not create a producer, serialization contract, validity contract, lifecycle, or acceptance surface. A later build that activates one of these classes must define those contracts explicitly before the class becomes emitted product behavior. The class states semantic role rather than serialization format. WIP is not an artifact class; it is the editable non-executable Work Order lifecycle state. The Flight Recorder defined by W002-STOR-012 is a derived chronological view of governed RCP artifacts and is not an additional semantic artifact class. Existing class tokens must not be silently reassigned to different meanings. A new class requires an explicit PRD revision.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-001; CP-003,CP-001 banked; CP-003 T-accepted and banked; requirement remains partial,03201870b8ec68730a0c027c572db03ccd5eeaa8; 2d06f6259de93f5beaa8eb15f8f22f171127a10e,Evidence/CP-001/CP001_GREEN2_Test_Output.txt; Evidence/CP-001/CP001_WASM_Build_Output.txt; Evidence/CP-003/CP003_Post_Format_Test_Output.txt,"CP001: bounded lexical artifact-class recognition via reserved_artifact_class(). Five native tests passed and Rust wasm32-target library built. No content/provenance/authority validation, persistence, or complete governed artifact contract implemented. CP003 adds locally verified lexical distinction between the 11 emittable-class tokens and four registered-but-not-emitted tokens; full governance/producer behavior not implemented.",Day063,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-007,Serialization is orthogonal to artifact class,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Filename extensions such as .toml , .html , .csv , .bin , and .txt describe physical serialization only and must not be used as semantic artifact classes. A governed HLP serialized as .html remains an HLP, and a governed WKO serialized as .txt remains a WKO. Any future BRD serialization must obey the same class-versus-format separation, but its format is not frozen by WASM-002.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-006,"T-ACCEPTED, BANKED; full class-specific serialization and authority contracts remain open",aff54d08dcbacaa0c54d8869749344a504c5ad61,Evidence/CP-006/CP006_RED_Test_Output.txt; Evidence/CP-006/CP006_Post_Format_Test_Output.txt; Evidence/CP-006/CP006_WASM_Build_Output.txt; Evidence/CP-006/CP006_Hash_Inventory_Verification.txt; Evidence/CP-006/CP006_Precommit_Git_Review.txt,"CP006: public ArtifactFilenameTokens and extract_artifact_filename_tokens() reuse the CP004/CP005 immutable filename validator and extract semantic_class and serialization_extension as separate borrowed lexical fields. Four new tests, total 19/19 native tests post-format; wasm32-target compilation exit 0; 20-file pre-verification SHA-256 inventory independently matched. Literal unknown class and extension values preserved without registration or approval. No class-specific extension allowlist, format contract, file contents, provenance, governed publication, trust, or authority implemented. T accepted CP006 and banked commit aff54d08dcbacaa0c54d8869749344a504c5ad61; independent Claude implementation QA remains pending. This is requirement PARTIAL, not fully closed.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-008,Namespace and class do not confer authority by themselves,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Renaming an arbitrary file to resemble a __DS__ artifact must not make it authoritative. Before treating a governed artifact as valid, Data Sculptor must validate the applicable filename grammar plus the content, provenance, fingerprint, lineage, or other evidence required by that artifact's contract. F-14/F-33 publication distinction: SCR-to-final promotion under W002-STOR-023 proves only that the artifact satisfied its class-specific publication predicate. It does not manufacture broader authority. In particular, WKO alias authority still comes from the committed WKO MAP, Store authority comes from the committed Store MAP, and CAT is orientation only. Retained SCR failure evidence remains non-authoritative, and the reserved RCV class is not emitted by WASM-002. F-26 SOURCE authority: a governed CVT is eligible as a WASM-002 SOURCE only when its exact canonical CVT identity and the publication predicate governed by W002-CONV-004 and W002-STOR-023 are satisfied. Filename resemblance, a .csv extension, or copied bytes alone do not confer CVT source authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,Cross-cutting constraint recognized in CP001/CP002 scope: filenames/classes alone convey no artifact authority. This requirement is NOT claimed implemented or touched.,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-009,Unknown and known-but-not-emitted Data Sculptor classes are preserved and reported,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"If WASM-002 encounters a syntactically valid __DS__ artifact whose three-letter semantic class is not allocated in the current registry, or whose class is a registered-but-not-emitted WASM-002 class ( DGN , RCV , BRD , or LCK ), Data Sculptor must preserve the physical file unchanged. It must not trust, execute, mutate, delete, rename, or reinterpret that file as a known emitted artifact merely because the filename has governed form. Unknown class does not mean invalid data; it means this build has no authority to interpret that class. A known-but-not-emitted class is likewise not an instruction to activate a dormant producer or lifecycle. Whenever a WASM-002 operation performs the governed Suitcase scan/enumeration relevant to such a file, the condition must be surfaced through a canonical INFO diagnostic rather than being silently ignored. INVENTORY must include the physical file under its existing metadata-only contract; if an existing classification field is rendered, an unknown class is identified as unknown/unrecognized and a known-but-not-emitted class is identified as reserved/not emitted without guessing additional semantics. F-33 adds no new Inventory schema field and does not pull the governed DIR feature into WASM-002.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-003,"T-ACCEPTED, BANKED; full preservation/INFO requirement not closed",2d06f6259de93f5beaa8eb15f8f22f171127a10e,Evidence/CP-003/CP003_Post_Format_Test_Output.txt; Evidence/CP-003/CP003_WASM_Build_Output.txt; Evidence/CP-003/CP003_Hash_Inventory_Verification.txt,"CP003: token-only Rust classify_artifact_class_token() returns registered/emittable, registered/not-emitted, unallocated, malformed-reserved, or outside-reserved disposition. Three new tests (27 cases) plus six prior regression tests passed, wasm32 compilation exit 0, 15-file historic SHA-256 inventory verified. No Suitcase scan, filesystem preservation, canonical INFO diagnostic, INVENTORY integration, full filename validity, or artifact authority implemented. RegisteredEmittable describes a class category; it does not authorize emission. Independent Claude QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-010,Namespace and class casing are canonical and exact,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Data Sculptor-generated names must use exact uppercase __DS__ and exact uppercase three-letter class tokens. Data Sculptor must not silently normalize variant namespace/class spellings into canonical governed artifacts. This rule applies even on case-insensitive filesystems. F-15 governed comparison rule: unless a requirement explicitly defines a different domain-specific comparison, WASM-002 semantic equality and textual reference resolution compare decoded strings by exact Unicode scalar-value sequence. Data Sculptor performs no case folding, locale folding, Unicode normalization, trimming, or host-filesystem equivalence before the comparison. Thus differently cased strings and canonically equivalent-but-differently-encoded Unicode strings remain distinct governed values. If a host filesystem cannot safely publish two physical names that the governed semantics distinguish, publication must refuse rather than merge or reinterpret the governed identities.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-007; CP-009; CP-010,"T-ACCEPTED, BANKED; exact lexical construction verified; full normative requirement remains partial; CP009 T-ACCEPTED, BANKED — pure exact-name root snapshot matching only; full requirement remains partial; CP010 T-ACCEPTED, GIT BANKED — lexical CVT candidate only; complete requirement remains open",3c512df519f3a2431b363e4c57dc234c02378124; dc6ee5d1e547a730e5acdc79d53e56ec5d1c00d8; b7c515faa9bd000369d7656e09437310261290ae,Evidence/CP-007/CP007_RED_Test_Output.txt; Evidence/CP-007/CP007_GREEN_Test_Output.txt; Evidence/CP-007/CP007_Post_Format_Test_Output.txt; Evidence/CP-007/CP007_WASM_Build_Output.txt; Evidence/CP-007/CP007_Hash_Inventory_Verification.txt; Evidence/CP-007/CP007_Precommit_Git_Review.txt; Evidence/CP-009/CP009_Baseline_Test_Output.txt; Evidence/CP-009/CP009_RED_Test_Output.txt; Evidence/CP-009/CP009_GREEN_Test_Output.txt; Evidence/CP-009/CP009_Full_Regression_Test_Output.txt; Evidence/CP-009/CP009_Rustfmt_Check_Output.txt; Evidence/CP-009/CP009_Git_Whitespace_Check.txt; Evidence/CP-009/CP009_Post_Format_Test_Output.txt; Evidence/CP-009/CP009_WASM_Build_Output.txt; Evidence/CP-009/CP009_Hash_Inventory.txt; Evidence/CP-009/CP009_Hash_Inventory_Verification.txt; Evidence/CP-009/CP009_Precommit_Git_Review.txt; Evidence/CP-009/CP009_Final_Staging_Review.txt; CP009_Git_Banking_Output.txt (separately archived post-commit evidence); Evidence/CP-010/CP010_Scope_Lock.txt; Evidence/CP-010/CP010_RED_Test_Output_CMD_Corrected.txt; Evidence/CP-010/CP010_GREEN_Test_Output.txt; Evidence/CP-010/CP010_Post_Format_Regression_Test_Output.txt; Evidence/CP-010/CP010_WASM_Build_Output.txt; Evidence/CP-010/CP010_Post_Format_Check_Output.txt; Evidence/CP-010/CP010_Hash_Inventory_Verification.txt; Evidence/CP-010/CP010_Supplementary_Hash_Verification.txt; Evidence/CP-010/CP010_Closing_Git_Review.txt; CP010_Git_Banking_Output.txt (post-commit; separately archived),"CP007: public build_immutable_artifact_filename_candidate() assembles exact class, UTC timestamp, UUID v4 and serialization extension tokens into an ordinary canonical immutable filename candidate; it delegates validation to the existing CP004/CP005 envelope validator and refuses malformed casing/identities rather than case-folding, trimming or normalizing input. Four new integration tests, total 23/23 native tests after Rustfmt; wasm32-target compilation exit 0; 21-entry SHA-256+byte inventory independently verified. Lexically valid unknown class tokens and unapproved extension tokens may be preserved as candidates; this grants no registration, serialization contract, authority, filesystem publication or content/provenance validation. The F-15 exact Unicode scalar-value semantic equality and host-filesystem collision/refusal requirements are NOT implemented. T approved and banked commit 3c512df519f3a2431b363e4c57dc234c02378124 (14 files), clean master; independent Claude adversarial implementation QA pending. Requirement remains PARTIAL, not fully closed. CP009 Day066: match_analyst_csv_root_snapshot(&str, &[RootSnapshotEntry]) -> RootSnapshotMatch applies CP008 analyst CSV candidate preflight, then exact Rust string equality (case, Unicode scalar sequence and whitespace preserved), reports no match, reported nonregular entry, ambiguous duplicate exact entries, or single caller-reported regular file. Entry origin and kind are caller assertions, not independently verified. Eight new tests; post-format full native regression 36/36; wasm32-unknown-unknown library compilation exit 0; SHA-256 inventory verified 22/22; staged whitespace exit 0; T approved and git banked 15 files, clean working tree. This is NOT actual root scanning, filesystem entry proof, browser permission, CSV/UTF-8 certification, governed CVT SOURCE eligibility or end-to-end requirement acceptance; independent Claude QA pending. CP010 Day066 also tests canonical uppercase __DS__/CVT tokens and exact lowercase .csv conversion-output extension, refusing variant prefix/class/extension spellings; existing canonical validator is reused without repair or normalization. Only lexical form is locally verified: no actual filesystem identity enforcement or publication collision handling. T accepted CP010; git b7c515faa9bd000369d7656e09437310261290ae; independent QA pending.",Day066,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-011,Generated identity collisions regenerate the UUID and never overwrite,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Data Sculptor must never overwrite, rename, truncate, or mutate an existing artifact merely because a newly generated governed filename collides with it. For an ordinary immutable artifact using the governed UTC+UUID identity grammar, Data Sculptor must keep the originally established canonical UTC millisecond creation timestamp, generate a new canonical lowercase hyphenated UUID v4, reconstruct the candidate filename, and try creation again. Collision retry must not advance or falsify the artifact creation timestamp merely to obtain a different sort position. This retry may repeat until an unused valid identity is obtained. If UUID generation fails, the host cannot safely test/create the target, or another filesystem error prevents safe allocation, creation must refuse through the canonical diagnostic path rather than risk overwrite. Collision retry changes only the not-yet-created artifact's UUID. UUID is never used as a chronology field.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-012,Names route; governed contents and provenance prove,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"The filename must help humans and Data Sculptor identify the artifact's intended semantic role and route it to the correct validator. The artifact's governed content, lineage, receipt, fingerprint, provenance, and other required evidence establish what is actually true.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-013,Ordinary immutable governed artifacts use class → UTC millisecond → UUID v4 identity order,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"The exact default filename grammar for an ordinary immutable Data Sculptor-governed artifact is: __DS__CCC__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.<extension> CCC is the governed semantic artifact class. YYYYMMDDTHHMMSSmmmZ is the artifact's governed UTC creation/publication timestamp at millisecond precision: four-digit year, two-digit month/day/hour/minute/second, exactly three millisecond digits, and literal T / Z . <uuid-v4> is a canonical lowercase hyphenated UUID v4. The extension is governed by the artifact's serialization contract. The token order is normative: namespace, semantic class, UTC timestamp, UUID, extension. UTC precedes UUID for every ordinary immutable class. Canonical UTC tokens with different values sort chronologically within the same class. UUID provides uniqueness and physical identity only; it must not be interpreted as a chronology tie-breaker when two artifacts share the same timestamp. When one governed all-or-refuse Store-state publication transaction creates multiple new analytical state artifacts, Data Sculptor establishes one canonical UTC millisecond publication-transaction timestamp before final identity allocation and uses that same UTC token for every newly published RID , COL , and MAP artifact created by that transaction. Each artifact receives its own UUID. Thus a first Store materialization gives the new RID, every newly materialized COL, and the successor MAP one shared transaction UTC; a later materialization gives only its newly created COL artifacts and successor MAP the new transaction UTC while the inherited RID and inherited COL artifacts retain their earlier identities. The shared transaction UTC is not the Work Order's authoring timestamp and does not require the Receipt filename UTC to match. RCP remains governed by W002-RCP-002 and carries its own receipt creation/publication timestamp. A shared transaction UTC expresses common publication membership, but MAP binding—not timestamp equality—remains authoritative for Store membership/current state. Source identity, source filename, run identity, parent identity, lineage, hashes, aliases, supersession, column identity, and other relationships must not be appended as ordinary identity tokens merely to make the filename descriptive; those facts belong in governed metadata and provenance. P2-03 successor-state UTC rule: when an operation will publish a successor Store MAP or successor WKO MAP, the transaction UTC remains a truthful observation of host UTC and must be strictly greater than the applicable chronology predecessor MAP UTC. Data Sculptor must not synthesize, increment, round forward, or otherwise fabricate a later UTC merely to satisfy chronology. UUID remains identity only and is never a chronology tie-breaker. The first MAP in a genuinely new Store lineage, and the first WKO MAP when no structurally valid WKO MAP exists, has no chronology predecessor and therefore uses the observed host UTC normally.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-004; CP-005,"CP004 and CP005 T-ACCEPTED, BANKED; full normative requirement remains partial",12c02a0f2ff51fae72599adc09332f50fed62ce8; cedd5d54506b8f3f879b96c5e64fefc9365b6eb0,Evidence/CP-004/CP004_RED_Test_Output.txt; Evidence/CP-004/CP004_Post_Format_Test_Output.txt; Evidence/CP-004/CP004_WASM_Build_Output.txt; Evidence/CP-004/CP004_Hash_Inventory_Verification.txt; Evidence/CP-005/CP005_RED_Test_Output.txt; Evidence/CP-005/CP005_Post_Format_Test_Output.txt; Evidence/CP-005/CP005_WASM_Build_Output.txt; Evidence/CP-005/CP005_Hash_Inventory_Verification.txt,"CP004: Immutable filename envelope, UTC and UUID syntax only. Native tests 12/12 passed; wasm32-target compilation succeeded; inventory 19/19 file hashes and sizes verified; 15 source/test/evidence files committed. Full requirement also governs true UTC millisecond identity, creation chronology, publication timestamp sharing, UUID identity semantics, and successor MAP chronology; none are implemented in CP004. Independent QA pending. CP005: CP005 now validates the timestamp token as a real Gregorian calendar date and ordinary UTC clock time (four-digit years 0001–9999, leap years, month lengths, 00–23 hours, 00–59 minutes/seconds, millisecond precision preserved lexically). Actual UTC issuance/publication, timestamp allocation, chronological truth, common transaction timestamp and identity authority are not implemented. Three integration tests with 40 timestamp cases and 12 prior regressions: 15/15 native tests PASS after Rustfmt; wasm32 compile PASS; 19/19 SHA-256+byte integrity PASS; 14 files committed. UTC leap-second 60 rejection is PROVISIONAL implementation assumption requiring QA/spec clarification; no browser runtime demonstrated. Independent Claude implementation QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-STOR-014,Store-state publication transactions share UTC but never UUID identity,PB-STOR,PB-STOR,WASM-002,UNDER REVIEW,—,"Within one all-or-refuse Store-state publication transaction, every newly created RID , COL , and MAP final identity must carry the exact same canonical UTC millisecond transaction token and a distinct canonical UUID v4. UUID collision retry under PB-STOR-011 changes only the affected not-yet-created artifact UUID; it must not advance or alter the shared transaction UTC. Artifacts merely inherited or referenced by the transaction are not renamed, retimestamped, or assigned replacement UUIDs. A valid MAP may therefore bind artifacts created under several earlier transaction timestamps. Timestamp equality is evidence that artifacts were newly published by the same transaction; timestamp inequality is not evidence that artifacts belong to different Stores. P2-03 publication guard: for a successor Store-state transaction, the shared transaction UTC is established from truthful observed host UTC and is checked against the Store lineage's chronology predecessor before any newly created RID/COL/MAP artifact is promoted into its final governed class. If the observed transaction UTC is less than or equal to the chronology predecessor UTC, the publication refuses; the prior current MAP remains authoritative and no successor Store state commits.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-OPS-001,Permanent row identity after materialization,PB-OPS,PB-OPS,WASM-002,UNDER REVIEW,—,"Each logical Store has exactly one visible, deterministic RID artifact representing 1..N in governed logical CSV-record order. The header is excluded. Physical line count is not row identity: embedded newlines inside quoted fields remain inside one logical record. The RID is created when the first successful materialization establishes the Store and remains stable for the life of that Store. Every same-Store materialized or later aligned result column must contain exactly N data records in the same RID order. Multiple Stores may coexist in one Suitcase, and their RID values are unrelated; the meaningful row identity is therefore the pair (Store, RID) .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
PB-OPS-002,Materialized columns preserve facts and alignment,PB-OPS,PB-OPS,WASM-002,UNDER REVIEW,—,Materialized columns preserve governed values in permanent row alignment. Materialization stores facts for reuse; it does not decide which rows are analytically interesting.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001,Flat Project Suitcase,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,The durable WASM-002 project model must not require semantic per-store subfolders. A logical store is represented by governed relationships among artifacts and metadata inside a flat project folder.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001.1,The flat model must remain usable through ordinary filesystem tools.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001.2,Native and browser hosts must use the same logical storage semantics even when their filesystem APIs differ.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-001.3,Folder placement must not be treated as the authoritative meaning of an artifact.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-002,Reserved Core namespace and sorting,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,Every Data Sculptor Core-managed artifact must use the reserved __DS__ prefix. The prefix is deliberately visually distinctive and mechanically simple so Core artifacts cluster together under ordinary filename sorting in a mixed flat folder.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003,Three-character base-26 artifact class,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The class token must be exactly three uppercase ASCII letters A through Z, giving the fixed physical range AAA through ZZZ, and must immediately follow the reserved namespace within the frozen filename grammar.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.1,The three-character alphabetic class rule supersedes every earlier numeric class example.,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.2,"Class ordering is positional base-26 using the alphabet A through Z: AAA, AAB, AAC, ... AAZ, ABA, ... ZZZ.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,Ordinary lexical filename sorting therefore preserves the governed class order.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.3,"The namespace contains 26 cubed, or 17,576, possible class values while preserving one fixed-width token.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.4,Unallocated class tokens remain unassigned until explicitly allocated,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"WASM-002 does not reserve semantic meaning by numeric interval, lexical neighborhood, or implied class range. Any syntactically possible three-letter token that is not listed in the governed registry is unassigned for this build. A future artifact class may be allocated only by explicit PRD revision. Existing class meanings must never be shifted, renumbered, or reassigned merely to make room for later families.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-003.5,The WASM-002 artifact-class table is frozen by the governed registry,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The exact WASM-002 artifact-class table is the registry in PB-STOR-006. It is no longer a separate open storage freeze item. No additional reserved class ranges are defined by WASM-002. DGN , RCV , BRD , and LCK remain registered/reserved but are not emitted by WASM-002. Their presence in the registry does not create a WASM-002 producer, serialization contract, validity contract, lifecycle, or acceptance surface. Independent adversarial review must verify that every WASM-002-generated governed artifact uses a listed class that this build actually emits, that WIP remains a lifecycle state rather than a class, and that unknown/unallocated classes plus known-but-not-emitted classes are preserved and reported under PB-STOR-009 rather than silently interpreted or activated.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-004,Canonical Core filename envelope,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The default Core physical naming model for immutable governed artifacts is __DS__<CLASS>__<UTC>__<UUID>.<ext> . CLASS, UTC, and UUID are governed identity tokens. Human semantic labels are excluded from the physical identity envelope. A separately frozen artifact contract may define a well-known current-state singleton filename when that artifact must be updated in place and discovered by a stable name.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-004; CP-005,"CP004 and CP005 T-ACCEPTED, BANKED; full normative requirement remains partial",12c02a0f2ff51fae72599adc09332f50fed62ce8; cedd5d54506b8f3f879b96c5e64fefc9365b6eb0,Evidence/CP-004/CP004_RED_Test_Output.txt; Evidence/CP-004/CP004_Post_Format_Test_Output.txt; Evidence/CP-004/CP004_WASM_Build_Output.txt; Evidence/CP-004/CP004_Hash_Inventory_Verification.txt; Evidence/CP-005/CP005_RED_Test_Output.txt; Evidence/CP-005/CP005_Post_Format_Test_Output.txt; Evidence/CP-005/CP005_WASM_Build_Output.txt; Evidence/CP-005/CP005_Hash_Inventory_Verification.txt,"CP004: Default immutable filename-envelope structure only. Native tests 12/12 passed; wasm32-target compilation succeeded; inventory 19/19 file hashes and sizes verified; 15 source/test/evidence files committed. Singleton exception support, class-specific contracts and authority remain unimplemented. Syntactic success does not imply an authorized artifact. Independent QA pending. CP005: CP005 adds Gregorian calendar/UTC-clock validity to the already recognized immutable Core physical name. Singleton filenames, artifact-type extension rules and authorization remain unimplemented. Three integration tests with 40 timestamp cases and 12 prior regressions: 15/15 native tests PASS after Rustfmt; wasm32 compile PASS; 19/19 SHA-256+byte integrity PASS; 14 files committed. UTC leap-second 60 rejection is PROVISIONAL implementation assumption requiring QA/spec clarification; no browser runtime demonstrated. Independent Claude implementation QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005,Canonical filename shape and fixed token lengths,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Every governed Core artifact type must have a canonical filename shape and total filename length so that a parser, browser host, native host, QA tool, or LLM can recognize malformed physical identity without interpreting variable human language. Under the Revision AH default immutable grammar, the canonical UTC token YYYYMMDDTHHMMSSmmmZ is exactly 19 ASCII characters and the canonical lowercase hyphenated UUID v4 token is exactly 36 ASCII characters. Class precedes UTC and UTC precedes UUID.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-004; CP-005,"CP004 and CP005 T-ACCEPTED, BANKED; full normative requirement remains partial",12c02a0f2ff51fae72599adc09332f50fed62ce8; cedd5d54506b8f3f879b96c5e64fefc9365b6eb0,Evidence/CP-004/CP004_RED_Test_Output.txt; Evidence/CP-004/CP004_Post_Format_Test_Output.txt; Evidence/CP-004/CP004_WASM_Build_Output.txt; Evidence/CP-004/CP004_Hash_Inventory_Verification.txt; Evidence/CP-005/CP005_RED_Test_Output.txt; Evidence/CP-005/CP005_Post_Format_Test_Output.txt; Evidence/CP-005/CP005_WASM_Build_Output.txt; Evidence/CP-005/CP005_Hash_Inventory_Verification.txt,"CP004: Fixed core lexical UTC (19 ASCII) and UUID v4 (36 ASCII) structure only. Native tests 12/12 passed; wasm32-target compilation succeeded; inventory 19/19 file hashes and sizes verified; 15 source/test/evidence files committed. No calendar validation, class/extension contract mapping, class-specific total length table, or filename publication gate is claimed. Independent QA pending. CP005: CP005 strengthens the fixed 19-ASCII-character UTC token with Gregorian calendar and UTC-clock range checks. Class-specific total filename lengths, extension mapping, and publication gates remain unimplemented. Three integration tests with 40 timestamp cases and 12 prior regressions: 15/15 native tests PASS after Rustfmt; wasm32 compile PASS; 19/19 SHA-256+byte integrity PASS; 14 files committed. UTC leap-second 60 rejection is PROVISIONAL implementation assumption requiring QA/spec clarification; no browser runtime demonstrated. Independent Claude implementation QA pending.",Day065,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005.1,"If an artifact class has exactly one governed representation, all filenames in that class have one frozen total length.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005.2,"If a future class permits more than one representation, each class/representation pair must still have a frozen total length.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-005.3,"Friendly store names, column names, aliases, and operation descriptions must never stretch or shorten a Core physical filename.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-006,Physical identity versus integrity,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,UUID identifies the governed artifact instance. SHA-256 records or verifies the exact bytes. The system must not overload one field to serve both identity and integrity.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007,Collision handling,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,Physical filename collisions are expected to be rare but must be handled explicitly. Data Sculptor must never silently overwrite an existing governed artifact because a generated physical name already exists.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007.1,"Before durable creation, the host must check whether the target physical name already exists.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007.2,"On a UUID collision, the existing artifact is preserved and a fresh UUID is generated under the same relevant UTC/class context unless a later frozen rule requires a different deterministic response.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-007.3,Collision handling must be visible in the run Receipt/evidence when it occurs,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"If governed identity allocation encounters one or more filename collisions before successfully allocating a non-colliding UUID identity, the canonical run Receipt must record that a collision retry occurred and the number of retries when the run reaches receipt publication. If identity allocation ultimately refuses, the refusal Receipt and diagnostic evidence must preserve the collision-failure fact without overwriting or mutating any pre-existing artifact.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-008,Analyst-owned files remain analyst-owned,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Source files and analyst documents may retain their original filenames. Data Sculptor must not rename every input merely to fit the governed __DS__ namespace. For an ordinary WASM-002 analytical run, continuity between certification and materialization is established by the run-local source-binding contract, not by pretending a mutable source filename is permanent byte identity. Durable cross-run exact-byte verification requires separately governed integrity evidence such as the later V1 FINGERPRINT operation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-009,Store MAP as machine truth,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The Store MAP must provide the machine-readable relationship between governed physical artifacts and their logical meaning, including the fields required by the frozen schema for store identity, column identity, source reference/binding, run/materialization identity, row counts, status, lineage, supersession, and related provenance. Cryptographic hashes are recorded when a requirement or explicit operation actually produces them; the Store MAP contract must not imply that every source or artifact is automatically hashed during ordinary WASM-002 execution.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-010,Aliases provide human orientation without a separate Store Index,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"For WASM-002, human-facing orientation is provided by aliases exposed from governed Store MAP state and related governed artifacts. Aliases may help analysts navigate by meaning while preserving exact physical identities. WASM-002 does not publish or maintain a separate Store Index artifact. Richer directory/index presentation is carried by the governed DIR surface in WASM-003.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-010.1,WASM-002 Store MAP profile is the unified Store metadata snapshot,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"For WASM-002, the Store MAP profile of the governed MAP artifact class is the Store metadata snapshot. It records the Store's human-facing alias, Store-establishing source filename, exact RID artifact binding, RID alias, and the complete current materialized-column mappings and aliases governed by W002-STOR-019 through W002-STOR-019.12. WASM-002 must not create a second hidden or separately named Store-metadata file merely to bind the Store to its RID or aliases. The visible immutable __DS__MAP__...csv artifact is the authoritative governed Store MAP for this build.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-010.2,"Changing a friendly alias must not change physical identity, hashes, lineage, or historical provenance.",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-011,"Store, row-universe, and future Boolean-selection-column rule",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Same-row derived columns and later aligned Boolean selection/filter columns remain within the same logical Store when row identity, row order, and cardinality are preserved. A future filter that evaluates every existing RID and writes one aligned two-valued Boolean result per RID does not by itself create a new row universe or a new logical Store. The canonical future selection tokens are 0 for FALSE and 1 for TRUE under PB-OPS-003 and PB-OPS-003.1. A new row universe is created only when a later governed operation actually changes which rows exist or their order—for example by building/exporting only selected rows, deduplicating rows, or otherwise materializing a different row set. Such an operation creates a new logical Store identity under the frozen row-identity contract. Filtering remains deferred from executable WASM-002 scope; this requirement freezes only the Store/RID compatibility rule that later filtering will rely upon.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-012,Current orientation and history are different truths,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Current Store orientation is represented by the applicable immutable MAP snapshot, while execution history is preserved by immutable RCP Receipts. For WASM-002, the Flight Recorder is the logical chronological view of published canonical RCP artifacts from actual Run invocations of saved immutable WKO Work Orders. It is not separately persisted and has no separate artifact class. Successful and refused runs contribute when Receipt publication succeeds; Receipt-publication failure is governed by W002-RCP-010 and must not be silently reconstructed as original evidence. Any Flight Recorder presentation is derived and regenerable from the authoritative Receipts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-013,Open representations,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Durable project artifacts should use documented open formats such as CSV, HTML, TXT, TOML, or other explicitly governed representations so that the Suitcase remains inspectable and portable outside Data Sculptor.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-014,LLM-readable storage grammar is a documentation principle,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The storage grammar, class table, Store MAP schema, current-state selection rule, and alias semantics must be documented clearly enough that an LLM collaborator can distinguish physical identity, logical meaning, integrity evidence, current state, and history without guessing. This is a documentation/readability principle for the Product Backlog PRD and related public product documentation. It does not create a new governed Suitcase artifact, require a new public-documentation file or publication operation, or add a separate WASM-002 acceptance deliverable beyond keeping the governing contract explicit and internally consistent.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-015,WASM-002 storage freeze status,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The current WASM-002 storage design preserves the resolved semantic artifact-class registry, canonical UTC millisecond rendering, class → UTC → UUID token order, UUID rendering/version, default immutable identity grammar, collision retry behavior, immutable one-Store-per-MAP versioning, Store-aware automatic MAP inheritance, complete-snapshot semantics, the exact eight-column Store MAP schema, deterministic Store/RID/COL alias defaults, rematerialization alias continuity, deterministic Store-MAP CSV serialization, Store-MAP eligibility/publication validation, materialization-coupled AS alias semantics, standalone alias maintenance using UPDATE ALIASES , explicit alias clearing with CLEAR ... ALIAS , deterministic default restoration with RESET ... ALIAS , exact historical Store-MAP selection using MAP ""<exact Store MAP filename>"" , canonical one-column COL serialization, the all-or-refuse materialization publication boundary, SCR -to-final-class host rename promotion, complete-set validation before promotion, new-Store RID-first promotion, inherited-RID reuse for existing-Store work, deterministic COL promotion, successor-MAP construction/validation as SCR , successor-MAP rename last as the Store-state commit point, rollback/recovery treatment for uncommitted promoted artifacts, the canonical RID CSV contract, the seven-operation Work Order execution surface, the canonical automatic TXT Receipt contract including exact WKO lineage, the Receipt-backed Flight Recorder, the governed HTML Suitcase Validation Certificate, the Work Order alias/comment contract plus WKO-MAP alias-registry profile, and the LCK reservation for explicit later-V1 FINGERPRINT evidence without automatic hashing in ordinary WASM-002. RID reconstruction/replacement is deliberately not part of the WASM-002 executable surface; RECOVER RID requirements are deferred to V1-BACKLOG. The Help-report provenance boundary is resolved: WASM-002 records governed HLP identity and lineage but does not automatically SHA-256 HLP bytes or create/refresh LCK evidence; exact-byte HLP integrity remains the later explicit FINGERPRINT/LCK workflow. Future branded Receipt rendering/Brand-Manifest integration remains outside the WASM-002 TXT-only Receipt contract. P2-04 closure: WASM-002 Store governance now has a complete two-tier artifact-validation model. Tier 1 supplies bounded Store-health checks for non-content-consuming paths; Tier 2 supplies full streaming RID/COL validation for content-consuming paths, candidate commit, and REPAIR MAP . The eight-column Store MAP remains unchanged and ordinary Store health makes no cryptographic claim of historical-byte identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-001,Every actual Run invocation of a saved WKO automatically produces one Receipt attempt,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"When the analyst invokes Run on a saved immutable WKO, Data Sculptor must automatically create one governed run-receipt attempt for that invocation. The Work Order must not require a RECEIPT , SAVE RECEIPT , or equivalent clause. An editable unsaved WIP is non-executable under the Work Order lifecycle contract and therefore cannot produce an execution Receipt. A saved WKO that is invoked and then refuses during validation or execution still has an execution outcome and must receive a refusal Receipt when receipt publication succeeds.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-002,The canonical WASM-002 Receipt is a governed TXT artifact with its own creation timestamp,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,The physical Receipt filename is: __DS__RCP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.txt The UTC token belongs to the Receipt artifact itself and represents the Receipt's governed creation/publication time under the canonical artifact-identity rules. It must not be copied from the authorizing WKO's filename merely to make the two filenames share a timestamp. The file is written visibly in the flat Suitcase under the governed RCP artifact class. Data Sculptor chooses the governed filename; the analyst does not supply it.,PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-014; CP-015,"CP014 T-ACCEPTED, GIT BANKED — canonical RCP TXT filename lexical recognizer only; own creation-time allocation, file emission, complete Receipt contract and publication unimplemented; CP015 T-ACCEPTED, GIT BANKED — pure lexical canonical SCR-to-RCP TXT filename-candidate pair matching only; no actual file/Receipt validation, promotion, publication or authority",f5038a183f1d3dc31b0065571bf8ac8814b5d8a9; be997dc0dbd65fc370814c4a5f2d0f1254870572,Evidence/CP-014/ZIP/CP014_RED_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_GREEN_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_Full_Regression_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_WASM_Build_Record.txt.zip; CP014_Git_Banking_Record.txt (external closeout); Evidence/CP-015/ZIP/CP015_RED_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_GREEN_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_PostAmend_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Full_Regression_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_WASM_Build_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Final_Archive_Manifest.txt.zip; CP015_PostCommit_Verification.txt (external closeout),"CP014 Day067: T-accepted, Git-banked lexical RCP .txt filename recognizer only. Pure is_canonical_rcp_filename_candidate(&str)->bool uses shared canonical envelope, rejects wrong class/extension/casing, malformed UTC/UUID, paths and whitespace. Six target GREEN passes; 64/64 native regression; Rustfmt and wasm32 library build PASS; 32 original-TXT-per-ZIP objects validated and committed unchanged. Commit f5038a183f1d3dc31b0065571bf8ac8814b5d8a9. No new Receipt timestamp generation, Receipt byte serialization, creation/promotion/publication or authority; independent implementation QA and browser runtime pending. CP015 Day067: T-approved pure is_matching_scr_rcp_filename_candidate_pair(&str,&str)->bool checks canonical SCR/RCP lowercase .txt candidates and exact timestamp/UUID pairing, reusing existing lexical recognizers and candidate derivation; rejects wrong classes/order, mismatched timestamps/UUID, paths, whitespace and noncanonical envelopes. Expected RED E0432 exit 101; six targeted GREEN PASS; T-approved formatting-only source+test amendment and recheck; full native regression 70/70 PASS, Rustfmt PASS, Rust 1.97.1 wasm32-unknown-unknown --lib compile PASS. Original TXT archived as 16 verified single-entry ZIPs; 18/18 committed Git blob identities checked; working tree clean. Banked at be997dc0dbd65fc370814c4a5f2d0f1254870572. No actual SCR/RCP file reads, Receipt content validation, timestamp generation, authority, promotion or publication; browser execution and independent implementation QA pending.",Day067,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-003,WASM-002 Receipts are TXT-only and independent of presentation state,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"For WASM-002, the canonical run Receipt is always plain TXT. Browser theme, built-in HTML presentation, Help voice, or other presentation state must not change whether the run Receipt is emitted as TXT or alter its governed facts. WASM-002 must not emit an HTML Receipt as an alternative to the canonical TXT Receipt. Configurable Brand Manifest behavior is deferred to a future build.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-005,Canonical Receipt TXT serialization is deterministic,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"The WASM-002 Receipt is UTF-8 without BOM and uses LF ( 0x0A ) line endings. Every Receipt ends with exactly one final LF. No serialized line carries trailing spaces, and no blank physical lines are emitted unless a later operation-specific grammar explicitly freezes them. It is a deterministic line-oriented KEY: VALUE document with a frozen core-key order followed by operation-specific fact sections in deterministic order. KEY is an uppercase ASCII field name. The separator is exactly one ASCII colon followed by exactly one ASCII space. KEY=VALUE is not valid canonical Receipt serialization. Fixed machine tokens and non-negative decimal integers are serialized unquoted. Human-authored text, filenames, aliases, headers, and other free text are serialized as double-quoted UTF-8 strings. Inside a quoted value, a literal double quote is represented by doubling it as """" . CR and LF are not permitted inside a single serialized value; each fact remains exactly one physical line. Enumerated values use the exact uppercase tokens frozen by the applicable requirement. Non-negative integers use ungrouped ASCII base-10 digits. This shared text rule is normative for all Receipt free-text values and is acceptance-tested byte-for-byte.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-016; CP-017; CP-018,"CP016 T-accepted, Git-banked: pure field-line formatting; CP017 T-accepted, Git-banked: caller-ordered field sequence; CP018 T-accepted, Git-banked: exactly ten ordered mandatory core keys in a core-only in-memory fragment. Whole Receipt, runtime lineage truth, field-specific vocabularies, operation-specific sections, durable creation and publication NOT implemented.",fde0f0a8b96c92f6cfb80b517396ff5512cccd13; 339cf12e747738d89442ce401feeea1afcd19dc6; 75620f17649a5d38d5357960bb99e9ac39ae354f,Evidence/CP-016/ZIP/CP016_RED_StdErr.txt.zip; Evidence/CP-016/ZIP/CP016_GREEN_Verification_StdOut.txt.zip; Evidence/CP-016/ZIP/CP016_PostFormat_Run_Record.txt.zip; Evidence/CP-016/ZIP/CP016_PostAmendment_Regression_StdOut.txt.zip; Evidence/CP-016/ZIP/CP016_WASM_Build_Run_Record.txt.zip; Evidence/CP-016/ZIP/CP016_PreFormat_Frozen_Test.rs.zip; Evidence/CP-016/ZIP/CP016_Final_Custody_Addendum_Record.txt.zip; CP016_Git_Postcommit_Integrity_Record.txt (external closeout); Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip; Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip; Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip; Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip; CP018_Git_Banking_Record.txt (external after-commit record),"CP016 Day068: T-approved and Git banked pure serialize_canonical_receipt_field_line(key, ReceiptFieldValue) and typed MachineToken, NonNegativeInteger(u64), QuotedText values. Exactly one KEY: VALUE\n line; uppercase ASCII lexical keys and machine tokens; ungrouped decimal u64; doubled interior quote; quoted UTF-8; CR/LF rejected within values. Eight frozen tests passed, 78/78 complete native regression, rustfmt check exit 0 after separately authorized formatting-only frozen-test amendment, wasm32-unknown-unknown --lib build exit 0. 36 individually verified evidence ZIPs Git banked; 31 original TXT evidence retained untracked. No whole-Receipt assembly, full document BOM/end-of-document acceptance, operation-specific core-key ordering, semantic token vocabulary, filesystem I/O, run invocation, authority, or publication. Independent adversarial implementation QA remains NOT_REVIEWED; no complete requirement acceptance. CP017 Day073: seven additional sequence tests, 85/85 full native regression, rustfmt correction preserved, wasm32 library build PASS, commit 339cf12e747738d89442ce401feeea1afcd19dc6. CP018 Day074: enforces the ordered ten-key common core through serialize_canonical_receipt_core_envelope by delegating to CP017; rejects missing, duplicate, reordered, mistyped key names and invalid lexical value, but does not validate field-specific semantics or full receipt. Intentional RED exit 101; nine GREEN tests; formatting-only correction recorded; 94/94 native regression, rustfmt PASS, WASM --lib build PASS; 30 individually checked evidence ZIPs, 32 committed paths, clean index/working tracked files; T-approved; commit 75620f17649a5d38d5357960bb99e9ac39ae354f. No independent implementation QA or browser execution.",Day074,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-006,Every Receipt records the fixed core execution facts and exact WKO lineage,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"Every canonical WASM-002 Receipt begins with the following common envelope keys in exactly this order: RECEIPT_VERSION RECEIPT_FILENAME RECEIPT_UTC WORK_ORDER_FILENAME OPERATION RUN_STARTED_UTC RUN_FINISHED_UTC RESULT DIAGNOSTIC_ID IDENTITY_COLLISION_RETRIES Day 060 H-02 version freeze: RECEIPT_VERSION is the unquoted integer 1 for the WASM-002 Receipt contract. RECEIPT_FILENAME is the exact physical governed RCP filename. RECEIPT_UTC is exactly the canonical UTC timestamp embedded in that filename and is distinct from the run start/finish timestamps. WORK_ORDER_FILENAME is the exact physical immutable WKO identity invoked and is the authoritative WKO→RCP lineage link. Day 060 H-09 / BM-06 truthful run-timestamp semantics RUN_STARTED_UTC and RUN_FINISHED_UTC are governed truthful host-UTC observations at millisecond precision. They are not decorative labels and are not synthesized from artifact filenames. RUN_STARTED_UTC is observed only after the exact saved WKO has been resolved and found eligible to Run, and immediately before operation-specific validation/execution begins. It therefore brackets operation validation, analytical work, publication attempts, refusal processing, and any governed rollback/cleanup performed by that Run. RUN_FINISHED_UTC is observed only after the operation has reached its final SUCCESS or REFUSED analytical outcome and all non-Receipt governed effects are settled: successful artifacts are committed, refusal state is established, and required rollback/cleanup or retained non-authoritative evidence classification is complete. Receipt publication begins only after this observation. For one Run, the truthful temporal invariant is: WKO_UTC ≤ RUN_STARTED_UTC ≤ each successfully published run-artifact UTC ≤ RUN_FINISHED_UTC ≤ RECEIPT_UTC where WKO_UTC is the governed UTC token embedded in the exact WORK_ORDER_FILENAME , and “run-artifact UTC” means the governed UTC embedded in each non-Receipt artifact successfully published by that Run, including a shared materialization transaction UTC where applicable. An operation that publishes no non-Receipt artifact simply has no middle artifact-UTC comparison. Equality is permitted because the canonical timestamp precision is milliseconds. Data Sculptor must not fabricate, increment, decrement, or reorder UTC values merely to make this invariant appear true. Receipt fixtures and retained acceptance evidence must use physically possible timelines under this rule. The existing rule that WKO and Receipt filename timestamps are not required to match remains unchanged: they are distinct events, but a WKO invoked by a Run must already exist as a governed artifact before that Run begins. RESULT is a closed WASM-002 vocabulary containing exactly SUCCESS and REFUSED . No other RESULT token is valid. DIAGNOSTIC_ID: NONE is used for an ordinary successful run; a refused run carries the exact governed diagnostic identity. The shared governed absence-state vocabulary is closed to these four tokens, with these exact meanings: NONE — the fact is applicable and definitively has no value in this event; NOT_RUN — the owning stage or operation was not executed; NOT_AVAILABLE — the fact is applicable or potentially applicable, but its value could not be obtained; NOT_APPLICABLE — the fact does not apply to this event, diagnostic, operation, or artifact. These states are semantically distinct and must not be substituted for one another. A count that was actually established as zero is serialized as the integer 0 , never as an absence token. The refusal-serialization matrix for every present operation-specific key is deterministic: State of the key's owning fact/stage at refusal Required serialization The fact was authoritatively established before refusal Serialize the exact governed value. The owning stage was never entered NOT_RUN . The owning stage ran and definitively produced no value/artifact for this event NONE . The fact applies but could not be obtained NOT_AVAILABLE . The fact does not apply to this event NOT_APPLICABLE . An applicable count was authoritatively established as zero 0 . A publication identity whose publication stage was never entered NOT_RUN , except where an earlier frozen operation-specific rule explicitly fixes another token. A publication identity whose publication stage was entered but no artifact of that identity successfully published NONE . A publication identity that successfully published The exact physical governed filename. For this contract, a fact is established only when its owning validation/stage has deterministically fixed the value and later execution cannot revise that fact. Candidate allocation, partial bytes, or an uncommitted publication does not establish a published-artifact identity. If parsing/validation refuses before one of the seven governed WASM-002 operations can be identified, the Receipt uses OPERATION: UNKNOWN_OPERATION , RESULT: REFUSED , and the applicable DIAGNOSTIC_ID . After the common envelope there is no operation-specific section; the Receipt proceeds directly to CREATED_ARTIFACT_COUNT: 0 . UNKNOWN_OPERATION is not an executable operation. After all operation-specific facts and indexed lists, every Receipt ends with: CREATED_ARTIFACT_COUNT: <N>
CREATED_ARTIFACT_001: ""...""
...
CREATED_ARTIFACT_N: ""..."" The created-artifact list contains only exact physical governed filenames successfully published by the run, excluding the Receipt itself. For this accounting, an artifact is successfully published only if it remains a committed governed artifact when the Run finishes; an artifact promoted and then rolled back, or left only as non-authoritative failure residue under All-or-Refuse, is excluded from CREATED_ARTIFACT_COUNT and its indexed list. Indexed suffixes are one-based decimal with a minimum width of three digits and no maximum width: 001 through 999 are zero-padded and 1000 onward uses the ordinary full ungrouped decimal form. When a count is zero, no indexed lines for that list appear. IDENTITY_COLLISION_RETRIES is always present and is 0 when no governed filename-allocation retry occurred. Receipt/WKO filename timestamps are not required to match. One immutable WKO may be run multiple times, each producing a distinct Receipt that points back to the same exact WORK_ORDER_FILENAME . F-08 DS-STEPS / Receipt token separation. Human-authored Work Orders use the readable terminal clauses below; the Receipt serializes the corresponding machine token in OPERATION . The two columns are not interchangeable spellings: DS-STEPS terminal clause Receipt OPERATION MATERIALIZE MATERIALIZE INVENTORY INVENTORY UPDATE ALIASES UPDATE_ALIASES REPAIR MAP REPAIR_MAP REPAIR WORK ORDER REGISTRY REPAIR_WORK_ORDER_REGISTRY CONVERT WINDOWS-1252 TO UTF-8 CONVERT_WINDOWS_1252_TO_UTF_8 CATALOG STORES CATALOG_STORES For example, REPAIR_MAP is not valid DS-STEPS syntax and REPAIR MAP is not the serialized Receipt token. UNKNOWN_OPERATION remains a refusal-only Receipt value when validation cannot identify one of these seven operations; it is not an executable operation.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-018,CP018 T-accepted and Git-banked: exact mandatory ten-core-key count and order in an in-memory formatting fragment only; no verified WKO lineage semantics or real execution facts.,75620f17649a5d38d5357960bb99e9ac39ae354f,Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip; Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip; Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip; Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip; Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip; CP018_Git_Banking_Record.txt (external after-commit record),"CP018 Day074: T-approved and locally Git-banked pure serialize_canonical_receipt_core_envelope enforces exactly the ten frozen header keys in order, calls existing CP017/CP016 serializer, refuses invalid count/order/value; nine targeted tests and 94/94 full native test regression pass, Rustfmt and WASM library compile pass. Does NOT prove correct data lineage, actual timestamps or vocabularies, operation-specific facts, durable writing or publication; independent Claude review and browser runtime not performed.",Day074,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-007,"Materialization Receipts record Store, RID, Stage 1, Stage 2, and output facts",W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"For a WASM-002 MATERIALIZE run, after the common envelope the Receipt serializes these operation-specific keys in exactly this order: SOURCE_FILENAME BASE_MAP_FILENAME RID_FILENAME RID_ACTION STAGE1_UTF8_OUTCOME CERTIFIED_SOURCE_BYTE_COUNT STAGE1_ELAPSED_MS UTF8_FIRST_INVALID_BYTE_OFFSET UTF8_STOP_REASON WINDOWS_1252_COMPATIBILITY_OUTCOME WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET STAGE2_LOGICAL_ROW_COUNT STAGE2_ELAPSED_MS CSV_REFUSAL_CONDITION CSV_SOURCE_BYTE_OFFSET CSV_PHYSICAL_LINE CSV_LOGICAL_RECORD CSV_FIELD_ORDINAL REQUESTED_COLUMN_COUNT RESOLVED_COLUMN_COUNT PUBLISHED_COL_COUNT zero or more indexed published-COL filename lines whose exact key form is PUBLISHED_COL_<INDEX>_FILENAME (for example PUBLISHED_COL_001_FILENAME , PUBLISHED_COL_002_FILENAME ) SUCCESSOR_MAP_FILENAME OPERATIONAL_NAME_FALLBACK_COUNT zero or more indexed fallback triplets: OPERATIONAL_NAME_FALLBACK_001_COLUMN_ORDINAL , OPERATIONAL_NAME_FALLBACK_001_ASSIGNED_NAME , OPERATIONAL_NAME_FALLBACK_001_REASON , continuing under the common indexed-key rule. BASE_MAP_FILENAME: NONE denotes a newly established Store with no predecessor Store MAP. Day 060 H-11 / BM-08 RID_ACTION ownership and establishment RID_ACTION is a governed execution fact describing what this Run actually established for the Store RID path. It is never an intention, plan, or prediction. RID_ACTION: REUSED is established when routing has selected an existing Store, the exact inherited RID filename is known, and that inherited RID has passed the validation required to proceed. Because the RID already exists, this fact may be established before Stage 1 or Stage 2 completes. RID_ACTION: CREATED is established only when a new-Store RID candidate has successfully completed governed promotion into its final RID identity. Merely planning, allocating, writing, closing, validating, or naming an SCR candidate does not establish CREATED . Until either of those facts is established, the common refusal matrix governs RID_ACTION . For a new-Store path that refuses before successful RID promotion, RID_ACTION is NOT_RUN . If an existing-Store route is identified but the required inherited RID fact cannot be validly established, RID_ACTION is NOT_AVAILABLE . RID_FILENAME is a separate fact: for REUSED , it is the exact already-published inherited RID filename as soon as reuse is established; for CREATED , it is the exact governed final RID filename only after successful RID promotion; before new-RID promotion succeeds, no candidate/SCR filename may be serialized as though it were a published RID. With RID_ACTION: CREATED , RID_FILENAME records the RID identity successfully promoted during the Run even if that RID is later rolled back under All-or-Refuse; rollback does not erase the already-established RID_ACTION / RID_FILENAME execution facts. The refusal-boundary matrix is therefore: Materialization state RID_ACTION RID_FILENAME Validation/routing refuses before a Store/RID path is established NOT_RUN NOT_RUN or NOT_AVAILABLE only when an applicable routing fact could not be obtained under the common matrix New Store; Stage 1 refusal NOT_RUN NOT_RUN New Store; Stage 2 refusal NOT_RUN NOT_RUN New Store; post-Stage-2 gate refusal before RID promotion NOT_RUN NOT_RUN New Store; RID candidate/promotion has not successfully completed NOT_RUN NOT_RUN New Store; RID promotion succeeds CREATED exact published RID filename Existing Store; exact inherited RID selected and validated REUSED exact inherited RID filename Existing Store; later Stage 1, Stage 2, gate, or publication refusal after reuse was established REUSED exact inherited RID filename Existing lineage identified but required inherited RID cannot be validly established NOT_AVAILABLE NOT_AVAILABLE A refusal Receipt that says RID_ACTION: CREATED while RID_FILENAME is NONE or NOT_RUN and no RID was successfully promoted is invalid evidence. STAGE1_UTF8_OUTCOME has exactly two completed Stage-1 values: PASS and FAIL . If Stage 1 never ran, the value is NOT_RUN . If Stage 1 began but a separate failure prevented a governed PASS/FAIL determination, the value is NOT_AVAILABLE . NOT_APPLICABLE is not valid for this key. UTF8_FIRST_INVALID_BYTE_OFFSET and UTF8_STOP_REASON are refusal-only Stage-1 evidence. On STAGE1_UTF8_OUTCOME: FAIL , the offset is mandatory and is the exact zero-based absolute physical source-byte offset of the first byte of the invalid sequence, and the stop reason is mandatory and exactly INVALID_UTF8_SEQUENCE . Neither field may be NOT_AVAILABLE when the Stage-1 outcome is FAIL . On PASS , both fields are NOT_APPLICABLE . If Stage 1 never ran, both are NOT_RUN . If Stage 1 began but no UTF-8 PASS/FAIL conclusion was established because of a separate failure, both refusal-only fields are NOT_APPLICABLE . WINDOWS_1252_COMPATIBILITY_OUTCOME and WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET are the governed F-16 follow-on facts. They are evaluated only after STAGE1_UTF8_OUTCOME: FAIL . When the complete second pass reaches EOF with every byte mappable, the outcome is COMPATIBLE and the offset is NOT_APPLICABLE . When the pass encounters one of the undefined bytes frozen in W002-CONV-002.4, the outcome is INCOMPATIBLE and the offset is the exact zero-based absolute physical source-byte offset of the first such byte. If the pass begins but an independent failure prevents a conclusion, both fields are NOT_AVAILABLE . If Stage 1 did not conclude FAIL , the compatibility pass does not run and both fields are NOT_RUN . The five exact CSV refusal keys CSV_REFUSAL_CONDITION , CSV_SOURCE_BYTE_OFFSET , CSV_PHYSICAL_LINE , CSV_LOGICAL_RECORD , and CSV_FIELD_ORDINAL carry the exact structural CSV refusal condition and location oracle frozen in W002-MAT-002.8. If Stage 2 never ran, all five are NOT_RUN ; if Stage 2 completed without an applicable CSV refusal, all five are NOT_APPLICABLE ; on a CSV refusal, each established location fact is serialized and any applicable fact that could not be obtained is NOT_AVAILABLE . The MATERIALIZE refusal-stage matrix is: Refusal boundary Validation/routing and request facts Stage 1 facts Stage 2 facts Publication facts Validation, before Stage 1 Serialize each fact already established; an applicable fact that validation could not obtain is NOT_AVAILABLE . REQUESTED_COLUMN_COUNT is the actual count when the KEEP list parsed completely; otherwise NOT_AVAILABLE . RESOLVED_COLUMN_COUNT and fallback records are NOT_RUN until name/ordinal resolution has run. NOT_RUN for all Stage 1-owned facts. NOT_RUN for all Stage 2-owned facts. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Stage 1 refusal Established validation/routing facts are exact values. Serialize the exact Stage 1 outcome/timing and established refusal evidence; incomplete applicable facts are NOT_AVAILABLE . The Windows-1252 compatibility fields then serialize the exact complete assessment result under the rule above; if an independent assessment failure prevents a conclusion, they are NOT_AVAILABLE . NOT_RUN for all Stage 2-owned facts. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Stage 2 refusal Established validation/routing facts are exact values. Completed Stage 1 facts are exact values; UTF-8 refusal fields are NOT_APPLICABLE when no UTF-8 refusal occurred. Because Stage 1 passed, both Windows-1252 compatibility fields are NOT_RUN . STAGE2_ELAPSED_MS is the actual elapsed time when obtained; STAGE2_LOGICAL_ROW_COUNT is NOT_AVAILABLE unless the complete accepted logical row count was established; CSV refusal facts follow the rule above. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Post-Stage-2 gate refusal before publication All facts established through the gate are serialized exactly; non-applicable UTF-8/CSV refusal fields are NOT_APPLICABLE . Both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. PUBLISHED_COL_COUNT: 0 ; no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN . Publication refusal before the successor-MAP publication stage is entered All facts established before refusal are serialized exactly. This row includes a new-Store RID/COL identity-allocation or promotion refusal that occurs before the successor-MAP publication stage is entered. Completed Stage 1 and Stage 2 facts remain exact; non-applicable UTF-8/CSV refusal fields use their governed absence tokens, and both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. Under All-or-Refuse publication, PUBLISHED_COL_COUNT: 0 and no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NOT_RUN because the successor-MAP publication stage was never entered. A candidate filename is never serialized as a published identity. Publication refusal after the successor-MAP publication stage is entered All facts established before refusal are serialized exactly. Any RID fact already established before this later refusal remains governed by the RID_ACTION/RID_FILENAME matrix above. Completed Stage 1 and Stage 2 facts remain exact; non-applicable UTF-8/CSV refusal fields use their governed absence tokens, and both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. Under All-or-Refuse publication, PUBLISHED_COL_COUNT: 0 and no indexed published-COL filename lines; SUCCESSOR_MAP_FILENAME: NONE because the successor-MAP publication stage was entered but no successor MAP successfully published. A candidate filename is never serialized as a published identity. Success All applicable facts are exact values; refusal-only UTF-8/CSV fields are NOT_APPLICABLE . Both Windows-1252 compatibility fields are NOT_RUN because Stage 1 passed. PUBLISHED_COL_COUNT is the actual count; indexed keys are exactly PUBLISHED_COL_001_FILENAME onward in resolved KEEP order; SUCCESSOR_MAP_FILENAME is the exact published successor MAP filename. Day 060 H-24 / BM-08 publication-boundary split: these two MATERIALIZE publication-refusal rows apply the common W002-RCP-006 ownership rule to the successor-MAP publication stage. NOT_RUN means that stage was never entered; NONE means it was entered but no successor MAP successfully published. The early boundary is exercised by the RID identity-allocation exhaustion fixture; the later boundary has its own byte-exact golden fixture. OPERATIONAL_NAME_FALLBACK_COUNT is NOT_RUN until operational-name resolution has run; afterward it is the established non-negative count, including literal 0 . Fallback records are ordered by ascending physical source-column ordinal. the exact fallback key OPERATIONAL_NAME_FALLBACK_<INDEX>_REASON is exactly SOURCE_HEADER_EXCEEDS_1024_SCALARS . For successful Store-establishing materialization, the common created-artifact list is ordered RID first, newly published COLs in resolved KEEP order, then successor MAP. For successful existing-Store materialization, the inherited RID is not newly created; the list contains newly published COLs in resolved KEEP order followed by the successor MAP. P3-09 Receipt oracle: when Stage 2 refuses because the certified source contains no logical CSV record, the five CSV refusal fields must serialize exactly as CSV_REFUSAL_CONDITION: NO_HEADER_RECORD , CSV_SOURCE_BYTE_OFFSET: <exact source byte length> , CSV_PHYSICAL_LINE: 1 , CSV_LOGICAL_RECORD: 1 , and CSV_FIELD_ORDINAL: 1 . Day 060 H-13 / BM-10 clarification: within those five governed CSV refusal fields, the zero-byte and UTF-8-BOM-only cases differ only in CSV_SOURCE_BYTE_OFFSET : 0 versus 3 . Their complete Receipt bytes also differ wherever the underlying source identity, certified source byte count, Work Order identity, run/Receipt timestamps, Receipt filename/UUID, or other fixture-specific governed facts differ. The complete Receipts must never be described as differing only by one field. F-20 operational-name Receipt oracle: OPERATIONAL_NAME_FALLBACK_COUNT counts selected/materialized columns whose exact source header exceeded 1,024 Unicode scalar values. Each corresponding ..._ASSIGNED_NAME stores the final deterministic operational/default-alias name after any permitted fallback collision disambiguation; ..._REASON remains exactly SOURCE_HEADER_EXCEEDS_1024_SCALARS . The Receipt does not copy the oversized exact source header merely to explain the fallback. The common indexed-key rule from W002-RCP-006 applies without a maximum width. A full-width KEEP is therefore representable through PUBLISHED_COL_16384_FILENAME (and corresponding fallback indexes when applicable); the three-digit examples are a minimum-width convention, not a 999-item ceiling.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-008,Other WASM-002 operations add deterministic operation-specific Receipt facts,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"The same common envelope, closed RESULT/absence vocabulary, refusal matrix, created-artifact tail, and indexed-key rule apply to the other executable WASM-002 operations. Their operation-specific key tables are closed as follows. INVENTORY INVENTORY_FILENAME INVENTORY_ENTRY_COUNT Refusal boundary INVENTORY_ENTRY_COUNT INVENTORY_FILENAME Validation before inventory scan NOT_RUN NOT_RUN Inventory scan/measurement refusal Exact count if the complete count was established; otherwise NOT_AVAILABLE NOT_RUN Publication refusal after the snapshot facts were established Exact established count, including 0 NONE Success Exact established count Exact physical published INV filename UPDATE_ALIASES BASE_MAP_FILENAME SUCCESSOR_MAP_FILENAME Refusal boundary BASE_MAP_FILENAME SUCCESSOR_MAP_FILENAME Validation/routing before an exact base MAP is established NOT_AVAILABLE NOT_RUN Validation/gate refusal after the exact base MAP is established Exact base MAP filename NOT_RUN Publication refusal Exact base MAP filename NONE Success Exact base MAP filename Exact published successor MAP filename REPAIR_MAP TARGET_MAP_FILENAME RID_FILENAME BROKEN_COL_COUNT zero or more indexed broken-COL filename lines using exact key form BROKEN_COL_<INDEX>_FILENAME (for example BROKEN_COL_001_FILENAME , BROKEN_COL_002_FILENAME ) RETAINED_COL_COUNT SUCCESSOR_MAP_FILENAME Broken COL filenames are ordered by ascending exact UTF-8 filename bytes. RETAINED_COL_COUNT is the actual count once repair analysis completes, including literal 0 . Refusal boundary Target/RID facts Broken/retained facts SUCCESSOR_MAP_FILENAME Validation before an exact target MAP/RID is established Established facts are exact; otherwise NOT_AVAILABLE NOT_RUN NOT_RUN Repair-analysis refusal before a repair result is established Exact established values Exact values if established; otherwise the applicable unavailable/not-run token from the common matrix NOT_RUN All-COLs-broken refusal frozen under F-03/F-09 Exact values Exact broken count/list; RETAINED_COL_COUNT: 0 NONE — this earlier frozen named refusal remains an explicit operation-specific exception. Publication refusal Exact values Exact repair-analysis values NONE Success Exact values Exact repair-analysis values Exact published successor MAP filename REPAIR_WORK_ORDER_REGISTRY BASE_WKO_MAP_FILENAME REMOVED_STALE_ROW_COUNT zero or more indexed stale-WKO filename lines using exact key form REMOVED_STALE_WKO_<INDEX>_FILENAME (for example REMOVED_STALE_WKO_001_FILENAME , REMOVED_STALE_WKO_002_FILENAME ) REGISTERED_CURRENT_COUNT zero or more indexed current-WKO filename lines using exact key form REGISTERED_CURRENT_WKO_<INDEX>_FILENAME (for example REGISTERED_CURRENT_WKO_001_FILENAME , REGISTERED_CURRENT_WKO_002_FILENAME ) REGISTERED_DEPRECATED_COUNT zero or more indexed deprecated-WKO filename lines using exact key form REGISTERED_DEPRECATED_WKO_<INDEX>_FILENAME (for example REGISTERED_DEPRECATED_WKO_001_FILENAME , REGISTERED_DEPRECATED_WKO_002_FILENAME ) SUCCESSOR_WKO_MAP_FILENAME Each filename list is independently sorted by ascending exact UTF-8 filename bytes. If the bootstrap repair WKO is newly discovered and registered, it appears in the appropriate registered list under W002-STOR-018.3 and W002-STOR-018.4. Day 060 H-10 / BM-07 count semantics: REGISTERED_CURRENT_COUNT and REGISTERED_DEPRECATED_COUNT count only previously unregistered structurally valid WKOs that this repair Run newly adds to the successor WKO MAP with the stated status. They do not count surviving pre-existing rows already present in the base registry. The indexed filename lines list exactly the corresponding newly registered WKOs and no others. If the bootstrap repair WKO is one of those newly registered WKOs, it must appear in exactly one registered list. A successful repair Receipt that omits a newly registered bootstrap repair WKO is invalid evidence. Refusal boundary Base registry Repair-plan counts/lists SUCCESSOR_WKO_MAP_FILENAME Validation before the current structurally valid WKO MAP is established NOT_AVAILABLE NOT_RUN NOT_RUN Repair-analysis/gate refusal Exact base WKO MAP filename Exact values if the repair plan was established; otherwise the common matrix governs each present field NOT_RUN Publication refusal Exact base WKO MAP filename Exact established repair-plan values NONE Success Exact base WKO MAP filename Exact established repair-plan values Exact published successor WKO MAP filename CONVERT_WINDOWS_1252_TO_UTF_8 SOURCE_FILENAME SOURCE_ENCODING UNDEFINED_WINDOWS_1252_BYTE_OFFSET MATERIALIZED_ENCODING TRANSCODING SOURCE_CHANGED OUTPUT_FILENAME UNDEFINED_WINDOWS_1252_BYTE_OFFSET is the zero-based absolute physical source-byte offset of the first byte undefined by the frozen Windows-1252 mapping when that refusal occurs. If the compatibility stage never ran it is NOT_RUN ; if the stage ran and no undefined-byte refusal occurred it is NOT_APPLICABLE ; if the fact applies but could not be obtained it is NOT_AVAILABLE . Day 060 H-14 / BM-11 undefined-Windows-1252-byte refusal oracle For CONVERT WINDOWS-1252 TO UTF-8 , an undefined Windows-1252 byte is detected during the complete pre-transcoding compatibility assessment . Transcoding has not begun when this refusal is established. When the complete compatibility assessment encounters the first undefined byte, the Receipt must serialize these exact operation facts: SOURCE_ENCODING: WINDOWS-1252-INCOMPATIBLE
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: <exact zero-based absolute physical source-byte offset>
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE WINDOWS-1252-INCOMPATIBLE is the exact SOURCE_ENCODING token for this governed CONVERT refusal. OUTPUT_FILENAME: NONE means the operation definitively established that no CVT was published for the event. No CVT candidate may be reported as output. The compatibility scan reports the first undefined byte only. Later undefined bytes do not replace that offset. Permitted changes in scan buffer/window size or boundary placement must not change the reported absolute offset. Day 060 H-25 / BM-04 already-valid-UTF-8 refusal oracle. If the complete bound source passes strict UTF-8 validation, CONVERT refuses as unnecessary before Windows-1252 compatibility assessment or transcoding. The Receipt must serialize these exact operation facts: SOURCE_ENCODING: UTF-8
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: NOT_RUN
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE UTF-8 is the exact SOURCE_ENCODING token for this governed refusal. OUTPUT_FILENAME: NONE means the classification gate definitively established that this event publishes no CVT. The Windows-1252 compatibility stage is not entered. Refusal boundary Source/classification facts Conversion facts OUTPUT_FILENAME Validation/classification refusal before conversion begins Serialize each fact already established; an applicable fact that could not be obtained is NOT_AVAILABLE . The undefined-byte offset follows the rule above. MATERIALIZED_ENCODING and TRANSCODING are NOT_RUN when conversion did not run. SOURCE_CHANGED is the exact governed value once established. NONE only for either of the two definitively classified no-CVT cases: (1) the complete source is already valid strict UTF-8 and conversion is unnecessary; or (2) the complete Windows-1252 compatibility assessment finds an undefined byte. For other validation/classification refusals before conversion begins, OUTPUT_FILENAME: NOT_RUN unless another normative rule explicitly assigns a different closed token. Conversion/refusal after bounded transcoding begins but before publication Exact established source/classification facts Serialize exact established conversion facts; applicable incomplete facts use NOT_AVAILABLE . NOT_RUN Publication refusal Exact established facts Exact established conversion facts NONE Success SOURCE_ENCODING: WINDOWS-1252-COMPATIBLE ; undefined-byte offset NOT_APPLICABLE MATERIALIZED_ENCODING: UTF-8 ; TRANSCODING: BOUNDED_STREAMING ; SOURCE_CHANGED: NO Exact published CVT filename CATALOG_STORES CATALOG_ENTRY_COUNT CATALOG_FILENAME Refusal boundary CATALOG_ENTRY_COUNT CATALOG_FILENAME Validation/discovery refusal before the complete authoritative catalog row set is established NOT_AVAILABLE NOT_RUN Publication refusal after the complete catalog row set is established Exact established count, including 0 NONE Success Exact established count Exact physical published CAT filename On success, CATALOG_ENTRY_COUNT equals the number of data rows in the published CAT. CAT itself is the only new non-Receipt governed artifact produced by the operation. RECOVER RID / RECOVER_RID is not a valid executable WASM-002 operation in Revision BM.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-009,"Receipt truth is execution evidence, not presentation authority",W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"The Receipt records what Data Sculptor actually attempted, observed, refused, and successfully published. It must not reinterpret the analyst's WKO, replace the Store MAP, or become a second analytical command surface. The WKO remains the durable authorization record; Store MAP/RID/COL artifacts remain the governed analytical state; diagnostic events remain the refusal/help truth; the Receipt cross-references those facts as the durable run ledger. The body of published canonical RCP artifacts is the authoritative evidence substrate for the Flight Recorder logical view defined in W002-STOR-012.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-010,Receipt-publication failure is itself a governed evidence failure,W002-RCP,W002-RCP,WASM-002,UNDER REVIEW,—,"Data Sculptor must never claim that a durable Receipt exists until the RCP file has been successfully written and closed in the Suitcase. If host or filesystem failure prevents Receipt publication, the browser must surface a canonical diagnostic through the Help Engine stating that receipt evidence could not be persisted. A receipt-publication failure does not retroactively falsify analytical artifacts that were already successfully committed under their own publication contracts, but the user-facing run summary must clearly distinguish analytical outcome from receipt-persistence failure. Data Sculptor must not invent, backdate, or silently reconstruct a Receipt and present it as the original run artifact. F-14 publication path, reconciled by F-33: the RCP itself is first written as the corresponding SCR candidate under W002-STOR-023.1, closed, reopened and validated against the exact Receipt serialization/key contract before the class-token rename to RCP . If final RCP promotion fails, the candidate remains non-authoritative SCR evidence. Help may identify the exact retained SCR filename when that fact was established, but it must still state that the canonical Receipt was not persisted. WASM-002 does not emit an RCV artifact for this failure.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-ACC-001,Successful materialization Receipt and WKO-lineage acceptance,W002-RCP-ACC,W002-RCP,WASM-002,UNDER REVIEW,—,"A Store-establishing materialization fixture must run one saved WKO, publish exactly one canonical TXT RCP, and prove that the Receipt identifies the exact WKO through WORK_ORDER_FILENAME , source, RID_ACTION: CREATED , new RID, Stage 1 result/bytes/time, Stage 2 row count/time, all requested COL artifacts in resolved KEEP order, successor Store MAP, published-artifact count, timestamps, and RESULT: SUCCESS . The RCP filename UTC must represent the Receipt artifact's own creation/publication event and must not be required to equal the WKO filename UTC. The same immutable WKO must then be executable again in an appropriate fixture, producing a second distinct RCP with its own Receipt/run timestamps while both Receipts contain the same exact WORK_ORDER_FILENAME . A later same-Store materialization fixture must additionally prove RID_ACTION: REUSED and the original RID filename. The Store-establishing fixture must also prove that the newly created RID, every newly created COL, and the successor MAP carry one identical publication-transaction UTC token while each has a distinct UUID; the RCP filename UTC remains its own Receipt publication timestamp and is not required to equal that analytical transaction UTC. A later same-Store materialization must prove that newly created COLs and its successor MAP share the later transaction UTC while the inherited RID retains its original timestamp/UUID. F-07 Stage-1 success fixture: a successful materialization Receipt must serialize STAGE1_UTF8_OUTCOME: PASS , with UTF8_FIRST_INVALID_BYTE_OFFSET: NOT_APPLICABLE and UTF8_STOP_REASON: NOT_APPLICABLE . Separate refusal fixtures under W002-RCP-ACC-002 must prove FAIL plus the mandatory exact offset and INVALID_UTF8_SEQUENCE . F-20 maximum-width Receipt acceptance: a successful full-width materialization fixture must prove that published-COL indexed keys continue through PUBLISHED_COL_16384_FILENAME using the minimum-three-digit/no-maximum suffix rule. Oversized-header fixtures must prove the exact fallback count, source ordinal, assigned operational name, and SOURCE_HEADER_EXCEEDS_1024_SCALARS reason without embedding the oversized source-header text in the Receipt merely as fallback evidence. F-23 additional successful-Receipt coverage: acceptance must include a successful INVENTORY run whose RCP carries the exact governed INVENTORY operation-specific facts and a successful UPDATE_ALIASES run whose RCP carries the exact BASE_MAP_FILENAME and SUCCESSOR_MAP_FILENAME while reporting only actually published artifacts in the common created-artifact tail. F-23 UUID-collision seam: using a controlled UUID sequence, acceptance must force one or more governed filename collisions before successful allocation. Every pre-existing colliding artifact must remain byte-for-byte unchanged; allocation must retain the originally established governed UTC context while changing only the not-yet-created UUID as permitted; and the published Receipt must report the exact retry count in IDENTITY_COLLISION_RETRIES . Day 060 H-09 success-timeline acceptance Every retained successful Receipt fixture must satisfy the W002-RCP-006 temporal invariant using its actual embedded UTC tokens. Acceptance must mechanically prove: the invoked WKO UTC is less than or equal to RUN_STARTED_UTC ; every non-Receipt governed artifact successfully published by that Run has a governed artifact/transaction UTC between RUN_STARTED_UTC and RUN_FINISHED_UTC , inclusive; RUN_FINISHED_UTC is less than or equal to the Receipt filename/ RECEIPT_UTC ; and no fixture relies on an artifact timestamp that occurs after the Receipt that claims it, or before the Run that created it. A controlled-clock acceptance seam may be used to make equality and strict-order cases deterministic, but the fixture generator must not alter timestamps after the fact merely to satisfy the checker. Day 060 H-11 successful RID_ACTION acceptance A successful new-Store materialization Receipt may report RID_ACTION: CREATED only because the RID was actually promoted into its final governed RID identity during that Run. A successful existing-Store materialization Receipt reports RID_ACTION: REUSED and the exact inherited RID filename; no new RID candidate is created for that Run.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-ACC-002,Refusal Receipt acceptance,W002-RCP-ACC,W002-RCP,WASM-002,UNDER REVIEW,—,"A saved WKO that is actually Run and deterministically refuses must still produce one canonical TXT Receipt when Receipt publication itself remains available. The emitted bytes must conform to the closed RESULT vocabulary, the four governed absence tokens, the exact operation-specific key spelling/order, and the refusal matrix in W002-RCP-006 through W002-RCP-008. Acceptance must include byte-exact golden Receipt fixtures for every distinct refusal-boundary row required to exercise the serialization matrix for each of the seven executable WASM-002 operations: MATERIALIZE , INVENTORY , UPDATE_ALIASES , REPAIR_MAP , REPAIR_WORK_ORDER_REGISTRY , CONVERT_WINDOWS_1252_TO_UTF_8 , and CATALOG_STORES . Multiple Diagnostic IDs that map to the same refusal boundary and the same serialization row do not require duplicate byte fixtures merely because the Diagnostic ID differs. Acceptance must additionally include one byte-exact UNKNOWN_OPERATION refusal fixture proving the common envelope, OPERATION: UNKNOWN_OPERATION , RESULT: REFUSED , the exact diagnostic ID, absence of any operation-specific section, and immediate CREATED_ARTIFACT_COUNT: 0 . Fixtures must prove that NONE , NOT_RUN , NOT_AVAILABLE , and NOT_APPLICABLE retain distinct meanings; an established zero count is serialized as 0 ; no candidate filename is reported as a published identity; and every indexed key uses its complete frozen name and the minimum-three-digit/no-maximum suffix rule. An unsaved WIP must be proven unable to Run and therefore must not create an execution Receipt. F-16 materialization-refusal fixtures: byte-exact MATERIALIZE refusal Receipts must exercise the new compatibility pair in all four applicable states: NOT_RUN when Stage 1 did not fail; COMPATIBLE plus NOT_APPLICABLE offset; INCOMPATIBLE plus the exact first undefined-byte offset; and NOT_AVAILABLE / NOT_AVAILABLE when an independent compatibility-read failure prevents a conclusion. F-23 Receipt-publication failure fixture, reconciled by F-33: a controlled filesystem-fault seam must make canonical RCP publication fail after the underlying analytical/refusal outcome has been established. Acceptance must prove the W002-RCP-010 boundary exactly: no final RCP is fabricated or claimed, any retained candidate evidence follows the governed SCR retention/non-authority rules in W002-STOR-023.1, no RCV artifact is emitted, the user-facing diagnostic distinguishes analytical outcome from Receipt-persistence failure, and already committed analytical artifacts are not retroactively falsified solely because RCP persistence failed. F-23 ultimate identity-allocation failure fixture: with Receipt publication itself still available, a controlled identity-allocation seam must force a governed operation artifact to exhaust/fail safe allocation. The operation must refuse without overwriting or mutating any colliding pre-existing artifact, and the refusal Receipt/diagnostic evidence must preserve the established collision/allocation-failure facts under PB-STOR-011 and W002-STOR-007.3. Day 060 H-02 fixture binding: the retained golden corpus must use RECEIPT_VERSION: 1 and the fixture-pinned diagnostic allocations in W002-HELP-001.8. The corpus must contain one success Receipt for each of the seven executable operations, one refusal Receipt for every distinct refusal-boundary row in W002-RCP-007/W002-RCP-008, the three additional Stage-1 compatibility variants needed to cover COMPATIBLE , INCOMPATIBLE , and NOT_AVAILABLE after UTF-8 failure, and one UNKNOWN_OPERATION Receipt. Publication-refusal fixtures may use the operation-specific H-02 publication diagnostic and a non-zero IDENTITY_COLLISION_RETRIES value to satisfy the ultimate identity-allocation-failure acceptance boundary without inventing a second diagnostic solely for the same serialization row. Day 060 H-09 refusal-timeline acceptance Every retained refusal Receipt fixture must also satisfy the W002-RCP-006 temporal invariant. For a refusal with no successfully published non-Receipt artifact, acceptance proves WKO_UTC ≤ RUN_STARTED_UTC ≤ RUN_FINISHED_UTC ≤ RECEIPT_UTC . If a refusal legitimately leaves one or more successfully committed non-Receipt artifacts from an already-completed stage, each such artifact UTC must fall between Run start and Run finish and must be listed truthfully under the governing created-artifact rules. Day 060 H-11 / BM-08 RID_ACTION refusal acceptance Byte-exact MATERIALIZE refusal acceptance must distinguish new-Store and existing-Store RID paths: new-Store validation, Stage 1, Stage 2, and post-Stage-2 gate refusals before successful RID promotion serialize RID_ACTION: NOT_RUN and do not serialize a candidate as a published RID; a controlled new-Store refusal after RID promotion has successfully completed may serialize RID_ACTION: CREATED together with the exact published RID filename, but only if that RID was actually promoted and the remaining refusal/rollback evidence is truthful under the publication rules; an existing-Store refusal after the inherited RID has been selected and validated serializes RID_ACTION: REUSED and the exact inherited RID filename even when Stage 1, Stage 2, a later gate, or publication subsequently refuses; an existing lineage whose required inherited RID cannot be validly established serializes RID_ACTION: NOT_AVAILABLE and RID_FILENAME: NOT_AVAILABLE rather than claiming reuse. Acceptance must specifically reject the historical H-02 fixture pattern that reported RID_ACTION: CREATED while no RID existed and CREATED_ARTIFACT_COUNT: 0 . Day 060 H-12 H-02 publication-diagnostic scope The H-02 operation-specific publication diagnostics whose required facts are artifact_class and collision_retry_count are acceptance pins for governed filename identity-allocation collision exhaustion. They are not catch-all Diagnostic IDs for unrelated publication failures such as chronology guards, write/close/rename failures, or malformed predecessor state. Those distinct conditions use their own registry allocations; DS-UTC-001 is independently frozen for the strict monotonic-UTC guard. Day 060 H-13 / BM-10 zero-byte and BOM-only NO_HEADER_RECORD Receipt fixtures The retained golden corpus must contain two distinct byte-exact MATERIALIZE refusal Receipts for the P3-09 no-header boundary: Zero-byte source: the bound source has exact certified byte count 0 ; Stage 1 passes; Stage 2 refuses with CSV_REFUSAL_CONDITION: NO_HEADER_RECORD ; CSV_SOURCE_BYTE_OFFSET: 0 ; CSV_PHYSICAL_LINE: 1 ; CSV_LOGICAL_RECORD: 1 ; and CSV_FIELD_ORDINAL: 1 . UTF-8-BOM-only source: the bound source consists exactly of bytes EF BB BF and has exact certified byte count 3 ; Stage 1 passes; Stage 2 refuses with CSV_REFUSAL_CONDITION: NO_HEADER_RECORD ; CSV_SOURCE_BYTE_OFFSET: 3 ; CSV_PHYSICAL_LINE: 1 ; CSV_LOGICAL_RECORD: 1 ; and CSV_FIELD_ORDINAL: 1 . These two Receipt fixtures must carry their own truthful source filenames, Work Order identities, run timestamps, Receipt identities, and other governed facts. Only the five-field CSV refusal tuple has the narrower relationship stated in W002-RCP-007; the complete Receipt files are not otherwise required to be byte-identical. Day 060 H-14 / BM-11 CONVERT undefined-byte Receipt binding The coordinated golden Receipt corpus must include the byte-exact CONVERT_WINDOWS_1252_TO_UTF_8 refusal fixture from W002-CONV-ACC-002 using source bytes 41 81 42 . Its Receipt must carry UNDEFINED_WINDOWS_1252_BYTE_OFFSET: 1 and the exact pre-transcoding refusal values frozen in W002-RCP-008.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RCP-ACC-003,Receipt TXT is invariant to presentation state in WASM-002,W002-RCP-ACC,W002-RCP,WASM-002,UNDER REVIEW,—,The same governed run must be exercised under materially different permitted browser presentation states. In each case the run Receipt must remain an RCP TXT artifact governed by the same receipt serialization and facts. Presentation must not convert it to HTML or alter execution truth in WASM-002. This acceptance gate does not require a configurable Brand Manifest; that capability is deferred.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-001,A Suitcase may contain multiple Stores and each current Store state binds exactly one RID,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The Suitcase is a workspace and may contain zero, one, or multiple logical Stores. Every committed Store state binds exactly one governed current RID artifact. RID values are unique only within their Store row universe; they are not Suitcase-global identifiers. Ordinary same-row-universe work reuses that RID unchanged. In WASM-002, a missing, unreadable, or invalid current RID makes the Store INVALID ; no executable WASM-002 operation regenerates or substitutes that RID. Read-only Help/evidence may explain analyst-owned restoration or lineage-retirement choices, but Data Sculptor does not publish a replacement RID. The stable logical row reference in WASM-002 is conceptually (Store lineage, RID value) ; the current physical RID identity is the exact rid_filename bound by the authoritative MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-002,The Store RID is generated automatically once and reused unchanged in WASM-002,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"When the first successful materialization establishes a new Store, Data Sculptor must automatically generate that Store's initial RID artifact as part of the same Stage 2 operation and the same all-or-refuse publication boundary. The analyst does not separately request ordinary RID generation. Before the RID SCR candidate is created, Data Sculptor establishes the materialization publication-transaction UTC under PB-STOR-013/PB-STOR-014 and allocates a RID-specific UUID. The canonical RID byte stream is then written as the visible governed SCR candidate whose filename already carries that exact UTC, UUID, and .csv extension intended for the final RID identity. Requested materialized columns likewise begin as governed SCR candidates whose distinct COL-specific UUIDs are allocated before those candidates are opened under the same transaction UTC. The new RID candidate and all requested COL candidates must reach EOF, reconcile to the same accepted Store row count N, and pass their required final validation before any candidate is promoted. After complete-set validation, Data Sculptor promotes the RID candidate first by host rename that changes only the three-letter semantic class token from SCR to RID . The candidate bytes, UTC token, UUID, and .csv extension must remain unchanged across that promotion. Requested COL candidates are promoted only after RID promotion succeeds. If later promotion or successor-MAP publication prevents transaction commit, the newly promoted RID is not committed Store state merely because an RID-looking file exists; it must be rolled back where safely possible or retained as attributable recovery evidence under the materialization failure contract. A first Store-establishing materialization commits exactly one RID regardless of how many requested COLs are materialized. Later ordinary materializations and other same-row-universe WASM-002 operations must reuse that RID unchanged. They must not create a new RID candidate, regenerate, replace, renumber, or silently supersede the inherited RID. RID reconstruction/replacement is not an executable WASM-002 operation. Any future governed RID-recovery design remains deferred and must be reintroduced by an explicit later PRD freeze.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-003,RID physical identity uses the governed RID filename grammar,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The physical RID filename must be: __DS__RID__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv The filename contains governed physical identity only. A Store name or friendly analyst alias must not be inserted into, substituted for, or used to rename this immutable physical RID filename.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-004,RID is a canonical one-column CSV containing the exact sequence 1 through N,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The RID artifact must serialize as a canonical one-column UTF-8 CSV with: exactly one UTF-8 BOM at byte zero; a structural first logical record exactly N=<value> , where <value> is the canonical unsigned base-10 representation of the Store's total logical data-row count N ; uppercase N , exactly one equals sign, no spaces, no sign, no leading zeroes except the single digit 0 , and no separators or locale formatting; LF ( 0x0A ) record terminators on every supported host; exactly N data records after the header, containing the consecutive unquoted decimal integers 1 through N in order; no zero RID data value, negatives, signs, thousands separators, decimal points, exponent notation, or leading zeroes; and a final LF after the last record. For N=0 , the canonical bytes are the UTF-8 BOM followed by N=0 and LF, with no data records. The N=<value> record is structural metadata and does not consume a Store row. The governed RID artifact class/filename and Store MAP binding identify the artifact as a RID; the literal header RID is not used by the frozen WASM-002 serialization.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-005,RID cardinality and order define same-Store column alignment,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"If a Store RID contains N data records, every governed column claimed to be aligned to that Store must contain exactly N data records in the same RID order. Data Sculptor must not describe a shorter, longer, reordered, duplicated, or row-shifted column as aligned to that Store. This invariant applies to materialized source columns in WASM-002 and is the stable contract that later calculated, Boolean-selection, verification, or left-join enrichment columns may rely upon.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-006,A different row universe requires a different Store and a new RID,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,An operation that changes which rows exist or changes their governed order does not mutate the existing Store RID. It establishes a different row universe and therefore requires a new logical Store identity and a new RID artifact beginning again at 1 for that new Store. Filtering that is represented only as a same-length aligned Boolean/selection column does not itself change the row universe; building a new reduced/reordered row set later would.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-007,The Store MAP gives RID a friendly alias without changing RID identity,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"The physical RID artifact remains identified by its immutable governed filename and semantic RID class. Every valid Store MAP records that exact rid_filename and one current human-facing rid_alias . Changing the RID alias must not rename, rewrite, regenerate, or alter the meaning of the RID artifact. The same Store MAP also records the Store alias and materialized-column aliases, so the analyst-facing names and the physical Store spine remain explicitly connected in one visible governed artifact.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-008,Ordinary RID generation is implicit Store infrastructure; RID reconstruction is deferred,W002-RID,W002-RID,WASM-002,UNDER REVIEW,—,"WASM-002 materialization Work Orders specify the analyst's requested source columns and aliases. They must not require or expose a separate instruction such as RID , ROW INDEX , GENERATE RID , or an equivalent switch to create the Store row spine. Initial RID generation for a new Store is mandatory engine behavior implied by successful MATERIALIZE . WASM-002 must not provide an option to disable it. When ordinary materialization extends an existing Store, the engine must recognize and reuse that Store's existing RID. If that bound RID is missing or invalid, the Store is INVALID and ordinary Store operations refuse. WASM-002 exposes no RECOVER RID executable syntax. A future explicit recovery design may be considered in V1-BACKLOG, but it is not part of this build contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-001,Canonical RID byte serialization acceptance,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,"An acceptance fixture with N=5 must prove exact governed bytes equivalent to a UTF-8 BOM followed by: N=5
1
2
3
4
5 Every record uses LF termination and the file ends with a final LF. A separate N=0 fixture must prove exact bytes equivalent to UTF-8 BOM + N=0 and no data records. The N=5 fixture repeated under different permitted source-window boundaries must produce byte-identical RID content apart from the governed physical filename allocated to the artifact. Full RID validation must also prove that the declared N , the number of following data records, and the exact sequence 1..N agree.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-002,Multiple Stores in one Suitcase retain independent RID spines,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,An acceptance fixture must establish at least two Stores with different row counts in the same Suitcase and prove that each Store publishes and retains exactly one distinct governed RID artifact. RID values may overlap numerically across Stores without collision because the Store identity disambiguates them.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-003,Later same-Store materialization reuses rather than regenerates RID,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,"An acceptance fixture must establish a Store with an initial materialization, record the physical RID identity and exact RID bytes, then perform a later permitted materialization that adds at least one aligned COL without changing the row universe. The later run must reference and reuse the original RID artifact; no replacement RID may be published and the original RID bytes must remain unchanged.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-RID-ACC-004,Implicit RID generation acceptance for single- and multi-column first materialization,W002-RID-ACC,W002-RID,WASM-002,UNDER REVIEW,—,"Acceptance must execute two Store-establishing Work Orders that contain no RID or row-index syntax: one requesting exactly one source column and one requesting multiple source columns. Each successfully committed run must publish exactly one governed RID artifact regardless of the number of requested COL artifacts. The fixture must prove that RID creation occurs during the same Stage 2 source-record traversal that establishes the Store row count rather than by requiring a second source pass solely to construct RID. The RID row count must reconcile exactly with every requested COL row count and the final accepted Store N. Before RID candidate creation, acceptance must prove that the publication-transaction UTC and RID-specific UUID are already established, and that the governed SCR filename carries exactly the UTC, UUID, and .csv extension intended for the final RID identity. Before complete-set validation, the RID bytes must exist only as that governed SCR candidate. Acceptance must prove that the RID candidate is promoted by host rename only after the complete RID/COL candidate set validates, that the physical-name change is exactly the class token SCR to RID , that candidate bytes/UTC/UUID/extension are unchanged across promotion, that RID promotion precedes COL promotion, and that the resulting RID is not considered committed Store membership until the successor MAP is successfully promoted and binds that exact RID filename.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-001,INVENTORY is an explicit standalone WASM-002 Work Order operation,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 form is: SUITCASE: .
WORK ORDER AS ""Inventory this Suitcase""
INVENTORY INVENTORY reads the authorized Suitcase directory metadata and creates one governed Suitcase Inventory Snapshot. It is read-only with respect to pre-existing Suitcase files. In WASM-002, an INVENTORY Work Order must not also request materialization, conversion, fingerprinting, another analytical operation, or another Work Order invocation. F-08 structure freeze: after the common SUITCASE: . / WORK ORDER AS ""..."" preamble, INVENTORY is the sole semantic operation clause and is terminal. No SOURCE , MAP , KEEP , alias mutation, conversion, repair, catalog, or composition clause is valid in the same WKO.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-002,Suitcase Inventory uses the governed INV artifact class and canonical filename grammar,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"A successful inventory produces exactly one visible flat TXT artifact whose physical filename is: __DS__INV__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.txt The UTC and UUID tokens follow the existing governed artifact-identity rules. Data Sculptor must not create an inventory subfolder, hidden cache copy, or alternate private persistence. F-14 publication: the INV body is produced first under the matching W002-STOR-023.1 SCR identity with the same UTC, UUID and .txt extension intended for the final INV. Publication to INV occurs only after the complete scan and deterministic INV serialization validate successfully.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-003,"The lightweight inventory records filename, exact byte length, and last-modified metadata",W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"For every regular file present in the authorized flat Suitcase root at snapshot time, the inventory must record: the exact visible filename; the exact byte length reported by the host file object; and the host/browser-reported last-modified value rendered in the canonical UTC millisecond form when available. WASM-002 must not claim access to a true file-creation timestamp. It must not infer, fabricate, or substitute a creation time from the last-modified value. If usable last-modified metadata is unavailable, the inventory must represent that fact explicitly rather than invent a timestamp. P3-10 last-modified availability test: host/browser last-modified metadata is usable only when the host supplies a finite, non-negative whole-number millisecond value that can be represented in the canonical UTC millisecond timestamp form. If that test fails, the inventory must serialize the governed unavailable value rather than infer, round, substitute, or fabricate a timestamp.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-004,INVENTORY does not read file contents or compute content hashes,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"The lightweight inventory must be produced from directory enumeration and file metadata only. Data Sculptor must not open and stream the contents of each listed file merely to create the inventory, and it must not compute SHA-256 or another content fingerprint as an implicit side effect. Its cost should therefore scale primarily with the number of directory entries and metadata calls, not with the aggregate byte size of the files. A 7 GB CSV and a 7 KB CSV each contribute one metadata entry rather than requiring their contents to be read.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-005,Inventory scope is the authorized flat Suitcase root,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"WASM-002 inventories regular files and immediate child directory entries in the directory denoted by SUITCASE: . . Data Sculptor must not recursively inspect, enumerate, size, hash, or otherwise inventory the contents of a child directory in this build. Each immediate child directory is recorded as a directory entry by its exact visible name only. Its nested contents and aggregate size are outside the WASM-002 Inventory contract. This rule preserves the flat-Suitcase storage model while making the presence of user-created directories explicit rather than silently omitting them. F-26 SOURCE distinction: inclusion in an Inventory is evidence that an entry was physically visible to the Inventory operation; it does not make that entry eligible for a Work Order SOURCE . SOURCE eligibility is the narrower contract in W002-WKO-009.1.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-006,Inventory serialization is deterministic UTF-8 TXT,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"The INV artifact is a deterministic human-readable TXT document encoded as UTF-8 without BOM, using LF ( 0x0A ) line endings, the same KEY: VALUE line grammar, and the same quoted-text escaping rule frozen by W002-RCP-005. Every INV ends with exactly one final LF, contains no trailing spaces, and contains no blank physical lines. The exact V1 Inventory serialization order is: INVENTORY_VERSION INVENTORY_UTC WORK_ORDER_FILENAME SUITCASE ENTRY_COUNT for each regular-file entry in deterministic ascending exact-filename UTF-8 byte order, one contiguous indexed triplet: FILE_<INDEX> , FILE_<INDEX>_BYTE_LENGTH , FILE_<INDEX>_LAST_MODIFIED_UTC DIRECTORY_COUNT exactly DIRECTORY_COUNT directory-name records using contiguous indexed keys DIRECTORY_<INDEX> , ordered by ascending exact-directory-name UTF-8 bytes. INVENTORY_VERSION is the unquoted integer 1 for this contract. WORK_ORDER_FILENAME , SUITCASE , each FILE_<INDEX> filename, and each DIRECTORY_<INDEX> name use the common double-quoted UTF-8 text serialization. FILE_<INDEX>_BYTE_LENGTH is the exact non-negative ungrouped ASCII base-10 byte length. FILE_<INDEX>_LAST_MODIFIED_UTC is either the exact canonical UTC millisecond token governed by W002-INV-003 or the unquoted governed absence token NOT_AVAILABLE . Indexed suffixes are one-based decimal with a minimum width of three digits and no maximum width: 001 through 999 are zero-padded and 1000 onward uses the full ungrouped decimal form. When ENTRY_COUNT or DIRECTORY_COUNT is zero, no indexed lines for that list appear. ENTRY_COUNT remains the regular-file count. Directory records contain the exact immediate child directory name only and do not imply recursive inspection or a computed directory size. Filename and directory-name representations remain unambiguous even when a name contains whitespace, quotes, or delimiter-like characters because the common quote-doubling rule applies. P3-10 inventory timestamp binding: INVENTORY_UTC must equal the exact canonical UTC token embedded in the final governed __DS__INV__<UTC>__<uuid-v4>.txt filename, just as RECEIPT_UTC is bound to the governed Receipt filename UTC. The INV body and filename therefore cannot claim different capture times.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-007,The current inventory describes the pre-publication Suitcase state and excludes itself,W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,Data Sculptor must enumerate and fix the inventory snapshot before publishing the new INV artifact. The INV artifact being created is therefore not one of its own listed entries. Any older INV artifact that already existed at snapshot time is an ordinary Suitcase file and is included like any other file. This pre-publication rule prevents recursive self-reference while preserving an accurate snapshot of the state that existed immediately before the new inventory evidence was added.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-008,"Help describes INVENTORY as a quick continuity aid, not byte-level proof",W002-INV,W002-INV,WASM-002,UNDER REVIEW,—,"Help must explain that an INV snapshot is useful for ordinary closeout and later orientation: it can reveal additions, removals, renames, size changes, or last-modified changes when snapshots or current metadata are compared. For an unexpected cross-session source problem, Help may direct the analyst to the relevant source entry in an earlier INV and ask whether its filename, exact byte length, or last-modified metadata differs. Help must also state that unchanged filename/size/last-modified metadata does not prove that file contents or row order are identical. When stronger assurance is warranted because files may change unexpectedly, Help may recommend the explicit later/deeper content-fingerprinting workflow; INVENTORY itself must never imply forensic or cryptographic assurance.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-ACC-001,Large-file inventory acceptance proves metadata-only behavior,W002-INV-ACC,W002-INV,WASM-002,UNDER REVIEW,—,"An acceptance fixture must place at least one multi-gigabyte file plus several small files in the authorized Suitcase, execute INVENTORY , and prove that the resulting INV records the correct filename, exact byte length, and last-modified metadata without reading the multi-gigabyte file contents. Evidence must demonstrate that inventory runtime and memory do not scale with the aggregate bytes of the listed files in the way a fingerprinting pass would. P3-10 metadata determinism: acceptance must include at least one file with usable host last-modified metadata and one test double/fixture in which the last-modified value fails the governed availability test. The first must serialize the exact canonical UTC millisecond value; the second must serialize exactly NOT_AVAILABLE . The accepted INV must also prove that INVENTORY_UTC exactly matches the UTC token in its final INV filename. Day 060 H-01 byte oracle: acceptance must include at least one byte-exact INV golden fixture using the complete W002-INV-006 key order, indexed suffix rule, quoted-text escaping rule, UTF-8/no-BOM physical form, LF-only line endings, and exactly one final LF. It must include at least two file records so deterministic filename ordering is observable, including one NOT_AVAILABLE last-modified value, and at least one directory record. Day 060 H-09 reachable-Suitcase INV golden fixture The byte-exact INV golden fixture used for WASM-002 review must depict a Suitcase state that could actually execute INVENTORY under the current contract rather than an isolated impossible file list. At minimum, immediately before the Inventory Run begins, the fixture Suitcase contains: one valid current Suitcase Validation Certificate ( CER ) authorizing the root; one structurally valid current WKO registry MAP; the exact saved immutable INVENTORY WKO referenced by WORK_ORDER_FILENAME , registered as runnable by that current WKO MAP; and the ordinary analyst files used to demonstrate inventory metadata, including the controlled last-modified-available and NOT_AVAILABLE cases. The INV snapshot is taken before publication of the new INV artifact and before its Receipt publication. Therefore the INV being created and the Receipt for that Run do not appear as pre-existing entries in their own inventory snapshot. For the retained minimal review fixture, the regular-file ENTRY_COUNT and indexed records must include the CER, current WKO MAP, exact INVENTORY WKO, and the two ordinary sample files, for a total of five regular-file rows, serialized in ascending exact-filename UTF-8 byte order. A later implementation fixture may use different exact governed filenames/UUIDs while preserving the same reachable-state requirement and deterministic ordering.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-ACC-002,Inventory snapshot membership and self-exclusion acceptance,W002-INV-ACC,W002-INV,WASM-002,UNDER REVIEW,—,"An acceptance fixture must include ordinary analyst files, existing governed __DS__ artifacts, and at least one older INV artifact. The new inventory must include every qualifying pre-existing root file in deterministic order, include the older INV, and exclude only the newly generated INV because it did not exist in the fixed pre-publication snapshot. Adding an unrelated PDF or ZIP before a later inventory must appear as an added inventory entry and must not be treated as an analytical error.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-INV-ACC-003,Inventory does not overclaim unchanged contents,W002-INV-ACC,W002-INV,WASM-002,UNDER REVIEW,—,"Acceptance documentation and Help fixtures must demonstrate the limitation of metadata-only continuity. A case in which a file's bytes are changed while the observed filename, byte length, and last-modified metadata are preserved or restored must not be described as detectable by INVENTORY alone. The product must direct the analyst toward stronger explicit fingerprint evidence when byte-level assurance is required.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-016,Work Order filenames use the governed immutable identity grammar,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When Data Sculptor saves a new Work Order as a WKO, it shall assign the physical TXT filename. The analyst chooses the validated Suitcase but is not asked to choose or edit the WKO filename. The exact WKO filename shape is __DS__WKO__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.txt , using UTC at millisecond precision with exactly three millisecond digits and a canonical lowercase hyphenated UUID v4. UTC precedes UUID. If the generated name collides with an existing artifact, PB-STOR-011 governs UUID regeneration and safe retry. The saved WKO thereafter retains that physical identity and remains immutable under W002-STOR-017.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-017,Saved Work Orders are immutable artifacts,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"After a Work Order TXT artifact is saved, Data Sculptor shall not edit, overwrite, or rename that saved Work Order in place. Changing analytical instructions requires saving a new Work Order artifact with a new governed physical identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018,Work Order alias is immutable WKO content and governed MAP metadata,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A human-facing Work Order name is required immutable Work Order content for every executable/saved WASM-002 WKO, not separately editable browser metadata. The canonical declaration is WORK ORDER AS ""<alias>"" under W002-STEPS-001.1. The quoted alias must be non-empty UTF-8 text and may contain spaces and ordinary phrase punctuation subject to the governed string-literal rules. After the WKO TXT artifact is saved, Data Sculptor shall not edit the alias in place. Changing the alias, analytical instructions, or comments means creating and saving a new immutable WKO with a new governed physical identity. The physical WKO filename/UUID remains execution identity; the alias is human-facing metadata for display and governed name resolution. The browser must not maintain a separate mutable Description field or hidden description store. The alias declared by the WKO is also represented in the current governed WKO MAP under W002-STOR-018.1 through W002-STOR-018.4.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.1,The existing MAP class includes a distinct WKO alias-registry profile,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Revision BB does not add a new semantic artifact class. The existing MAP class has two explicitly distinguished governed profiles: Store MAP — the existing exact eight-column Store/RID/COL snapshot governed by W002-STOR-019 through W002-STOR-019.12; WKO MAP — a complete immutable snapshot that maps saved Work Order aliases and lifecycle status to exact immutable WKO filenames. Profile classification is determined by the exact CSV header before profile-specific validation. A valid WKO MAP must never be treated as an eligible Store MAP, and a Store MAP must never be treated as a WKO alias registry. Both remain visible flat-Suitcase MAP artifacts under the canonical immutable filename grammar.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.2,WKO MAP schema and serialization are exact and deterministic,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The canonical WKO MAP is UTF-8 CSV without BOM, using LF record termination, with exactly this three-field header: wko_status,wko_alias,wko_filename Each row identifies one immutable governed WKO represented in that registry snapshot. wko_status is exactly CURRENT or DEPRECATED . wko_alias is the exact mandatory non-empty alias declared by that WKO's WORK ORDER AS clause. wko_filename is the exact governed physical WKO filename. Rows are written deterministically by ascending exact UTF-8 byte order of wko_filename . Duplicate wko_filename rows are invalid. Standard governed CSV quoting applies. For any exact wko_alias value, at most one row may have wko_status=CURRENT ; zero or more older rows for that same alias may have wko_status=DEPRECATED . Alias resolution uses the CURRENT row only. A WKO represented by a DEPRECATED row remains immutable historical evidence and is not renamed, rewritten, or deleted merely because its alias target was superseded. A WKO MAP containing more than one CURRENT row for the same exact alias is structurally invalid.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.3,Saving a WKO and publishing its WKO MAP binding is one governed save transaction,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Saving a new immutable WKO begins from the current structurally valid WKO MAP in the Suitcase, or an empty WKO registry if no structurally valid WKO MAP exists. Data Sculptor validates the draft, including its mandatory non-empty WORK ORDER AS alias and comment syntax, and checks the governed alias/lifecycle constraints before commit. F-02 alias-lifecycle decision: if no CURRENT row in the predecessor WKO MAP uses the new WKO's exact alias, the successor registry adds the new WKO as CURRENT . If exactly one CURRENT row already owns that exact alias, Data Sculptor must present exactly two analyst choices before registry commit: Replace alias target or Cancel . Replace alias target constructs the successor WKO MAP by changing the former owner's row to DEPRECATED and adding the newly saved WKO as the sole CURRENT row for that alias; any older DEPRECATED rows remain unchanged. Cancel leaves the predecessor WKO MAP authoritative and does not commit the pending WKO/WKO-MAP pair as a registry update. Data Sculptor must not silently replace the alias target, auto-suffix the alias, or choose between competing owners. A predecessor WKO MAP with more than one CURRENT row for the same alias is structurally invalid under W002-STOR-018.2 and cannot be used as save authority. The former CURRENT WKO and every prior WKO MAP remain byte-for-byte immutable after replacement. Supersession changes only the lifecycle metadata represented in the newly published successor WKO MAP; it does not edit, rename, delete, or rewrite the historical WKO artifact. F-14 WKO publication predicate: the new immutable Work Order is first written under the W002-STOR-023.1 SCR identity using the UTC, UUID and .txt extension intended for its final WKO identity. The complete candidate is closed, reopened and validated as a saved WKO: required common preamble, exactly one non-whitespace WORK ORDER AS alias, governed lexical/comment rules, and complete parse under exactly one current WASM-002 executable operation grammar. Only then may the candidate be renamed from SCR to WKO . Save-time current-registry, alias-lifecycle and lifecycle gates remain transaction preconditions. A valid promoted WKO is not yet alias-registry authority; the successor WKO MAP promotion remains the save-transaction commit point. The WKO is persisted as a new immutable governed WKO artifact and the complete successor WKO MAP is constructed under SCR , closed, reopened, and validated for WKO MAP structural validity : exact profile/schema, exact governed serialization, filename/profile rules, lifecycle-row constraints, and internal row constraints. Whether every referenced physical WKO file is presently visible is a separate registry-health/publication check and is not part of WKO MAP structural validity. For an ordinary successful save transaction, every WKO referenced by the successor registry must be present at publication. The successor WKO MAP is promoted to MAP last; that successful MAP promotion is the alias-registry commit point for the save transaction. The WKO and successor WKO MAP created by one successful save transaction use one shared canonical transaction UTC while retaining distinct UUIDs. If successor WKO-MAP structural validation, referenced-file publication checking, or publication itself fails, the save must not be represented as a successfully committed alias-registry update. Data Sculptor must roll back the new WKO out of committed WKO state where safely possible or retain visible non-authoritative SCR failure evidence and report the failure through Help. F-02 repair-only bootstrap and stale-registry Save boundary When the current WKO registry is repair-required under W002-STOR-018.4, Data Sculptor may save one ordinary visible immutable WKO whose sole semantic operation is exactly REPAIR WORK ORDER REGISTRY . That saved repair-only WKO may Run by its exact physical WKO filename even though it is not yet represented in the current WKO MAP. The WKO must be structurally valid under the predicate below, must contain exactly one mandatory non-empty WORK ORDER AS , and must contain exactly the governed registry-repair operation and no second operation. The exception does not grant alias-based Run authority. The repair WKO is invoked only by exact physical WKO filename. No other visible but unregistered WKO gains Run eligibility from this exception. The exception ends once registry repair successfully publishes the successor WKO MAP. This is the sole WASM-002 bypass of ordinary current-registry membership for Run eligibility. Because the registry is already stale, Save of the repair-only WKO does not claim that the WKO has been registered, does not commit an ordinary successor WKO MAP, and does not represent the stale registry as healthy. The new immutable WKO remains visibly unregistered until the repair operation successfully publishes the successor WKO MAP containing its row. Save does not silently perform registry repair. F-02 governed WKO structural-validity predicate A visible WKO is structurally valid for registry purposes only when all of the following hold: it is a regular root-level Suitcase file; its physical filename conforms exactly to the governed WKO filename grammar; its bytes are valid UTF-8; LF and CRLF physical line endings are accepted; a lone CR line ending refuses; its content parses completely under exactly one defined WASM-002 executable Work Order grammar; it contains exactly one mandatory non-empty WORK ORDER AS clause; its required common and operation-specific structural clauses are present in their governed order/cardinality; and unknown syntax or prohibited operation mixing causes invalidity/refusal. Structural validity is not runtime success. A structurally valid WKO remains a valid governed artifact even when a runtime precondition is currently false, such as a referenced source file being absent. Runtime preconditions are checked at Run. P3-10 repair-bootstrap timing: during REPAIR WORK ORDER REGISTRY , the saved repair-only WKO participates in the bounded discovery performed by that repair run. It is not first “discovered after success.” Its governed registration becomes durable only when the complete successor WKO MAP containing that WKO row is successfully committed. Discovery during the run and registration in the committed successor registry are distinct events. P2-03 WKO-registry chronology guard: before a save or registry-repair transaction publishes a successor WKO MAP, Data Sculptor establishes the truthful observed transaction UTC and compares it with the chronology predecessor defined by W002-STOR-018.4. The observed UTC must be strictly greater. Equal or earlier UTC refuses before the new WKO/WKO-MAP pair is committed; Data Sculptor must not fabricate a later timestamp, silently wait/retry, skip the predecessor, or select an older registry merely to make publication succeed. F-13 single-writer pre-commit guard: immediately before the successor WKO MAP promotion that would commit the alias-registry update, Data Sculptor re-resolves the current WKO-registry authority and compares the relevant governing state with the state from which this transaction was derived. If another writing context or external filesystem action has changed that relevant authority, the transaction refuses publication. It must not overwrite the newer registry, silently rebase the pending save, or choose an older registry to make the commit succeed. The existing rollback / attributable SCR recovery-evidence rules apply to any WKO or candidate bytes already produced. If the save later refuses and an SCR candidate or other attributable staged evidence cannot be safely removed/restored, W002-STOR-023.1 governs retained SCR evidence and its non-authority boundary; WASM-002 does not emit RCV. An unregistered final WKO left by a failure is a valid immutable WKO artifact but does not become current registry authority merely by existing; the WKO MAP remains authoritative.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-018.4,Current WKO MAP selection is based on structural validity; missing referenced WKOs make the registry repair-required,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"WKO MAP structural validity is distinct from registry health. A WKO MAP is structurally valid when the MAP artifact itself satisfies the governed WKO MAP profile/schema, serialization, filename/profile rules, lifecycle-row constraints, and internal row constraints. The present existence of every physical WKO file named by its rows is not part of WKO MAP structural validity. Only structurally valid WKO MAP artifacts participate in current-registry selection. Among structurally valid WKO MAPs, the one with the greatest canonical UTC millisecond timestamp is the current WKO MAP snapshot and therefore the current governed Work Order alias registry. If two or more structurally valid WKO MAPs share that greatest timestamp, current-registry selection must refuse rather than break the tie by UUID, discovery order, filesystem modified time, or directory order. Registry-snapshot authority is distinct from alias-target status inside that snapshot. After the current WKO MAP snapshot is selected, an alias resolves only to its exact row whose wko_status is CURRENT . Rows marked DEPRECATED remain visible historical registry evidence but are not alias-resolution targets. The registry must never use the greatest WKO filename UTC, filesystem modified time, or discovery order to choose between rows for an alias. More than one CURRENT row for the same exact alias makes that WKO MAP structurally invalid under W002-STOR-018.2. If a newer WKO MAP artifact is structurally malformed, it never becomes current. Data Sculptor uses the greatest earlier structurally valid WKO MAP, if one exists, and reports the malformed newer artifact through Help/evidence surfaces. A malformed newer WKO MAP does not itself make the selected earlier registry repair-required. The current WKO registry is repair-required exactly when the current structurally valid WKO MAP contains one or more rows whose referenced physical WKO files are missing from the Suitcase. Such a MAP remains current ; Data Sculptor must not silently fall back to an older WKO MAP merely because a referenced WKO is missing. This preserves the latest registry authority while making the damage explicit and reachable through the governed REPAIR WORK ORDER REGISTRY path. F-02 deterministic registry reconciliation REPAIR WORK ORDER REGISTRY reconciles the current WKO MAP against visible WKO artifacts in the Suitcase and constructs one complete successor WKO MAP deterministically: Remove every row from the successor whose referenced physical WKO file is missing. A missing WKO is never reconstructed, inferred, copied from history, or replaced automatically by a deprecated WKO. Discover visible structurally valid WKOs that are absent from the current WKO MAP. If no surviving CURRENT row owns a discovered WKO's exact alias, register that discovered WKO as CURRENT . If a surviving CURRENT row already owns that exact alias, register the discovered WKO as DEPRECATED ; existing current authority is not silently displaced. If two or more previously unregistered structurally valid WKOs share the same alias and no surviving CURRENT owner exists, register all of those discovered WKOs as DEPRECATED . Data Sculptor must not choose a winner by UTC, filename, UUID, directory order, discovery order, or filesystem modified time. The repair WKO itself participates in the same discovery and registration process during the repair run. Its registration becomes durable only when the complete successor WKO MAP is committed. Predecessor WKO MAPs and surviving WKO files remain immutable historical evidence. Successor rows remain serialized in ascending exact UTF-8 byte order of wko_filename under W002-STOR-018.2. Day 060 H-10 / BM-07 registry-repair change-set counts The registry-repair operation distinguishes the successor registry state from the change set produced by this repair Run . The Receipt's REGISTERED_CURRENT_* and REGISTERED_DEPRECATED_* fields describe only the latter. REGISTERED_CURRENT_COUNT is the exact number of previously unregistered structurally valid WKO files newly added by this repair Run with wko_status=CURRENT . REGISTERED_CURRENT_WKO_<INDEX>_FILENAME lists exactly those newly registered CURRENT WKOs, ordered by ascending exact UTF-8 filename bytes. REGISTERED_DEPRECATED_COUNT is the exact number of previously unregistered structurally valid WKO files newly added by this repair Run with wko_status=DEPRECATED . REGISTERED_DEPRECATED_WKO_<INDEX>_FILENAME lists exactly those newly registered DEPRECATED WKOs, ordered by ascending exact UTF-8 filename bytes. Surviving rows that were already present in the base WKO MAP are not counted in either REGISTERED_* total, even though they appear in the successor WKO MAP. Rows removed because their referenced WKO is missing are represented only by REMOVED_STALE_ROW_COUNT and the corresponding stale-WKO filename list; they are not also reflected in either registered count. The bootstrap repair WKO participates exactly like any other newly discovered structurally valid unregistered WKO. If the repair commits it, that exact WKO must appear in one and only one of the two registered filename lists according to the ordinary alias-ownership rules. These counts therefore answer “what did this repair register?” rather than “how many CURRENT/DEPRECATED rows exist in the resulting registry?”. F-02 Run eligibility and alias authority Run by human-facing alias resolves only to the sole CURRENT WKO for that alias. A registered CURRENT WKO may Run by exact physical WKO filename, subject to ordinary runtime preconditions. A registered DEPRECATED WKO may also Run by exact physical WKO filename, subject to ordinary runtime preconditions, to support deliberate historical reproduction. An unregistered WKO may not Run merely because its file is visible, except for the single bounded repair-only bootstrap in W002-STOR-018.3. The browser may use the current structurally valid WKO MAP to show human-facing Work Order aliases together with read-only CURRENT / DEPRECATED lifecycle state while keeping exact physical WKO filenames visible/inspectable. Future Work Order composition may use the same registry to resolve a non-empty alias to exactly one immutable WKO artifact through its sole CURRENT row. This requirement does not pull deferred Work Order invocation/orchestration grammar into WASM-002; it establishes the governed alias-registry selection, lifecycle, and repair boundary that later composition can depend on. F-08 REPAIR WORK ORDER REGISTRY Work Order structure: SUITCASE: .
WORK ORDER AS ""Repair Work Order Registry""
REPAIR WORK ORDER REGISTRY After the common preamble, REPAIR WORK ORDER REGISTRY is the sole semantic operation clause and is terminal. It takes no analyst-supplied SOURCE , Store MAP , alias-mutation list, column selector, conversion source, or catalog clause. Its bounded unregistered-repair bootstrap remains governed by W002-STOR-018.3. The DS-STEPS phrase is distinct from the Receipt operation token REPAIR_WORK_ORDER_REGISTRY . P2-03 chronology predecessor: for any WKO-registry successor publication, the chronology predecessor is the unique current structurally valid WKO MAP immediately before that publication transaction. It is the MAP selected by the current-registry rule above, not an older registry used for inspection and not a filesystem-modified-time surrogate. If no structurally valid WKO MAP exists and the operation is legitimately establishing the first governed registry state, there is no predecessor UTC. Future-dated current WKO MAP: a structurally valid current WKO MAP whose governed UTC is later than truthful observed host UTC remains the current registry; the timestamp conflict does not by itself make the MAP malformed or repair-required. Successor WKO-MAP publication is blocked until the monotonic UTC precondition can be satisfied. Help must identify the exact blocking WKO MAP and explain the analyst-owned exits: correct an incorrect host clock; wait/rerun after truthful time advances beyond the predecessor; or, when the analyst deliberately determines that the active future-dated WKO MAP should no longer govern the Suitcase, move that exact MAP out of the active Suitcase root and reopen/rescan. That filesystem action is not a Data Sculptor repair operation. It may expose an older structurally valid WKO MAP as current, and restoring the moved future-dated MAP to the active Suitcase may make it current again under the ordinary greatest-UTC rule.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019,Store state is preserved as visible immutable MAP history,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Each valid WASM-002 MAP is one complete immutable Store snapshot in the same flat Suitcase. Store state is not stored in hidden browser persistence and is not represented by a mutable well-known singleton. Each successful Store-establishing materialization or later governed Store-metadata/materialized-column update publishes a new immutable MAP under the canonical __DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv identity grammar. Earlier MAP artifacts remain visible history and are not overwritten or deleted merely because a newer Store state is created. Day 057 CAT reconciliation: the one-Store-per-MAP invariant is unchanged. A collection of independently MAP-governed Stores may additionally be summarized by a governed CAT Store Catalog for collection-level discovery and orientation. CAT does not govern Store semantics, lineage, health, repair, inheritance, or current-MAP selection. MAP remains authoritative for each Store.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.1,A Work Order may explicitly select at most one Store MAP,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Each governed Work Order may explicitly identify at most one valid immutable Store MAP as its Store/inheritance base. If more than one MAP is explicitly specified, Data Sculptor must refuse before Store resolution, alias resolution, materialization, or mutation. An explicitly named valid MAP binds the run to exactly the Store identified by that MAP's rid_filename and overrides automatic Store-MAP discovery even when newer MAPs for that Store or other Stores exist.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.2,"Without an explicit MAP, materialization performs Store-aware MAP inheritance",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"If a materializing Work Order does not explicitly identify a MAP, Data Sculptor must compare the exact Work Order SOURCE filename with the one common exact source_filename carried by every row of each routable Store lineage's structurally valid Store MAP. That common source_filename is the Store lineage's source identity for WASM-002 routing. The redundant ninth Store-source field from the superseded profile is not part of the canonical Store MAP. P3-07 routing term: for automatic source routing, a routable Store lineage is a Store lineage for which at least one structurally valid Store MAP exists, regardless of whether the lineage currently evaluates VALID , DEGRADED , or INVALID . Routing discovery must use this term rather than the ambiguous word eligible . Store health is evaluated only after the lineage has been discovered. If no routable Store lineage exists for the exact source filename, Data Sculptor may establish a new Store with a new RID and first Store MAP only if the active Suitcase contains no structurally malformed Store-MAP-class artifact . If exactly one routable Store lineage exists, Data Sculptor routes to that lineage. If its current state permits materialization, the current governed Store MAP is the inheritance base; if its current state is DEGRADED or INVALID , ordinary materialization refuses under the damaged-lineage rules below. If more than one distinct routable Store lineage exists for the same exact source filename, automatic inheritance must refuse rather than guess which Store the analyst intended. The analyst must explicitly select one permitted MAP. All-Store-MAPs-damaged guard: if exact- SOURCE routing finds no routable Store lineage but one or more structurally malformed Store-MAP-class artifacts are present in the active Suitcase, ordinary materialization must refuse before creating a new Store or RID. Data Sculptor must not infer that the absence of a structurally valid Store MAP proves that no prior Store lineage existed. Help must identify the malformed Store MAP artifact or artifacts that caused this guard. A damaged MAP therefore cannot silently turn Store damage into permission to create a replacement lineage. Store lineages are distinguished by their governed lineage identity. Current-MAP selection and Store-health evaluation are separate governed questions under this requirement and W002-STOR-019.10. If two or more structurally valid current MAP candidates for the one routed Store share the greatest canonical UTC millisecond timestamp, automatic inheritance must refuse rather than infer chronology from UUID, directory order, filesystem modified time, or discovery order. F-03 canonical evaluated Store-health states Store health is evaluated from the current structurally valid Store MAP and the presently visible governed artifacts it references, using the applicable validation tier in W002-STOR-019.10. WASM-002 has exactly three evaluated Store-health states: VALID — the current Store MAP is structurally valid; the referenced RID is valid; and every mapped non-RID COL is valid. DEGRADED — the current Store MAP is structurally valid; the referenced RID is valid; and one or more mapped non-RID COL artifacts are missing or invalid. INVALID — the current Store MAP is structurally valid, but its referenced RID is missing or invalid. There is no fourth ABANDONED Store-health status in WASM-002. F-03 status is evaluated, not persisted VALID , DEGRADED , and INVALID are evaluated states. WASM-002 does not write or maintain a mutable persisted Store-status flag. While a Store evaluates INVALID , Data Sculptor exposes no governed Store-recovery operation for that Store and never regenerates, substitutes, or infers a replacement RID. If the exact governed RID physical identity becomes visible again through analyst-owned external restoration and passes the validation tier required by the next operation, the Store is re-evaluated from the visible governed artifacts and may become VALID or DEGRADED . That is re-evaluation, not RID recovery by Data Sculptor. F-03 strict DEGRADED operation gate When a Store evaluates DEGRADED , REPAIR MAP is the only enabled Store mutation operation for that lineage . ordinary materialization into that Store refuses; extension with new columns refuses; alias mutation refuses; transformations and other Store mutations refuse; read-only Help, Inventory, status/orientation surfaces, CAT orientation, and evidence inspection remain available subject to their own contracts. F-03 no damaged-lineage fork If exact SOURCE routing identifies a lineage whose current Store evaluates DEGRADED , ordinary materialization refuses and directs the analyst to the governed REPAIR MAP path. If the routed Store evaluates INVALID , ordinary materialization refuses and WASM-002 provides no RID-recovery path. Neither condition permits Data Sculptor to treat the source as unseen or establish a replacement Store with a new RID for that routed lineage. Damaged-lineage routing: exact SOURCE routing must not treat a known damaged lineage as unseen merely because its current Store state cannot accept ordinary materialization. If routing identifies a DEGRADED or INVALID lineage, ordinary materialization refuses rather than silently creating a replacement Store for that same routed lineage. Help duty for an all-COLs-broken DEGRADED lineage: when the current structurally valid Store MAP references a valid RID but every mapped non-RID COL is missing or invalid, REPAIR MAP cannot publish a zero-COL successor and must refuse. Help must identify the exact blocked Store lineage and current MAP, then explain these analyst-owned exits: (1) externally restore at least one governed COL artifact under its original physical filename; Data Sculptor then applies the governed validation tier required by the next operation before the artifact can re-enter use, so Store health can be re-evaluated and REPAIR MAP may become available; (2) rename the analyst-owned source and materialize the renamed source to deliberately begin a new Store lineage with a new RID, without repairing, replacing, or erasing the damaged lineage; or (3) retire the damaged lineage from active Suitcase routing by moving all Store MAP artifacts belonging to that lineage out of the Suitcase root. Help must warn that moving only the latest MAP is insufficient because an older structurally valid MAP could otherwise become current. Help duty for an INVALID lineage: when the current structurally valid Store MAP references a missing or invalid RID, Help must identify the exact blocked Store lineage and current MAP, state that WASM-002 does not silently regenerate or substitute a RID as part of ordinary materialization, and explain these analyst-owned exits: (1) externally restore a governed RID artifact under its original physical filename; Data Sculptor then applies the governed validation tier required by the next operation before the artifact can re-enter use, so Store health can be re-evaluated; (2) rename the analyst-owned source and materialize the renamed source to deliberately begin a new Store lineage with a new RID while leaving the damaged lineage untouched; or (3) retire the damaged lineage from active Suitcase routing by moving all Store MAP artifacts belonging to that lineage out of the Suitcase root, again warning that moving only the latest MAP is insufficient. Renaming the source and retiring a lineage are distinct analyst choices. Renaming preserves the damaged lineage in the Suitcase and creates a separate lineage under a different source identity. Moving all lineage MAPs out removes that lineage from active routing while preserving the moved artifacts wherever the analyst chooses to keep them. These are analyst filesystem actions, not new Data Sculptor recovery operations. Assurance boundary: exact source-filename matching in this rule is a Store-routing/orientation mechanism, not proof that an analyst-owned source has identical bytes or row order across separate sessions. Ordinary WASM-002 materialization must not silently represent that filename equality as cryptographic continuity. P3-08 CVT source-identity boundary: a governed CVT is a new immutable source artifact whose Store-routing source identity is its exact physical CVT filename. Two different CVT filenames are different source identities even when both conversions began from analyst-owned files having the same original filename. WASM-002 does not carry the analyst-owned pre-conversion filename forward as hidden Store-lineage identity and does not infer continuity between separate CVT artifacts. First materialization of a CVT therefore establishes or routes only by that exact CVT filename under the normal rules above. P2-03 current Store-MAP chronology: within one routable Store lineage, the current structurally valid Store MAP is the unique structurally valid MAP carrying the greatest canonical UTC millisecond timestamp. If two or more structurally valid MAPs share that greatest timestamp, current authority is ambiguous and selection refuses rather than using UUID or discovery order. This current MAP is also the lineage's chronology predecessor for any new successor publication, even when the operation explicitly derives its requested new state from an older historical MAP. F-15 exact-source comparison and routing domain: the Work Order SOURCE value and each Store MAP's common source_filename are compared by exact Unicode scalar-value sequence under PB-STOR-010, with no case folding or Unicode normalization. Automatic routing compares only routable Store lineages whose structurally valid Store MAPs participate in that exact-source routing decision. Unrelated Suitcase files, non-Store artifact classes, filesystem enumeration order, and arrival order are outside the routing comparison domain and cannot create or remove a source match.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.3,"Any valid historical Store MAP may be selected explicitly with MAP ""<filename>""",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A governed Store-aware Work Order may explicitly identify any one structurally valid immutable Store MAP present in the Suitcase, including an older snapshot when newer MAPs for that Store also exist. The canonical clause is: MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv"" The quoted value must be the exact physical filename of one valid Store MAP. A WKO MAP profile, missing file, malformed MAP, or other MAP profile is invalid for this clause. Data Sculptor uses exactly the named Store MAP rather than silently substituting a later one. For materialization, SOURCE ""..."" remains required to identify the source file being read; the optional MAP ""..."" clause occurs immediately after SOURCE and before KEEP , overrides automatic Store-MAP inheritance, and supplies the exact Store-state base. The Work Order's exact SOURCE filename must match the selected lineage's governed source identity under the frozen source/Store compatibility rules or validation refuses. For an alias-only UPDATE ALIASES Work Order, MAP ""..."" may itself be the Store-state selector and no source-data read is required. Historical-MAP health gate. Explicit selection of a current or historical Store MAP never bypasses current Store-lineage health. The selected lineage must currently evaluate VALID , and every RID/COL binding referenced by the named MAP must currently be present and valid. If either condition fails, Data Sculptor refuses the operation. An older MAP cannot be used to hide present lineage damage. The same rule applies when UPDATE ALIASES uses a historical Store MAP as its base. Once selected, the exact MAP identity, Store RID binding, Store alias, RID alias, and materialized-column mapping state remain fixed for the governed run. The MAP filename is execution input, not a friendly alias. P2-03 base-versus-predecessor distinction: an explicitly selected historical MAP is the operation's base MAP —the Store snapshot from which requested new state is derived. It does not become the chronology predecessor merely because it was selected. If the operation publishes a new Store MAP, the chronology predecessor remains the Store lineage's current structurally valid MAP immediately before publication. The new transaction UTC must be strictly greater than that current MAP UTC. This preserves one chronological MAP history rather than creating a branch from the historical base. F-21 current-state consequence: merely selecting or validating a historical Store MAP does not change Store authority. If the governed run refuses or otherwise publishes no successor Store MAP, the lineage's pre-run current MAP remains current. If the run successfully publishes a successor derived from a historical base, that new MAP enters the same single chronological history and ordinary greatest-governed-UTC current-state selection applies. Because successor publication already requires a truthful transaction UTC strictly greater than the pre-publication chronology predecessor, the successfully published successor becomes current. The explicitly selected historical base and the formerly current MAP both remain immutable historical evidence. This behavior is deliberate state derivation, not a branch, rollback-in-place, overwrite, or mutation of prior MAPs. The operation base records which Store snapshot supplied the requested starting state ; chronology records when the new governed state was published . Those are distinct facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.4,"Store MAPs are complete snapshots, not delta logs",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Each valid Store MAP represents one complete usable Store metadata and materialized-column mapping state for that version. It must not require replaying a chain of earlier MAP files merely to reconstruct the Store's current RID binding, aliases, or materialized-column mappings. A newer MAP created from an inherited older MAP contains the complete resulting Store snapshot after applying the governed Work Order's successful changes.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.5,Materialization or governed Store metadata mutation emits one successor MAP,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When a governed Work Order materializes one or more columns or requests governed Store/RID/COL alias changes, Data Sculptor begins from the applicable governed Store-state base. Ordinary materialization uses the explicitly selected MAP or Store-aware automatic inheritance under W002-STOR-019.2. A new Store begins from newly established Store/RID metadata plus an empty materialized-column mapping set before requested materialization is applied. All successful updates in that Work Order are applied to one in-memory complete Store snapshot. The complete deterministic successor-MAP bytes must first be written under a governed SCR candidate identity, closed successfully, reopened, and fully validated while still an SCR candidate. Only a complete validated candidate may be promoted by host rename into one new immutable MAP artifact. The inherited MAP remains unchanged. The successful SCR -to- MAP rename is the Store-state commit point. A failed run must not create a valid successor MAP; a malformed, incomplete, or unpromoted MAP candidate remains visible non-authoritative SCR evidence rather than Store state. RID reconstruction/replacement is not a WASM-002 Store-mutation path. P2-03 successor publication precondition: before any final RID/COL/MAP promotion for a successor Store-state transaction, Data Sculptor identifies the lineage's chronology predecessor and establishes one truthful observed host transaction UTC. For an existing lineage, that UTC must be strictly greater than the current structurally valid Store MAP UTC, regardless of whether the Work Order's base MAP is current or historical. Equal or earlier observed UTC refuses publication; no artificial +1 ms , sleep-and-retry loop, UUID tie-break, older-predecessor fallback, or branch chronology is permitted. The chronology predecessor remains current and unchanged. Future-dated current Store MAP: a structurally valid current MAP with a governed UTC later than truthful observed host UTC is a clock-order conflict, not by itself Store corruption. It remains current and successor publication is blocked. Help must identify the exact blocking MAP and explain the analyst-owned exits: correct an incorrect host clock; wait/rerun after truthful time advances beyond the predecessor; or deliberately move that exact future-dated current Store MAP out of the active Suitcase root and reopen/rescan. Moving it is an analyst filesystem action, not a governed Data Sculptor mutation. An older structurally valid MAP may then become current; returning the future-dated MAP may restore its authority under the ordinary greatest-UTC rule. F-13 single-writer pre-commit guard: immediately before the final successor Store-MAP promotion, Data Sculptor re-resolves the relevant current Store authority and exact-source routing state on which the transaction depended. For an existing lineage, the current chronology predecessor must still be the authority against which the transaction was prepared; for a new-Store transaction, no newly established routable lineage may have appeared that changes the routing decision. If relevant governed state changed while the transaction was in flight, publication refuses. Data Sculptor must not overwrite the newer authority, silently rebase onto it, create a competing branch, or report success. Any RID/COL/candidate artifacts already produced are handled by the existing rollback / attributable recovery-evidence rules and do not become committed Store membership without the final valid MAP binding. F-21 historical-base publication rule: when the applicable Store-state base is a valid historical MAP rather than the pre-run current MAP, the complete successor snapshot is still derived from that explicitly selected base plus the current Work Order's requested changes. Publication does not silently merge later state from the formerly current MAP back into the successor. Therefore mappings or aliases introduced only after the selected historical base may be absent from the new successor when the requested operation does not recreate them. That is the deliberate consequence of using the historical base, not data loss caused by an implicit merge. The pre-run current MAP remains the chronology predecessor solely for monotonic publication ordering and stale-authority protection. Successful publication leaves both the historical base and the formerly current MAP byte-for-byte unchanged, publishes one new immutable successor MAP in the same lineage, and makes that successor current under the ordinary chronology rule. No branch identifier, hidden branch state, overwrite, in-place rollback, or automatic rebase is created.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.6,Store MAP CSV schema is exactly eight columns,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 Store MAP is a CSV whose header row is exactly: store_alias,rid_filename,rid_alias,source_filename,source_column_number,source_header,alias,column_filename Each data row describes one current logical materialized-column mapping: store_alias — current human-facing Store name; rid_filename — exact immutable governed RID artifact filename that physically anchors this Store lineage; rid_alias — current human-facing RID name; source_filename — exact visible source filename common to every row in this one-Store MAP and therefore the Store source identity; source_column_number — 1-based source-column ordinal; source_header — exact decoded CSV header value after governed parsing; alias — current human-facing COL name; and column_filename — exact physical governed COL artifact filename represented by the row. Every row in one valid Store MAP must carry the same exact rid_filename and the same exact source_filename . A MAP that mixes RID lineages or source filenames is invalid. The logical source-column key for COL alias continuity remains the exact triple (source_filename, source_column_number, source_header) . The Store is physically identified by the repeated exact rid_filename , not by mutable aliases. F-05/P2-01 reconciliation: the superseded redundant Store-source column is removed. One Store MAP represents exactly one Store lineage and exactly one source identity, so the common source_filename supplies the required source identity without a second Store-source field. P3-06 identity-evidence boundary: this eight-column MAP profile intentionally records governed physical filenames and mapping metadata, not per-artifact byte lengths, row counts, digests, or historical-content fingerprints. A MAP therefore cannot prove that a same-named RID or COL restored later is byte-for-byte identical to the earlier artifact. WASM-002 must not make that claim unless separate authoritative fingerprint evidence exists outside this MAP profile. P2-04 schema consequence: no byte-length, RID- N , digest, or per-artifact fingerprint columns are added to the eight-column Store MAP to close restoration validation. The MAP remains compact relationship/state metadata. Stronger byte-identity assurance remains the responsibility of explicit fingerprint evidence outside ordinary WASM-002 Store governance.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.7,Source headers become default COL aliases on first materialization,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When a logical source column is materialized and its exact logical key does not already exist in the inherited Store MAP, its default COL alias is its operational column name . For an exact decoded source_header of at most 1,024 Unicode scalar values, the operational name is that exact header text. For an exact decoded source_header longer than 1,024 scalar values, the operational name begins as Column <LETTERS> from the column's 1-based physical source ordinal (for example Column A , Column Z , Column AA , through Column XFD ). The exact source_header remains unchanged in the Store MAP and physical COL header; the operational name exists only to provide a bounded human-facing/default-alias value. HEADER selection continues to match the exact decoded source header under W002-STEPS-002. If an oversized-header base fallback Column <LETTERS> would collide in the complete successor alias namespace, Data Sculptor deterministically tries Column <LETTERS> [<ordinal>] ; if that also collides, it appends -2 , -3 , and so on until the first available exact value is found. This is the only automatic alias-suffix rule in WASM-002. A short exact source-header default that is empty or collides still refuses unless the Work Order supplies an explicit valid alias; Data Sculptor must not suffix or rewrite it. If the same Work Order supplies an explicit alias for a newly materialized column, the explicit governed alias overrides the operational default and must pass the ordinary exact uniqueness/shadowing rules without automatic suffix repair. For a previously materialized COL, RESET COL ""<reference>"" ALIAS restores this same deterministic operational default from the exact recorded source_header and physical source ordinal. An oversized recorded header therefore restores its deterministic fallback/disambiguated operational name rather than inserting the potentially very long exact header into the alias field. A short empty/colliding source-header default still refuses rather than inventing a substitute.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.8,"Ordinary rematerialization preserves Store metadata, inherited RID, and inherited COL alias",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"If a newly materialized column's exact logical key already exists in the inherited Store MAP, Data Sculptor must preserve that row's current COL alias unless the Work Order explicitly changes it. The successor MAP replaces only that logical row's column_filename with the newly created physical COL artifact filename. Ordinary rematerialization must preserve the inherited Store's exact common source_filename and rid_filename . It must not silently create a different Store, replace the Store RID, revert a user-facing Store/RID alias, or revert a COL alias to its source header. Every row in the successor MAP continues to carry that same common Store source_filename . WASM-002 has no executable operation that replaces rid_filename while preserving the same Store lineage. A different RID filename therefore cannot be introduced as ordinary successor-state continuity in this build.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.9,Store MAP serialization is deterministic UTF-8 CSV,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Store MAP CSV files are encoded as UTF-8 without BOM and use LF ( 0x0A ) record termination. The exact eight-field header in W002-STOR-019.6 is written once as the first row. Fields use standard CSV quoting semantics: a field containing comma, double quote, CR, or LF is enclosed in double quotes, and embedded double quotes are doubled. No locale-dependent formatting is permitted. Every data row in one MAP must contain byte-for-byte identical values for store_alias , rid_filename , rid_alias , and source_filename . Mapping rows are written deterministically by ascending numeric source_column_number , then ascending UTF-8 byte order of source_header . Because one valid Store MAP has exactly one common source_filename , that field is not needed as a leading row-sort discriminator. Two rows with the same logical source-column key (source_filename, source_column_number, source_header) are invalid.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.10,Only a complete validated Store MAP is eligible for inheritance,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A canonical MAP filename alone does not make a file a structurally valid Store MAP. For Store-MAP structural validity , the MAP artifact itself must be readable as complete UTF-8, have the exact eight-column schema, parse deterministically, satisfy Store-level consistency, lineage, deterministic row-order, mapping-key, and alias constraints, and carry structurally valid governed RID/COL filename bindings. The present health of the referenced RID/COL artifacts is a separate question and does not determine whether the MAP itself is structurally valid. A Store MAP remains part of governed Store history when its own bytes, schema, lineage facts, and deterministic structural rules are valid even if a referenced RID or COL later becomes missing or invalid. Referenced-artifact damage therefore does not make the current structurally valid Store MAP disappear and does not by itself cause fallback to an older MAP. F-03 current Store MAP selection Current-state selection is performed independently within one exact Store lineage. Only structurally valid Store MAP artifacts participate. Among those MAPs, the ordinary frozen chronology rule selects the unique structurally valid MAP with the greatest canonical UTC millisecond timestamp. A structurally malformed newer MAP is never current. If a newer canonical MAP artifact is structurally malformed, Data Sculptor uses the greatest earlier structurally valid Store MAP in that same lineage, if one exists, and reports the malformed newer artifact through governed Help/evidence surfaces. This fallback applies to structural MAP invalidity only. It does not apply merely because a structurally valid current MAP references a damaged RID or COL. If two or more structurally valid MAPs share the greatest canonical UTC millisecond timestamp, current authority is ambiguous and selection refuses rather than breaking the tie by UUID, discovery order, directory order, or filesystem modified time. P3-07 routing distinction: Store-MAP inheritance eligibility is stricter than lineage discovery. A Store lineage participates in exact- SOURCE routing when at least one Store MAP in that lineage is structurally valid, even if the current Store later evaluates DEGRADED or INVALID . Referenced RID/COL health is evaluated after routing and may cause refusal; it must not make an already discoverable lineage disappear. For successor publication, after the required RID/COL physical promotions have succeeded, Data Sculptor uses the already-established publication-transaction UTC and allocates a MAP-specific UUID before opening the complete deterministic MAP CSV under its governed SCR candidate identity. The SCR filename therefore already carries the exact UTC, UUID, and .csv extension intended for the final MAP identity. The candidate is closed successfully, reopened, and validated for bytes, schema, Store-level consistency, aliases, RID binding, COL bindings, deterministic row order, and all other MAP eligibility rules while it remains SCR . Only after that validation succeeds may Data Sculptor promote the candidate by host rename that changes only the three-letter semantic class token from SCR to MAP . The candidate bytes, UTC, UUID, and extension must remain unchanged across promotion. The successful rename is the publication/commit point. If validation or rename fails, no successor MAP becomes eligible/current; the candidate remains or is retained as visible non-authoritative SCR evidence. Store-aware automatic selection therefore continues to use the greatest earlier valid MAP in the same Store lineage, if one exists, while Help reports the failed candidate/publication rather than silently treating it as current state. P3-06 governed artifact-validation tiers. Store-health status and full content validity are distinct assurances. The following two tiers are normative for WASM-002: Tier 1 — Store-health structural validation. Used for routine Store status, source routing, historical-MAP health gates, inheritance decisions that do not consume analytical artifact contents, and alias-only maintenance. The selected Store MAP itself is fully parsed and structurally validated because it is the compact authority for the snapshot. A referenced RID passes Tier 1 only when the exact MAP-bound governed RID filename is present and readable, the bytes begin with exactly one UTF-8 BOM, the first logical record is a canonical N=<value> header, the final byte is LF, and the physical byte length equals the deterministic length implied by the canonical RID representation for that declared N . Tier 1 does not rescan every RID data record merely to perform routine status or alias work. A referenced COL passes Tier 1 only when the exact MAP-bound governed COL filename is present and readable, begins with exactly one UTF-8 BOM, exposes the canonical one-column CSV header whose decoded value exactly equals the MAP row's recorded source_header , and ends with LF. Tier 1 does not stream every COL value merely to establish routine Store health. Tier 2 — full artifact validation. Used whenever an operation actually consumes RID/COL contents, for complete validation of newly created candidates before commit, and by REPAIR MAP after the repair operation has been validly entered. A RID passes Tier 2 only when a full stream proves the canonical N=<value> header, exactly N data records, and exact ordered values 1..N . A COL passes Tier 2 only when a full stream proves canonical one-column CSV encoding/serialization, the exact expected header, and exactly N logical data records aligned to the Store RID. VALID , DEGRADED , and INVALID are Store-health states evaluated from the governed current snapshot using the required validation tier; they are not claims of cryptographic historical identity. When REPAIR MAP is validly invoked, it must perform Tier 2 validation of the RID and every mapped COL that would survive into the successor. The deterministic repair result removes exactly the mapped COL bindings that fail that Tier 2 check, subject to the separately frozen refusal when no mapped COL would remain. Two implementations presented with the same bytes must therefore identify the same repair set. External restoration boundary: a file placed back under an original governed RID/COL physical filename may re-enter use only when it passes the validation tier required by the operation. Filename equality plus governed validation is sufficient for operation eligibility under this WASM-002 boundary; it is not proof that the restored bytes are the historical original bytes. Stronger historical-byte identity requires separate authoritative fingerprint evidence. P3-10 terminology boundary: Store-state repair is REPAIR MAP . Work Order alias-registry repair is REPAIR WORK ORDER REGISTRY . These are distinct governed operations and the integrated specification must not describe a Store REPAIR MAP Work Order as a “registry-repair Work Order.” This corrects wording only; it does not change either operation's frozen semantics. F-08 / F-03 REPAIR MAP Work Order structure and target precondition: SUITCASE: .
WORK ORDER AS ""Repair Crime Store""
MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv""
REPAIR MAP Exactly one MAP ""<filename>"" clause is mandatory. It names the exact physical filename of one structurally valid Store MAP. At Run time, that named MAP must be the current structurally valid Store MAP for exactly one lineage and the target Store must currently evaluate DEGRADED . A historical Store MAP, WKO MAP, missing MAP, malformed MAP, ambiguous equal-latest current state, MAP from an unsupported profile, or target Store that does not evaluate DEGRADED refuses. No SOURCE , Store/RID/COL alias selector or mutation, KEEP , materialization, conversion, Inventory, registry repair, cataloging, or composition clause is supplied in the same WKO. The analyst selects the Store by exact current Store MAP identity; Data Sculptor determines which mapped non-RID COL bindings are broken. The terminal DS-STEPS clause is REPAIR MAP ; the Receipt operation token is separately REPAIR_MAP . P2-03 monotonic eligibility boundary: structural validity/eligibility and chronology are separate. A structurally valid future-dated Store MAP remains a structurally valid MAP and participates in current-state selection. It is not demoted merely because the host clock is presently earlier. The monotonic guard applies when publishing a successor: truthful observed transaction UTC must be strictly greater than the chronology predecessor UTC before any successor state may commit. P2-04 closure — validation depth is now complete. The Tier-1/Tier-2 rules in this requirement are the complete WASM-002 oracle for deciding whether a MAP-bound RID/COL is sufficiently valid for the operation being attempted. Tier 1 is intentionally bounded and is used only by operations that do not consume RID/COL analytical contents. Tier 2 is a full streaming validation and is mandatory before an operation relies on RID/COL contents, for newly created candidates before commit, and for REPAIR MAP . REPAIR MAP determinism. Once a valid REPAIR MAP operation is entered, Data Sculptor performs Tier 2 on the Store RID and on every mapped COL. The repair successor removes exactly those mapped COL bindings whose physical COL artifacts fail Tier 2, preserves exactly those that pass Tier 2, and still refuses if zero mapped COL bindings would remain. No shallower Tier-1 result may decide the repair set. F-03 repair semantics: after target validation, Data Sculptor confirms the named MAP is current for exactly one Store lineage, confirms the referenced RID is valid, identifies every mapped non-RID COL that is missing or invalid under the required repair validation tier, preserves every valid COL binding unchanged, removes exactly the broken COL bindings from the successor candidate, preserves the exact Store lineage RID identity and remaining Store/RID metadata, validates the complete successor MAP candidate, and publishes the successor only if every repair gate succeeds. REPAIR MAP does not reread or regenerate the source CSV, rematerialize a lost COL, regenerate the RID, or edit the predecessor MAP in place. F-03 all-COLs-broken refusal: if removing the broken bindings would leave zero COL mapping rows, REPAIR MAP refuses. No zero-COL Store MAP is introduced, no special anchor row is invented, no successor MAP is published, and the Store remains DEGRADED . The existing current structurally valid MAP and RID continue to anchor the visible lineage. Identity boundary. Passing Tier 1 or Tier 2 proves only that the currently visible file under the exact governed filename satisfies the applicable WASM-002 validation contract. It does not prove that those bytes are historically identical to bytes previously present under that filename. Cryptographic historical-byte identity belongs to separately governed fingerprint evidence rather than ordinary Store health. F-15 reference-bounded eligibility: Store-MAP structural validity and inheritance eligibility are determined from the MAP artifact itself plus the governed artifacts and values that the MAP explicitly binds or that its profile explicitly requires for the validation tier being applied. Unrelated Suitcase files, unrelated Store lineages, WKOs, Receipts, Inventories, CAT/HLP/CER artifacts, analyst-owned files, directory enumeration order, and unrelated-file count cannot by their mere presence or later appearance make an already-published Store MAP eligible or ineligible. Alias-shadowing validation is a successor-publication check under W002-STOR-020; it is not a continuing ambient scan that retroactively invalidates historical MAPs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.11,The MAP-bound RID filename is the stable physical Store identity anchor in WASM-002,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"For WASM-002, Data Sculptor does not allocate a second permanent Store UUID in addition to governed RID/MAP evidence. The exact governed rid_filename created when the Store is established is the stable physical anchor used to distinguish that Store's MAP lineage from other Stores in the same Suitcase, and every ordinary successor MAP repeats it exactly. Within any one MAP, every row must repeat the same exact current rid_filename ; disagreement is invalid. Across WASM-002 successor MAPs, a different RID filename denotes a different Store row universe and must not be silently treated as same-Store continuation. A later PRD revision may define an explicit governed recovery transition if Red5Sorcery chooses to support replacement of a damaged RID while preserving logical continuity. No such transition is executable in WASM-002.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-019.12,First Store MAP has deterministic Store and RID aliases,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"When the first successful materialization establishes a Store, its first Store MAP must initialize store_alias to the exact common source_filename and rid_alias to the literal RID . Those are the deterministic Store and RID default aliases. A later alias-only Work Order may replace them with STORE AS ""<alias>"" and RID AS ""<alias>"" , clear them with CLEAR STORE ALIAS / CLEAR RID ALIAS , or restore these defaults with RESET STORE ALIAS / RESET RID ALIAS under W002-WKO-012.1 through W002-WKO-012.6. None of those operations changes the common source_filename , rid_filename , RID bytes, COL bytes, or prior MAP history.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-001,CAT is the governed collection-level Store Catalog artifact,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"WASM-002 shall define CAT as a governed Data Sculptor artifact class for cataloging a collection of CSV Stores inside one active Suitcase. CAT exists to let an analyst orient across many independently governed Stores without opening every MAP individually. The scaling invariant is: MAP governs locally; CAT orients globally. CAT is an index over governed Store state, not a replacement for MAP and not a second Store authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-002,CAT may reference many Stores while every MAP still governs exactly one Store,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"A CAT may contain entries for many Store lineages in the active Suitcase. Every MAP referenced by CAT still governs exactly one Store lineage under the frozen one-Store-per-MAP rule. CAT must not combine multiple Stores into one MAP, synthesize a shared Store state, or centralize Store semantics that remain governed independently by each Store's MAP lineage.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-003,CAT has one governed CSV representation and immutable snapshot identity,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The WASM-002 Store Catalog has one durable representation: UTF-8 CSV. WASM-002 shall not emit separate HTML and CSV companion CAT artifacts for one catalog snapshot. Each successful catalog publication creates one immutable governed artifact named exactly __DS__CAT__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv . A later catalog run publishes a new CAT snapshot; earlier CAT artifacts remain visible history and are not overwritten or deleted merely because a newer snapshot exists. For orientation, the directory may identify the newest structurally valid CAT snapshot by the canonical UTC token. If two or more structurally valid CAT artifacts share the greatest canonical UTC timestamp, the UI must not invent chronology from UUID, discovery order, or filesystem modified time; it must surface the ambiguity and may present the tied CAT artifacts together until a later governed catalog run publishes an unambiguous newer snapshot. F-14 publication: CAT is first written as __DS__SCR__<UTC>__<UUID>.csv using the UTC/UUID intended for the final CAT. The complete candidate must close, reopen, and validate the exact five-column schema, deterministic row ordering, row count and CSV serialization before the class token may be renamed to CAT . A failed candidate remains SCR/non-authoritative and must not be selected as a catalog snapshot.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-004,CAT CSV schema and row order are exact and deterministic,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The canonical CAT header row is exactly: store_alias,source_filename,rid_filename,map_filename,store_health Each data row describes one routable Store lineage using values derived from the authoritative current structurally valid Store MAP selected under the existing Store rules: store_alias — current human-facing Store identity; source_filename — the one common exact source filename carried by that Store MAP and used for Store routing; rid_filename — exact immutable governed RID filename that physically identifies the Store lineage; map_filename — exact current structurally valid Store MAP used to derive the row; and store_health — the Store health evaluated during this CATALOG STORES run, exactly one of VALID , DEGRADED , or INVALID . store_health is snapshot orientation metadata, not MAP health and not an independent health authority. If the Suitcase later changes, an older CAT row continues to report the health value observed when that CAT was created. CAT rows are sorted by ascending exact UTF-8 bytes of map_filename . The header is not part of that ordering.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-005,CAT is reconstructible and never becomes Store authority,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"CAT shall be reconstructible from authoritative Store MAP artifacts and the governed Store-health evaluation applied when CATALOG STORES runs. CAT must never be consulted to decide Store routing, inheritance, Store health, repair eligibility, current MAP selection, RID/COL validity, or whether a new Store may be established. If a CAT row conflicts with authoritative MAP/Store state, current governed state wins and the CAT is stale/inconsistent. A stale CAT remains an inspectable historical governed artifact but must not be treated as current Store truth. CAT is not automatically updated by materialization, repair, alias change, or any other Store-changing operation. The analyst creates a fresh catalog explicitly by running a new CATALOG STORES Work Order; success publishes a new immutable CAT snapshot and leaves earlier CAT snapshots visible history.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-006,CATALOG STORES is the standalone governed Work Order operation,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 Work Order form is: SUITCASE: .
WORK ORDER AS ""Catalog Stores""
CATALOG STORES CATALOG STORES is one standalone top-level operation. It is initiated only by an explicit analyst Work Order. No materialization, repair, alias update, conversion, or other governed operation automatically creates, rewrites, or refreshes CAT. The operation scans authoritative governed Store MAP state, evaluates each cataloged Store's current health, and publishes one CAT snapshot plus the normal canonical Receipt. It does not mutate any Store or MAP. It must not also request materialization, conversion, alias mutation, repair, Inventory, Work Order composition, or another consequential operation in the same WKO. The canonical Receipt operation token is CATALOG_STORES .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-007,CATALOG STORES derives one row per routable Store lineage from authoritative MAP state,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"The catalog scan shall identify every routable Store lineage using the same structurally-valid-MAP routing definition already frozen for WASM-002. For each routable lineage, Data Sculptor evaluates current Store health exactly under W002-STOR-019.2, using the current structurally valid Store MAP selected under W002-STOR-019.10 and the applicable validation tier, and records exactly one of VALID , DEGRADED , or INVALID . Catalog presence is orientation, not permission to perform another operation. Exactly one CAT row is emitted for each routable Store lineage, derived from that lineage's authoritative current structurally valid Store MAP and the Store-health result observed during this catalog run. If the complete authoritative collection state cannot be determined unambiguously, the operation must refuse rather than publish a knowingly incomplete or guessed CAT. CATALOG STORES is read-only with respect to all pre-existing Store, RID, COL, MAP, source, WKO, and other Suitcase artifacts. It does not repair or mutate them.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-008,CAT publication is all-or-refuse and historical CAT snapshots remain visible,W002-CAT,W002-CAT,WASM-002,UNDER REVIEW,—,"After the complete deterministic CAT row set is established, publication follows the governed all-or-refuse artifact path: write the candidate under governed scratch, close and reopen it, validate its exact filename, UTF-8/LF CSV structure, exact header, deterministic row count/order, and row references, then promote the final CAT artifact. The CAT is not successfully published until final promotion succeeds. A publication refusal leaves prior CAT snapshots and all Store/MAP state unchanged. The Receipt records whether the catalog entry count was established and whether a final CAT filename was published.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-001,CAT and MAP discovery reuse the existing Suitcase Directory,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,WASM-002 shall reuse the existing Data Sculptor Suitcase Directory for CAT and MAP discovery and inspection. A separate CAT/MAP browser panel shall not be added.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-002,CAT and MAP artifacts are first-ranked in the existing directory,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The newest unambiguous structurally valid CAT snapshot, or any tied newest CAT candidates when chronology is ambiguous, and all Store MAP artifacts shall be surfaced prominently at the top of the existing Suitcase Directory ahead of ordinary Suitcase files. The presentation may be pinned, grouped, or otherwise first-ranked, provided the priority is obvious and deterministic.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-003,CAT and MAP contents are immediately viewable from the existing HTML UI,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,The analyst shall be able to select a visible CAT or MAP entry and inspect its contents through the existing read-only HTML UI without first locating or opening the artifact through the operating-system file browser.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-004,CAT/MAP prominence preserves ordinary read-only Suitcase filtering,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The Suitcase Directory may continue to provide read-only filtered views of other Suitcase files. CAT/MAP prominence must not remove, replace, or weaken the existing ability to inspect the rest of the flat Suitcase.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-005,Directory browsing and inspection do not require a Work Order,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"Browsing, sorting, UI filtering, selecting, opening, and viewing Suitcase files are read-only inspection actions and shall not require a Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-006,Read-only directory filtering is not governed SEARCH,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"Read-only UI filtering is not the same operation as governed SEARCH . Governed SEARCH, ZIP creation, metadata changes, repairs, CAT regeneration, and every other consequential state change remain subject to the applicable Work Order and Receipt discipline.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-007,"The directory cannot mutate CAT, MAP, Store, or Suitcase state",W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The Suitcase Directory shall not edit, rename, delete, repair, replace, regenerate, or otherwise mutate CAT, MAP, Store, or Suitcase state through direct GUI manipulation. Consequential changes occur only through explicit governed operations or analyst-owned filesystem actions already permitted by the canonical contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-UI-008,The CAT/MAP directory view must remain practical at large collection scale,W002-CAT-UI,W002-CAT,WASM-002,UNDER REVIEW,—,"The CAT/MAP presentation shall make collections containing dozens or hundreds of Stores practical to inspect. An analyst must be able to understand what Stores exist, which current MAP describes each Store, and which source file each Store governs without manually opening every MAP artifact through the operating-system file browser.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CAT-ACC-001,CAT acceptance proves collection-scale orientation without centralizing Store authority,W002-CAT-ACC,W002-CAT,WASM-002,UNDER REVIEW,—,"Acceptance must include a MusicBrainz-scale fixture containing 177 routable CSV Store lineages, each with its own authoritative current Store MAP. One explicit analyst-run CATALOG STORES Work Order must publish exactly one CAT snapshot containing exactly 177 data rows under the frozen five-column schema store_alias,source_filename,rid_filename,map_filename,store_health and deterministic MAP-filename ordering. The fixture must include Stores that evaluate VALID , DEGRADED , and INVALID while retaining structurally valid current MAPs, and the CAT must record the exact health observed for each Store when the catalog run occurs. The CAT must not expose a separate MAP-health field. The existing Suitcase Directory must surface CAT and MAP artifacts ahead of ordinary files; the analyst must be able to open CAT, inspect the collection, select and view MAP artifacts, sort/filter the directory, and inspect other Suitcase files without a Work Order. No direct GUI mutation path may be exposed. Acceptance must alter authoritative MAP/Store state after the first CAT publication and prove that the earlier CAT is neither rewritten nor automatically refreshed. It remains visible and becomes stale/inconsistent where appropriate. Only a later explicit CATALOG STORES Work Order may reconstruct the collection and publish a new immutable CAT snapshot. The linked WASM-003 DIR behavior remains outside the WASM-002 implementation scope: later DIR requirements auto-populate human-readable CAT/MAP descriptions, but those descriptions never become authority over CAT, MAP, or Store semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-020,"Store, RID, and COL aliases remain human-facing metadata separate from physical identity",W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Aliases are governed human-facing metadata. Creating, changing, clearing, or replacing an alias must not rename or rewrite the underlying artifact. Within one Store MAP, every non-empty COL alias and the non-empty rid_alias must be unambiguous within the row-addressable artifact alias namespace under the exact Unicode scalar-value comparison rule in PB-STOR-010. F-15 publication-time shadowing boundary: alias uniqueness and physical-name shadowing are validated when a candidate successor Store MAP is being published, against the comparison domain applicable to that one Store snapshot and the then-visible governed physical targets it makes row-addressable. If an alias would exactly collide with another addressable alias or physical filename in that publication domain, publication refuses. After a Store MAP has been validly published, the later appearance, disappearance, rename, or copying-in of an unrelated Suitcase file does not retroactively make that immutable MAP structurally invalid or ineligible. A later textual reference can still become ambiguous at resolution time under W002-STOR-021; that ambiguity causes the later operation to refuse rather than changing the historical MAP's validity. The store_alias names the Store as a whole and is separate from the field/COL alias namespace. Alias mutation occurs through a governed Work Order, not through an editable GUI field. Exact cross-Store Store-alias uniqueness and future selection-by-Store-alias syntax remain outside this freeze.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-021,Work Order resolution binds one exact Store MAP and physical targets,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A saved Work Order may refer to governed materialized columns by exact physical filename or by a unique COL alias from one selected Store MAP. The canonical explicit Store-MAP selector is MAP ""<exact Store MAP filename>"" under W002-STOR-019.3 and W002-WKO-012.3. If that clause is present and valid, exactly that Store snapshot is used. Otherwise Data Sculptor applies the Store-aware source-qualified selection rule in W002-STOR-019.2. All textual physical-filename and COL-alias comparisons in this resolution step use exact Unicode scalar-value sequence equality under PB-STOR-010: no case folding, Unicode normalization, trimming, locale equivalence, or filesystem enumeration heuristic is permitted. Resolution is bounded to the selected Store snapshot and the physical targets/aliases that are addressable through that snapshot. If the supplied text has no exact target, resolution refuses. If it has more than one exact possible target in that domain—for example because a currently visible physical filename and a current alias are both exact matches—resolution also refuses. Data Sculptor must not choose filename over alias, alias over filename, first-found entry, directory order, modified time, UUID, or any other tie-break heuristic. Before execution, Data Sculptor must record the exact physical Store MAP identity when one is used, bind the run to its exact rid_filename , and resolve aliases deterministically to physical COL artifacts. The selected Store MAP must remain fixed for the run even if a newer MAP is created during that same run. This protects Store/selection continuity but does not by itself claim that bytes stored under an analyst-owned source filename are cryptographically identical across different runs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022,Each successful Suitcase validation publishes one retained governed CER HTML certificate,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"A selected directory becomes a validated Suitcase only when Data Sculptor successfully creates, completely writes, and closes one governed CER HTML Suitcase Validation Certificate in that directory. The certificate itself is the validation artifact and remains visible in the flat Suitcase as durable evidence. No validation-only delete or rename is required. Failure to create, completely write, or close the certificate means the directory has not passed Suitcase validation and analytical execution remains locked. F-14 CER exception: the CER is deliberately not staged as SCR . Suitcase validation is specifically the direct create/write/close test of the final canonical CER identity in the selected directory. Inserting an SCR-to-CER rename would test a different publication path and is therefore forbidden for this validation step. A successful CER does not pre-certify later SCR-to-final renames for other artifact classes. F-24 CER lifecycle: every successful explicit Suitcase selection and validation publishes exactly one fresh immutable CER with a new governed UTC+UUID identity. Data Sculptor must not satisfy a new validation event by reusing an earlier CER. Every prior valid CER remains a standalone historical artifact under its original governed filename and exact bytes. WASM-002 performs no automatic CER deletion, replacement, compaction, or CER-history ZIP packaging. Historical CERs are not housekeeping candidates merely because a newer CER exists. Any later archival or packaging capability must be separately governed and explicitly invoked; it is not part of the WASM-002 validation lifecycle.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022.1,Suitcase Validation Certificate physical identity and longest-name path gate,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The exact certificate filename is __DS__CER__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html , using the canonical UTC millisecond token and canonical lowercase hyphenated UUID v4. Data Sculptor chooses the filename; the analyst does not supply or edit it. The CER create/write/close test begins only after the browser host has satisfied the required user-selected writable-directory capability in W002-PLAT-001. A browser that cannot expose that capability produces a host-capability refusal before folder validation; that condition is not evidence that any particular directory is unwritable or filename-incompatible. WASM-002 path/filename acceptance must derive the maximum filename length from every governed final-artifact filename form and every governed SCR staging form that this build can actually emit. Under the current contract, the maximum is 73 ASCII bytes/characters : the governed .html CER/HLP final forms and an SCR candidate reserved for a .html final artifact have that length. The canonical CER filename therefore exercises the current maximum emitted filename length during the create/write/close validation test. On a supported host, successful create/write/close of this canonical governed HTML filename is the WASM-002 folder filename/path compatibility test for the current emitted-name maximum. Data Sculptor does not maintain a product-level table of operating-system numeric path maxima and must not truncate, abbreviate, hash-shorten, or otherwise mutate a governed filename to fit a host path limitation. If the certificate cannot be created under its canonical name after a directory has actually been selected through the supported-host contract, the selected directory does not pass validation. If a future PRD revision introduces an emitted final or staging filename longer than the current CER/HLP/SCR-HTML maximum, acceptance must detect that change and explicitly exercise the new maximum before the build may rely on this path-compatibility claim.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022.2,Suitcase Validation Certificate semantic content,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The HTML certificate uses the canonical built-in Data Sculptor presentation and must visibly contain, at minimum: SUITCASE VALIDATION CERTIFICATE RESULT: PASS SUITCASE: . UTC: <canonical certificate UTC> UUID: <certificate UUID> ARTIFACT: <full governed certificate filename> TEST: CREATE_WRITE_CLOSE It must state that Data Sculptor successfully created, completely wrote, and closed this governed HTML certificate in the selected Suitcase. It must state that this establishes that the selected directory was writable by Data Sculptor at the recorded UTC and accepted the governed artifact filename used for the certificate. It must also state that the certificate does not certify available disk capacity, guarantee success of future analytical operations, or certify later SCR -to-final-class publication/rename operations. The semantic record uses SUITCASE: . and must not persist an absolute machine-specific path merely to prove validation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-022.3,Suitcase Validation Certificate uses the canonical built-in presentation in WASM-002,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The certificate is a human-facing HTML CER artifact and uses the canonical built-in Red5Sorcery/Data Sculptor presentation in WASM-002. Presentation must never change RESULT , SUITCASE , UTC, UUID, artifact identity, TEST , validation meaning, or limitation facts. Configurable Brand Manifest application to CER artifacts is deferred to V1-BACKLOG / a future build and is not required for WASM-002 Suitcase validation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-023,Non-Store governed artifacts use class-specific all-or-refuse publication profiles,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"Except for the deliberate CER Suitcase-validation path below, WASM-002 does not place a newly generated durable artifact into its final semantic class merely because candidate bytes exist. The complete candidate is first written under the governed SCR identity defined by W002-STOR-023.1, closed, reopened, and validated against the target class contract. Only a candidate that passes its class-specific publication predicate may be renamed into the intended final class. A final-class filename therefore records successful class publication, not broader authority where a separate MAP/registry relationship governs authority. F-33 reserved-class boundary: DGN , RCV , BRD , and LCK are registered but not emitted by WASM-002, so they do not appear as publication profiles in this table and have no WASM-002 producer here. Final class Final serialization / identity Publication predicate Authority boundary WKO __DS__WKO__<UTC>__<UUID>.txt The complete candidate obeys the saved-Work-Order lifecycle and parses completely under exactly one WASM-002 executable operation grammar with the required SUITCASE: . , exactly one non-whitespace WORK ORDER AS alias, and the governed lexical/comment rules. Applicable save-time alias/registry gates must also pass before the save transaction may commit. Promotion proves a valid immutable WKO artifact. Alias-registry authority is not committed until the complete successor WKO MAP is successfully published under W002-STOR-018.3. RCP __DS__RCP__<UTC>__<UUID>.txt The complete candidate validates against W002-RCP-005 through W002-RCP-008: exact deterministic TXT serialization, common envelope, applicable operation-specific key table, governed absence semantics, and created-artifact tail. Publication creates durable run evidence only. It does not retroactively create or change analytical state. HLP __DS__HLP__<UTC>__<UUID>.html The complete self-contained HTML satisfies the HLP disclosure, presentation, provenance, embedded-JSON, lineage and semantic-parity rules in W002-HELP-009 and related Help requirements. Publication creates durable Help/support evidence. It does not override the underlying diagnostic event or analytical state. CVT __DS__CVT__<UTC>__<UUID>.csv The bounded Windows-1252 conversion completes, the original analyst-owned source remains unchanged, the converted bytes pass the governed strict UTF-8 requirement, and the candidate closes/reopens successfully. Structural CSV interpretation remains a later certification/materialization concern. The published exact CVT filename is a new immutable governed source identity for later routing under W002-CONV-004. INV __DS__INV__<UTC>__<UUID>.txt The complete inventory scan has established the governed entry set and the candidate validates the deterministic INV serialization, count, metadata availability and ordering rules. Publication creates an immutable inventory snapshot; it is evidence/orientation, not Store authority. CAT __DS__CAT__<UTC>__<UUID>.csv The authoritative MAP discovery/evaluation pass has completed and the candidate validates the exact five-column CAT schema, row count, row ordering and deterministic CSV rules. Publication creates an immutable collection-level orientation snapshot. MAP remains authoritative for each Store. CER __DS__CER__<UTC>__<UUID>.html Deliberate exception: Suitcase validation directly creates, completely writes and successfully closes the final CER identity under W002-STOR-022 through W002-STOR-022.3. No SCR staging/rename is inserted into this test. The CER proves that canonical governed create/write/close succeeded in the selected directory at that recorded moment. It does not pre-certify later SCR-to-final publication. RID, COL, Store MAP and WKO MAP publication retain their specialized transaction/commit rules elsewhere in this PRD. W002-STOR-023 does not replace those state-publication contracts; W002-STOR-023.1 supplies the shared SCR candidate identity and retained-failure-evidence boundary they may reference.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STOR-023.1,SCR candidates preserve intended final identity; retained failure evidence remains non-authoritative,W002-STOR,W002-STOR,WASM-002,UNDER REVIEW,—,"The canonical candidate filename for a staged governed artifact is: __DS__SCR__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.<final-extension> The SCR candidate uses the exact UTC token, UUID and extension reserved for its intended final artifact. Successful publication changes only the three-letter semantic class token from SCR to the intended final class. For example, an RCP candidate __DS__SCR__20261006T190000000Z__<uuid>.txt may become __DS__RCP__20261006T190000000Z__<uuid>.txt only after the complete candidate has been closed, reopened and validated against the RCP publication predicate. The rename must not alter candidate bytes, UTC, UUID or extension. An SCR filename never by itself confers final-class validity, Store membership, registry authority, execution authority, or durable final-class evidence status. A retained SCR whose bytes happen to satisfy a target validator after an interrupted or refused transaction must not be auto-promoted, silently adopted, or treated as if the missing publication step occurred. F-33 retained-failure-evidence boundary: when a handled failure leaves one or more SCR candidates or other staged bytes that cannot be safely removed or restored, they must remain visible only as non-authoritative SCR evidence. WASM-002 does not publish an RCV recovery manifest. Retention must not complete or simulate the failed publication step, and the governed diagnostic/Help path must report the failure using only facts actually established. A retained or orphaned SCR remains non-authoritative even if its bytes later validate. Data Sculptor must not infer an intended final class solely from extension or byte content, must not rename or promote the SCR merely because it survives a later scan, and must not create a replacement RCV sidecar to manufacture attribution that the failed transaction did not durably preserve.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-011; CP-012; CP-013; CP-014; CP-015,"CP011 T-ACCEPTED, GIT BANKED — exact CVT-to-SCR candidate identity derivation only; full SCR lifecycle and publication contract remains open; CP012 T-ACCEPTED, GIT BANKED — canonical SCR staging filename recognition only; generic publication, recovery and authority remain unimplemented; CP013 T-ACCEPTED, GIT BANKED — explicit SCR-to-RCP final filename candidate derivation only; no complete SCR lifecycle, RCP validator, filesystem promotion, publication or authority; CP014 T-ACCEPTED, GIT BANKED — related RCP final-candidate lexical recognition only, no SCR creation or publication; CP015 T-ACCEPTED, GIT BANKED — pure lexical canonical SCR-to-RCP TXT filename-candidate pair matching only; no actual file/Receipt validation, promotion, publication or authority",e84ae5baeee05f9d5d30284c65b86eebba3c0f6a; efca04392940e398020a5c06b9ee50296c8a1fdd; 005a38ef5e876847c4c08901c18da9c18565fd6b; f5038a183f1d3dc31b0065571bf8ac8814b5d8a9; be997dc0dbd65fc370814c4a5f2d0f1254870572,"Evidence/CP-011/CP011_Scope_Lock.txt; Evidence/CP-011/CP011_RED_Test_Output.txt; Evidence/CP-011/CP011_GREEN_Test_Output.txt; Evidence/CP-011/CP011_Post_Format_Regression_Test_Output.txt; Evidence/CP-011/CP011_Rustfmt_Recheck_Output.txt; Evidence/CP-011/CP011_Post_Format_WASM_Build_Output.txt; Evidence/CP-011/CP011_Hash_Inventory_Verification.txt; Evidence/CP-011/CP011_Supplementary_Hash_Verification.txt; Evidence/CP-011/CP011_Closing_Git_Review.txt; CP011_Git_Banking_Output.txt (post-commit, separately preserved); Evidence/CP-012/CP012_Scope_Lock.txt; Evidence/CP-012/CP012_RED_Test_Output.txt; Evidence/CP-012/CP012_GREEN_Test_Output.txt (initial 5/6, retained); Evidence/CP-012/CP012_GREEN_Failure_Triage.txt; Evidence/CP-012/CP012_GREEN_Correction_Review.txt; Evidence/CP-012/CP012_GREEN2_Test_Output.txt; Evidence/CP-012/CP012_Full_Regression_Test_Output.txt; Evidence/CP-012/CP012_WASM_Build_Output.txt; Evidence/CP-012/CP012_Final_Rustfmt_Check.txt; Evidence/CP-012/CP012_Hash_Inventory_Verification.txt; Evidence/CP-012/CP012_Supplementary_Hash_Verification.txt; Evidence/CP-012/CP012_Post_Staging_Hash_Verification.txt; Evidence/CP-012/CP012_Closing_Git_Review.txt; CP012_Git_Banking_Output.txt (post-commit, separately preserved); Evidence/CP-013/CP013_Approved_Scope_Lock.txt; Evidence/CP-013/CP013_RED_Test_Output.txt; Evidence/CP-013/CP013_GREEN_Test_Output.txt; Evidence/CP-013/CP013_Full_Regression_Test_Output.txt; Evidence/CP-013/CP013_Rustfmt_Check_Verification.txt; Evidence/CP-013/CP013_WASM_Build_Verification.txt; Evidence/CP-013/CP013_Hash_Inventory_Verification.txt; Evidence/CP-013/CP013_Post_Normalization_Hash_Verification.txt; Evidence/CP-013/CP013_Closing_Hash_Verification.txt; Evidence/CP-013/CP013_Final_Staging_Verification.txt; Evidence/CP-013/CP013_Closing_Git_Review.txt; CP013_Git_Banking_Output.txt (post-commit, separately preserved); Evidence/CP-014/ZIP/CP014_GREEN_Test_Output.txt.zip; Evidence/CP-014/ZIP/CP014_Full_Regression_Test_Output.txt.zip; CP014_Git_Banking_Record.txt (external closeout); Evidence/CP-015/ZIP/CP015_RED_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_GREEN_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_PostAmend_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Full_Regression_Test_Output.txt.zip; Evidence/CP-015/ZIP/CP015_WASM_Build_Output.txt.zip; Evidence/CP-015/ZIP/CP015_Final_Archive_Manifest.txt.zip; CP015_PostCommit_Verification.txt (external closeout)","CP011 Day066: public pure helper build_scr_candidate_filename_for_cvt(&str)->Option<String> accepts an exact canonical governed CVT .csv filename (via CP010 recognizer) and derives the paired SCR filename by substituting only class token CVT -> SCR, preserving exact UTC, UUIDv4 and lowercase .csv bytes; rejects wrong classes, paths, whitespace, malformed clock/date/UUID, extension and class case. Six targeted tests; RED expected E0432 exit 101; GREEN 6/6; post-format native regression 46/46; rustfmt recheck PASS; Rust 1.97.1 wasm32-unknown-unknown --lib build PASS; original 28/28 and combined 36/36 SHA-256 records verified. Two local scoped .gitattributes whitespace exceptions preserve Rustfmt/Git diagnostic TXT bytes; final Git staged check PASS. T-approved and Git banked e84ae5baeee05f9d5d30284c65b86eebba3c0f6a, 27 committed files, working tree clean. Lexical candidate-name pairing ONLY; no SCR creation, bytes, converter, transaction, close/reopen, validation/publication, retained SCR adoption, SOURCE authority or browser execution. Independent Claude implementation QA pending. CP012 Day066: pure public bool recognizer is_canonical_scr_filename_candidate(&str) validates exact uppercase SCR staging class via shared canonical immutable filename-token parser, with local rejection of whitespace and both path separators; accepts canonical .csv and .txt SCR candidates without assuming extension or bytes confer intended final class, validity, publication or authority. RED expected missing import E0432 exit 101. Initial GREEN 5/6 exposed trailing whitespace acceptance through generic extension grammar, retained verbatim; controlled CP012-local correction yielded 6/6 PASS. Full native regression 52/52 PASS, Rustfmt 12 Rust files checked/0 modified, canonical Rust 1.97.1 wasm32-unknown-unknown --lib build PASS (not browser execution). Primary independent SHA256/size inventory 29/29 PASS; supplementary original 4/4 PASS; post-staging 6-record amendment independently verified following narrowly scoped trailing-space and blank-at-EOF git attributes for preserved diagnostic evidence; final staged Git whitespace exit 0. T approved and banked Git commit efca04392940e398020a5c06b9ee50296c8a1fdd (28 committed files; master clean). Previous generic canonical parser unchanged. W002-STOR-023.1 remains PARTIAL, no filesystem creation, close/reopen, class publication, retained/orphan SCR adoption or recovery, SOURCE authority, or independent Claude implementation QA claimed. CP013 Day066: pure public function build_final_filename_candidate_for_scr(&str, &str)->Option<String> accepts only a canonical SCR staging filename with exact lowercase .txt serialization and explicit intended_final_class == ""RCP""; derives RCP final filename candidate by substituting the SCR semantic-class token only, preserving original UTC token, UUID and extension. Rejects all other class intentions, malformed or non-SCR staging names, paths/whitespace, wrong extension or case. Six intentional RED tests (unresolved E0432 before implementation), six GREEN targeted passes; full native 58/58 PASS; Rust 1.97.1 rustfmt check PASS and wasm32-unknown-unknown --lib build PASS (not browser runtime). Primary 21/21, supplementary 27/27 before attribute revisions; post-normalization 32/32 and closing 37/37 SHA-256 identity/byte-preservation checks; 42/42 commit blobs verified, Git whitespace check exit 0 after directory-scoped CRLF-aware whitespace attributes and raw-byte preservation; staging failures and adjustments retained byte-for-byte. T accepted and Git banked 005a38ef5e876847c4c08901c18da9c18565fd6b (efca04392940e398020a5c06b9ee50296c8a1fdd parent), 42 files, clean tree and index. This covers only lexical candidate-name derivation under already-PARTIAL W002-STOR-023.1; W002-STOR-023 remains NOT_STARTED; no SCR creation, RCP contract validation, promotion, publication, retained/orphan handling, authority or recovery. No independent adversarial QA or accepted end-to-end requirements; Day066 OPEN. CP014 Day067: T-accepted, Git-banked lexical RCP .txt filename recognizer only. Pure is_canonical_rcp_filename_candidate(&str)->bool uses shared canonical envelope, rejects wrong class/extension/casing, malformed UTC/UUID, paths and whitespace. Six target GREEN passes; 64/64 native regression; Rustfmt and wasm32 library build PASS; 32 original-TXT-per-ZIP objects validated and committed unchanged. Commit f5038a183f1d3dc31b0065571bf8ac8814b5d8a9. No new Receipt timestamp generation, Receipt byte serialization, creation/promotion/publication or authority; independent implementation QA and browser runtime pending. CP015 Day067: T-approved pure is_matching_scr_rcp_filename_candidate_pair(&str,&str)->bool checks canonical SCR/RCP lowercase .txt candidates and exact timestamp/UUID pairing, reusing existing lexical recognizers and candidate derivation; rejects wrong classes/order, mismatched timestamps/UUID, paths, whitespace and noncanonical envelopes. Expected RED E0432 exit 101; six targeted GREEN PASS; T-approved formatting-only source+test amendment and recheck; full native regression 70/70 PASS, Rustfmt PASS, Rust 1.97.1 wasm32-unknown-unknown --lib compile PASS. Original TXT archived as 16 verified single-entry ZIPs; 18/18 committed Git blob identities checked; working tree clean. Banked at be997dc0dbd65fc370814c4a5f2d0f1254870572. No actual SCR/RCP file reads, Receipt content validation, timestamp generation, authority, promotion or publication; browser execution and independent implementation QA pending.",Day067,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001,Strict whole-file UTF-8 certification,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"Before WASM-002 performs analytical CSV materialization, it must certify the complete selected source as valid UTF-8 using bounded processing.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.1,"Certification must examine the entire source, not merely a prefix, sample, BOM, or first analytical window.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.2,"UTF-8 validity must be determined across chunk boundaries, including incomplete multi-byte sequences that span adjacent input windows.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.3,"A UTF-8 BOM, when present, is parsing metadata and must not be treated as proof that the remainder of the source is valid UTF-8.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.4,Certification must preserve exact source-byte accounting.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.5,Certification must operate within the governed WASM memory budget.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"Stage 1 UTF-8 certification must remain bounded independently of source byte length and must not buffer the complete source, CSV header, or CSV row set in memory. CSV column-count and operational-name rules belong to Stage 2 and must not be used to justify unbounded Stage-1 state.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-001.6,Certification must produce deterministic PASS or FAIL for the same source bytes under the same frozen rules.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002,UTF-8 certification is a hard analytical gate,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,The WASM-002 analytical/materialization path must proceed only after successful UTF-8 certification.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.1,"If UTF-8 certification fails, the current analytical Work Order must stop.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.2,The analytical engine must not silently switch to another decoder.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.3,The analytical engine must not continue materialization under an inferred or guessed source encoding.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-002.4,No Windows-1252 transcoding may occur as an implicit sub-step of the failed analytical Work Order.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003,Certification and materialization share one run-local selected source,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"For a governed WASM-002 analytical run, the browser host must resolve the Work Order source reference once and retain the same selected source instance across Stage 1 UTF-8 certification and Stage 2 materialization. The purpose of this binding is to prevent Stage 2 from accidentally consuming a different source than the one Stage 1 certified. It is a run-local continuity guarantee, not a claim of durable cryptographic identity across separate runs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.1,Stage 2 must not re-resolve or substitute the source,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"After Stage 1 begins, Stage 2 must not reacquire the analytical source by re-reading an alias mapping, re-resolving a filename/path, opening a newly selected browser file, or otherwise substituting another source instance. Stage 2 consumes the source instance already bound to the governed run.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.2,"Filename, alias, path, or byte length alone is not durable byte identity",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"Filename equality, alias equality, path equality, timestamps, or exact byte length may be useful provenance facts but must not be presented as cryptographic proof that source bytes are identical across separate runs. WASM-002 makes no such automatic cross-run exact-byte claim.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.3,Ordinary WASM-002 source binding does not require automatic SHA-256,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,UTF-8 certification and ordinary column materialization must not automatically compute SHA-256 merely to establish WASM-002 source binding. The source-binding requirement is satisfied by preserving the same run-local selected source instance across the two stages. This rule does not prohibit SHA-256 where another explicit WASM-002 requirement governs integrity for a specific generated artifact. It applies to automatic hashing of ordinary analytical source data.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-003.4,Loss of run-local source continuity causes refusal,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"If the browser host cannot preserve the selected source instance from certification into materialization, or the source becomes unavailable before Stage 2 can consume it, the analytical run must refuse before materialization rather than silently reselect, substitute, or infer another source.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004,ASCII-first inline UTF-8 certification algorithm,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"WASM-002 must use an ASCII-first, strict inline UTF-8 certification algorithm or an equivalent implementation that preserves the same single-forward-scan semantics, bounded state, deterministic validity result, exact error location, and performance intent established by WASM-001b.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.1,The certifier must process the source in bounded windows and must not allocate memory proportional to source-file size.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.2,"The 4 MiB window used in WASM-001b is a proven reference point, not a frozen WASM-002 production constant.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,Window size may be changed only if semantics and byte-identical certification outcomes remain invariant.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.3,"At the beginning of each window, any incomplete UTF-8 sequence carried from the preceding window must be resolved before the remaining bytes are treated as independent input.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.4,"When there is no pending cross-window sequence, consecutive bytes below 0x80 must be recognized as ASCII and certified directly because ASCII is a complete subset of UTF-8.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.5,An all-ASCII window with no pending cross-window sequence must be certifiable without submitting the same bytes to a second general UTF-8 decoder pass.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.6,"When a byte at or above 0x80 is encountered, the certifier must validate the UTF-8 sequence inline, then resume the ASCII-fast scan after the valid sequence.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.7,"The implementation must not require collecting all non-ASCII bytes, all non-ASCII runs, or all non-ASCII offsets for later validation.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.8,The implementation must not require a separate general-purpose string-decoder call for each non-ASCII sequence.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,An equivalent low-overhead strict validator is acceptable if it preserves the same governed result and bounded-state behavior.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.9,Cross-window state must be bounded to the information required for at most one incomplete UTF-8 sequence.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"No more than three source bytes may need to remain pending between windows, or an equivalent smaller state representation may be used.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.10,"On the first invalid UTF-8 sequence, certification must stop and report the exact absolute source-byte offset required by the frozen error contract.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"On the first invalid UTF-8 sequence, certification must stop and return FAIL . The governed UTF-8 refusal evidence is: FIRST_INVALID_BYTE_OFFSET — the zero-based absolute byte offset of the first byte of the invalid sequence , counted from the first physical source byte, including a permitted leading UTF-8 BOM when present; and STOP_REASON — exactly INVALID_UTF8_SEQUENCE . For an EOF-truncated multibyte sequence, FIRST_INVALID_BYTE_OFFSET is the absolute offset of that incomplete sequence's lead byte, not the EOF position. The certifier need not read the remainder of an already-invalid source. Input-window boundaries must not change the outcome, stop reason, or first-invalid offset. F-16 follow-on boundary: stopping strict UTF-8 certification at the first invalid sequence does not make the remainder of the source irrelevant to conversion advice. When the governing operation is MATERIALIZE and Stage 1 reaches FAIL , the analytical run remains refused; Data Sculptor then starts the separate read-only compatibility assessment in W002-CONV-002 from physical byte offset 0 of the same bound source instance. That second pass may read to EOF solely to determine converter compatibility. Stage 2 must not start.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.11,"At EOF, certification may return PASS only if every source byte has been consumed under the strict UTF-8 rules and no incomplete sequence remains pending.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"At EOF, certification may return PASS only if every physical source byte has been consumed under the strict UTF-8 rules and no incomplete sequence remains pending. The completed Stage-1 outcome vocabulary is exactly PASS and FAIL . PASS means strict whole-source UTF-8 certification completed successfully. FAIL means an invalid UTF-8 sequence was deterministically established under W002-ENC-004.10. The common Receipt absence tokens remain separate from those completed outcomes: NOT_RUN when Stage 1 never begins, and NOT_AVAILABLE when Stage 1 begins but a separate failure prevents a governed PASS/FAIL conclusion. NOT_APPLICABLE is not a completed value for STAGE1_UTF8_OUTCOME .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.12,"A UTF-8 BOM at absolute source offset zero may be recognized as BOM metadata after its bytes are validated, but the remaining source must still undergo complete certification.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.13,"The certifier must not perform CSV delimiter, quote, header, row, or analytical interpretation.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,Certification answers only whether the complete source byte stream is valid UTF-8 under the frozen rules.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.14,Certification results must be independent of window boundaries.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,Splitting the same valid or invalid source at different bounded window sizes must not change PASS/FAIL or the first invalid absolute byte offset.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-004.15,"The certifier must expose enough measured counters for acceptance evidence to reconcile source bytes read, windows/pushes processed, non-ASCII sequences encountered when counted, final pending state, and stop reason without requiring those counters to alter certification semantics.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005,Strict UTF-8 byte-sequence rules,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"The inline validator must implement strict modern UTF-8 validity, excluding overlong forms, UTF-16 surrogate code points, values above U+10FFFF, invalid lead bytes, invalid continuation bytes, and truncated sequences. F-07 stop-reason vocabulary: all strict UTF-8 invalidity classes governed by this requirement—lone continuation bytes, malformed continuation sequences, overlong forms, surrogate encodings, values above U+10FFFF, invalid lead bytes, and EOF-truncated sequences—serialize the single machine reason token INVALID_UTF8_SEQUENCE . The specific fixture category is acceptance evidence; the canonical stop reason intentionally does not duplicate validator-library-specific subcodes.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.1,Single-byte ASCII is 0x00 through 0x7F.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.2,Two-byte sequences must begin with 0xC2 through 0xDF and be followed by exactly one continuation byte 0x80 through 0xBF.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.3,"Three-byte sequences beginning with 0xE0 must use a second byte 0xA0 through 0xBF and a third byte 0x80 through 0xBF, preventing overlong encodings.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.4,Three-byte sequences beginning with 0xE1 through 0xEC or 0xEE through 0xEF must use two continuation bytes 0x80 through 0xBF.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.5,"Three-byte sequences beginning with 0xED must use a second byte 0x80 through 0x9F and a third byte 0x80 through 0xBF, excluding UTF-16 surrogate halves.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.6,"Four-byte sequences beginning with 0xF0 must use a second byte 0x90 through 0xBF followed by two continuation bytes 0x80 through 0xBF, preventing overlong encodings.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.7,Four-byte sequences beginning with 0xF1 through 0xF3 must use three continuation bytes 0x80 through 0xBF.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.8,"Four-byte sequences beginning with 0xF4 must use a second byte 0x80 through 0x8F followed by two continuation bytes 0x80 through 0xBF, preventing code points above U+10FFFF.",W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.9,Bytes 0x80 through 0xBF are invalid when encountered as lead bytes.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.10,Bytes 0xC0 and 0xC1 are invalid lead bytes because they can only introduce overlong encodings.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-005.11,Bytes 0xF5 through 0xFF are invalid UTF-8 lead bytes.,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"ASCII-first inline UTF-8 certification algorithm READ NEXT BOUNDED WINDOW Reference evidence used 4 MiB windows RESOLVE PENDING CROSS-WINDOW STATE At most one incomplete UTF-8 sequence ASCII FAST SCAN Advance cheaply while every byte < 0x80 ASCII RUN Already valid UTF-8 RESUME SCAN Same window BYTE >= 0x80 Validate sequence inline STRICT UTF-8 Lead + continuation range rules VALID END OF WINDOW? Persist only bounded carry state MORE SOURCE? Yes: read next window; No: finish EOF + NO PENDING STATE UTF-8 PASS INVALID OR TRUNCATED UTF-8 FAIL No full-file allocation. No collection of all non-ASCII bytes. No per-sequence general string decode required. Figure 2. The WASM-001b-derived fast path certifies ASCII directly, validates only non-ASCII sequences inline, and carries only bounded state across windows.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-006,Measured evidence inherited from WASM-001b,W002-ENC,W002-ENC,WASM-002,UNDER REVIEW,—,"The following measurements are non-normative evidence explaining why WASM-002 begins with the ASCII-first inline algorithm. They are not WASM-002 acceptance results and must not be represented as such. EVID-W001B-UTF8-001 On the 7,250,808,204-byte Statistics Canada source, the Day 039 distribution experiment observed 659,103 non-ASCII bytes, approximately 0.009090063% of the file, across 329,551 non-ASCII runs/sequences; the maximum observed non-ASCII run was three bytes. EVID-W001B-UTF8-002 The Day 039 non-ASCII-only experiment submitted only 659,103 bytes to strict UTF-8 validation and completed in 12.664716 seconds at 545.998 MiB/s; it proved the source valid but still incurred 329,551 strict validation calls. EVID-W001B-UTF8-003 A 1 GiB A/B test showed that reducing validated bytes alone was not enough: the selective per-run strategy submitted 115,839 bytes in 57,919 strict calls but took 503.7536 ms, while the baseline submitted 113,246,208 bytes in 27 strict calls and took 411.3590 ms. UNRESOLVED SOURCE DAMAGE: preserved authoritative text continues “This supported removing per-run general-validator call overhead rather than merely shrinking” but the remainder has not been recovered. No missing words are inferred or supplied. EVID-W001B-UTF8-004 The final native inline scan certified all 7,250,808,204 bytes in 10.377870 seconds at 666.313 MiB/s, observed 329,551 non-ASCII sequences and 659,103 non-ASCII bytes, and made zero std::str::from_utf8 calls. EVID-W001B-UTF8-005 The same inline design was exercised in Microsoft Edge/WASM with 4 MiB transfers: the valid 7,250,808,204-byte source completed with 1,729 pushes, UTF8_VALID=true, and EOF_ALL_BYTES_VALID. That experimental run took 30.5858 seconds including file I/O, JS-to-WASM copy, and WASM validation. EVID-W001B-UTF8-006 A full-size deliberately invalid Edge/WASM fixture stopped early after 2,936,012,800 bytes and 700 pushes with UTF8_VALID=false and STOP_REASON=INVALID_UTF8_SEQUENCE rather than reading to EOF. EVID-W001B-UTF8-007 WASM-001b also retained malformed UTF-8 fixtures for stray legacy bytes, truncated sequences, lone continuation bytes, overlong encodings, UTF-16 surrogate halves, and 0xFE/0xFF invalid bytes. WASM-002 should reuse or regenerate equivalent acceptance fixtures with known invalid offsets.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001,Stage 2 consumes the source instance certified by Stage 1,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The structural CSV parser and materializer operate under the explicit invariant that the same run-local selected source instance has already passed governed whole-file UTF-8 certification. Stage 2 must not independently re-resolve the analytical source. Stage 1 establishes encoding validity. Stage 2 establishes CSV structure, row identity, selected values, and governed outputs.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.1,Stage 2 must not independently re-decide the source encoding.,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.2,Stage 2 must not contain an automatic Windows-1252 fallback.,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.3,Stage 2 may perform only those byte/character checks required for correct CSV structural parsing and frozen analytical semantics.,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.4,"Any implementation shortcut that would weaken the certified-source invariant must be treated as a PRD change, not an optimization.",W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.5,Stage 2 restarts at byte offset zero of the same certified source instance,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"After Stage 1 returns PASS, Stage 2 must begin its structural pass from absolute source byte offset zero using the same run-local selected source instance. Rewinding/re-reading the existing source handle is permitted; performing a new filename, alias, path, picker, or directory resolution is not. If the host cannot re-read that same selected source instance for Stage 2, the Work Order must refuse under the run-local source-continuity contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.6,Stage 2 consumes an offset-zero UTF-8 BOM as metadata before header parsing,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"If the certified source begins with the UTF-8 BOM bytes EF BB BF , Stage 2 must consume those three bytes before parsing the first CSV header field. They must not become part of the first source header or selected value. The BOM is recognized only at absolute source offset zero. The fact that Stage 1 already saw the BOM does not permit Stage 2 to skip or reinterpret arbitrary later bytes.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.7,Stage 2 parses the header once and then continues directly into the data-record scan,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Within the Stage 2 forward source scan, Data Sculptor must parse the complete first logical CSV record as the source header, construct ordered header metadata including exact decoded header text and 1-based source ordinal, resolve and validate all Work Order selectors/aliases, and then continue from the first data record without restarting the source. Header resolution therefore does not add a third whole-file pass. A header-only valid CSV yields a zero-row materialization; a source with no valid header record refuses. P3-09 no-header-record refusal: after Stage 1 has certified the source, if Stage 2 reaches end-of-source without establishing any logical CSV record from which a header could be parsed, materialization must refuse with CSV_REFUSAL_CONDITION: NO_HEADER_RECORD . This is the eighth governed Stage-2 structural CSV refusal token in the canonical oracle defined by W002-MAT-002.8. Its governed location facts are: CSV_SOURCE_BYTE_OFFSET = exact source byte length; CSV_PHYSICAL_LINE: 1 ; CSV_LOGICAL_RECORD: 1 ; CSV_FIELD_ORDINAL: 1 . Therefore a zero-byte source reports offset 0 , and a source containing only the UTF-8 BOM bytes EF BB BF reports offset 3 . A first logical record that exists but is blank remains governed by the already-frozen BLANK_LOGICAL_RECORD condition and must not be reclassified as NO_HEADER_RECORD . F-20 source-width boundary: the established header record may contain at most 16,384 physical source columns. Exactly 16,384 is valid; a header record containing 16,385 or more fields must refuse deterministically during header resolution before the first data record is consumed. The bound applies to the complete physical source width, not merely the requested KEEP set. Header processing must remain bounded. Exact decoded source-header text is authoritative source evidence and must be preserved for every selected/materialized column, but the implementation is not required to retain the complete decoded text of every unselected header after selector resolution when bounded metadata is sufficient.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-001.8,Stage 2 relies on Stage 1 UTF-8 validity rather than revalidating the file,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Stage 2 must not run a second whole-file UTF-8 certification algorithm over the source. It may inspect bytes and decoded field content only as required for CSV structure, header/selector semantics, governed field-size limits, output serialization, and diagnostics. Any implementation that reintroduces redundant whole-source UTF-8 validation into Stage 2 is a measurable architectural regression unless separately justified and accepted.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002,One-pass multi-column materialization,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"A valid Work Order may request multiple source columns for materialization during the same bounded structural pass. For WASM-002 DS-STEPS, the requested set is expressed by one KEEP block containing one or more HEADER and/or COLUMN selectors under W002-STEPS-001 through W002-STEPS-004. F-20 KEEP-width boundary: one governed KEEP block may resolve from 1 through 16,384 distinct source columns, subject to the source itself containing no more than 16,384 columns. An empty KEEP or a request that cannot resolve within that bound refuses before data-row materialization.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.1,Requested columns must be resolved and validated before data-row materialization begins,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Every HEADER and COLUMN selector in the governed KEEP block must resolve to exactly one source column before any data-row materialization begins. Missing headers, ambiguous duplicate-header matches, invalid/out-of-range ordinals, duplicate resolved selections, invalid aliases, and successor-MAP alias collisions must refuse before the structural data-row pass. The resolved selection cardinality must be an integer from 1 through 16,384 . Resolution/validation must finish before the first data record is consumed, including operational-name/default-alias derivation and any deterministic oversized-header fallback required by W002-STOR-019.7.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.2,All selected columns are emitted from one forward data-record scan,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"After header/selector resolution, Stage 2 must traverse the source data records once regardless of whether the Work Order selects one column or many. The engine must not perform one complete source rescan per requested column. During that scan, every source field is interpreted structurally, but only the fields required by the resolved selection set are materialized into governed COL outputs. F-20 one-pass boundary: “one forward data-record scan” means one traversal of the source data records for the MATERIALIZE operation. WASM-002 must not reread source data records in batches merely because the selected-column set is wide. An implementation may perform additional bounded passes over Data-Sculptor-owned SCR , spool, or staging structures after the source scan when needed to finalize many outputs within resource limits; such passes must not reread the source data records or change governed output semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.3,One 1-based logical row ordinal aligns every selected output,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The header is not a data row. The first accepted logical data record is row identity 1, the next is 2, and so on through N. The row counter advances exactly once per accepted logical CSV data record, not per physical line. Every selected COL produced by the run must contain exactly one logical data record for each accepted source data row and therefore exactly N data records in the same governed order. A multiline quoted field remains part of one logical record and must not advance row identity merely because it contains physical newline bytes. When the run establishes a new Store, this 1..N sequence is published as that Store's one governed RID artifact. When the run extends an existing Store without changing its row universe, the existing RID is reused and must not be regenerated or renumbered.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.4,Selected-column writer order follows resolved KEEP order,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Before the data-record scan begins, the validated selection set is placed in the same order in which its selectors appear in the governed KEEP block. That resolved order governs writer creation, per-row selected-field dispatch, progress/receipt presentation, deterministic backpressure-drain priority, and candidate COL identity allocation. The Store MAP's own CSV mapping-row ordering remains governed separately by W002-STOR-019.9 and must not be confused with Work Order selection order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.5,Multiple active COL outputs use bounded staging and explicit backpressure,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Each active materialized-column writer, or an equivalent shared multiplexed output structure, must have bounded staging capacity. The aggregate kernel-owned staging state for all active writers must remain inside the governed WASM memory budget and must not grow with source row count or total output size. If a required output writer cannot accept additional canonical bytes without exceeding its governed staging capacity, source consumption must pause while pending output is drained/written. When more than one writer requires service, drain priority follows resolved KEEP order. After sufficient space is available, parsing resumes from the same structural state. The exact tuned staging-buffer size is an implementation/benchmark constant rather than an analytical semantic constant; changing it must not change output bytes, row identity, selection results, or diagnostics for the same governed input. F-20 writer-resource bound: KEEP width and simultaneously active writable resources are distinct. The accepted build must declare a finite implementation bound on simultaneously active writable-output resources and retain acceptance evidence of both that configured bound and the observed peak. The engine may satisfy a wide selection by bounded shared/multiplexed staging or a Data-Sculptor-owned spool followed by bounded finalization passes, but it must not require one simultaneously open writer per selected column. Changing the writer-resource bound must not change final bytes, row order, selection identity, aliases, Receipts, or diagnostics for the same governed input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.6,Partial output sets are never published as a successful materialization,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"All requested materialized-column outputs begin as visible governed SCR candidates, not COL artifacts. On first materialization of a new Store, the automatically generated RID likewise begins as a governed SCR candidate. Before any new RID/COL SCR candidate is opened, Data Sculptor establishes one publication-transaction UTC under PB-STOR-013/PB-STOR-014 and allocates a distinct artifact-specific UUID for each new candidate. Each candidate filename therefore already carries the exact UTC, UUID, and final extension intended for that RID or COL identity. A materialization transaction may begin promotion only when every required RID/COL candidate reaches EOF successfully, all selected outputs reconcile to the same accepted data-row count N, and all required candidate finalization/validation succeeds. F-04 existing-Store cardinality gate: when materialization targets an existing VALID Store, after Stage 2 establishes the complete candidate logical data-row count N and before any requested COL candidate is promoted, Data Sculptor must read the expected N from the already-valid inherited RID header and compare the two values. If candidate N equals RID-header N , the cardinality gate passes and ordinary publication may continue. If candidate N differs, the Run must refuse before any SCR -to- COL promotion and before successor-MAP publication. The inherited RID, current MAP, and existing COL artifacts remain unchanged, and the existing Store remains VALID. Equal N proves cardinality compatibility only; it does not prove source-byte continuity, row-semantic identity, or permission for a different SOURCE to enter the lineage. Exact SOURCE/Store compatibility rules are prior gates. For a new Store, Data Sculptor promotes the validated RID candidate first by host rename that changes only the class token from SCR to RID ; the candidate bytes, shared transaction UTC, RID-specific UUID, and extension remain unchanged. That successful SCR-to-RID promotion is the event that establishes RID_ACTION: CREATED and the published RID_FILENAME fact for the Run. Before that promotion succeeds, the Run has not created a governed RID even if a candidate identity has been allocated. For an existing Store, the inherited RID is reused unchanged and no RID candidate/promotion occurs. Once routing has selected and validated that exact inherited RID, that event establishes RID_ACTION: REUSED and the exact inherited RID_FILENAME ; later refusal does not erase the already-established reuse fact. After the required RID state is established, Data Sculptor promotes each requested COL candidate in deterministic resolved KEEP order by changing only the class token from SCR to COL ; each candidate's bytes, shared transaction UTC, COL-specific UUID, and extension remain unchanged. If RID or COL promotion fails, Data Sculptor must refuse the run and roll any newly promoted RID/COL names back out of their final namespaces where safely possible. Candidate or rollback bytes that cannot be safely restored or removed must be retained visibly as non-authoritative SCR failure evidence. The existence of an unreferenced RID- or COL-looking file after interruption does not by itself make that artifact committed Store state. After all required RID/COL promotions succeed, Data Sculptor allocates a MAP-specific UUID before opening the complete successor-MAP SCR candidate. That candidate uses the same publication-transaction UTC, the allocated MAP UUID, and the final .csv extension, and is constructed using the exact final RID/COL filenames. It is closed successfully, reopened, and validated completely while it remains SCR . Only then may the MAP candidate be promoted by changing only the class token from SCR to MAP ; its bytes, UTC, UUID, and extension remain unchanged. The successful SCR -to- MAP rename is the materialization commit point. Until that commit point, the prior valid MAP remains authoritative for an existing Store; for a new Store, no committed Store state exists yet. If MAP validation or MAP rename fails, Data Sculptor must refuse and roll the newly promoted RID/COL set back out of the final namespaces where safely possible; otherwise affected bytes remain attributable recovery evidence and are not committed Store membership. Governed Store membership/current state is established by a valid MAP binding, not by a final-class filename or timestamp equality alone. Revision BB preserves the Revision AY staging/promotion mechanics and Revision AZ shared transaction-UTC rule for newly published RID/COL/MAP artifacts. Selected-folder support for the canonical governed filename/path form is established by the Suitcase Validation Certificate under W002-STOR-022 through W002-STOR-022.3 rather than by a frozen numeric host path-length table. Operation-specific host rename or publication failure remains a governed refusal under this requirement and is not pre-certified by Suitcase validation. F-14 shared candidate grammar, reconciled by F-33: every RID/COL/MAP SCR candidate in this transaction follows W002-STOR-023.1: its SCR name already carries the UTC, UUID and extension intended for the final RID/COL/MAP identity, and successful promotion changes only the class token. Any retained SCR candidates after a handled publication/rollback failure remain visible non-authoritative failure evidence under W002-STOR-023.1 and are reported through the governed diagnostic/Help path; WASM-002 does not emit an RCV manifest. An orphaned SCR remains non-authoritative even if its bytes later validate.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.7,Successful materialization publishes one complete Store MAP,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"A successful governed materialization that creates one or more COL artifacts must also publish exactly one new complete immutable Store MAP under W002-STOR-019 through W002-STOR-019.12. For a new Store, that MAP binds the automatically generated and promoted RID to the Store metadata and all newly materialized COL mappings. For an existing Store, it preserves the inherited RID binding and complete prior Store state while applying the successful materialization updates. All required RID/COL SCR candidates must complete and validate before promotion begins. On a new Store, RID promotion occurs first; on an existing Store, the inherited RID is reused unchanged. All requested COL promotions must then succeed before successor-MAP candidate construction begins. The complete successor MAP is written as SCR , closed, reopened, and fully validated before entering the MAP namespace. Its final host rename from SCR to the governed MAP filename occurs last and is the materialization commit point. The materialization run is not reported as successfully committed until that MAP rename succeeds. If MAP candidate validation or MAP rename fails after RID/COL promotion, the run must refuse and the newly promoted artifacts must be rolled back out of their final namespaces where safely possible. Any failure residue that cannot safely be removed or restored is governed by W002-STOR-023.1 and remains non-authoritative retained failure evidence; its survival must not be used to infer or manufacture attribution or to simulate the failed publication step. The prior valid MAP remains authoritative for an existing Store; no committed Store is established for a first materialization without a valid successor MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.8,Stage 2 enforces deterministic source-record shape,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The parsed header establishes the expected source field count. Every nonblank logical data record must contain exactly that many fields after CSV parsing. A nonblank ragged record with fewer or more fields must refuse rather than pad, truncate, or shift later values. An explicit empty field is valid data and preserves its ordinal. A bare blank logical data record occurring outside a quoted field must refuse and must not be silently skipped or converted into one empty field. A physical blank line inside a valid quoted multiline field is field content, not a blank record. F-06 canonical malformed-CSV refusal facts Every structural CSV refusal records these governed facts: REFUSAL_CONDITION
SOURCE_BYTE_OFFSET
PHYSICAL_LINE
LOGICAL_RECORD
FIELD_ORDINAL SOURCE_BYTE_OFFSET is the zero-based absolute byte offset from the first physical byte of the source file. A leading UTF-8 BOM, when present, occupies offsets 0–2 and therefore counts in subsequent absolute byte locations. PHYSICAL_LINE is one-based and equals one plus the number of LF bytes strictly before the governed refusal location. LF bytes inside quoted multiline fields still increment physical-line count. LOGICAL_RECORD is one-based CSV logical-record ordinal and includes the header as logical record 1. The first data record is therefore logical record 2. FIELD_ORDINAL is the one-based field position within that logical record. These facts describe the same first structural refusal regardless of permitted streaming-window size or boundary placement. Canonical structural refusal tokens The seven frozen F-06 malformed-CSV tokens are: UNEXPECTED_QUOTE_IN_UNQUOTED_FIELD
INVALID_BYTE_AFTER_CLOSING_QUOTE
BARE_CR_OUTSIDE_QUOTED_FIELD
EOF_INSIDE_QUOTED_FIELD
BLANK_LOGICAL_RECORD
TOO_FEW_FIELDS
TOO_MANY_FIELDS P3-09 adds NO_HEADER_RECORD as the eighth governed Stage-2 structural CSV refusal token. Parser-library names, host exceptions, crate-specific error enums, or localized descriptions must not replace these governed tokens. Governed refusal location by condition Condition Governed refusal location UNEXPECTED_QUOTE_IN_UNQUOTED_FIELD Offset of the offending "" byte. INVALID_BYTE_AFTER_CLOSING_QUOTE Offset of the first prohibited byte after the closing quote. BARE_CR_OUTSIDE_QUOTED_FIELD Offset of the CR byte itself. EOF_INSIDE_QUOTED_FIELD One-past-end offset, equal to the physical source byte length. BLANK_LOGICAL_RECORD First byte of the record terminator that proves the blank record: LF for LF termination; CR for CRLF termination. TOO_FEW_FIELDS First byte of the record terminator that closes the short record; at EOF, one-past-end offset equal to source byte length. TOO_MANY_FIELDS The comma delimiter that begins the first field beyond the expected header width. NO_HEADER_RECORD One-past-end offset equal to the exact physical source byte length, with physical line 1, logical record 1, and field ordinal 1, as frozen by W002-MAT-001.7. Field ordinal rules For TOO_FEW_FIELDS , FIELD_ORDINAL is the first missing field ordinal: expected-width position immediately after the last field actually present. For TOO_MANY_FIELDS , FIELD_ORDINAL is the first extra field ordinal: header-width + 1. For quote/CR/EOF structural conditions, FIELD_ORDINAL is the current field ordinal in which the malformed condition is established. For BLANK_LOGICAL_RECORD , FIELD_ORDINAL is 1. For NO_HEADER_RECORD , FIELD_ORDINAL is 1. Bare CR scope A bare CR outside a quoted field is malformed CSV and refuses with BARE_CR_OUTSIDE_QUOTED_FIELD . CR inside a valid quoted field is ordinary field content. LF inside a valid quoted field is ordinary field content. CRLF inside a valid quoted field is ordinary field content. Outside quoted fields, CRLF is one accepted logical-record terminator and LF is one accepted logical-record terminator. Outside quoted fields, a CR not immediately followed by LF is malformed. EOF while quoted If EOF is reached while the parser remains inside an open quoted field, the source refuses with EOF_INSIDE_QUOTED_FIELD . Data Sculptor must not synthesize a closing quote, truncate the field, reinterpret prior bytes as unquoted content, or otherwise repair the source. First-condition precedence Stage 2 evaluates structural CSV input in absolute source-byte order and reports the earliest refusal condition that becomes deterministically established. CSV grammar errors take precedence over later row-shape errors. BLANK_LOGICAL_RECORD takes precedence over TOO_FEW_FIELDS for a physically blank logical record. BARE_CR_OUTSIDE_QUOTED_FIELD takes precedence over INVALID_BYTE_AFTER_CLOSING_QUOTE when the post-quote offending byte is a CR that is not followed by LF. At EOF while still inside a quoted field, EOF_INSIDE_QUOTED_FIELD takes precedence over field-count evaluation. No implementation may choose a different error merely because of parser buffering, window boundaries, library behavior, or host platform. Delimiter boundary Comma remains the only WASM-002 field delimiter. Automatic delimiter detection is outside the WASM-002 CSV contract. A file whose rows contain semicolons, tabs, or other non-comma separators may still be valid under the comma-only grammar as a one-column CSV. Data Sculptor must not invent a malformed-CSV refusal merely because another application would treat those bytes as delimiters. When a requested HEADER cannot be resolved, Help may explain that WASM-002 uses comma as the CSV delimiter and that semicolon/tab exports may therefore be interpreted as one field per row. Interaction with UTF-8 diagnostics This structural CSV refusal oracle applies only after the source has passed the applicable encoding-certification boundary. Invalid UTF-8 remains governed by the separately frozen UTF-8 diagnostic contract. Its zero-based absolute source-byte orientation is intentionally aligned with SOURCE_BYTE_OFFSET so WASM-002 does not have competing byte-coordinate systems.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.9,Unselected field contents are not retained,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Stage 2 must parse every field sufficiently to preserve CSV structure, field count, row boundaries, and governed safety checks, but it must not retain complete contents for unselected fields after those bytes are no longer structurally needed. The engine must not materialize a complete source row, complete table, or complete unselected column in memory merely to emit selected columns. Selected-field content may use bounded accumulation required by the frozen field-size/output rules.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.10,Individual decoded CSV fields are limited to 16 MiB,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"WASM-002 carries forward the established Data Sculptor field-buffer safety boundary: an individual CSV field may contain at most 16 MiB (16,777,216 bytes) of decoded UTF-8 field content. This is an engineering safety limit, not a semantic statement about CSV or an Excel cell limit. The limit must be enforced incrementally for header and data fields. The parser must not first accumulate an arbitrarily large field and then check it. If a field would exceed the limit, the run must refuse without truncating, repairing, discarding the remainder, or finalizing the candidate materialization. For an unselected field, Data Sculptor may count decoded field bytes without retaining the field value; the safety limit still applies so malformed unterminated fields cannot turn the structural scan into unbounded growth. F-20 operational column-name boundary: after an exact source header field is decoded, Data Sculptor measures its length in Unicode scalar values, not UTF-8 bytes or grapheme clusters. If the exact decoded source header contains at most 1,024 Unicode scalar values, its operational column name is that exact header text. If it contains more than 1,024 scalar values, the operational column name begins from the deterministic physical-ordinal fallback Column <LETTERS> , where the letters are the Excel-style 1-based source ordinal ( A through XFD for the WASM-002 width bound). This operational name is a bounded human-facing/default-alias construct; it does not replace or truncate the authoritative exact source header.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-002.11,Materialized COL artifacts use canonical one-column UTF-8 CSV serialization,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Each finalized materialized COL artifact is a one-column CSV. It begins with exactly one UTF-8 BOM ( EF BB BF ) and uses LF ( 0x0A ) as the record terminator on every supported host. The first logical record contains the exact decoded source header text for that physical source column; an alias assigned with AS lives in the governed MAP and does not rewrite the physical COL header. A deliberately empty source header is serialized as one explicit empty header field rather than as absence of a header record. Header and data fields use deterministic minimal CSV quoting: quote when the field contains comma, double quote, CR, or LF; double embedded double quotes; otherwise write the field without quotes. Embedded CR/LF that belong to a quoted field remain field content. For a one-column data record whose decoded value is the empty string, serialize the value explicitly as """" so the row cannot be confused with a bare blank logical record. For fixed source bytes and fixed governed semantics, changing input/output window boundaries must not change the finalized COL bytes. F-20 source-fidelity rule: the physical COL header record always serializes the exact decoded source header, even when that header exceeds the 1,024 -scalar operational-name boundary and the Store MAP/default alias therefore uses an operational fallback. The fallback name must never be substituted into the COL header record or into the MAP source_header field.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003,Stage 2 processes the source through bounded reusable windows,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,Structural materialization must process the certified source through bounded reusable input windows compatible with browser/WASM memory constraints. Source size and row count must not require proportional WASM memory growth.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.1,"The 4 MiB WASM-001b window is a proven reference point, not a frozen production constant",W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The 4 MiB source window used successfully during the WASM-001b browser experiments is an evidence-backed starting/reference size. WASM-002 may tune the production input-window size using benchmark evidence, provided the governed memory budget and all window-invariance requirements remain satisfied.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.2,Changing source-window size or boundary placement must not change results,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"For the same certified source and Work Order, permitted changes in bounded Stage 2 input-window size or boundary placement must not change CSV interpretation, resolved headers/ordinals, accepted row count, row identity, aliases, canonical COL bytes, successor MAP contents apart from newly allocated physical identities/timestamps, or the first deterministic refusal condition. P3-09 window invariance: for a Stage-1-certified source containing no logical CSV record, every permitted Stage 2 window size and boundary placement must produce the same NO_HEADER_RECORD refusal and the same governed location tuple: source-byte offset equal to the exact source byte length, physical line 1, logical record 1, field ordinal 1. F-06 full refusal-oracle window invariance: for the same certified source bytes, changing any permitted Stage 2 input-window size or boundary placement must not change whether the source is accepted or refused; the first REFUSAL_CONDITION ; SOURCE_BYTE_OFFSET ; PHYSICAL_LINE ; LOGICAL_RECORD ; or FIELD_ORDINAL . This applies to every structural CSV refusal governed by W002-MAT-002.8.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.3,CSV structure must survive arbitrary input-window boundaries,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Input-window boundaries may occur between ordinary field bytes, delimiter bytes, quote/escaped-quote pairs, CR/LF record-ending bytes, inside quoted multiline fields, and inside already-certified multi-byte UTF-8 sequences. The Stage 2 parser must preserve equivalent structural meaning across those boundaries.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.4,Cross-window parser state is small and explicit,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"Stage 2 may carry only the bounded state needed to continue the current logical CSV parse, including the current logical row ordinal, current field ordinal, quoted/unquoted state, escaped-quote/quote-transition state as required by the parser, pending CR/LF state, decoded-field byte count, resolved selected-field dispatch metadata, and bounded selected-field/output staging. The parser must not retain previous complete rows or source windows merely because a CSV record crosses a window boundary.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.5,Input-window and output-drain sizes are independent implementation controls,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The source read window, WASM transfer window where applicable, selected-field accumulator bound, and output-drain window are separate controls. One must not be silently treated as the maximum for another merely because an earlier prototype used the same numeric value. Any tuning must preserve the Stage 2 memory, backpressure, byte, and window-invariance contracts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.6,Stage 2 uses direct structural parsing rather than a required structural sidecar,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The WASM-002 baseline performs its Stage 2 work directly from the certified source stream. It must not require a precomputed comma/quote/newline position map, binary structural index, hidden cache, or OPFS sidecar before materialization can proceed. The previously discussed structural-sidecar comparison remains a separate future experiment and must not be introduced into WASM-002 as an unmeasured dependency.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-003.7,The Stage 2 algorithm is browser-first shared Rust core behavior,W002-MAT,W002-MAT,WASM-002,UNDER REVIEW,—,"The structural parser, row-count semantics, selector dispatch, canonical field serialization, and bounded output-state machine defined by Stage 2 belong in the shared Rust semantic core proven through the browser/WASM path first. A later native CLI host must call the same governed core rather than reimplementing competing materialization semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001,Conversion is a separate governed operation,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"Windows-1252-to-UTF-8 conversion is a distinct governed Work Order operation, separate from UTF-8 certification and separate from analytical materialization. The analyst must explicitly authorize it. The canonical WASM-002 form is: SUITCASE: .
WORK ORDER AS ""Convert legacy source to UTF-8""
SOURCE ""legacy_source.csv""
CONVERT WINDOWS-1252 TO UTF-8 CONVERT WINDOWS-1252 TO UTF-8 is the terminal operation clause. Exactly one SOURCE is permitted. The same WKO must not contain KEEP , MATERIALIZE , Store/RID/COL alias mutation, MAP , Inventory, repair, cataloging, Work Order composition, or another operation terminal clause. F-10 conversion entry precondition Before CONVERT WINDOWS-1252 TO UTF-8 may begin character transcoding, Data Sculptor must validate the complete bound source as strict UTF-8 under the same deterministic whole-source certification rules used elsewhere in WASM-002. If the complete source is already valid strict UTF-8, the conversion refuses as unnecessary and publishes no CVT . Only after complete strict UTF-8 validation reaches governed FAIL may Data Sculptor assess the same complete bound source against the frozen Windows-1252 compatibility mapping. Only a source that fails strict UTF-8 and passes the complete Windows-1252 compatibility assessment may proceed to conversion. A failed analytical Work Order, UTF-8 certification, or materialization never silently invokes this operation. The analyst must explicitly authorize the separate conversion WKO.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.1,A failed analytical Work Order must not automatically invoke conversion.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.2,The user must explicitly choose or submit the separate conversion task.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.3,The original source file must remain unchanged.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-001.4,Successful conversion must create a new UTF-8 artifact with its own governed identity and receipt/evidence.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002,Windows-1252 compatibility assessment,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"After strict whole-source UTF-8 certification returns FAIL , the current analytical operation remains refused and Stage 2 must not start. As refusal handling, Data Sculptor performs one separate read-only Windows-1252 compatibility assessment from physical byte offset 0 of the same run-local bound source instance. The compatibility assessment scans the complete source sequentially under W002-CONV-002.1 through W002-CONV-002.5. It does not transcode, publish a CVT, modify the analyst-owned source, resume materialization, or claim that Windows-1252 is the historical encoding. Its sole governed result is whether the entire byte stream is mappable by the frozen WASM-002 Windows-1252 converter. If strict UTF-8 certification returned PASS , or did not reach a governed FAIL conclusion, this compatibility assessment is not run. F-10 conversion classification gate The conversion operation itself repeats/executes the complete classification gate on its bound source before transcoding: validate the complete source as strict UTF-8; if strict UTF-8 passes, refuse conversion as unnecessary; only after strict UTF-8 fails, scan the complete source against the frozen Windows-1252 mapping; if any source byte is undefined or unsupported by that mapping, refuse rather than guess; and begin transcoding only when strict UTF-8 has failed and the complete Windows-1252 compatibility assessment has succeeded. An undefined/unsupported Windows-1252 byte is therefore a pre-transcoding compatibility-assessment refusal . No CVT candidate may be represented as successfully converted from a source whose compatibility scan found an undefined byte. The compatibility assessment must not substitute U+FFFD , reinterpret an undefined Windows-1252 byte as ISO-8859-1, or use permissive host/library decoder behavior to make an incompatible source convertible.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.1,Compatibility means that the supported deterministic converter can map the observed source bytes under the frozen Windows-1252 rules.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"Compatibility means that every physical source byte can be mapped deterministically by the complete normative WASM-002 Windows-1252 mapping in W002-CONV-002.4 . Successful EOF produces the governed outcome COMPATIBLE . No statistical detector, locale rule, browser guess, replacement character, ISO-8859-1 substitution, best-effort decoder, or PRODUCT-scoped glossary text participates as normative authority in this determination.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.2,Compatibility must not be described as proof that Windows-1252 was historically or authoritatively the file's original encoding.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"COMPATIBLE means only that the complete byte stream is convertible under Data Sculptor's frozen Windows-1252 mapping. It must not be described as proof that Windows-1252 was historically, authoritatively, or intentionally the source file's original encoding.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.3,Bytes undefined by the frozen Windows-1252 mapping must cause the compatibility assessment or conversion task to refuse rather than guess.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"If the compatibility pass encounters a byte that W002-CONV-002.4 defines as undefined, the assessment stops at the first such byte and returns INCOMPATIBLE . Data Sculptor must not substitute a replacement character, reinterpret the byte under another code page, or continue as though conversion were safe. A later explicit conversion Work Order must apply the same complete WASM-002 mapping and the same refusal rule.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.4,Complete normative WASM-002 Windows-1252 byte mapping,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"This requirement is the complete normative Windows-1252 mapping authority for WASM-002 . It covers all 256 possible byte values. No PRODUCT-scoped glossary entry or host/library decoder is required to interpret compatibility or conversion. 0x00–0x7F Every byte 0x00 through 0x7F maps one-to-one to Unicode U+0000 through U+007F . 0x80–0x9F Byte Windows-1252 mapping Unicode 0x80 EURO SIGN U+20AC 0x81 UNDEFINED — 0x82 SINGLE LOW-9 QUOTATION MARK U+201A 0x83 LATIN SMALL LETTER F WITH HOOK U+0192 0x84 DOUBLE LOW-9 QUOTATION MARK U+201E 0x85 HORIZONTAL ELLIPSIS U+2026 0x86 DAGGER U+2020 0x87 DOUBLE DAGGER U+2021 0x88 MODIFIER LETTER CIRCUMFLEX ACCENT U+02C6 0x89 PER MILLE SIGN U+2030 0x8A LATIN CAPITAL LETTER S WITH CARON U+0160 0x8B SINGLE LEFT-POINTING ANGLE QUOTATION MARK U+2039 0x8C LATIN CAPITAL LIGATURE OE U+0152 0x8D UNDEFINED — 0x8E LATIN CAPITAL LETTER Z WITH CARON U+017D 0x8F UNDEFINED — 0x90 UNDEFINED — 0x91 LEFT SINGLE QUOTATION MARK U+2018 0x92 RIGHT SINGLE QUOTATION MARK U+2019 0x93 LEFT DOUBLE QUOTATION MARK U+201C 0x94 RIGHT DOUBLE QUOTATION MARK U+201D 0x95 BULLET U+2022 0x96 EN DASH U+2013 0x97 EM DASH U+2014 0x98 SMALL TILDE U+02DC 0x99 TRADE MARK SIGN U+2122 0x9A LATIN SMALL LETTER S WITH CARON U+0161 0x9B SINGLE RIGHT-POINTING ANGLE QUOTATION MARK U+203A 0x9C LATIN SMALL LIGATURE OE U+0153 0x9D UNDEFINED — 0x9E LATIN SMALL LETTER Z WITH CARON U+017E 0x9F LATIN CAPITAL LETTER Y WITH DIAERESIS U+0178 0xA0–0xFF Every byte 0xA0 through 0xFF maps one-to-one to Unicode U+00A0 through U+00FF . Undefined-byte rule The only undefined byte values in this frozen WASM-002 mapping are exactly 0x81 , 0x8D , 0x8F , 0x90 , and 0x9D . Encountering any one of them makes the complete compatibility assessment INCOMPATIBLE at the first such byte and causes an explicitly run conversion Work Order to refuse before transcoding rather than guess. These three ranges plus the 32-position table above exhaust the byte domain 0x00–0xFF . No unlisted byte value exists.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-002.5,The compatibility check must itself be bounded and deterministic.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"The compatibility check is one bounded-memory deterministic sequential pass from physical source byte offset 0 to EOF unless the first undefined Windows-1252 byte is encountered earlier. Buffer/window size must not change the compatibility outcome or the first undefined-byte offset. On INCOMPATIBLE , WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET is the zero-based absolute physical source-byte offset of the first undefined byte. On COMPATIBLE , that offset is NOT_APPLICABLE . If the assessment begins but an independent read/host failure prevents a governed compatibility conclusion, the outcome is NOT_AVAILABLE and the first-undefined-byte offset is NOT_AVAILABLE . The assessment itself publishes no converted output.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003,Help suggestion after failed UTF-8 certification,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"Help may suggest the separate CONVERT WINDOWS-1252 TO UTF-8 Work Order only when the governed engine emits DS-CNV-001 after a complete compatibility assessment returned COMPATIBLE . The suggestion is therefore derived from a governed diagnostic fact, not from the UTF-8 failure itself. If the assessment returns INCOMPATIBLE , is NOT_AVAILABLE , or did not run, DS-CNV-001 is not emitted and Help must not invent the conversion recommendation. P3-08 Help disclosure: when conversion succeeds, Help must state that the published CVT is a new governed source artifact with its own source identity and that converting a refreshed legacy source later will publish another distinct CVT rather than refresh an earlier CVT-backed Store lineage. When a CVT is selected for first materialization, Help must disclose the same consequence before or with the normal materialization guidance: the Store lineage is anchored to the exact CVT filename, not to the analyst-owned pre-conversion filename. Help must not imply hidden lineage continuity across separate CVT artifacts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.1,The suggestion must state that the current analytical task has stopped.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The suggestion must state that the current analytical task has already stopped/refused because strict UTF-8 certification failed. DS-CNV-001 is informational and must not be rendered as though materialization can continue from the failed run.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.2,The suggestion must state that the original source has not been changed.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The suggestion must state that the compatibility assessment was read-only and that Data Sculptor did not change the analyst-owned source. Any later successful conversion publishes a separate governed CVT artifact rather than editing the original source in place.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.3,"The suggestion must describe the source as compatible with the supported Windows-1252 converter, not definitively identified as Windows-1252.",W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The suggestion must describe the complete source as compatible with Data Sculptor's supported Windows-1252 converter . It must not say that the source was definitively identified as Windows-1252 or imply provenance that the compatibility pass cannot prove.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.4,The suggestion must make clear that conversion is a separate user-authorized task.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"The suggestion must make clear that conversion is a separate user-authorized Work Order. next_action: RUN_WINDOWS_1252_CONVERSION means that the separate operation is a governed safe option; it is not permission for Data Sculptor to silently transcode, modify the source, or reinterpret the refused analytical Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-003.5,"If the bytes are not compatible with the supported converter, Help must not recommend Windows-1252 conversion as though it were safe.",W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"If the compatibility outcome is INCOMPATIBLE , NOT_AVAILABLE , or NOT_RUN , Help must not recommend Windows-1252 conversion as though it were safe. In particular, the mere presence of DS-ENC-001 never authorizes that recommendation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004,Canonical conversion output,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,"A successful Windows-1252 conversion task must produce canonical UTF-8 output suitable for later submission to the normal UTF-8 certification and materialization path. P3-08 lineage consequence: the successful conversion output is a new immutable governed CVT artifact with its own exact physical filename. That CVT filename is the source identity used by later Store routing. A later conversion, including one made from a refreshed analyst-owned legacy source with the same original filename, publishes a different CVT and therefore does not refresh, replace, or continue an earlier CVT-backed Store lineage merely by name association. On first materialization, each distinct CVT begins a new Store lineage unless that exact CVT filename already routes to an existing lineage under the normal Store rules. F-14 CVT identity and publication: the final converted-source filename is exactly __DS__CVT__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv . Conversion writes first to the corresponding W002-STOR-023.1 SCR identity with the same UTC, UUID and .csv extension. Only after bounded conversion completes, the candidate closes/reopens successfully, and the converted bytes satisfy the governed strict UTF-8 requirement may the class token be renamed to CVT . CSV structural interpretation remains governed by the later normal certification/materialization path; CVT publication does not assert that the converted source is structurally valid CSV. F-10 conversion semantics — encoding conversion only The conversion operation performs deterministic character transcoding only. It does not parse, repair, normalize, or reinterpret CSV structure. Commas remain commas. Double quotes remain double quotes. Ordinary ASCII bytes retain the same byte value. LF remains LF. CR remains CR. CRLF remains CRLF. Embedded CR/LF bytes are preserved in place; the converter does not decide whether they are record terminators or field content. Canonical UTF-8 output therefore means deterministic UTF-8 encoding of the accepted source characters, not normalization of line endings, quoting, delimiters, records, headers, or fields. F-10 BOM rule The published CVT is UTF-8 without a BOM ; Data Sculptor does not prepend EF BB BF . If the source failed strict UTF-8 classification, a leading source byte sequence EF BB BF is not blindly stripped as though it were a UTF-8 BOM. Under the Windows-1252 conversion path those source bytes are source data and are mapped according to the frozen Windows-1252 mapping. BOM interpretation remains subordinate to encoding classification rather than acting as a blind prefix-removal rule.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-010; CP-011,"CP010 T-ACCEPTED, GIT BANKED — lexical CVT candidate only; complete requirement remains open; CP011 T-ACCEPTED, GIT BANKED — CVT-to-SCR lexical staging-name pairing only; complete conversion requirement remains open",b7c515faa9bd000369d7656e09437310261290ae; e84ae5baeee05f9d5d30284c65b86eebba3c0f6a,"Evidence/CP-010/CP010_Scope_Lock.txt; Evidence/CP-010/CP010_RED_Test_Output_CMD_Corrected.txt; Evidence/CP-010/CP010_GREEN_Test_Output.txt; Evidence/CP-010/CP010_Post_Format_Regression_Test_Output.txt; Evidence/CP-010/CP010_WASM_Build_Output.txt; Evidence/CP-010/CP010_Post_Format_Check_Output.txt; Evidence/CP-010/CP010_Hash_Inventory_Verification.txt; Evidence/CP-010/CP010_Supplementary_Hash_Verification.txt; Evidence/CP-010/CP010_Closing_Git_Review.txt; CP010_Git_Banking_Output.txt (post-commit; separately archived); Evidence/CP-011/CP011_Scope_Lock.txt; Evidence/CP-011/CP011_RED_Test_Output.txt; Evidence/CP-011/CP011_GREEN_Test_Output.txt; Evidence/CP-011/CP011_Post_Format_Regression_Test_Output.txt; Evidence/CP-011/CP011_Rustfmt_Recheck_Output.txt; Evidence/CP-011/CP011_Post_Format_WASM_Build_Output.txt; Evidence/CP-011/CP011_Hash_Inventory_Verification.txt; Evidence/CP-011/CP011_Supplementary_Hash_Verification.txt; Evidence/CP-011/CP011_Closing_Git_Review.txt; CP011_Git_Banking_Output.txt (post-commit, separately preserved)","CP010 Day066 first-touches ONLY the F-14 canonical final CVT output filename grammar subconstraint: is_governed_cvt_source_filename_candidate(&str)->bool recognizes exact canonical __DS__CVT__<UTC>__<UUIDv4>.csv lexical form by reusing existing envelope validation. Four targeted tests + 40/40 full native regression PASS; wasm32-target build PASS; T accepted and banked b7c515faa9bd000369d7656e09437310261290ae. No encoding conversion, SCR creation, close/reopen, UTF-8 validation, CVT publication, immutable physical output, source authority, or CSV structural checks; entire W002-CONV-004 remains PARTIAL, independently unreviewed. CP011 Day066: public pure helper build_scr_candidate_filename_for_cvt(&str)->Option<String> accepts an exact canonical governed CVT .csv filename (via CP010 recognizer) and derives the paired SCR filename by substituting only class token CVT -> SCR, preserving exact UTC, UUIDv4 and lowercase .csv bytes; rejects wrong classes, paths, whitespace, malformed clock/date/UUID, extension and class case. Six targeted tests; RED expected E0432 exit 101; GREEN 6/6; post-format native regression 46/46; rustfmt recheck PASS; Rust 1.97.1 wasm32-unknown-unknown --lib build PASS; original 28/28 and combined 36/36 SHA-256 records verified. Two local scoped .gitattributes whitespace exceptions preserve Rustfmt/Git diagnostic TXT bytes; final Git staged check PASS. T-approved and Git banked e84ae5baeee05f9d5d30284c65b86eebba3c0f6a, 27 committed files, working tree clean. Lexical candidate-name pairing ONLY; no SCR creation, bytes, converter, transaction, close/reopen, validation/publication, retained SCR adoption, SOURCE authority or browser execution. Independent Claude implementation QA pending.",Day066,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.1,The converted artifact must itself be certifiable as UTF-8.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.2,The conversion Receipt identifies the governed source encoding,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The canonical RCP for a successful governed Windows-1252-compatible conversion must identify exactly SOURCE_ENCODING: WINDOWS-1252-COMPATIBLE . That operation-specific fact is carried within the canonical TXT Receipt governed by W002-RCP-001 through W002-RCP-010. Only that exact serialized spelling is permitted for this key/value pair.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.3,The conversion Receipt identifies the materialized UTF-8 encoding,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The canonical RCP for a successful governed conversion must identify exactly MATERIALIZED_ENCODING: UTF-8 . This uses the canonical KEY: VALUE serialization frozen by W002-RCP-005. MATERIALIZED_ENCODING=UTF-8 is not valid canonical Receipt serialization.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.4,The conversion Receipt identifies bounded streaming transcoding,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,The canonical RCP for successful conversion must identify that transcoding was performed under the governed bounded/streaming conversion contract.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-004.5,No analytical column materialization occurs as part of this conversion operation.,W002-CONV,W002-CONV,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001,Canonical diagnostic truth,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every governed user-visible failure or warning produced by WASM-002 must originate as a canonical diagnostic event. A diagnostic event must have a stable identity and structured facts independent of its final wording. Governed success/status events that participate in the Help/status/evidence system—such as a successfully saved Work Order or a successfully validated Suitcase—are canonical INFO diagnostic events and obey the same identity/fact/behavior contract. Ordinary static labels, headings, decorative copy, and presentation-only status text are not automatically diagnostics merely because they are visible in the UI.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.1,Canonical diagnostic IDs use the frozen DS-<DOMAIN>-<NNN> grammar,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry one stable identifier using the exact form DS-<DOMAIN>-<NNN> . DOMAIN is exactly three uppercase ASCII letters A through Z. NNN is exactly three decimal digits, zero-padded, in the range 001 through 999 . Examples include DS-ENC-001 , DS-WKO-001 , DS-STO-001 , DS-MAT-001 , and DS-HLP-001 . A diagnostic ID is permanent after allocation and must never be reused for a different diagnostic meaning. Severity, host, build/release, source filename, path, UUID, byte offset, row/column number, count, timestamp, occurrence ID, and other run-specific facts must not be encoded into the diagnostic ID; those values belong in structured diagnostic fields. The identifier is the canonical lookup key used by the Help message catalog. Day 060 H-04 pre-freeze identifier normalization: the Windows-1252 compatibility suggestion diagnostic is DS-CNV-001 . It follows the same exact three-letter DOMAIN grammar as every other diagnostic ID. No four-letter DOMAIN exception exists in the current WASM-002 contract. Any pre-H-04 draft spelling of this diagnostic is superseded and is not valid build-registry input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.2,Diagnostic severity uses one exact token set,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry exactly one severity token: INFO , WARNING , or ERROR . Severity classifies the condition for human and machine interpretation. It does not itself determine whether execution continues or refuses; that authority is carried separately by the canonical behavior field.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.3,Diagnostic phase uses a stable uppercase token,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must identify the governed operation or phase using an uppercase ASCII snake-case token matching [A-Z][A-Z0-9]*(?:_[A-Z0-9]+)* . Examples include WORK_ORDER_VALIDATION , SOURCE_CERTIFICATION , MATERIALIZATION , STORE_PUBLICATION , and HELP_REPORT . These examples do not constitute a closed global phase list; the fixed phase for each allocated diagnostic is declared by that diagnostic's registry entry.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.4,Structured diagnostic facts are declared per diagnostic,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The canonical event carries diagnostic-specific evidence in a structured facts object. Fact keys use lowercase ASCII snake case matching [a-z][a-z0-9]*(?:_[a-z0-9]+)* . Each diagnostic registry entry declares disjoint required_facts and optional_facts sets. Every required fact must be present when that diagnostic is emitted. An optional fact key may be omitted when that fact is not emitted for the event, but omission itself has no governed absence-state meaning : it must not be interpreted as NONE , NOT_RUN , NOT_AVAILABLE , NOT_APPLICABLE , false , zero, or an empty string. An emitted fact key that is not declared for that diagnostic is invalid. For structured JSON diagnostic facts, an established ordinary value retains its native JSON type. When a present diagnostic fact must express one of the shared governed absence states, its value is the exact JSON string ""NONE"" , ""NOT_RUN"" , ""NOT_AVAILABLE"" , or ""NOT_APPLICABLE"" , with the meaning frozen by F-18. JSON null is not a generic encoding for diagnostic-fact absence; it is permitted only where a specific JSON schema explicitly declares a nullable field and defines what that null means, as W002-HELP-009 does for HLP lineage. A required diagnostic fact may not be silently omitted, defaulted, converted to null , guessed, or replaced by a Help-layer value. If Data Sculptor attempts to establish a registered diagnostic but cannot produce one or more facts declared required for that diagnostic, the intended diagnostic is not emitted . Instead the engine emits DS-HLP-001 under W002-HELP-001.8. The replacement event records the intended diagnostic ID and the complete sorted set of missing required fact names. No partially populated copy of the intended diagnostic may be presented beside it. This fail-closed substitution is a diagnostic-contract integrity rule, not a presentation fallback. It preserves the F-17 boundary that diagnostics own facts and Help renders only complete governed diagnostic truth.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.5,Execution behavior is explicitly CONTINUE or REFUSE,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry exactly one execution-behavior token: CONTINUE or REFUSE . This field is the governed continue/refuse decision for the event. Help wording, severity, UI color, or presentation must not independently weaken, strengthen, or reinterpret it.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.6,Safe next action uses a stable token rather than Help prose,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Every canonical diagnostic event must carry a next_action token using uppercase ASCII snake case matching [A-Z][A-Z0-9]*(?:_[A-Z0-9]+)* . NONE is the canonical value when no safe governed next action applies. The token expresses stable machine-readable intent; Casual, Office Speak, and Technical wording for that action belongs to the Help layer. Run-specific values such as timestamps, paths, UUIDs, byte offsets, filenames, counts, or occurrence IDs remain structured facts and do not change the diagnostic identity or fixed next-action meaning. Damaged-Store guidance is part of the safe-next-action contract. When ordinary materialization refuses because exact source routing identifies an INVALID Store lineage, or a DEGRADED lineage whose every mapped COL is broken and therefore cannot be reduced to a non-empty successor by REPAIR MAP , the selected Help voice must preserve the same frozen choices and consequences rather than inventing a recovery operation. The explanation must identify the blocked lineage/current MAP and distinguish: external restoration under the original governed physical filename followed by the required governed validation tier; source rename to deliberately begin a separate new Store lineage; and analyst retirement of the damaged lineage by moving all of that lineage's Store MAPs out of the active Suitcase root. For retirement, Help must warn that moving only the latest MAP can expose an older structurally valid MAP as current. Help must not claim that matching the original filename proves historical byte identity, and must not describe any of these analyst filesystem actions as Data Sculptor-authored repair, deletion, RID regeneration, or silent lineage replacement. P3-07 malformed-MAP routing guard: when ordinary materialization refuses because no routable Store lineage can be established while one or more structurally malformed Store-MAP-class artifacts are present in the active Suitcase, Help must identify the malformed MAP artifact or artifacts and state that new-Store/RID creation was blocked to prevent a silent lineage fork. Help must not describe the missing structurally valid MAP as proof that the prior Store never existed, and must not invent a Data Sculptor repair or replacement operation for this condition. P3-10 delimiter-hint clarification: when Stage 2 refuses with INVALID_BYTE_AFTER_CLOSING_QUOTE and the offending byte is semicolon ( 0x3B ) or horizontal TAB ( 0x09 ), Help may include the governed delimiter-mismatch hint even though the refusal occurred before header-delimiter resolution. The hint is explanatory only: it must not change the canonical refusal condition, location facts, behavior, or safe-action boundary. F-16 conversion-suggestion boundary: strict UTF-8 refusal diagnostic DS-ENC-001 has fixed next_action: NONE . UTF-8 failure alone does not establish that any converter is safe. Only the separate compatibility diagnostic DS-CNV-001 , emitted after the complete governed Windows-1252 compatibility assessment returns COMPATIBLE , may carry next_action: RUN_WINDOWS_1252_CONVERSION . That token identifies a safe separately authorized option; it never resumes or rewrites the refused analytical Work Order. Day 060 H-12 damaged-lineage diagnostic binding ordinary MATERIALIZE refusal for a routed INVALID Store uses DS-MAT-014 and its declared facts; ordinary MATERIALIZE refusal for a DEGRADED Store whose every mapped COL is broken uses DS-MAT-015 and its declared facts; the no-routable-lineage / malformed-Store-MAP guard uses DS-MAT-016 and its declared facts. These specialized allocations are what permit closed-world Help to identify the blocked lineage/current MAP or malformed MAP artifacts without adding unrelated facts to the ordinary DS-MAT-010 validation diagnostic. Day 060 H-26 / BM-09 ordinary DEGRADED routing binding. When ordinary MATERIALIZE exact-source routing identifies a DEGRADED Store whose RID is valid and at least one mapped non-RID COL remains valid, the refusal uses DS-MAT-017 . Its fixed next_action is RUN_REPAIR_MAP because REPAIR MAP is the safe governed Store mutation for this repairable DEGRADED state. Help must use the diagnostic's declared current_map_filename as the exact MAP identity the analyst must name in the separate governed REPAIR MAP Work Order. The token does not run repair automatically and does not mutate the refused MATERIALIZE Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.7,"The governed engine emits the diagnostic semantic core, not voice-authored prose",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The shared Rust/WASM diagnostic path must provide the canonical semantic core required by Help: diagnostic_id , severity , phase , behavior , facts , and next_action . The fixed values and permitted fact-key sets for an allocated diagnostic are governed by diagnostics.json . Casual, Office Speak, and Technical prose belongs to the Help rendering layer rather than being duplicated as authored message sets inside the governed engine. Host/build/occurrence metadata may be carried by surrounding governed execution evidence, but it must not redefine the diagnostic semantic core. F-16 closed-world Help rule: Help may recommend the WASM-002 Windows-1252 conversion Work Order only when the governed engine emitted DS-CNV-001 . Help must not infer compatibility from DS-ENC-001 , byte appearance, file extension, locale, browser behavior, heuristic encoding detection, or prose outside the diagnostic facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-001.8,diagnostics.json is the canonical WASM-002 diagnostic registry build resource,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The human-inspectable development/build source for the WASM-002 diagnostic registry is exactly diagnostics.json , encoded as UTF-8 without BOM. It is Data Sculptor product/build content, not a Suitcase artifact; it must not use the __DS__ namespace, consume an artifact-class token, or be copied into an analyst's Suitcase merely because Data Sculptor runs. The top-level JSON object has exactly two fields: registry_version and diagnostics . registry_version is the string ""1"" . diagnostics is an array written in ascending UTF-8 byte order of diagnostic_id . Each diagnostic entry has exactly seven fields: diagnostic_id , severity , phase , behavior , next_action , required_facts , and optional_facts . Diagnostic IDs must be unique and satisfy W002-HELP-001.1. Severity, phase, behavior, and next-action values must satisfy W002-HELP-001.2 through W002-HELP-001.6. required_facts and optional_facts are arrays of canonical fact-key strings sorted in ascending UTF-8 byte order; keys must be unique within each array and the two arrays must be disjoint. {
""registry_version"": ""1"",
""diagnostics"": [
{
""diagnostic_id"": ""DS-CNV-001"",
""severity"": ""INFO"",
""phase"": ""SOURCE_CERTIFICATION"",
""behavior"": ""CONTINUE"",
""next_action"": ""RUN_WINDOWS_1252_CONVERSION"",
""required_facts"": [""source_filename"", ""windows_1252_compatibility_outcome""],
""optional_facts"": []
},
{
""diagnostic_id"": ""DS-ENC-001"",
""severity"": ""ERROR"",
""phase"": ""SOURCE_CERTIFICATION"",
""behavior"": ""REFUSE"",
""next_action"": ""NONE"",
""required_facts"": [""first_invalid_byte_offset"", ""source_filename"", ""stop_reason""],
""optional_facts"": [""analytical_outputs_published"", ""materialization_started"", ""source_modified_by_data_sculptor"", ""store_state_committed""]
},
{
""diagnostic_id"": ""DS-HLP-001"",
""severity"": ""ERROR"",
""phase"": ""DIAGNOSTIC_ASSEMBLY"",
""behavior"": ""REFUSE"",
""next_action"": ""NONE"",
""required_facts"": [""intended_diagnostic_id"", ""missing_required_facts""],
""optional_facts"": []
}
]
} The PRD does not need to enumerate every allocated WASM-002 diagnostic row. The complete registry delivered with the build is retained acceptance evidence. A diagnostic ID becomes permanent once allocated and must not later be reused for a different meaning. Build validation must fail on malformed JSON; extra/missing entry fields; duplicate or noncanonical diagnostic IDs; invalid fixed tokens; unsorted, duplicate, overlapping, or invalid fact-key declarations; engine diagnostic definitions whose fixed semantics disagree with the registry; engine diagnostic definitions absent from the registry; Help-catalog IDs absent from the registry; or Help placeholders that name facts not declared as required or optional by the matching diagnostic. F-07 DS-ENC-001 fact mapping: the canonical lower-case diagnostic facts for strict UTF-8 refusal are first_invalid_byte_offset , source_filename , and stop_reason . For this diagnostic, stop_reason is exactly INVALID_UTF8_SEQUENCE . The generic fact name byte_offset is retired for this UTF-8 refusal diagnostic. P2-03 clock-order diagnostic facts: whichever stable WASM-002 Diagnostic ID is allocated to refusal because a successor Store MAP or WKO MAP cannot satisfy the strict monotonic UTC publication guard must declare these exact lower-case required facts in its diagnostic-registry entry: map_profile , observed_host_utc , predecessor_map_filename , and predecessor_utc . map_profile has exactly two permitted values: STORE for a Store-MAP chronology guard and WKO for a Work-Order-registry-MAP chronology guard. These facts identify both the governed MAP profile, the blocking predecessor artifact, and the truthful clock observation that caused refusal. F-16 DS-CNV-001 allocation: DS-CNV-001 is emitted only when the complete read-only compatibility assessment under W002-CONV-002 through W002-CONV-002.5 reaches EOF with outcome COMPATIBLE . Its required fact windows_1252_compatibility_outcome is therefore exactly the JSON string ""COMPATIBLE"" . behavior: CONTINUE means this informational diagnostic introduces no additional refusal; it does not reverse the already-established DS-ENC-001 refusal or resume Stage 2. F-17 DS-HLP-001 allocation: DS-HLP-001 is the canonical fail-safe event when the engine cannot satisfy the complete required-fact contract of an intended registered diagnostic. intended_diagnostic_id is the exact canonical ID that was being assembled. missing_required_facts is a JSON array of every missing required fact-key string, sorted in ascending UTF-8 byte order with no duplicates. The intended diagnostic is suppressed rather than emitted incompletely. DS-HLP-001 always refuses and has next_action: NONE . F-22 QA-independence boundary: diagnostics.json is authoritative for the fixed semantic contract of an allocated Diagnostic ID — its ID, severity, phase, behavior, next action, and permitted required/optional fact keys — but the implementation-delivered registry is not, by itself, an independent oracle proving that every arbitrary runtime condition was mapped to the correct Diagnostic ID. WASM-002 does not require a second QA-owned registry duplicating every implementation allocation. Where this PRD independently freezes a condition-to-diagnostic mapping or exact required facts — including the named DS-ENC-001 , DS-CNV-001 , and DS-HLP-001 contracts and other explicitly pinned diagnostic facts — that PRD text remains normative and acceptance must test the mapping independently of the implementation registry. For allocations not independently pinned by the PRD, WASM-002 accepts the validated build registry as the build allocation while retaining all registry-shape, permanence, semantic-agreement, fact-discipline, and Help cross-validation gates. This is an explicit accepted QA-scope risk, not a claim of independent condition-to-ID verification. Day 060 H-02 fixture-pinned diagnostic allocations The following allocations are normative for the byte-exact Receipt acceptance corpus. They are genuine product diagnostics, not QA-only placeholder IDs. Every row has severity: ERROR , behavior: REFUSE , next_action: NONE , the phase shown below, the listed required facts, and an empty optional_facts array unless another requirement explicitly adds optional facts later. The existing DS-ENC-001 remains the Stage-1 invalid UTF-8 diagnostic and is reused by the H-02 Stage-1 compatibility-state fixtures. Diagnostic ID Severity Phase Behavior Next action Frozen meaning Required facts DS-WKO-001 ERROR WORK_ORDER_VALIDATION REFUSE NONE Work Order validation refuses before one of the seven governed operations can be identified. work_order_filename DS-MAT-010 ERROR MATERIALIZATION_VALIDATION REFUSE NONE Ordinary MATERIALIZE validation/routing refuses before Stage 1 begins after the source reference is established, excluding the specialized damaged-lineage and malformed-MAP routing conditions allocated by Day 060 H-12. source_filename DS-MAT-011 ERROR CSV_DECODING REFUSE NONE MATERIALIZE Stage 2 refuses on a governed structural CSV condition. source_filename csv_refusal_condition csv_source_byte_offset csv_physical_line csv_logical_record csv_field_ordinal DS-MAT-012 ERROR MATERIALIZATION_GATE REFUSE NONE MATERIALIZE post-Stage-2 gate refuses because existing-Store source cardinality does not match the inherited RID cardinality. source_filename base_map_filename rid_filename source_row_count rid_row_count DS-MAT-013 ERROR STORE_PUBLICATION REFUSE NONE MATERIALIZE governed Store-artifact filename identity allocation refuses after collision-retry exhaustion before any new Store artifact becomes authoritative. artifact_class collision_retry_count DS-INV-001 ERROR INVENTORY_VALIDATION REFUSE NONE INVENTORY validation refuses before the inventory scan begins. work_order_filename DS-INV-002 ERROR INVENTORY_SCAN REFUSE NONE INVENTORY scan/measurement refuses for an identified immediate Suitcase entry before a complete snapshot is established. entry_name DS-INV-003 ERROR INVENTORY_PUBLICATION REFUSE NONE INVENTORY governed INV filename identity allocation refuses after collision-retry exhaustion after the snapshot facts are established. artifact_class collision_retry_count DS-ALS-001 ERROR ALIAS_VALIDATION REFUSE NONE UPDATE ALIASES validation/routing refuses before an exact base Store MAP is established. work_order_filename DS-ALS-002 ERROR ALIAS_GATE REFUSE NONE UPDATE ALIASES refuses after the exact base Store MAP is established but before successor publication. base_map_filename DS-ALS-003 ERROR STORE_PUBLICATION REFUSE NONE UPDATE ALIASES successor-MAP filename identity allocation refuses after collision-retry exhaustion. artifact_class collision_retry_count DS-RPM-001 ERROR REPAIR_MAP_VALIDATION REFUSE NONE REPAIR MAP validation refuses before an exact target MAP/RID pair is established. work_order_filename DS-RPM-002 ERROR REPAIR_MAP_ANALYSIS REFUSE NONE REPAIR MAP analysis refuses before a complete repair result is established. target_map_filename DS-RPM-003 ERROR REPAIR_MAP_ANALYSIS REFUSE NONE REPAIR MAP deterministically refuses because every mapped COL is broken and retained COL count is zero. target_map_filename broken_col_count DS-RPM-004 ERROR STORE_PUBLICATION REFUSE NONE REPAIR MAP successor-MAP filename identity allocation refuses after collision-retry exhaustion after repair analysis is established. artifact_class collision_retry_count DS-WKR-001 ERROR WORK_ORDER_REGISTRY_VALIDATION REFUSE NONE REPAIR WORK ORDER REGISTRY validation refuses before the current structurally valid WKO MAP is established. work_order_filename DS-WKR-002 ERROR WORK_ORDER_REGISTRY_REPAIR REFUSE NONE REPAIR WORK ORDER REGISTRY repair-plan/gate processing refuses after the base WKO MAP is established. base_wko_map_filename DS-WKR-003 ERROR WORK_ORDER_REGISTRY_PUBLICATION REFUSE NONE REPAIR WORK ORDER REGISTRY successor-WKO-MAP filename identity allocation refuses after collision-retry exhaustion. artifact_class collision_retry_count DS-CVT-001 ERROR CONVERSION_VALIDATION REFUSE NONE CONVERT WINDOWS-1252 TO UTF-8 validation/classification refuses before bounded transcoding begins. source_filename DS-CVT-002 ERROR CONVERSION REFUSE NONE CONVERT WINDOWS-1252 TO UTF-8 refuses after bounded transcoding begins but before publication. source_filename DS-CVT-003 ERROR CONVERSION_PUBLICATION REFUSE NONE CONVERT WINDOWS-1252 TO UTF-8 CVT filename identity allocation refuses after collision-retry exhaustion after conversion facts are established. artifact_class collision_retry_count DS-CAT-001 ERROR CATALOG_DISCOVERY REFUSE NONE CATALOG STORES validation/discovery refuses before the complete authoritative catalog row set is established. work_order_filename DS-CAT-002 ERROR CATALOG_PUBLICATION REFUSE NONE CATALOG STORES CAT filename identity allocation refuses after collision-retry exhaustion after the complete row set is established. artifact_class collision_retry_count Day 060 H-04 normalization: all allocated Diagnostic IDs in the current WASM-002 contract, including DS-CNV-001 , use exactly three ASCII uppercase letters in DOMAIN . No exception exists. Day 060 H-12 / BM-09 specialized diagnostic allocations The H-02 fixture diagnostics above are intentionally narrow. In particular, publication diagnostics whose required facts are only artifact_class and collision_retry_count mean identity-allocation collision exhaustion , not every possible publication failure. Other publication failures receive distinct registry allocations unless another requirement independently pins their Diagnostic ID. The following additional pre-freeze allocations are normative because existing Help duties require fact contracts that the broad H-02 fixture IDs cannot truthfully carry. Every row has severity: ERROR , behavior: REFUSE , and next_action: NONE except DS-MAT-017 , whose next_action is RUN_REPAIR_MAP . optional_facts is empty unless another requirement explicitly extends it. Diagnostic ID Severity Phase Behavior Next action Frozen meaning Required facts DS-MAT-014 ERROR MATERIALIZATION_ROUTING REFUSE NONE MATERIALIZE is blocked because exact source routing identifies a current INVALID Store lineage whose governed RID is missing or invalid. source_filename current_map_filename rid_filename store_health DS-MAT-015 ERROR MATERIALIZATION_ROUTING REFUSE NONE MATERIALIZE is blocked because exact source routing identifies a DEGRADED Store whose every mapped non-RID COL is missing or invalid, so REPAIR MAP cannot publish a non-empty successor. source_filename current_map_filename rid_filename store_health mapped_col_count broken_col_count DS-MAT-016 ERROR MATERIALIZATION_ROUTING REFUSE NONE New-Store creation is blocked because no routable Store lineage can be established while one or more structurally malformed Store-MAP-class artifacts are visible in the active Suitcase. source_filename malformed_map_filenames DS-MAT-017 ERROR MATERIALIZATION_ROUTING REFUSE RUN_REPAIR_MAP MATERIALIZE is blocked because exact source routing identifies a current DEGRADED Store whose governed RID is valid and whose mapped non-RID COL set contains at least one broken COL and at least one surviving valid COL, so a separate governed REPAIR MAP operation is available. source_filename current_map_filename rid_filename store_health broken_col_count DS-UTC-001 ERROR PUBLICATION_CHRONOLOGY REFUSE NONE A successor Store MAP or WKO MAP publication is blocked because truthful observed host UTC is not strictly greater than the canonical chronology predecessor UTC. map_profile observed_host_utc predecessor_map_filename predecessor_utc Day 060 H-26 / BM-09 allocation: DS-MAT-017 is the ordinary repairable-DEGRADED routing refusal. store_health is exactly DEGRADED ; broken_col_count is the exact number of mapped non-RID COL bindings that fail the applicable Store-health validation at this routing gate and is at least 1 . The condition excludes the all-COLs-broken case allocated to DS-MAT-015 . current_map_filename is the exact current structurally valid Store MAP that a separate REPAIR MAP Work Order must name. RUN_REPAIR_MAP is a safe next-action token only; it never causes automatic repair. Closed-world Help consequence: Help may render the richer damaged-lineage, malformed-MAP, and monotonic-UTC explanations only from the applicable specialized diagnostic event above. It must not borrow undeclared facts from DS-MAT-010 or from a collision-exhaustion publication diagnostic merely because those facts are available elsewhere at runtime. Cross-operation UTC rule: DS-UTC-001 has one stable semantic condition across Store-MAP and WKO-MAP successor publication. The required map_profile fact tells closed-world Help which governed MAP profile encountered the chronology guard: STORE means Store MAP and WKO means Work Order registry MAP. Help must select profile-appropriate explanation and analyst exits only from that declared fact and the other registered event facts; it must not infer the profile from filename shape, surrounding host state, or an undeclared operation field. The shared Diagnostic ID therefore does not need profile-specific clones.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002,Three-voice parity,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The Help Engine must support the three established Data Sculptor help voices. All three renderings must preserve the same diagnostic truth. Voice selection may change wording, sentence structure, degree of technical detail, and explanatory style. F-24 session default and persistence: Technical is the canonical Help voice at the start of every new browser application instance. The analyst may select Casual or Office Speak during that instance, but WASM-002 retains the selected voice only in volatile runtime state and does not persist the preference in browser-private storage. A new application instance therefore returns to Technical. This default does not alter the F-17 rule that a missing diagnostic-specific catalog entry visibly falls back to Generic Technical Help.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.1,Voice selection must not change diagnostic identity.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.2,Voice selection must not change severity.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.3,Voice selection must not change counts or evidence.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.4,Voice selection must not change whether execution continues or refuses.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.5,Voice selection must not change safe/unsafe action boundaries.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.6,Voice selection must not change provenance.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.7,Voice selection must not change the meaning of the recommended next step.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Tests must assert parity on the canonical event and structured facts, not brittle equality of prose.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.8,One validated Help message catalog is the source of truth for all three voices,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The Help layer resolves a canonical diagnostic ID through one validated catalog that associates an authored ID with Casual, Office Speak, and Technical templates. The human-maintained development source is exactly help_messages.json , encoded as UTF-8 without BOM. help_messages.json is a Data Sculptor product/build resource, not a Suitcase artifact. It must not use the __DS__ governed artifact namespace, consume a semantic artifact-class token, or be copied into an analyst's Suitcase merely because Data Sculptor runs. Run-specific structured facts remain authoritative in the canonical diagnostic event and are supplied separately to the selected template. The three authored voices must not be maintained as unrelated message stores. F-17 coverage fallback: absence of an authored catalog entry for an otherwise complete registered diagnostic is permitted at run time and does not make the diagnostic incomplete. Data Sculptor must instead render the deterministic Generic Technical Help view defined by W002-HELP-002.9. The fallback consumes only the canonical event semantic core and its emitted governed facts; it is not a second message catalog and does not manufacture replacement diagnostic facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.9,WASM-002 may use mechanically generated placeholder voice text to prove Help wiring,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"WASM-002 acceptance does not require the complete production Help corpus. Authored catalog entries may use unmistakable placeholder strings, and placeholder entries may be generated mechanically from the validated diagnostics.json registry; no production prose authorship is required. Deterministic Generic Technical Help fallback. When a complete registered canonical diagnostic has no matching entry in help_messages.json , all selected Help voices fall back visibly to one Generic Technical rendering. The rendering must show, in this exact conceptual order, the diagnostic ID, severity, phase, behavior, next-action token, and then every emitted governed fact ordered by ascending UTF-8 byte order of fact key. It must state that no diagnostic-specific authored explanation is available. It must not infer cause beyond the diagnostic, invent remediation, default missing facts, inspect undeclared external state, or substitute prose for governed fact values. The Generic Technical fallback preserves the original diagnostic unchanged. Catalog incompleteness is therefore distinct from diagnostic incompleteness: a valid event can always be rendered generically, while inability to satisfy the event's own required_facts contract suppresses that intended event and produces DS-HLP-001 under W002-HELP-001.4 and W002-HELP-001.8. Acceptance must prove correct diagnostic-ID lookup, selected-voice resolution, structured-fact interpolation where a template exists, voice switching, deterministic Generic Technical fallback for a deliberately absent catalog entry, and semantic parity across authored voices. Final authored Help wording, examples, editorial polishing, and production-corpus quality remain deferred to a later Help-content milestone.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.10,help_messages.json has one deterministic WASM-002 source schema,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The top-level JSON object has exactly two fields: catalog_version and messages . catalog_version is the string ""1"" . messages is an array written in ascending UTF-8 byte order of diagnostic_id . Each message entry has exactly four fields: diagnostic_id , casual , office_speak , and technical . diagnostic_id must satisfy the canonical DS-<DOMAIN>-<NNN> grammar and must be unique in the catalog. Each voice field is a JSON string. A voice string may contain zero or more structured-fact placeholders using the exact form {fact_name} . Each catalog diagnostic_id must exist in the validated diagnostics.json registry, and each referenced placeholder must be declared in that diagnostic's required_facts or optional_facts . Duplicate IDs, missing voice fields, null voice values, malformed JSON, noncanonical or unregistered diagnostic IDs, or undeclared fact placeholders make catalog validation fail. The catalog is intentionally allowed to be non-exhaustive. A registered diagnostic with no message entry is rendered through the deterministic Generic Technical fallback in W002-HELP-002.9. Therefore a missing catalog entry for a registered diagnostic is not a build-validation failure and must not cause the engine to synthesize an authored entry or suppress the diagnostic. WASM-002 therefore does not require one global exhaustive fact-name table in the PRD. Fact-key authority is per diagnostic: the validated registry declares which fact names are legal for each stable diagnostic meaning. {
""catalog_version"": ""1"",
""messages"": [
{
""diagnostic_id"": ""DS-ENC-001"",
""casual"": ""[CASUAL PLACEHOLDER] {source_filename}"",
""office_speak"": ""[OFFICE PLACEHOLDER] {source_filename}"",
""technical"": ""[TECHNICAL PLACEHOLDER] {source_filename} {first_invalid_byte_offset} {stop_reason}""
}
]
} Later Help-content revisions may extend or version this schema only through an explicit PRD revision. F-07 placeholder mapping: Help for the strict UTF-8 refusal may render {first_invalid_byte_offset} and {stop_reason} because those exact fact names are declared by the canonical DS-ENC-001 diagnostic registry entry. The older generic {byte_offset} placeholder is not valid for DS-ENC-001. P2-03 Help rendering duty: Help for the monotonic-UTC refusal must identify the exact blocking predecessor MAP and show both predecessor UTC and truthful observed host UTC. It must distinguish an incorrect host clock from a genuinely future-dated governed MAP and may explain the approved analyst-owned choices: correct the clock, wait/rerun after truthful time advances, or deliberately move the exact future-dated current MAP out of the active Suitcase root with the warning that an older snapshot/registry may become current and that restoring the moved MAP may restore its authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-002.11,The validated Help catalog is embedded into the released HTML build and supplied to the shared core,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Before a WASM-002 browser build is accepted, the build must parse and validate help_messages.json , then serialize the validated catalog directly into the Data Sculptor HTML itself as one non-executable application/json payload with the exact element ID ds-help-catalog . The embedded JSON must be HTML-safe so catalog text cannot terminate the containing script element; at minimum, literal less-than characters in JSON string content must be escaped during embedding. At runtime, the browser host obtains this embedded payload and supplies the validated catalog to the shared Rust/WASM Help core. Browser JavaScript must not implement a competing template-selection, fact-interpolation, fallback, escaping, or HLP-semantic engine. The browser host must not fetch a Help catalog from the network, the filesystem, the Suitcase, or an adjacent deployment file. Missing or malformed embedded catalog JSON, or a build whose embedded catalog does not correspond to the validated build input, is a build-validation failure. The released HTML therefore remains one offline portable front door for the browser Help catalog. A later native host may supply the same governed catalog semantics to the same shared core from its own build-bundled resource; host packaging may differ, but Help semantics must not fork.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-003,Message and report outputs,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,The Help Engine must support both live and durable help surfaces.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-003.1,The Help Engine must support a concise human-facing message suitable for the live browser surface.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,The concise message is rendered in the dedicated browser Help / Diagnostic Surface when that surface is present; it is not required to be a modal or transient notification.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-003.2,"The Help Engine must support a durable HTML Help report using the canonical built-in Data Sculptor presentation suitable for saving with the Work Order, receipt, and output artifacts.",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"A concise Help message for an individual diagnostic and any durable Help Report that includes that diagnostic must resolve from the same canonical diagnostic event. A durable Help Report request may cover one active governed diagnostic, including a non-run diagnostic, or one governed run containing one or more canonical diagnostic events. Exactly one HLP is published for each explicit Help Report request.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004,HTML Help report content,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,A saved Help report must be able to include the following elements when relevant.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.1,Product and brand identity.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.2,Plain-language summary.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.3,Stable diagnostic ID.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.4,What Data Sculptor observed.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.5,Evidence and structured facts.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.6,What the user can safely do next.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.7,Source/Work-Order context is governed by the HLP disclosure allowlist.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The report may include only source and Work Order context permitted by W002-HELP-010. Durable HLP disclosure is intentionally stricter than transient local Help because the HLP is a portable support-handoff artifact. A relevant governed alias or source header may enter the HLP only under the necessity and disclosure rules in W002-HELP-010. Source-header text is eligible only when Data Sculptor has structurally established an actual CSV header record under the governed parser. Record position alone does not make text a header. When no valid header record has been established, including the headerless-source refusal case, the HLP must use structural evidence such as the 1-based column ordinal, diagnostic condition/location, or an applicable operational fallback name and must not substitute field data from the first data row. Absolute local paths, entire Work Orders, Work Order comments, source rows/values, unrelated headers/aliases/columns, and unrelated Suitcase contents are not automatically eligible merely because they are available to the running application.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.8,Report-generation metadata preserves HLP identity and lineage.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,The report must carry its own governed HLP filename and generation UTC together with the diagnostic identity and applicable originating execution lineage. The exact HLP provenance contract is governed by W002-HELP-009.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.9,Selected Help voice and its human-facing explanation.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.10,A clearly labelled structured-facts block derived from the canonical diagnostic event.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.11,Four canonical Boolean facts describe the WASM-002 execution boundary.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"When the governed diagnostic context can determine the execution boundary, the canonical fact names are exactly: source_modified_by_data_sculptor materialization_started analytical_outputs_published store_state_committed When one of these facts has an established Boolean value, the JSON/structured value is the native Boolean true or false , never the strings ""TRUE"" or ""FALSE"" . source_modified_by_data_sculptor states only whether Data Sculptor modified the analyst-owned source in place; it must not imply knowledge that no external process or analyst changed the source between sessions. materialization_started records whether the governed analytical materialization phase began. analytical_outputs_published records whether governed analytical outputs were successfully published for user use; transient SCR candidates or abandoned/uncommitted debris do not make this fact true. store_state_committed records whether the successor Store MAP commit point was crossed. If a present boundary fact must express governed absence rather than an established Boolean, its JSON/structured value is the exact applicable shared absence-state string ""NONE"" , ""NOT_RUN"" , ""NOT_AVAILABLE"" , or ""NOT_APPLICABLE"" . JSON null is not a valid encoding for these four boundary facts because it would discard the reason for absence. A boundary fact that is optional for a particular diagnostic may instead be omitted under W002-HELP-001.4; that omission carries no absence-state meaning. A missing, omitted, unavailable, or not-run fact must never be interpreted as false . If one of these facts is declared required for an intended diagnostic and the required value cannot be produced, it must not be silently defaulted; the intended diagnostic is suppressed and the fail-safe DS-HLP-001 contract in W002-HELP-001.4/W002-HELP-001.8 applies.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-004.12,Governed Work Order lineage sufficient to establish user intent.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,Included lineage must obey the disclosure boundary defined for Help reports and must not automatically expand into source-data disclosure.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-005,Deterministic rendering uses a closed governed input set,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Given the same canonical diagnostic event or ordered set of events, selected voice, PRETTY rules, validated Help catalog, and built-in presentation version, Help rendering must be deterministic except for explicitly permitted event/report-specific fields. The Help renderer may consume only the canonical diagnostic fields and fact keys declared by the applicable diagnostic registry entries plus fields explicitly defined by the applicable HLP provenance schema. It must not inspect or interpolate an open-ended host-state bag, undeclared browser state, unrelated Suitcase contents, or another value merely because it is available at runtime. A future configurable Brand Manifest may add another governed presentation input, but it is not part of the WASM-002 rendering contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-006,Host parity uses one shared Help semantic core,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The Help Engine must be designed for use by the browser host and the later native CLI host without changing diagnostic semantics. The shared Rust core owns diagnostic-to-template selection, governed fact interpolation, deterministic fallback behavior, governed escaping, and durable HLP semantic serialization. The WASM-002 browser host supplies the validated catalog embedded under W002-HELP-002.11. A later native host may supply the same governed catalog semantics from a build-bundled native resource. Host-specific presentation and packaging may differ, but they must not create a second Help semantic engine or change canonical diagnostic identity, facts, behavior, next action, voice semantics, disclosure policy, or HLP meaning.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-007,"Help surfaces are projections, not diagnostic authority",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The live Help / Diagnostic Surface and the saved HTML Help Report must render from the canonical diagnostic event. Neither surface may independently create, reinterpret, weaken, suppress, or override governed diagnostic truth.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-008,HTML Help Report is a governed support-handoff artifact,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The user must be able to generate a styled, self-contained HTML Help Report from a governed diagnostic event for retention, IT/support handoff, or communication to another analyst. The report must support two audiences in one document: a human-readable explanation using the selected Help voice and a clearly inspectable structured-facts section that preserves the technical evidence required to understand the event.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-008.1,"The report preserves the canonical execution-boundary facts, including relevant negative facts.",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"When relevant to the diagnostic, the report must render the governed values of source_modified_by_data_sculptor , materialization_started , analytical_outputs_published , and store_state_committed . These values originate from governed execution state rather than reassuring prose invented by the renderer. A missing/unavailable fact is not rendered as false .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-008.2,The report preserves only the Work Order lineage needed to explain the diagnostic.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"The report must identify the originating WKO physical filename when one applies and may include only the minimum executable Work Order clause or clauses needed to establish the governed operation, user intent, and trigger for the diagnostic. It must not automatically embed the entire Work Order or Work Order comments. All such context remains subject to the fixed disclosure boundary in W002-HELP-010.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-009,"WASM-002 establishes HLP identity, lineage, multiplicity, and one canonical embedded provenance payload.",W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"A durable generated Help Report is an immutable governed HLP artifact whose physical filename is: __DS__HLP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html The UTC token is the HLP's own governed generation/publication time. The report is the final self-contained HTML artifact using the canonical built-in Red5Sorcery/Data Sculptor presentation; no unstyled intermediate is the canonical HLP. Report-request multiplicity: one explicit Help Report request publishes exactly one HLP. The request may be bound to one active governed diagnostic, including a diagnostic that is not associated with a Run, or to one governed Run containing one or more canonical diagnostic events. A Run-level report includes the governed diagnostic events selected by that request in deterministic event order. HLP generation is never an automatic one-artifact-per-diagnostic side effect. Every HLP must expose a visible deterministic Provenance section and exactly one embedded non-executable application/json payload whose element ID is exactly ds-hlp-provenance . F-34 supersedes the earlier draft schema version ""1"" . For schema version ""2"" , the JSON top-level object contains exactly these ten fields: {
""schema_version"": ""2"",
""hlp_filename"": ""__DS__HLP__20260922T191500123Z__<uuid-v4>.html"",
""hlp_generation_utc"": ""20260922T191500123Z"",
""diagnostic_ids"": [""DS-ENC-001"", ""DS-MAT-004""],
""originating_wko_filename"": ""__DS__WKO__...txt"",
""originating_rcp_filename"": null,
""selected_help_voice"": ""technical"",
""presentation_id"": ""red5sorcery-data-sculptor"",
""presentation_version"": ""1"",
""data_sculptor_build"": ""<exact-build-id>""
} hlp_generation_utc must use the canonical fixed-width millisecond UTC form YYYYMMDDTHHMMSSmmmZ . diagnostic_ids is a non-empty JSON array containing one canonical diagnostic ID for each diagnostic event included in the report, in the same deterministic event order used by the report. Repeated IDs are permitted when distinct included events legitimately share one diagnostic type. selected_help_voice is exactly one of casual , office_speak , or technical , matching the Help catalog keys. For WASM-002 the built-in presentation identity is exactly red5sorcery-data-sculptor and its presentation version is exactly ""1"" . data_sculptor_build must contain the exact running build identifier used for the tested/released build; the literal scope label WASM-002 alone is not sufficient unless it is also the exact build identifier. originating_wko_filename and originating_rcp_filename are schema-declared nullable lineage fields . When the relationship exists and the exact physical filename is known, the value is that filename as a JSON string. When the relationship itself does not apply to this Help event/report request, the machine-readable value is JSON null . That null has one schema-defined meaning: the nullable relationship has no value, equivalent to Rust Option<T>::None and to the governed semantic state NOT_APPLICABLE . The visible Provenance section renders it as NOT APPLICABLE . If the lineage relationship does apply but the exact filename cannot be obtained, JSON null must not be used; the field value is the exact string ""NOT_AVAILABLE"" and the visible Provenance section renders NOT AVAILABLE . Empty strings, invented lineage, N/A , UNKNOWN , or another substitute are forbidden. For these two lineage fields, null and ""NOT_AVAILABLE"" are deliberately non-interchangeable. A non-run HLP may therefore legitimately carry JSON null for both lineage fields when neither relationship applies. This nullable-field rule is a schema-specific serialization choice, not a fifth absence state and not a generic JSON encoding rule. Other diagnostic JSON facts follow W002-HELP-001.4 and W002-HELP-004.11. The visible and machine-readable HLP provenance must express the same governed semantics even where their physical representations differ; a semantic mismatch is an HLP-generation failure and must not be silently tolerated. The embedded JSON must be HTML-safe so provenance text cannot terminate the containing script element; at minimum literal less-than characters in JSON string content must be escaped during embedding. The provenance payload remains subject to W002-HELP-010 and must not introduce source rows, source values, absolute local paths, arbitrary Work Order content, or other context excluded by the fixed HLP disclosure policy. WASM-002 does not automatically compute or embed a SHA-256 of the HLP, and saving an HLP must not create, refresh, or verify an LCK . The final HLP bytes remain eligible for exact-byte integrity evidence under the later explicit FINGERPRINT/LCK workflow. Configurable Brand Manifest provenance remains deferred to V1-BACKLOG / a future build. F-14 HLP publication: the complete self-contained report is first written as the corresponding SCR candidate under W002-STOR-023.1. It must close, reopen, and validate the required visible Provenance section, exact schema-version-2 embedded JSON shape, HTML-safe serialization, self-contained presentation and visible/machine semantic parity before the class token may be renamed from SCR to HLP . A partial or semantically mismatched candidate never becomes a canonical HLP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-010,Help Report disclosure uses one fixed WASM-002 allowlist.,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Generating a Help Report must not silently become a data-export path. WASM-002 therefore uses one deterministic allowlist rather than collecting broad context and attempting to redact it afterward. There are no disclosure checkboxes, permissive export modes, or per-report overrides in WASM-002. Always eligible when present and applicable: diagnostic ID; severity/classification; governed operation/phase; continue/refuse decision; safe next action; selected Help voice; HLP identity and generation UTC; relevant governed artifact filenames; and the four canonical boundary facts from W002-HELP-004.11. Eligible only when necessary to explain the diagnostic: the exact source filename but not an absolute OS path; a relevant source column header only when Data Sculptor has structurally established an actual CSV header record; the relevant 1-based column number; a relevant governed Store/RID/COL alias only when that alias itself is necessary to explain the diagnostic, such as an alias collision, ambiguity, or governed alias mutation; byte offset, row/count, or byte-length evidence; Store/RID/COL/MAP/WKO physical filenames; and only the minimum executable Work Order clause or clauses needed to establish intent and the diagnostic trigger. If that minimum Work Order excerpt necessarily contains a governed alias, that alias is disclosed and counts as alias text included. Headerless boundary: record position alone never establishes a source header. If the governed parser has not established a valid header record, including a headerless-source refusal, HLP generation must not treat any field from the first data row or any later data record as header text. Structural evidence such as 1-based column ordinal, governed diagnostic/location facts, or an applicable operational fallback name must be used instead. Never included automatically: source rows; source field values or arbitrary data samples; field data mislabeled as header text; absolute local paths; unrelated source headers, aliases, or column names; the complete Work Order; Work Order comments; unrelated Suitcase contents; browser/environment internals not governed as diagnostic evidence; or raw ungoverned stack traces. Every generated HLP must contain a visible Disclosure section stating, at minimum: Source rows included: NO ; Source values included: NO ; Source header text included: YES or NO ; Governed alias text included: YES or NO ; Absolute local paths included: NO ; Work Order comments included: NO ; and Work Order excerpt: RELEVANT EXECUTABLE CLAUSES ONLY . The two YES/NO declarations must truthfully reflect the actual HLP bytes. A genuine established source header does not count as a source field value; this distinction applies only after the governed parser has established the header record. The renderer must not weaken any declaration when the underlying policy has not changed. This durable-HLP allowlist does not prohibit transient local Help from showing a relevant governed alias or a genuinely established source header when useful to explain the same canonical diagnostic event. Local presentation does not enlarge what the portable HLP may disclose.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-011,Help owns the cross-session source-continuity edge-case explanation,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"When an unexpected analytical result, row-alignment concern, or support question raises the possibility that an analyst-owned source changed between sessions, Data Sculptor-controlled guidance must flow through the Help Engine. Help must not imply that the engine monitored or cryptographically protected the source when it did not. The explanation must distinguish ordinary analyst-controlled workflow from stronger optional evidence. It may ask whether the analyst edited, replaced, sorted, re-exported, synchronized, copied over, or otherwise changed the source after the Store was established.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-011.1,Help presents continuity evidence in explicit assurance levels,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"For a suspected cross-session source change, Help must distinguish at least these evidence levels: No continuity evidence: state that cross-session byte continuity cannot be independently verified from filename/Store metadata alone. INVENTORY available: use filename, exact byte length, and last-modified metadata as lightweight clues; changed metadata may indicate that the source changed, while unchanged metadata must not be presented as proof of unchanged bytes. Explicit fingerprint evidence available: exact-byte SHA-256 evidence may establish whether the compared file bytes match or differ under the later governed FINGERPRINT workflow. Help must not collapse these levels into one generic statement of certainty.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HELP-011.2,WASM-002 does not impose automatic cross-session hashing or Suitcase surveillance,W002-HELP,W002-HELP,WASM-002,UNDER REVIEW,—,"Ordinary WASM-002 materialization and Store inheritance must not automatically SHA-256 the source, recursively fingerprint the Suitcase, or maintain hidden whole-Suitcase surveillance merely to guard against the possibility that an analyst-owned file changed between sessions. This is an intentional product boundary for the lone-office-analyst model. The product assumes the analyst normally controls the Suitcase, provides lightweight explicit INVENTORY evidence in WASM-002, preserves a later explicit FINGERPRINT path for stronger assurance, and relies on Help to explain unusual cross-session continuity questions proportionately. WASM-002 must not create, refresh, or silently verify an LCK Suitcase Lock as a side effect of Work Order save, materialization, Store inheritance, INVENTORY, alias maintenance, or ordinary project use. LCK publication belongs to the explicit later-V1 FINGERPRINT workflow. F-13 single-writer Help boundary: Help must distinguish cross-session continuity from concurrent writing. WASM-002 does not claim that two Data Sculptor tabs/windows can safely write the same Suitcase at once. User guidance must say to use one writing Data Sculptor context per Suitcase; read-only viewing is not itself a governed write. When a pre-commit guard detects that relevant governed state changed underneath an operation, Help must identify the changed authority where available and direct the analyst to refresh or reopen current state and rerun deliberately. It must not imply that Data Sculptor acquired a cross-tab lock, merged the competing work, or automatically rebased the refused transaction.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-001,Separation of truth and presentation,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,The PRETTY Engine must not decide analytical truth or reinterpret diagnostic meaning. It receives governed content and renders it into human-facing artifacts. WASM-002 conceptual boundary: ENGINE TRUTH -> HELP / REPORT CONTENT -> PRETTY ENGINE -> BUILT-IN DATA SCULPTOR PRESENTATION -> ARTIFACT. A future build may replace the built-in presentation source with a governed Brand Manifest without changing the analytical or diagnostic truth supplied to PRETTY.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-002,Shared renderer path,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"The PRETTY Engine must provide a common rendering path for Data Sculptor artifacts that require governed human presentation, including at minimum the WASM-002 Help HTML report. WASM-002 uses the canonical built-in Red5Sorcery/Data Sculptor presentation. The architecture must permit the same path to accept a configurable Brand Manifest in a future build without changing analytical semantics. The architecture must also permit later reuse for branded Receipt HTML, verification reports, tables, Quick Viz, and other PRETTY outputs. WASM-002 canonical run Receipts themselves remain TXT-only under W002-RCP-003.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003,Self-contained HTML,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"Durable HTML artifacts produced by PRETTY must be self-contained for ordinary viewing after generation. Self-containment requires semantic and functional portability, not pixel-identical rendering across operating systems or browsers; ordinary system-font substitution and browser rendering differences are acceptable when meaning, evidence, hierarchy, and accessibility remain intact.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.1,A saved artifact must not require a network connection.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.2,A saved artifact must not require an external stylesheet.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.3,A saved artifact must not require a remote font.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.4,A saved artifact must not require a separately located logo file.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-003.5,A saved artifact must not require external presentation resources.,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"Required CSS, SVG, and other built-in presentation assets needed for ordinary viewing must be embedded or otherwise resolved into the generated artifact at creation time. Future configurable Brand Manifest inputs, when implemented, must preserve this self-contained output rule.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PRETTY-004,Accessibility and inspectability,W002-PRETTY,W002-PRETTY,WASM-002,UNDER REVIEW,—,"PRETTY HTML must remain ordinary inspectable HTML. Presentation must not obscure the text, evidence, diagnostic code, provenance, or next-step guidance. The rendered artifact must remain usable without JavaScript when JavaScript is not required for its content.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-QA-001,Governed test-only seams and acceptance coverage,W002-QA,W002-QA,WASM-002,UNDER REVIEW,—,"Every material frozen WASM-002 behavior must have retained acceptance evidence sufficient to exercise the governed success, refusal, mutation, publication, or recovery boundary that makes the behavior meaningful. Related cases may share one fixture when the shared fixture proves each required condition explicitly; acceptance coverage must not rely on a behavior being difficult to reproduce under an uncontrolled host environment. Permitted deterministic test-only seams. WASM-002 acceptance may use controlled clock values; controlled UUID sequences and collision outcomes; controlled filesystem create/write/close/rename/promotion failures; and controlled run-local source-handle reread/substitution conditions. A seam supplies only the external condition required to reach the governed behavior. It must not bypass validation, alter the normative semantic result, change governed serialization, relax publication rules, rewrite diagnostic truth, or create a second analytical execution model. Release boundary. Test-only controls must not be invocable through the ordinary Data Sculptor UI, DS-STEPS, saved Work Orders, URL/query parameters, Suitcase configuration, or another analyst-facing product path. Compile-time exclusion, test-build configuration, or an isolated acceptance harness are permitted implementation techniques. Retained acceptance evidence must identify any seam used and must separately demonstrate that the accepted release surface cannot invoke that seam as a user feature. Named storage acceptance gaps. Acceptance must include a case-variant governed namespace/class fixture proving that Data Sculptor does not silently normalize the variant spelling into canonical governed identity; an unknown syntactically valid governed-class fixture proving that the file remains byte-for-byte unchanged while a canonical INFO diagnostic and INVENTORY surface the unknown/unrecognized class; and at least one known-but-not-emitted-class fixture drawn from DGN , RCV , BRD , or LCK proving the same preserve-and-report behavior without activating a producer, lifecycle, or interpretation path. Carried feature gates remain feature-owned. Mechanisms whose normative lifecycle is integrated in another package — including the F-02 Work Order-registry/alias-replacement behavior, the F-04 existing-Store cardinality refusal, and the F-24 CER-history decision — cannot be considered accepted without their corresponding feature acceptance gates. This requirement does not invent those feature semantics. If a proposed mechanism is removed from WASM-002 rather than integrated, no acceptance gate for that removed mechanism is required.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-001,UTF-8 certification pass,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,A valid multi-gigabyte UTF-8 fixture must complete whole-source certification with exact byte accounting under bounded memory.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-002,UTF-8 certification fail,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"A fixture containing an invalid UTF-8 sequence, including a sequence that crosses an input-window boundary, must deterministically produce STAGE1_UTF8_OUTCOME: FAIL , UTF8_STOP_REASON: INVALID_UTF8_SEQUENCE , and the exact governed zero-based UTF8_FIRST_INVALID_BYTE_OFFSET . Stage 2 must not begin and no analytical materialization output may be published. The same bytes tested under different permitted Stage-1 input-window sizes and boundary placements must yield the same outcome, stop-reason token, and first-invalid offset.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-003,Run-local source substitution refusal,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"An acceptance fixture must attempt to present Stage 2 with a different source instance/reference than the one retained from Stage 1. The run must refuse before materialization rather than accept the substitute merely because filename, alias, path, or byte length appears compatible. F-23 governed seam: this fixture must use the test-only source-handle substitution/reread seam permitted by W002-QA-001 so the different Stage-2 instance is injected without changing the analyst-visible SOURCE syntax or adding a product-level source-selection path. Release-surface evidence must demonstrate that an analyst cannot invoke this substitution seam through the normal UI, Work Order, URL/query, or Suitcase configuration.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-004,ASCII-only fast path,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,An all-ASCII fixture must certify successfully without invoking non-ASCII sequence validation and must produce exact byte accounting.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-005,Valid non-ASCII sequence matrix,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"Acceptance must cover valid two-byte, three-byte, and four-byte UTF-8 sequences, including sequences placed at window boundaries and split at every legal boundary position.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-006,Strict invalid-sequence matrix,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"Acceptance must reject at known exact offsets: lone continuation bytes, malformed continuation sequences, truncated sequences, overlong encodings, UTF-16 surrogate encodings, invalid lead bytes 0xC0 / 0xC1 , values introduced by 0xF5 - 0xFF , and code points above U+10FFFF. Every invalid fixture must serialize the same canonical UTF-8 stop reason INVALID_UTF8_SEQUENCE while preserving its fixture-specific exact first-invalid byte offset. For an EOF-truncated multibyte sequence, the expected offset is the lead byte of the incomplete sequence. Acceptance must include at least one malformed sequence crossing a Stage-1 input-window boundary and prove window invariance. Separate valid fixtures covering ASCII-only, valid multibyte UTF-8, and permitted leading-BOM forms must complete with STAGE1_UTF8_OUTCOME: PASS ; their UTF-8 refusal-only Receipt fields are NOT_APPLICABLE .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-007,Late invalidity,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,A source that is ASCII/valid UTF-8 until near EOF and becomes invalid late in the file must fail at the first invalid absolute offset; bounded-prefix success must not be treated as whole-file certification.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-008,Window-size invariance,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,The same fixture matrix must return the same PASS/FAIL and first invalid absolute offset across at least two materially different bounded window sizes.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-009,EOF pending-state refusal,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,EOF with an incomplete UTF-8 sequence must fail deterministically and report the governed offset; no replacement character may be inserted.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ENC-ACC-010,BOM behavior,W002-ENC-ACC,W002-ENC,WASM-002,UNDER REVIEW,—,"A UTF-8 BOM at offset zero must be accepted as metadata while the remainder of the source is still fully certified; a BOM must not mask later invalid UTF-8. F-07 BOM coordinate fixture: when a permitted three-byte UTF-8 BOM precedes a later malformed UTF-8 sequence, the expected first-invalid offset counts the BOM's physical bytes. The BOM is excluded from analytical CSV content but included in the absolute physical source-byte coordinate system.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-001,Multi-column one-pass Stage 2 materialization,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Using a valid UTF-8 source and a Work Order requesting at least four source columns through a mixture of HEADER and COLUMN selectors, acceptance must prove that Stage 1 completes first, Stage 2 restarts at byte zero of the same run-local source instance, parses the header once, resolves all selectors before the first data row, and reads the source data records only once while producing all requested columns. Evidence must reconcile total source bytes read by Stage 2, logical data-row count N, per- COL data-record count N, selector-to-source ordinal/header resolution, resolved KEEP order, and the resulting successor MAP. A one-column rerun of the same source/column must produce the same canonical physical column bytes as that column produced inside the multi-column run, apart from governed artifact identity. F-20 width/one-pass acceptance: acceptance must include a maximum-width fixture whose valid source has exactly 16,384 columns and whose KEEP resolves all 16,384 distinct columns. Instrumentation must prove one source data-record traversal regardless of the implementation's bounded post-scan spool/finalization strategy. A companion 16,385 -column source must refuse during header resolution before the first data record is consumed.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002,"Automatic Store MAP creation, inheritance, and rematerialization continuity",W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must materialize four previously unseen source columns in one Store-establishing Work Order and prove that one successor Store MAP is created with four mapping rows. Every row must repeat identical Store-level fields, bind the newly created RID filename, default store_alias to the exact Store-establishing source filename, default rid_alias to RID , and default each COL alias to its exact source header. A later Work Order using the same exact SOURCE without explicitly naming a MAP must route under W002-STOR-019.2 . If exactly one routable Store lineage exists for that exact source filename and its current Store state permits materialization, the Work Order must inherit that lineage’s current structurally valid Store MAP, preserve the Store/RID metadata and four prior mappings, add a fifth default COL alias, and publish one new complete Store MAP. A later rematerialization of one earlier logical column must preserve its inherited COL alias while updating its column_filename . An explicit older MAP selection must instead use that historical Store state. Equal-latest-timestamp ambiguity within one routed lineage, malformed-newer-MAP fallback within the same Store lineage, no-routable-Store-lineage creation, and multiple-routable-Store-lineages-for-the-same-source refusal must also be exercised.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.1,Exact eight-column Store MAP serialization acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must validate the exact Store MAP header store_alias,rid_filename,rid_alias,source_filename,source_column_number,source_header,alias,column_filename , UTF-8 without BOM, LF line endings, deterministic mapping-row order, standard governed CSV quoting, and byte-for-byte repetition of store_alias , rid_filename , rid_alias , and the common source_filename on every mapping row. The fixture must prove that a MAP with inconsistent repeated Store-level metadata, more than one rid_filename , more than one source_filename , a missing or invalid RID filename, a duplicate logical source-column key, or a non-eight-column schema is ineligible for inheritance. Source compatibility fixtures must prove that an explicit MAP may proceed only when the Work Order SOURCE exactly equals that MAP's common source_filename . A different source must refuse before materialization even when its row count equals the Store's RID cardinality; matching row count never creates a positional-join escape. P3-06 validation-tier fixtures: acceptance must distinguish Store-health Tier 1 from full Tier 2 validation. A same-named externally restored RID/COL may be treated as eligible only after it passes the tier required by the operation, and no fixture may label such an artifact “the exact original” solely from its physical filename. Tier-1 fixtures must prove the exact bounded checks in W002-STOR-019.10 without an end-to-end scan of every artifact value. Tier-2 fixtures must prove full RID sequence/cardinality validation and full COL canonical-form/header/cardinality validation. REPAIR MAP fixtures must demonstrate that the same input bytes yield one deterministic set of removed COL bindings under Tier 2. P2-04 closure fixtures: acceptance must include (1) a RID that satisfies Tier 1 but fails Tier 2 because the body does not contain the exact declared 1..N sequence; (2) a COL that satisfies Tier 1 but fails Tier 2 because its complete CSV body or logical-record count is invalid; (3) an externally supplied same-named RID/COL that passes the required governed tier without any assertion that it is the historical original bytes; and (4) a REPAIR MAP case with a mixture of Tier-2-valid and Tier-2-invalid COLs proving that the successor removes exactly the failing bindings. Repeating the same fixture bytes must yield the same repair set and successor mapping.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.2,Multiple Stores in one Suitcase remain distinct through RID-anchored MAP lineages,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must establish at least two Stores from different source files in the same Suitcase. Their Store MAP lineages must contain different immutable rid_filename values, and automatic routing for each source must choose only that source's routable Store lineage. The fixture must prove that a lineage remains routable when at least one Store MAP is structurally valid even if subsequent Store-health evaluation is DEGRADED or INVALID ; health may refuse the operation, but it must not make the lineage disappear from routing. Changing a human-facing store_alias or rid_alias in a later governed MAP must not change the Store's rid_filename , RID bytes, or lineage identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.3,WKO MAP profile and alias-registry publication acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must save at least three immutable WKO artifacts, each containing exactly one non-empty WORK ORDER AS clause: one with a multi-word alias, one whose alias is deliberately replaced under the frozen WKO lifecycle, and one with punctuation permitted by the governed string rules. The committed WKO MAP must satisfy the frozen current-registry schema and lifecycle rules, use UTF-8 without BOM and LF endings, preserve exact physical WKO references, and prove deterministic governed serialization. The fixture must prove that a WKO MAP cannot be treated as a Store MAP; duplicate physical WKO rows are invalid; conflicting current authority for the same non-empty alias is refused before commit; and equal-latest-timestamp ambiguity refuses current-registry selection. A saved/executable WKO without WORK ORDER AS is invalid in Revision BM and must refuse before execution.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-002.4,WORK ORDER AS and # comment lexical acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"An acceptance fixture must prove that WORK ORDER AS ""Prepare monthly crime data"" is parsed as the immutable WKO alias, that whole-line and trailing # comments are ignored semantically, and that # inside double-quoted strings remains ordinary string content. The fixture must also prove that saved WKO bytes preserve comments exactly, that changing only a comment or Work Order alias requires a new WKO physical identity, and that no standalone browser Description value is required to reopen or display the governed alias. P3-10 alias fixture: acceptance must prove that WORK ORDER AS "" "" refuses as a whitespace-only alias, while an otherwise valid alias containing leading or trailing whitespace is not silently trimmed or normalized and is preserved exactly in saved WKO bytes and the governed alias registry.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-003,Stage 2 structural window-invariance matrix,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Acceptance fixtures must force input boundaries at structurally difficult positions including before/after delimiters, before/after opening and closing quotes, between doubled quote bytes, between CR and LF, inside quoted multiline field content, at empty fields, and inside already-certified multi-byte UTF-8 sequences. Across permitted window sizes and boundary placements, the logical row count, selected values, canonical COL bytes, first refusal location/condition, and resolved mapping semantics must remain invariant. P3-09 fixtures: acceptance must include both byte forms identified by the Pass 3 finding: (1) an exactly zero-byte source and (2) a source containing only the three UTF-8 BOM bytes EF BB BF . Both must pass the applicable Stage 1 UTF-8 gate and then refuse in Stage 2 with NO_HEADER_RECORD . The exact expected location tuples are respectively (offset 0, physical line 1, logical record 1, field ordinal 1) and (offset 3, physical line 1, logical record 1, field ordinal 1) . The fixtures must also distinguish this case from an existing-but-blank first logical record, which remains BLANK_LOGICAL_RECORD . P3-10 delimiter-help fixture: acceptance must include a quoted semicolon-delimited form such as ""a"";""b"" and an equivalent TAB-delimited quoted form that reach INVALID_BYTE_AFTER_CLOSING_QUOTE . The canonical refusal condition and location facts must remain unchanged, while the Help rendering is permitted to surface the delimiter-mismatch hint for offending byte 0x3B or 0x09 . F-06 structural-refusal acceptance matrix An unexpected quote in an unquoted field must report the quote byte and UNEXPECTED_QUOTE_IN_UNQUOTED_FIELD . A prohibited byte after a closing quote must report that byte and INVALID_BYTE_AFTER_CLOSING_QUOTE . A bare CR outside quoted content must report the CR byte and BARE_CR_OUTSIDE_QUOTED_FIELD . CR, LF, and CRLF inside valid quoted values must remain field content and must not trigger the bare-CR rule. EOF in an open quoted field must report the one-past-end source offset and EOF_INSIDE_QUOTED_FIELD . A blank logical record must report BLANK_LOGICAL_RECORD , not TOO_FEW_FIELDS . A short record must report the terminator/EOF location and the first missing field ordinal. A wide record must report the comma delimiter opening the first extra field and that extra field ordinal. All five refusal facts must remain identical across permitted source-window sizes and boundary placements. Fixtures must force boundaries around commas, opening and closing quotes, doubled-quote pairs, CR/LF pairs, quoted multiline content, empty fields, and already-certified multibyte UTF-8 sequences. A semicolon-separated file must not refuse solely because it uses semicolons; Help may explain comma-only interpretation when header selection fails. Day 060 H-13 Receipt-corpus binding for P3-09 The two analytical P3-09 source fixtures above must each have a corresponding byte-exact refusal Receipt under W002-RCP-ACC-002. The zero-byte and BOM-only cases therefore prove both the parser/refusal oracle and the Receipt serialization oracle independently.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-004,Canonical one-column COL serialization acceptance,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Golden-byte fixtures must cover ordinary ASCII, non-ASCII UTF-8, commas, embedded double quotes, CR, LF, CRLF inside quoted values, explicit empty data values, empty source headers, and header-only zero-row input. Acceptance must prove one UTF-8 BOM at file start, LF record termination independent of host platform, deterministic minimal quoting, doubled embedded quotes, """" for an empty one-column data value, no accidental inclusion of the source BOM in the first header, and byte-identical round-trip semantics through the Data Sculptor CSV reader. F-20 oversized-header serialization acceptance: fixtures at exactly 1,024 and 1,025 Unicode scalar values must prove that the physical COL header remains byte-faithful to the exact decoded source header while only the operational/default-alias name changes at the boundary. Scalar-count fixtures must include combining characters so acceptance cannot accidentally measure UTF-8 bytes or grapheme clusters instead.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-005,"Field-limit, ragged-record, blank-record, and failure-publication acceptance",W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"Acceptance must include decoded field sizes exactly 16 MiB and 16 MiB + 1 byte, malformed runaway quoted-field cases, nonblank records with too few and too many fields, a bare blank logical data record, explicit empty fields, and a physical blank line inside a valid quoted multiline field. The first invalid case must refuse without truncation or silent repair. Publication evidence must additionally exercise both a new-Store multi-column materialization and a later existing-Store materialization. For the new Store, the shared publication-transaction UTC must be established before any new RID/COL SCR candidate is opened, and each candidate-specific UUID must be allocated before its candidate is created. RID and COL outputs must remain governed SCR until the complete candidate set validates; the RID must then promote first, requested COLs must promote in deterministic KEEP order, the successor MAP UUID must be allocated before its MAP SCR candidate is opened, that MAP candidate must be written/closed/reopened/validated while still SCR , and its final SCR -to- MAP rename must occur last. For every successfully promoted RID, COL, and MAP artifact, acceptance must prove that the candidate and final identity have the exact same UTC, UUID, extension, and bytes and differ in the governed filename only by the three-letter semantic class token. For the existing Store, the inherited RID must remain byte-for-byte and filename-identical with no new RID candidate. F-04 existing-Store cardinality acceptance: acceptance must include two otherwise valid existing-Store materializations using the same exact governed SOURCE identity. In the equal-cardinality fixture, Stage 2 candidate N must equal the inherited RID-header N and publication may proceed under the ordinary rules. In the mismatch fixture, candidate N must differ from RID-header N ; the Run must refuse before any candidate COL is promoted into the final COL namespace and before any successor MAP is published. The inherited RID, current MAP, existing COL artifacts, and Store health must remain unchanged, with the existing Store remaining VALID. The equal-cardinality case must not be represented as proof of source-byte or row-semantic identity. Forced failure cases must cover: failure before any promotion; RID-promotion failure; failure during COL promotion after RID and at least one COL have promoted; MAP-candidate write/close/reopen/validation failure; MAP final-rename failure; and interruption after physical RID/COL promotion but before MAP commit. Each case must prove rollback where safely possible or visible non-authoritative SCR failure evidence otherwise, must prove that unreferenced final-class-looking RID/COL files are not treated as committed Store membership, and must prove that the prior valid MAP remains authoritative for an existing Store or that no committed Store exists for an uncommitted first materialization. F-20 bounded-width/name acceptance: acceptance must cover exactly 16,384 versus 16,385 source columns; KEEP widths of 1 and 16,384 ; operational-name derivation at 1,024 versus 1,025 Unicode scalar values; physical ordinals producing Column A , Column Z , Column AA , and Column XFD ; and deterministic oversized-header fallback collisions proving [ordinal] then -2 progression. A separate short-header alias collision must prove refusal rather than automatic suffixing.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-MAT-ACC-006,Large-source browser materialization evidence,W002-MAT-ACC,W002-MAT,WASM-002,UNDER REVIEW,—,"WASM-002 acceptance must include a browser run against the established Statistics Canada scale source or an equivalently retained scale fixture, recording source bytes, Stage 1 time, Stage 2 time, total time, selected-column count, logical row count, bytes written per COL , peak/bounded memory observations, output fingerprints, and browser/platform details. The retained Day 039 evidence established that Microsoft Edge could stream the 7,250,808,204-byte source through a small Rust/WASM materializer and materialize 29,014,718 VALUE data rows in practical time. Revision AM treats that result as engineering evidence and a comparison baseline, not as proof that WASM-002 is already implemented or as a frozen wall-time threshold. F-20 writer-resource evidence: retained acceptance evidence must identify the build's configured maximum simultaneously active writable-output resources and the observed peak for the run. Evidence must show that wide KEEP cardinality does not imply one simultaneously open writer per selected column and that any bounded spool/finalization strategy preserves the same governed output bytes and semantics.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-ACC-001,Separate Windows-1252 conversion,W002-CONV-ACC,W002-CONV,WASM-002,UNDER REVIEW,—,"A non-UTF-8 fixture compatible with the supported Windows-1252 converter must cause the analytical task to stop, permit a Help suggestion, and succeed only when the separate conversion Work Order is explicitly run. P3-08 acceptance: the fixture set must convert an analyst-owned legacy source successfully, materialize the resulting CVT, then perform a second successful conversion from a refreshed legacy source using the same analyst-owned filename. The second conversion must publish a different CVT physical filename. First materialization of that second CVT must establish a distinct Store/RID lineage rather than inherit from the first CVT-backed Store. Acceptance must also prove that Help discloses this consequence at conversion success and again when the CVT is first materialized, and that no hidden original-source identity is used to join the two CVTs into one lineage. F-16 acceptance: the compatible non-UTF-8 fixture must prove that strict UTF-8 certification first emits DS-ENC-001 with next_action: NONE ; Stage 2 does not start; Data Sculptor restarts at byte 0 of the same bound source instance and scans the complete source under the frozen mapping; the Receipt records WINDOWS_1252_COMPATIBILITY_OUTCOME: COMPATIBLE and WINDOWS_1252_FIRST_UNDEFINED_BYTE_OFFSET: NOT_APPLICABLE ; and only then is DS-CNV-001 emitted with severity: INFO , behavior: CONTINUE , and next_action: RUN_WINDOWS_1252_CONVERSION . The refused MATERIALIZE run must remain refused. A separate valid-UTF-8 fixture must prove that both Windows-1252 compatibility Receipt fields are NOT_RUN and DS-CNV-001 is not emitted. F-10 conversion-gate and byte-output acceptance A source already valid as complete strict UTF-8 must refuse CONVERT WINDOWS-1252 TO UTF-8 as unnecessary and create no CVT . A source that fails strict UTF-8 but passes the complete Windows-1252 compatibility assessment may convert only when the separate conversion WKO is explicitly run. The analyst-owned source bytes must remain unchanged. The published CVT must pass complete strict UTF-8 certification. Source CR, LF, and CRLF bytes must be preserved in place rather than normalized. The conversion must remain bounded/streaming. The published CVT must not begin with a UTF-8 BOM introduced by Data Sculptor. The successful Receipt must contain the frozen conversion operation token and required conversion facts. Frozen minimal byte oracle: Windows-1252 source bytes:
63 61 66 E9 0D 0A
UTF-8 CVT bytes:
63 61 66 C3 A9 0D 0A This is café followed by CRLF. The expected CVT begins with byte 63 ; no EF BB BF prefix is present. Day 060 H-25 / BM-04 acceptance: the already-valid-UTF-8 CONVERT fixture must use a complete source whose byte stream is valid strict UTF-8 and must produce a byte-exact refused Receipt containing: SOURCE_ENCODING: UTF-8
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: NOT_RUN
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE The same fixture must prove that no Windows-1252 compatibility assessment runs, no transcoding begins, the analyst-owned source bytes remain unchanged, and no CVT file is created.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-CONV-ACC-002,Undefined Windows-1252 byte refusal,W002-CONV-ACC,W002-CONV,WASM-002,UNDER REVIEW,—,"A fixture containing a byte undefined by the frozen Windows-1252 mapping must not be silently converted. F-16 acceptance: use fixtures placing each of 0x81 , 0x8D , 0x8F , 0x90 , and 0x9D at controlled physical offsets, including across compatibility-buffer boundaries. The complete oracle must prove WINDOWS_1252_COMPATIBILITY_OUTCOME: INCOMPATIBLE , the exact first undefined-byte offset, no DS-CNV-001 emission, no conversion recommendation, and window-size invariance. A separate injected read-failure fixture after the compatibility pass begins must prove NOT_AVAILABLE for both compatibility Receipt fields and no conversion recommendation. F-10 conversion-operation undefined-byte acceptance The separate CONVERT WINDOWS-1252 TO UTF-8 operation must itself refuse before transcoding when its complete compatibility assessment encounters any byte undefined by the frozen Windows-1252 mapping. Such a refusal publishes no CVT . Acceptance must cover each frozen undefined byte value at a controlled absolute source offset and prove that no replacement-character, ISO-8859-1, or permissive-decoder fallback produces output. Day 060 H-14 / BM-11 byte-exact undefined-byte CONVERT fixture The golden CONVERT refusal fixture uses this exact analyst-owned source byte sequence: 41 81 42 The strict UTF-8 gate must fail, and the subsequent complete Windows-1252 compatibility assessment must encounter 0x81 as the first undefined byte at exact zero-based absolute physical source-byte offset 1 . The operation must refuse before transcoding begins. The byte-exact Receipt for this fixture must include: SOURCE_ENCODING: WINDOWS-1252-INCOMPATIBLE
UNDEFINED_WINDOWS_1252_BYTE_OFFSET: 1
MATERIALIZED_ENCODING: NOT_RUN
TRANSCODING: NOT_RUN
SOURCE_CHANGED: NO
OUTPUT_FILENAME: NONE
RESULT: REFUSED The analyst-owned source bytes must remain exactly 41 81 42 ; no CVT is published; no replacement character is introduced; and no ISO-8859-1 or permissive-decoder fallback is permitted. A second acceptance form must place at least two undefined Windows-1252 bytes in one source and prove that the reported offset is always the first undefined byte. Buffer/window-boundary variants must preserve the same absolute offset.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-001,Canonical diagnostic event,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,At least one real governed WASM-002 failure path must emit a complete canonical diagnostic event with stable code and structured facts. A separate test-only fault-injection fixture must remove or withhold one required fact while the engine attempts to assemble a registered diagnostic. Acceptance must prove that the malformed intended diagnostic is not emitted and that exactly one canonical DS-HLP-001 replacement event is emitted with the exact intended diagnostic ID and the complete ascending-UTF-8 list of missing required fact keys.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-002,Three-voice rendering parity,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"A complete event with an authored catalog entry must be renderable in all three established Help voices. Automated checks must demonstrate invariant diagnostic truth across the three outputs. A separate complete registered diagnostic fixture must deliberately have no help_messages.json entry. Casual, Office Speak, and Technical selections must all resolve to the same deterministic Generic Technical Help fallback, preserving the original diagnostic semantic core and rendering emitted facts in ascending UTF-8 fact-key order without invented cause or remediation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-003,Saved HTML Help report using the canonical built-in Data Sculptor presentation,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,At least one complete HTML Help report using the canonical built-in Data Sculptor presentation must be generated and saved locally from that real event.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-004,Offline durability,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,The saved HTML report must remain readable with its canonical built-in Red5Sorcery/Data Sculptor presentation when opened without network access and without access to Data Sculptor or any external presentation resource.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-008,Support-handoff report acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"From a real governed refusal, Data Sculptor must generate one styled HTML Help Report that opens in an ordinary browser without Data Sculptor or network access and contains both a selected-voice explanation and the canonical structured facts needed by a technical reviewer.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-009,Canonical boundary-fact acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"An early-refusal fixture that stops before analytical materialization must demonstrate the exact four Boolean fact names from W002-HELP-004.11 and, when those are the true governed facts, values equivalent to: source_modified_by_data_sculptor = false
materialization_started = false
analytical_outputs_published = false
store_state_committed = false Acceptance must also exercise at least one boundary-fact case in which an established Boolean value is unavailable or otherwise carries an applicable governed absence state. The emitted value must use the exact shared JSON string token required by W002-HELP-004.11 (for example ""NOT_AVAILABLE"" ) and must not be coerced to false or JSON null . Where a boundary fact is optional and its key is omitted, acceptance must prove that omission is not interpreted as false or as any governed absence token. The same fixture family must prove that temporary SCR candidates or abandoned/uncommitted debris do not make analytical_outputs_published true.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-010,"HLP provenance, multiplicity, and no-automatic-hash acceptance",W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"Acceptance evidence must generate a final HLP using the built-in Red5Sorcery/Data Sculptor presentation and verify its governed __DS__HLP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html identity, its visible Provenance section, and exactly one embedded application/json payload with element ID ds-hlp-provenance . The embedded payload must contain exactly the schema-version-2 fields governed by W002-HELP-009 and must verify the same HLP filename/generation UTC, non-empty ordered diagnostic_ids array, WKO/RCP lineage semantics, selected Help voice, built-in presentation identifier red5sorcery-data-sculptor , built-in presentation version ""1"" , and the exact running Data Sculptor build identifier. Acceptance must cover: (1) an explicit request for a single diagnostic; (2) one governed Run with multiple included diagnostic events, proving exactly one HLP for the request and event-order parity with diagnostic_ids ; and (3) a non-run diagnostic such as Suitcase-validation or WKO-save refusal, proving that non-applicable WKO/RCP lineage is represented by JSON null and visible NOT APPLICABLE rather than invented Run lineage. Acceptance must also cover all three lineage representations permitted by W002-HELP-009: an exact physical filename when the relationship exists and is known; JSON null when the relationship does not apply; and the exact JSON string ""NOT_AVAILABLE"" when the relationship applies but its exact filename cannot be obtained. The fixture must prove that null and ""NOT_AVAILABLE"" are not interchangeable. Acceptance must prove that the visible Provenance section and machine-readable payload agree semantically; missing, duplicate, malformed, mismatched, non-HTML-safe, disclosure-violating, empty diagnostic_ids , or scope-label-only build provenance must not be accepted. The same acceptance must prove that ordinary HLP generation does not compute or embed an HLP SHA-256 and does not create, refresh, or verify an LCK . Exact-byte HLP integrity remains outside WASM-002 in the later explicit FINGERPRINT/LCK workflow.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-011,Fixed support-handoff disclosure acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"Acceptance must prove the fixed support-handoff disclosure boundary with both permitted-context and adversarial headerless fixtures. A permitted-context fixture must generate an HLP whose diagnostic requires a source filename, one genuinely established relevant source header and/or 1-based column number, bounded execution evidence, and a small executable Work Order excerpt. A governed alias may appear only when the alias itself is necessary to explain the diagnostic, such as an alias collision, ambiguity, or mutation; an unrelated alias must remain excluded. The report must include only the necessary permitted facts while excluding source rows/values, absolute local paths, unrelated headers/aliases/columns, the complete Work Order, Work Order comments, unrelated Suitcase contents, and raw ungoverned stack traces. A separate headerless-source fixture must place unmistakable sentinel text in the first data row and prove that none of that text appears in the HLP as a header or other disclosed source value. That HLP must show Source header text included: NO and Source values included: NO while still presenting sufficient structural evidence to explain the diagnostic. A genuine-header fixture must prove that a necessary established header may appear with Source header text included: YES . Alias fixtures must similarly prove truthful Governed alias text included: YES only when necessary and NO otherwise. Every fixture must verify the remaining frozen Disclosure declarations from W002-HELP-010. WASM-002 must expose no control that changes this fixed disclosure policy.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-012,Cross-session source-continuity Help acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"An acceptance fixture must present Help with a suspected cross-session source-change scenario and verify that the explanation asks whether the source may have been edited/replaced/sorted/re-exported/synchronized, distinguishes no evidence from INVENTORY metadata evidence and stronger explicit fingerprint evidence, and never claims that unchanged filename or unchanged INVENTORY metadata proves byte identity. A no-evidence fixture must state that continuity cannot be independently verified. An INVENTORY fixture with changed source byte length or last-modified metadata must describe the difference as evidence that the source may have changed, not as a cryptographic conclusion. The fixture must also confirm that ordinary WASM-002 materialization did not automatically hash the source as part of this edge-case protection.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-HP-ACC-013,Diagnostic-registry and Help cross-validation acceptance,W002-HP-ACC,W002-HP,WASM-002,UNDER REVIEW,—,"WASM-002 acceptance must retain the validated diagnostics.json used by the accepted build and verify its exact version-1 schema, canonical sort order, unique permanent IDs, fixed-token grammars, and disjoint required/optional fact declarations. At least one real governed diagnostic fixture must prove that the emitted semantic core matches the matching registry entry and that all required facts are present while no undeclared fact key is emitted. Negative build-validation fixtures must prove deterministic failure for malformed/duplicate registry entries, an engine diagnostic definition absent from the registry, fixed semantic disagreement, an undeclared emitted fact, a Help-catalog diagnostic ID absent from the registry, and a Help placeholder not declared for its matching diagnostic. F-17 runtime completeness fixtures: missing required facts are no longer treated as a malformed event that may leak to Help. Fault injection must prove deterministic substitution with DS-HLP-001 , including exact intended_diagnostic_id and sorted missing_required_facts , with no partially populated intended diagnostic emitted. Separately, a valid registered diagnostic omitted from help_messages.json must remain a valid build/runtime condition and must exercise the Generic Technical fallback rather than build failure or diagnostic suppression. F-22 QA-independence acceptance boundary: acceptance must prove the registry/engine/Help wiring and generic invariants without circularly presenting the implementation-delivered registry as an independent oracle for its own condition-to-Diagnostic-ID allocations. Representative governed fixtures must trace condition → emitted Diagnostic ID → matching registry semantic core → required/optional fact discipline → Help lookup/rendering. Every condition-to-ID or required-fact mapping explicitly frozen elsewhere in this PRD remains independently testable and must match that PRD contract. For allocations not independently pinned by this PRD, WASM-002 does not require a duplicate QA-owned registry that restates every condition-to-ID choice. Passing this acceptance gate therefore demonstrates registry integrity, engine↔registry semantic agreement, fact completeness/legality, Help-catalog wiring, F-17 fail-safe behavior, and representative end-to-end diagnostic routing; it must not be reported as exhaustive independent proof that every possible runtime condition was assigned the semantically correct Diagnostic ID. That residual independence limitation is an accepted WASM-002 risk. F-23 embedded Help-catalog release fixture: acceptance must build the released HTML from a validated help_messages.json , verify exactly one non-executable application/json payload with element ID ds-help-catalog , and include adversarial catalog text containing literal < / script-like delimiter content to prove HTML-safe embedding. Runtime instrumentation must prove that Help lookup reads only the embedded payload and performs no network, filesystem, Suitcase, or adjacent-file fetch for the Help catalog. A missing, malformed, mismatched, or unsafe embedded catalog must fail build acceptance.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-007,Work Order syntax is the analytical contract,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"If a value, reference, option, or instruction changes what Data Sculptor analytically does, that intent must be represented in governed Work Order text or in a separately governed artifact explicitly referenced by that Work Order. Browser permission, directory selection, UI focus, a highlighted file, an alias display, or another GUI gesture must not silently become analytical intent. For WASM-002, every executable saved WKO begins with the common preamble: SUITCASE: .
WORK ORDER AS ""<non-whitespace alias>"" Ignoring blank lines and governed comments, the WKO must then parse completely under exactly one of these seven executable operation grammars: Operation Governed DS-STEPS structure after the common preamble MATERIALIZE SOURCE ""..."" ; optional MAP ""..."" ; KEEP ; one or more selectors; terminal MATERIALIZE . INVENTORY terminal INVENTORY only. UPDATE ALIASES exactly one Store-state selector: SOURCE ""..."" or MAP ""..."" ; one or more governed alias mutations; terminal UPDATE ALIASES . REPAIR MAP exactly one MAP ""<exact current Store MAP filename>"" ; terminal REPAIR MAP . REPAIR WORK ORDER REGISTRY terminal REPAIR WORK ORDER REGISTRY only. CONVERT WINDOWS-1252 TO UTF-8 exactly one SOURCE ""..."" ; terminal CONVERT WINDOWS-1252 TO UTF-8 . CATALOG STORES terminal CATALOG STORES only. Each operation-specific numbered requirement remains authoritative for its detailed selectors, preconditions, mutations, publication semantics, and acceptance behavior. This requirement freezes the cross-operation boundary: unknown semantic lines refuse; clauses from another operation grammar refuse unless the selected operation explicitly defines them; there is no best-effort interpretation and no silent cross-operation mixing. Lexical token separation. DS-STEPS keywords are matched ASCII case-insensitively; canonical examples render them uppercase. Wherever two adjacent lexical tokens would otherwise run together, they must be separated by one or more ASCII SPACE ( 0x20 ) or horizontal TAB ( 0x09 ) characters. Leading SPACE/TAB indentation is semantically neutral. Thus REPAIR MAP , SOURCE ""crime.csv"" , and COLUMN 7 are valid tokenizations, while REPAIRMAP , SOURCE""crime.csv"" , and UPDATE_ALIASES are not alternate DS-STEPS spellings. Quoted-string contents are never case-folded or whitespace-normalized merely because keywords are case-insensitive. The browser may authorize resources, edit text, validate, save, invoke Run, display evidence, and provide Help. Authorization to access a resource is not authorization to use that resource analytically.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-008,Every executable Work Order explicitly declares its Suitcase,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"For WASM-002, every executable saved Work Order must contain the exact portable declaration SUITCASE: . . The dot means the filesystem directory that physically contains the saved WKO artifact being executed. A Work Order lacking this declaration must not be treated as an executable WASM-002 Work Order. The declaration is analytical/execution syntax, not a substitute for browser filesystem permission. The host must still possess valid access to the directory before execution can proceed. Help obligation: Data Sculptor Help must explain SUITCASE: . in plain language: the saved Work Order uses the folder that contains that WKO as its Suitcase; the dot means “this folder”; ordinary Work Order file references are therefore portable and Suitcase-relative; and browser/host permission to the folder is granted separately. Help must not teach an absolute machine path as the normal replacement for . .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-009,Ordinary Work Order file references are Suitcase-relative,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Unless another numbered requirement explicitly governs a different reference mechanism, file references in an executable WASM-002 Work Order resolve relative to the declared Suitcase. A portable Work Order must not depend on an absolute machine-specific path to identify ordinary Suitcase files. Resolution must be deterministic in browser and later native hosts. Moving an intact Suitcase to another permitted filesystem location must not change the logical meaning of the Work Order solely because the parent machine path changed.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-009.1,WASM-002 SOURCE eligibility is exact and root-bounded,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"A WASM-002 SOURCE clause names exactly one physical regular file in the Suitcase root by exact filename only. It must not name an absolute path, drive or UNC path, subdirectory, path containing / or \ , traversal such as .. , URL/URI, or another external reference. Resolution uses the exact Unicode-scalar filename identity and reference-bounded rules frozen by F-15; no case-folding, normalization, trimming, or filesystem-equivalence search is permitted. The only eligible WASM-002 SOURCE kinds are: Analyst-owned CSV: a regular Suitcase-root file whose exact filename does not begin with the reserved exact prefix __DS__ and whose final extension is .csv under ASCII case-insensitive extension recognition. Thus .csv , .CSV , and mixed-case equivalents are candidate CSV extensions. This case-insensitivity applies only to extension recognition; the complete filename reference remains exact. If the physical file is crime.CSV , a differently cased full filename does not become an alternate reference to it. Governed converted source: a successfully published CVT whose exact canonical identity and class-specific publication/validity predicate satisfy W002-CONV-004, W002-STOR-023, and PB-STOR-008. A filename that merely resembles a CVT is not sufficient. No other governed semantic class is eligible as SOURCE in WASM-002, even when its physical serialization is CSV. In particular, COL , RID , MAP , CAT , INV , RCP , HLP , CER , SCR , RCV , and WKO artifacts cannot be reintroduced as SOURCE merely because their bytes or extension appear compatible. A recognized .csv extension establishes only candidate SOURCE form. It does not certify encoding or CSV structure; the normal strict UTF-8 and structural certification contracts still govern after source resolution. Conversely, CSV-like bytes stored under a non-CSV analyst-owned extension are not an eligible WASM-002 SOURCE.",PARTIAL,PORTION_VERIFIED,NOT_REVIEWED,NOT_ACCEPTED,CP-008; CP-009; CP-010,"T-ACCEPTED, BANKED; analyst-owned CSV filename candidate preflight only; full SOURCE eligibility remains partial; CP009 T-ACCEPTED, BANKED — pure exact-name root snapshot matching only; full requirement remains partial; CP010 T-ACCEPTED, GIT BANKED — lexical CVT candidate only; complete requirement remains open",346733a962192320e0d56271add15a47b6037b6b; dc6ee5d1e547a730e5acdc79d53e56ec5d1c00d8; b7c515faa9bd000369d7656e09437310261290ae,Evidence/CP-008/CP008_RED_Test_Output.txt; Evidence/CP-008/CP008_GREEN_Test_Output.txt; Evidence/CP-008/CP008_Full_Regression_Test_Output.txt; Evidence/CP-008/CP008_Post_Format_Test_Output.txt; Evidence/CP-008/CP008_Rustfmt_Check_Output.txt; Evidence/CP-008/CP008_WASM_Build_Output.txt; Evidence/CP-008/CP008_Hash_Inventory_Verification.txt; Evidence/CP-008/CP008_Precommit_Git_Review.txt; Evidence/CP-008/CP008_Final_Source_Review.txt; Evidence/CP-008/CP008_Whitespace_Exception_Review.txt; CP008_Git_Banking_Output.txt (separate post-commit evidence; archived outside repository); Evidence/CP-009/CP009_Baseline_Test_Output.txt; Evidence/CP-009/CP009_RED_Test_Output.txt; Evidence/CP-009/CP009_GREEN_Test_Output.txt; Evidence/CP-009/CP009_Full_Regression_Test_Output.txt; Evidence/CP-009/CP009_Rustfmt_Check_Output.txt; Evidence/CP-009/CP009_Git_Whitespace_Check.txt; Evidence/CP-009/CP009_Post_Format_Test_Output.txt; Evidence/CP-009/CP009_WASM_Build_Output.txt; Evidence/CP-009/CP009_Hash_Inventory.txt; Evidence/CP-009/CP009_Hash_Inventory_Verification.txt; Evidence/CP-009/CP009_Precommit_Git_Review.txt; Evidence/CP-009/CP009_Final_Staging_Review.txt; CP009_Git_Banking_Output.txt (separately archived post-commit evidence); Evidence/CP-010/CP010_Scope_Lock.txt; Evidence/CP-010/CP010_RED_Test_Output_CMD_Corrected.txt; Evidence/CP-010/CP010_GREEN_Test_Output.txt; Evidence/CP-010/CP010_Post_Format_Regression_Test_Output.txt; Evidence/CP-010/CP010_WASM_Build_Output.txt; Evidence/CP-010/CP010_Post_Format_Check_Output.txt; Evidence/CP-010/CP010_Hash_Inventory_Verification.txt; Evidence/CP-010/CP010_Supplementary_Hash_Verification.txt; Evidence/CP-010/CP010_Closing_Git_Review.txt; CP010_Git_Banking_Output.txt (post-commit; separately archived),"CP008 Day066: public is_analyst_owned_csv_source_candidate(&str) -> bool recognizes the final .csv extension ASCII case-insensitively for exact Suitcase-root analyst-owned candidate names. It refuses empty stems, __DS__-reserved names, slash/backslash paths, colon-bearing references, and traversal-like double-dot forms; preserves full spelling, case and Unicode normalization distinctions. Five new tests and 23 prior tests passed, 28/28 after Rustfmt. WASM32-target library compilation passed; no standalone browser execution proven. 20/20 SHA-256 file inventory matched; staged Rust source/test whitespace check 0. Full staged whitespace check 2 due solely to two preserved archival trailing-space lines in the CP008 precommit TXT, documented with supplemental diagnostic. Human T approved; Git commit banked with 18 files and clean working tree. This is ONLY lexical analyst-owned CSV candidate form, NOT regular-file proof, exact physical filename resolution, governed CVT publication, CSV UTF-8 certification, full SOURCE eligibility, or requirement acceptance. Independent Claude implementation QA pending. CP009 Day066: match_analyst_csv_root_snapshot(&str, &[RootSnapshotEntry]) -> RootSnapshotMatch applies CP008 analyst CSV candidate preflight, then exact Rust string equality (case, Unicode scalar sequence and whitespace preserved), reports no match, reported nonregular entry, ambiguous duplicate exact entries, or single caller-reported regular file. Entry origin and kind are caller assertions, not independently verified. Eight new tests; post-format full native regression 36/36; wasm32-unknown-unknown library compilation exit 0; SHA-256 inventory verified 22/22; staged whitespace exit 0; T approved and git banked 15 files, clean working tree. This is NOT actual root scanning, filesystem entry proof, browser permission, CSV/UTF-8 certification, governed CVT SOURCE eligibility or end-to-end requirement acceptance; independent Claude QA pending. CP010 Day066 adds is_governed_cvt_source_filename_candidate(&str)->bool, requiring existing canonical immutable envelope validator, exact CVT class, and exact lowercase .csv serialization token. Four bounded tests pass and native full regression 40/40; wasm32-target library build PASS with Rust 1.97.1; format check PASS; primary 29/29 and supplementary 8/8 SHA-256 verification PASS; staged whitespace PASS with documented exact-file archival exceptions; T approval; git b7c515faa9bd000369d7656e09437310261290ae committed 28 files and clean working tree. No physical file checks, conversion execution, close/reopen, publication predicate, UTF-8/CSV certification, executable SOURCE authority or browser runtime proven. Independent Claude QA pending.",Day066,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-010,WIP and WKO are distinct Work Order lifecycle states,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"WIP is the editable, non-executable Work Order state. WKO is the saved, validated, immutable Work Order artifact that may become a Run target. Validation establishes that a Work Order is structurally eligible to run; it does not guarantee that runtime conditions will succeed. Loading a WKO for inspection does not make it mutable. If its instruction text is changed, the editor must treat the edited text as a new WIP derived from the original WKO. The original WKO bytes and physical identity remain unchanged, and the derived WIP cannot Run until saved as a new WKO. F-08 Run distinction: the browser Run action invokes one selected saved immutable WKO that is eligible under the governed WKO-registry rules. No ordinary WASM-002 WKO contains a textual RUN line merely to execute itself. The DS-STEPS token RUN is reserved for future saved-Work-Order composition under W002-WKO-011 and is not repurposed as the browser execution trigger.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-013,WASM-002 executes one saved Work Order without Work Order chaining,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"For WASM-002, one saved immutable WKO is one top-level executable request. It must not invoke, include, chain, or execute another WKO. The governed RUN composition operation and equivalent nested-orchestration constructs are not executable in WASM-002. If a saved WKO contains composition syntax, validation must refuse before analytical execution begins. The canonical diagnostic and Help path must explain that Work Order composition is deferred rather than treating the syntax as arbitrary text, silently ignoring it, or partially executing surrounding instructions. This scope cut does not prohibit one Work Order from selecting and materializing multiple columns in the single Stage 2 operation defined by WASM-002.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012,Materialization COL alias assignment uses AS; standalone alias maintenance uses UPDATE ALIASES,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within the WASM-002 DS-STEPS materialization form, an analyst assigns or changes the alias of a selected materialized COL with the optional same-line clause AS ""alias"" under W002-STEPS-005. This syntax is part of the governed Work Order and is not a GUI gesture. A single KEEP block may therefore assign aliases to multiple selected columns in one governed materialization. Automatic source-header COL aliases and inherited rematerialization aliases are resolved first; explicit AS clauses then determine requested successor COL aliases before complete Store-MAP validation and publication. Revision BD freezes alias-only creation/replacement with UPDATE ALIASES and explicit historical Store-MAP selection with MAP ""<exact Store MAP filename>"" . Revision BE completes the bounded alias lifecycle with explicit CLEAR ... ALIAS and RESET ... ALIAS forms under W002-WKO-012.5 through W002-WKO-012.6. Empty-string AS """" is not the clearing syntax.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.1,Canonical standalone alias-maintenance Work Order uses UPDATE ALIASES,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"The canonical alias-only Store metadata forms are: SUITCASE: .
WORK ORDER AS ""Rename crime store""
SOURCE ""35100178.csv""
STORE AS ""Crime Statistics""
UPDATE ALIASES or, when the analyst intentionally selects one exact Store snapshot: SUITCASE: .
WORK ORDER AS ""Rename crime store""
MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv""
STORE AS ""Crime Statistics""
UPDATE ALIASES UPDATE ALIASES is the explicit terminal commitment clause for an alias-only Work Order. The WKO must identify exactly one Store-state base using either SOURCE ""..."" for ordinary Store-aware current-state selection or MAP ""..."" for exact Store-MAP selection, never both. At least one supported alias mutation clause must occur after the Store-state selector and before UPDATE ALIASES . An alias-only Work Order must not contain KEEP , MATERIALIZE , INVENTORY , conversion, Store repair, Work Order registry repair, cataloging, deferred Work Order composition, or another operation's terminal clause. Alias maintenance changes governed human-facing metadata only.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.2,"STORE AS, RID AS, and COL ... AS are the canonical alias-replacement clauses",W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within an alias-only UPDATE ALIASES Work Order, the canonical mutation clauses are: STORE AS ""Crime Statistics""
RID AS ""Row Number""
COL ""Crime Rate"" AS ""Police-Reported Crime Rate"" STORE AS ""..."" replaces the selected Store snapshot's store_alias . RID AS ""..."" replaces its rid_alias . COL ""<reference>"" AS ""..."" replaces the alias of exactly one existing mapped COL. The COL reference resolves under W002-STOR-021: it may be the exact physical column_filename or one unique current COL alias from the selected Store MAP. Missing, ambiguous, non-COL, or conflicting resolution must refuse rather than guess. One Work Order may update the Store alias, RID alias, and multiple distinct COL aliases together, provided the complete successor state satisfies all existing alias uniqueness/shadowing rules.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.3,"MAP ""<filename>"" is the exact historical Store-MAP selector",W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"The canonical explicit Store-MAP selection clause is: MAP ""__DS__MAP__20260920T184512347Z__<uuid-v4>.csv"" The value is always the exact physical filename of one structurally valid immutable Store MAP. It is not a Store alias, WKO alias, timestamp shorthand, UUID-only selector, or latest expression. For MATERIALIZE, if present, the clause occurs immediately after SOURCE and before KEEP . It overrides automatic Store-MAP inheritance and binds the run to exactly the named Store snapshot. For alias-only maintenance, the Work Order uses either SOURCE ""..."" or MAP ""..."" as its Store-state selector, not both. For materialization, SOURCE ""..."" remains mandatory and an optional MAP ""..."" supplies the exact historical/current Store-state base. Validation must refuse an incompatible source/MAP pairing or a MAP that is not a valid Store-MAP profile. Health rule: explicit historical selection does not override the current Store-lineage health gate. The selected lineage must currently be VALID and every RID/COL binding referenced by the named MAP must currently be present and valid. Otherwise the operation refuses. This applies equally to MATERIALIZE and UPDATE ALIASES. F-05/P2-01 source-compatibility predicate: for materialization, an explicitly named MAP is compatible only when the mandatory Work Order SOURCE exactly equals the one common source_filename carried by that Store MAP. If the exact filenames differ, validation refuses before the F-04 existing-Store cardinality gate in W002-MAT-002.6. Equal row count never authorizes a different source to enter the selected Store lineage.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.4,Alias-only execution publishes one complete successor Store MAP and no rewritten data artifacts,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"A successful UPDATE ALIASES operation begins from the selected complete Store MAP, applies only the requested alias replacements in memory, validates the complete resulting Store state, writes the successor MAP under governed SCR , closes and reopens it, validates it fully, and promotes it to a new immutable MAP last. That successful promotion is the alias-update commit point. The operation must preserve the selected Store's physical RID and COL filenames and bytes, source-column keys, row order, cardinality, and lineage except for the human-facing alias fields explicitly changed by the Work Order. It must not reread source data rows merely to change aliases, must not create RID/COL artifacts, and must not rewrite or delete the inherited MAP. The prior MAP remains visible historical state. If validation or MAP publication fails, no successor alias state becomes current. The failure is reported through the governed diagnostic/Help path and any incomplete candidate remains subject to the retained- SCR failure-evidence rules in W002-STOR-023.1; WASM-002 does not emit RCV. Revision BM E-02 integration: when the alias-only operation uses an explicitly named historical Store MAP, publication is permitted only if the Store lineage currently evaluates VALID and every RID/COL binding referenced by that named MAP is currently present and valid. An older MAP cannot be used to bypass current damage. P3-06 validation depth: because UPDATE ALIASES does not consume RID/COL analytical contents, its Store-health and binding checks use Tier 1 under W002-STOR-019.10. The operation must not scan every RID/COL record merely to change aliases. This does not weaken later operations that actually consume those artifacts; they must perform the applicable Tier 2 validation before relying on the contents.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-007,Standalone Store/RID/COL alias maintenance acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"Acceptance must establish a Store with one RID and at least three materialized COLs, then execute an alias-only Work Order that changes the Store alias, RID alias, and at least two COL aliases in one UPDATE ALIASES operation. One COL must be targeted by its unique current alias and another by its exact physical COL filename. The fixture must prove that exactly one complete successor Store MAP becomes current; prior MAP, RID, and COL artifacts remain byte-for-byte unchanged; no source-data row read is required; no new RID/COL artifact is published; and the successor MAP contains exactly the requested aliases while preserving all physical bindings and logical source-column keys. Missing/ambiguous COL references and successor alias collisions must refuse without publishing a successor MAP. F-23 CLEAR/RESET alias fixtures: acceptance must separately exercise CLEAR STORE ALIAS , CLEAR RID ALIAS , CLEAR COL ""<reference>"" ALIAS , RESET STORE ALIAS , RESET RID ALIAS , and RESET COL ""<reference>"" ALIAS . Each CLEAR fixture must prove that the successor MAP stores the governed empty alias without renaming or rewriting the referenced artifact. Each RESET fixture must prove restoration of the exact deterministic default governed by W002-WKO-012.6 and W002-STOR-019.7, including the oversized-header operational fallback where applicable. The fixtures must prove that CLEAR and RESET require no source-data row read, publish exactly one complete successor Store MAP on success, leave the predecessor MAP/RID/COL bytes unchanged, and deterministically refuse duplicate mutation of the same alias field or a reset/default value that fails the complete successor alias validity/uniqueness/shadowing rules.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-008,Explicit historical Store-MAP selection acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"Acceptance must create at least two valid Store MAP snapshots for one Store, then prove that a Work Order containing MAP ""<older exact Store MAP filename>"" binds to that exact older snapshot even though a newer valid MAP exists. An alias-only fixture must publish its successor from the explicitly named older base rather than from the newer automatic current state. A materialization fixture must retain mandatory SOURCE ""..."" while using the explicit MAP as its Store-state base. The tests must also prove refusal for a missing MAP, malformed MAP, WKO-MAP profile supplied as Store MAP, and source/MAP incompatibility. No implementation may substitute the newest MAP after an explicit MAP clause has validated. F-21 chronology acceptance: the fixture must use at least three successive valid MAP snapshots for one Store so that an explicitly selected older base and a distinct pre-run current MAP both exist. Merely selecting/validating the older MAP must leave current authority unchanged. A successful governed operation from that older base must then publish exactly one new successor whose requested state is derived from the named older base, whose publication UTC is later than the pre-run current chronology predecessor, and which becomes current under ordinary greatest-UTC selection. The selected historical MAP and the formerly current MAP must remain byte-for-byte unchanged. Acceptance must prove that later mappings/aliases present only in the formerly current MAP are not silently merged into the historical-base successor unless the Work Order explicitly recreates them. Receipt evidence must identify the exact operation base and exact published successor through the already-frozen operation-specific Receipt fields. No additional warning/permission gate or informational diagnostic is required merely because the analyst explicitly chose a historical base.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.5,CLEAR ... ALIAS deliberately removes a human-facing alias,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within an alias-only UPDATE ALIASES Work Order, the canonical clearing forms are: CLEAR STORE ALIAS
CLEAR RID ALIAS
CLEAR COL ""<reference>"" ALIAS CLEAR deliberately stores the empty string in the corresponding alias field of the successor Store MAP. It does not restore a default alias. An empty-string replacement such as STORE AS """" , RID AS """" , or COL ""..."" AS """" is not the canonical clearing form and must be rejected by the bounded WASM-002 grammar. For CLEAR COL , <reference> resolves against the selected pre-mutation Store MAP by exact physical column_filename or one unique current COL alias under W002-STOR-021. All COL references in one UPDATE ALIASES Work Order are resolved before any mutation is applied so clause order cannot change target identity. Missing, ambiguous, duplicate-target, or non-COL references must refuse. Clearing an alias never renames, rewrites, or deletes the underlying RID/COL artifact and never changes physical identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-012.6,RESET ... ALIAS restores the deterministic default alias,W002-WKO,W002-WKO,WASM-002,UNDER REVIEW,—,"Within an alias-only UPDATE ALIASES Work Order, the canonical reset forms are: RESET STORE ALIAS
RESET RID ALIAS
RESET COL ""<reference>"" ALIAS RESET STORE ALIAS restores the Store MAP's common exact source_filename . RESET RID ALIAS restores the literal RID . RESET COL ""<reference>"" ALIAS restores that mapped COL's deterministic operational default defined by W002-STOR-019.7 from its exact recorded source_header and physical source ordinal: the exact header when it contains at most 1,024 Unicode scalar values, or the deterministic Column <LETTERS> fallback/disambiguation rule when the recorded header exceeds that boundary. RESET never substitutes the potentially oversized exact header into the alias field merely because that header remains authoritative source evidence. RESET is therefore distinct from CLEAR . The restored value must pass the same governed alias validity, uniqueness, and shadowing rules as any explicit alias. If the deterministic default is empty or conflicts in the complete successor Store MAP, RESET must refuse except for the narrow oversized-header fallback/disambiguation rule already frozen in W002-STOR-019.7; Data Sculptor must not otherwise invent a suffix, alternate spelling, or substitute. AS , CLEAR , and RESET mutations may coexist in one Work Order when they target distinct alias fields; duplicate mutation of the same alias field in one Work Order must refuse. A successful operation publishes exactly one complete successor Store MAP under the existing UPDATE ALIASES commit contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-001,Canonical WASM-002 DS-STEPS materialization form,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"The canonical WASM-002 materialization Work Order form is: # Optional human comment
SUITCASE: .
WORK ORDER AS ""Prepare monthly crime data""
SOURCE ""crime.csv""
[MAP ""__DS__MAP__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.csv""]
KEEP
HEADER ""REF_DATE"" AS ""Year"" # reporting year
HEADER ""GEO""
COLUMN 7 AS ""Crime Rate""
MATERIALIZE SUITCASE: . is governed by W002-WKO-008. WORK ORDER AS ""..."" is mandatory for an executable/saved WASM-002 Work Order and declares the immutable human-facing WKO alias governed by W002-STEPS-001.1. SOURCE ""..."" names the exact Suitcase-root source file. MAP ""..."" is optional with cardinality 0..1. If present, it occurs immediately after SOURCE and before KEEP , names one exact physical governed Store MAP filename, and binds the run to that exact current or historical Store lineage subject to W002-STOR-019.3 and W002-WKO-012.3. If absent, the Store-aware exact-source routing rules apply. KEEP is the bare governed keyword and introduces one or more column selectors. KEEP: is not valid WASM-002 syntax. Each selector is either HEADER ""..."" or COLUMN n and may optionally end with AS ""..."" . MATERIALIZE is the explicit terminal commitment verb. Duplicate structural clauses refuse. An empty KEEP refuses. After MATERIALIZE , only blank lines or comments may follow; a trailing comment on the physical MATERIALIZE line is permitted because comments are removed from the semantic token stream. # comments are governed by W002-STEPS-001.2. No RID/row-index clause appears in the Work Order. If this materialization establishes a new Store, the engine automatically generates exactly one RID artifact under W002-RID-002 and W002-RID-008. If it extends an existing Store, the existing RID is reused subject to the Store health/cardinality rules. This requirement freezes the bounded keyword structure and selector forms shown above for BM integration. Other complete-language lexical features remain outside this bounded syntax freeze unless separately specified. F-08 common-grammar boundary: MATERIALIZE is one of the seven executable WASM-002 operation grammars governed by W002-WKO-007. Its optional MAP clause remains in the frozen position immediately after SOURCE and before KEEP . The terminal MATERIALIZE clause is DS-STEPS syntax; the browser's Run action is not written into the Work Order. F-20 bounded KEEP: the canonical KEEP block contains at least one and at most 16,384 selectors, and after resolution those selectors must identify at least one and at most 16,384 distinct source columns. This is the complete WASM-002 selection-width bound.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-001.1,WORK ORDER AS declares the immutable human-facing Work Order alias,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"An executable or saved WASM-002 Work Order must contain exactly one top-level clause: WORK ORDER AS ""<alias>"" In canonical forms it appears after SUITCASE: . and before the operation-specific source/selector clauses. The decoded alias must be non-empty. The quoted alias may contain spaces and ordinary UTF-8 phrase text subject to the governed string-literal rules. The alias affects display and governed alias resolution only; it does not replace the WKO filename/UUID as physical execution identity. The alias is stored in the immutable WKO bytes and is published into the current WKO MAP when the WKO save transaction commits. Changing the alias therefore requires saving a new WKO under the frozen WKO lifecycle. No valid executable/saved WKO in WASM-002 is unaliased. P3-10 alias-content rule: “non-empty” means that, after decoding the quoted string literal, the alias must contain at least one non-whitespace character. An alias consisting only of whitespace refuses Work Order validation. Data Sculptor must not trim, collapse, normalize, or otherwise rewrite leading or trailing whitespace in an otherwise valid alias; the decoded alias text remains authoritative and is preserved exactly in the immutable WKO and governed WKO MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-001.2,# introduces a DS-STEPS line comment outside double-quoted strings,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"Outside a double-quoted string, the first # on a line begins a comment that continues through the line's LF terminator. Whole-line comments and trailing comments are permitted. Comment text has no execution semantics and is ignored by the DS-STEPS parser after lexical recognition. A # inside a double-quoted string is ordinary string content and does not begin a comment; for example WORK ORDER AS ""Analysis #3"" and HEADER ""CATEGORY #"" preserve the hash character. WASM-002 defines no block-comment syntax. Comments are preserved byte-for-byte in the saved immutable WKO TXT. Editing, adding, or removing a comment changes the WKO bytes and therefore requires saving a new WKO artifact even though analytical semantics may remain unchanged.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-002,HEADER selects by exact decoded source-header value,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"HEADER ""name"" resolves against the exact decoded header values established for the certified source. Header equality is exact Unicode scalar-value sequence equality under PB-STOR-010: Data Sculptor performs no case folding, locale folding, Unicode normalization, trimming, or filesystem-style comparison. A selector that matches no source header must refuse. If the same exact decoded header sequence occurs in more than one source column, the header selector is ambiguous and must refuse rather than choose by position, discovery order, normalization, case-insensitive similarity, or another heuristic. An analyst can disambiguate duplicate exact header text with the 1-based COLUMN n selector. F-20 selector identity: HEADER always matches the authoritative exact decoded source header. It never matches an operational fallback name such as Column AA , a generated collision-disambiguation suffix, a COL alias, or a truncated form of the source header.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-003,COLUMN selects by 1-based source ordinal,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"COLUMN n identifies the source column by 1-based ordinal position. COLUMN 1 is the first source column. Zero, negative values, non-integers, and ordinals greater than the source width must refuse. Ordinal selection does not suppress source metadata: Data Sculptor must still resolve and record the selected column's actual decoded source header in the successor MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-004,HEADER and COLUMN selectors may be mixed but may not select one source column twice,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"One KEEP block may contain any supported mixture of HEADER and COLUMN selectors. Selector order expresses the analyst's requested selection order for the governed operation. After resolution, two or more selectors that identify the same physical source column constitute a duplicate selection and must refuse before materialization. Data Sculptor must not materialize the same source column twice merely because it was named once by header and once by ordinal.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-005,AS assigns the resulting materialized-column alias,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"The optional clause AS ""alias"" belongs to the immediately preceding HEADER or COLUMN selector and expresses an intentional human-facing alias assignment in the governed Work Order. For a logical source column not present in the inherited MAP, omission of AS uses the exact source header as the default alias. For a logical source column already present in the inherited MAP, omission of AS preserves the inherited alias. An explicit AS overrides either default for the successor MAP.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-006,The complete successor MAP must contain unique aliases,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"After inheritance, selector resolution, default-alias application, rematerialization continuity, and all explicit AS clauses are applied, every alias in the complete successor MAP must identify exactly one logical materialized column. If two different logical columns would have the same alias, including a collision with an inherited mapping, validation must refuse unless the Work Order has explicitly resolved the conflict through supported governed syntax. Data Sculptor must not invent suffixes such as Year_2 , use last-write-wins behavior, or silently shadow an existing alias. F-20 narrow generated-name exception: the prohibition on invented suffixes applies to ordinary source-header defaults and analyst-authored aliases. The only automatic suffixing permitted in WASM-002 is deterministic disambiguation of an oversized-header operational fallback under W002-STOR-019.7. That mechanism is not an alias-repair heuristic and must not be applied to an explicit AS value or to a short exact source-header default.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-007,MATERIALIZE commits the resolved KEEP set to the governed structural pass,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"MATERIALIZE is the explicit commitment verb for this WASM-002 DS-STEPS form. The KEEP selectors express which source columns belong in the operation; they do not themselves authorize data-row materialization. Before the bounded structural pass begins, the source, all selectors, actual source ordinals/headers, requested aliases, inherited alias state, and resulting alias uniqueness must be resolved and validated. Successful multi-column execution then follows the one-pass materialization contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-008,The Store MAP records resolved truth rather than selector spelling,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"The successor Store MAP must record the fully resolved materialization result using the frozen eight-column schema store_alias,rid_filename,rid_alias,source_filename,source_column_number,source_header,alias,column_filename , regardless of whether the analyst selected a column with HEADER or COLUMN . For example, COLUMN 7 AS ""Crime Rate"" records the Store alias, RID filename/alias, common source filename, source ordinal 7 , the actual decoded header found at column 7, alias Crime Rate , and the newly generated physical COL filename. DS-STEPS expresses intent; the Store MAP persists the resolved durable mapping truth.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-STEPS-009,DS-STEPS materialization syntax acceptance,W002-STEPS,W002-STEPS,WASM-002,UNDER REVIEW,—,"Acceptance must cover: one column selected by exact header; one column selected by 1-based ordinal; mixed header/ordinal selectors in one KEEP block; multiple columns materialized in one governed structural pass; AS alias assignment; default header aliasing; inherited-alias preservation on rematerialization; explicit alias replacement on rematerialization; duplicate-header ambiguity refusal; invalid ordinal refusal; duplicate resolved-column refusal; and duplicate successor-alias refusal. Acceptance must also prove that the generated successor MAP records the same resolved source filename, source ordinal, actual source header, resulting alias, and physical COL identity whether a column was selected by header or by ordinal. For a new Store, both the single-column and multi-column materialization fixtures must contain no RID/row-index instruction yet must automatically publish exactly one RID artifact. For a later permitted same-Store materialization, the fixture must likewise contain no RID instruction and must reuse the original RID without publishing another. Damaged-lineage Help acceptance: fixtures must prove that exact source routing to an INVALID Store, and to a DEGRADED Store whose every mapped COL is broken, refuses ordinary materialization without silently treating the source as unseen. The canonical diagnostic/Help evidence must identify the blocked lineage/current MAP and preserve the frozen analyst-owned exits: external restoration under the original governed physical filename followed by governed validation; source rename to begin a distinct new Store lineage; or moving all lineage MAPs out of the active Suitcase to retire that lineage from routing. The all-COLs-broken fixture must warn that moving only the latest MAP is insufficient. No fixture may imply a new Data Sculptor recovery command, automatic RID regeneration, silent replacement of the damaged lineage, or historical byte identity based only on a restored filename. P3-06 validation-tier acceptance: acceptance must prove that a routine routing/status or alias-only path can use Tier 1 without an end-to-end scan of every RID/COL value, while an operation that consumes artifact contents performs Tier 2 before relying on them. Fixtures must include: a RID that passes Tier 1 but fails Tier 2 because its declared N /sequence is internally wrong beyond the Tier-1 boundary; a COL that passes Tier 1 but fails Tier 2 because its data-record count or CSV body is invalid beyond the Tier-1 boundary; and a REPAIR MAP fixture proving that the Tier-2 failure set determines exactly which COL bindings are removed. P3-07 routing acceptance: fixtures must prove that routing discovers a lineage from a structurally valid Store MAP regardless of whether later Store-health evaluation is VALID , DEGRADED , or INVALID . A separate fixture must present no routable lineage together with at least one structurally malformed Store-MAP-class artifact in the active Suitcase and prove that ordinary materialization refuses before publishing a new RID or first Store MAP, while Help identifies the malformed MAP artifact or artifacts. No fixture may treat an all-MAPs-damaged condition as permission for a silent replacement lineage. F-08 cross-operation grammar acceptance: fixtures must prove the common preamble, ASCII-case-insensitive keywords, exact quoted-value preservation, required SPACE/TAB token separation, unknown-line refusal, one-operation-per-WKO refusal, and separation between DS-STEPS terminal phrases and Receipt OPERATION tokens. At least one fixture for each of the seven executable operations must prove that its canonical structure validates while an otherwise similar WKO containing another operation's terminal clause refuses. Separate fixtures must prove that browser Run does not require a textual RUN clause and that parsed RUN composition syntax refuses as deferred before analytical execution. P2-04 restoration-language acceptance: Help, diagnostics, UI text, and acceptance evidence may say that a file restored under the exact governed physical filename passed the required validation tier and may therefore re-enter use. They must not state or imply that filename equality alone proves restoration of the historical original bytes. If stronger historical-byte identity is desired, Help may point to the separately governed explicit fingerprint/LCK direction rather than silently hashing ordinary Store artifacts. F-20 selector/name/width acceptance: fixtures must additionally prove that HEADER resolves only against exact decoded source-header text and never against an operational fallback/default alias; a KEEP selecting all 16,384 columns is valid; a source wider than 16,384 refuses before data-row materialization; and RESET of an oversized-header COL restores the deterministic operational fallback rather than the exact oversized header as alias text. F-03 Store-health and REPAIR MAP acceptance set Target required: REPAIR MAP without exactly one current Store MAP target refuses. Historical target: a structurally valid but non-current historical Store MAP refuses for repair. Wrong profile: a WKO MAP supplied as the repair target refuses. DEGRADED repair: one or more broken COL bindings are removed while every valid binding and the exact RID identity are preserved. All COLs broken: repair refuses, publishes no successor MAP, and the Store remains DEGRADED . Malformed newest MAP: current-state resolution falls back to the greatest earlier structurally valid MAP in the same lineage and reports the malformed artifact. Missing COL in current valid MAP: no fallback occurs; the current MAP remains current and the Store evaluates DEGRADED . Missing RID in current valid MAP: no fallback occurs; the current MAP remains current and the Store evaluates INVALID . Original RID externally restored: the Store is re-evaluated after governed validation without Data Sculptor creating or inferring a replacement RID. No silent fork: neither DEGRADED nor INVALID permits ordinary materialization to create a replacement Store for the same routed lineage.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-003,Suitcase-relative Work Order portability acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"An acceptance fixture must execute a saved WKO containing SUITCASE: . and ordinary Suitcase-relative file references, then move the intact fixture Suitcase to a different permitted parent path and execute the same saved WKO again. Resolution must identify the same logical Suitcase files without editing the WKO to insert the new absolute machine path.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-004,WIP/WKO lifecycle acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"Acceptance evidence must show that an editable WIP cannot Run; saving a valid WIP produces a distinct immutable WKO Run target; loading that WKO and changing instruction text creates a new non-runnable WIP; and the original WKO bytes, filename, identity, and provenance remain unchanged. F-02 alias-registry lifecycle acceptance: a first save for an unused alias must publish a successor WKO MAP containing exactly one CURRENT row for that alias. Saving a second valid WKO with the same exact alias must surface exactly Replace alias target and Cancel . The Cancel fixture must leave the predecessor WKO MAP authoritative and must not commit the pending WKO/WKO-MAP pair as a registry update. The Replace fixture must publish a successor WKO MAP in which the former owner is DEPRECATED , the new WKO is the sole CURRENT row for that alias, and any earlier deprecated history remains preserved. The former WKO bytes and filename and every predecessor WKO MAP must remain unchanged. Alias resolution against the successor registry must resolve to the new CURRENT row and never to a DEPRECATED row. A malformed fixture containing more than one CURRENT row for one exact alias must fail structural validation rather than choose by filename UTC, modified time, discovery order, or row order. P2-03 WKO-registry clock acceptance: using a deterministic injected clock seam, acceptance must prove that a successor WKO MAP publishes only when the observed transaction UTC is strictly greater than the current structurally valid WKO MAP UTC; equal-millisecond and backward/future-dated-predecessor cases refuse without committing the new WKO/registry state. The diagnostic must expose predecessor_map_filename , predecessor_utc , and observed_host_utc . A separate fixture must deliberately move the future-dated current WKO MAP out of the active Suitcase, rescan, and prove deterministic reselection of the remaining current structurally valid WKO MAP without Data Sculptor silently moving or deleting anything itself. Day 060 H-12: every equal/backward/future-predecessor chronology refusal in this acceptance set must emit DS-UTC-001 with exact map_profile: WKO , observed_host_utc , predecessor_map_filename , and predecessor_utc facts. F-23 save-transaction filesystem-fault fixture, reconciled by F-33: using a controlled create/write/close/rename/promotion failure at a deterministic point after a valid WIP has entered the governed save path, acceptance must prove that a failed WKO/WKO-MAP save is never represented as a committed alias-registry update. The pre-run current WKO MAP must remain authoritative; no malformed or unpromoted candidate may become current; and any rollback or retained SCR evidence must follow W002-STOR-018.3 and the shared non-Store publication/retained-evidence contract. No RCV artifact is emitted. F-02 registry-repair acceptance set Deadlock escape: with a repair-required current WKO MAP, a newly saved structurally valid repair-only WKO can Run by exact filename and successfully publish a repaired successor registry. No broad bypass: a newly saved unregistered WKO for any other operation remains ineligible to Run. Missing reference: repair removes a stale registry row but does not recreate the missing WKO, substitute a historical WKO, or promote an older WKO automatically. Discovered alias, no owner: one discovered valid WKO with an otherwise unowned alias becomes CURRENT . Discovered alias collision: a discovered WKO whose alias is already owned by a surviving CURRENT row becomes DEPRECATED . Several discovered WKOs, no owner: all become DEPRECATED ; no winner is inferred by UTC, filename, UUID, directory order, discovery order, or modified time. Mandatory alias: an unaliased WKO cannot be structurally valid. Line endings: otherwise-identical structurally valid WKO fixtures with LF and CRLF line endings are accepted; the lone-CR form refuses. Deterministic successor: repaired successor rows serialize in ascending UTF-8 byte order of exact wko_filename . Historical Run: a registered DEPRECATED WKO can Run by exact physical filename but not by alias. Receipt identity: a successful or refused registry-repair Receipt uses REPAIR_WORK_ORDER_REGISTRY as the operation token. Day 060 H-10 / BM-07 registry-repair Receipt-count acceptance Acceptance must include a successful repair-required-registry fixture in which the exact repair-only bootstrap WKO is initially visible and unregistered, runs by the bounded exact-filename bootstrap, and is then registered by the repair result. The committed successor WKO MAP must contain the repair WKO row. The successful Receipt must list that exact repair WKO under either REGISTERED_CURRENT_WKO_<INDEX>_FILENAME or REGISTERED_DEPRECATED_WKO_<INDEX>_FILENAME , according to the ordinary alias-ownership rule. The corresponding REGISTERED_*_COUNT must equal the number of newly registered rows in that status class, including the repair WKO when applicable. Pre-existing surviving CURRENT / DEPRECATED rows in the base registry must not inflate either registered count. A fixture containing both pre-existing surviving rows and newly registered rows must prove that the Receipt reports the repair change set while the successor MAP reports the complete resulting registry state.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-005,"Store MAP inheritance, historical override, and immutable snapshot acceptance",W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"An acceptance fixture must execute a saved Store-establishing Work Order containing multiple COL alias assignments when no routable Store lineage exists and no structurally malformed Store-MAP-class artifact is present , and prove that exactly one new immutable complete Store MAP is created while the GUI supplies no alias-edit gesture and target artifacts remain unchanged. A later Work Order with the same exact source and no explicit MAP must route to that Store's lineage and inherit its unique newest permitted MAP automatically. Another Work Order must explicitly select an older valid MAP even though newer MAPs for that Store exist and prove that Store/RID binding, alias resolution, and inheritance use exactly the named historical MAP instead. A fixture specifying more than one MAP must refuse. A fixture with two otherwise permitted current MAP candidates for the selected Store sharing the greatest UTC millisecond timestamp must refuse automatic inheritance rather than use UUID as chronology. A separate fixture must remove or corrupt every Store MAP in a prior lineage so that no structurally valid Store MAP remains while at least one malformed Store-MAP-class artifact remains visible in the active Suitcase. Re-running ordinary materialization must refuse before creating a new RID or first Store MAP, and Help must identify the malformed MAP artifact or artifacts. P2-03 Store chronology acceptance: injected-clock fixtures must prove later observed UTC success, equal-millisecond refusal, backward-UTC refusal, and a genuinely future-dated current Store MAP that remains current while blocking successor publication. Every refusal must leave the chronology predecessor unchanged and publish no successor Store MAP. A historical-base fixture must derive requested state from an older eligible MAP while proving that the strict-greater-than comparison uses the actual current Store MAP as chronology predecessor, not the historical base. A deliberate analyst-removal fixture must move the future-dated current MAP out of the active Suitcase and prove deterministic reselection of the remaining structurally valid history; restoring that MAP must make ordinary greatest-UTC authority rules applicable again. Day 060 H-12: every equal/backward/future-predecessor Store-MAP chronology refusal in this acceptance set must emit DS-UTC-001 with exact map_profile: STORE , observed_host_utc , predecessor_map_filename , and predecessor_utc facts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-WKO-ACC-006,Work Order chaining refusal acceptance,W002-WKO-ACC,W002-WKO,WASM-002,UNDER REVIEW,—,"An acceptance fixture must submit a structurally saved WKO containing a RUN or other recognized Work Order-invocation construct and prove that WASM-002 refuses it during validation before Stage 1, Stage 2, conversion, inventory, or other governed execution begins. The diagnostic/Help output must identify composition as deferred functionality. A separate multi-column MATERIALIZE fixture must still succeed, proving that multiple selected columns inside one Work Order are not misclassified as Work Order chaining.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-001,One explicit Work Order command surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser front end shall use the Work Order editor as the single human command-entry surface for governed execution. It shall not expose a second interactive command prompt or point-and-click analytical path that can become an independent source of analytical intent. The editable draft may be syntax-highlighted, validated, and saved, but it is not itself executable authority. The browser Run action operates only on one loaded/selected saved immutable WKO that is eligible under the governed Work Order registry rules. Run is a browser action, not a line that ordinary WASM-002 Work Orders must contain. If a WKO contains the reserved DS-STEPS RUN composition token, WASM-002 refuses before executing any child or top-level analytical operation because saved-Work-Order chaining is deferred. The token remains reserved so later ordered composition can be added without repurposing existing syntax. F-24 fresh-application state: each new Data Sculptor browser application instance begins without a selected Suitcase and without a restored unsaved Work Order draft. Initial page load and full reload therefore return the command surface to the pre-Suitcase gate. A previously selected folder, loaded WKO, or dirty WIP must not be silently reconstructed from browser-private persistence.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-002,Front end presents and authorizes; shared Rust core decides,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The browser front end may authorize files, edit and validate Work Orders, invoke the shared engine, display governed state, render diagnostics, and present generated artifacts. It must not independently decide analytical truth, silently reinterpret a Work Order, or implement a competing semantic path. Where front-end presentation and shared-core semantics disagree, the shared governed semantics and frozen requirements are authoritative.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-003,Visible Suitcase and governed run context,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser surface shall make the currently validated Suitcase visible and shall expose the visible files in that folder. Source and requested-column context become governed execution state only when a saved Work Order resolves them; the UI must not imply that directory presence alone means a source has been selected, scanned, certified, or materialized.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-004,Certification gate is visible and blocking,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The front end shall visibly represent strict whole-file UTF-8 certification as a required stage before analytical materialization. A certification refusal must stop the current analytical Work Order, prevent later materialization stages from being presented as successful, and provide the canonical diagnostic / Help path.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-005,One-pass multi-column materialization is represented truthfully,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"When a valid Work Order requests multiple source columns, the front end shall represent them as one governed multi-column materialization request through one bounded structural CSV pass, not as unrelated per-column scans when the frozen engine contract performs one pass. Requested columns must be validated before data-row materialization begins, consistent with the materialization requirements.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-006,Visible Suitcase Directory is the artifact orientation surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"After Suitcase validation, the browser shall present a human-readable directory view of the visible files in the selected Suitcase, including physical filename, read-only governed alias where applicable, file type, and size. Governed artifacts created by a run shall appear in that same visible inventory after refresh or update. The directory is an orientation and metadata surface over the real flat Suitcase. It is not a hidden browser cache, a second persistence system, or an analytical command surface. CAT integration: this existing directory remains the sole WASM-002 artifact-orientation surface. CAT and MAP artifacts are first-ranked under W002-CAT-UI-001 through W002-CAT-UI-008; no second catalog browser is introduced.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-007,All user-facing Help flows through the Help Engine,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"All Data Sculptor-controlled user-facing Help messages, warnings, refusals, explanations, validation guidance, safe-next-action messages, and governed success/status messages that participate in the Help/status/evidence system shall be produced through the Help Engine from governed facts or canonical diagnostic events. Individual UI controls must not maintain an independent competing stock of semantic Help text. Governed success/status events in this system use canonical INFO diagnostics. Ordinary static labels, headings, decorative copy, and presentation-only UI text are not diagnostics and need not be routed through the diagnostic registry merely because they are visible. Help voice may change wording and depth but must not change diagnostic identity, evidence, severity, refusal/continue behavior, provenance, or safe next action. Durable Help Reports derive from the same governed truth. F-17 fallback behavior: when a complete registered diagnostic lacks an authored help_messages.json entry, the UI must show the deterministic Generic Technical Help rendering from W002-HELP-002.9 for Casual, Office Speak, and Technical selections rather than a blank state, guessed prose, or UI-local explanation. When diagnostic assembly itself fails its required-fact contract, the UI presents DS-HLP-001 ; it must not display the incomplete intended diagnostic as if valid.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-008,Legacy encoding conversion remains a separate operation,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"If UTF-8 certification fails and the bytes are eligible for the separately governed Windows-1252 compatibility/conversion path, the front end may explain or help draft that separate conversion Work Order. It must not silently reinterpret the failed analytical Work Order as Windows-1252 and continue materialization. P3-08 front-end disclosure: after a successful conversion, the visible result/Help path must identify the exact published CVT filename and explain that it is a new source identity for later Store routing. When that CVT is subsequently chosen for first materialization, the front end must not present the action as a refresh of an earlier conversion-derived Store merely because the analyst-owned input filename is the same; it must preserve the governed Help disclosure that each distinct CVT is a distinct source artifact and lineage input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-009,Front-end branding is presentation-only,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser front end shall use the canonical built-in Red5Sorcery/Data Sculptor branding and approved presentation tokens without changing analytical or diagnostic meaning. The current Red5Sorcery identity treatment, including the red “5”, remains the active WASM-002 design direction. Configurable Brand Manifest loading, validation, selection, and substitution are deferred to V1-BACKLOG / a future build whose number is not yet assigned.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-010,WASM-002 front end must not preview deferred analytical features as available controls,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 front end shall stop at the capabilities allocated to the WASM-002 build slice. It shall not present filtering, grouping, sorting, Quick Viz, PRETTY Tables, DS-VERIFY, or later filter-driven build/export workflows as executable WASM-002 controls unless their individual requirement SCOPE is deliberately changed and frozen.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-PLAT-001,WASM-002/V1 browser and modest-hardware acceptance baseline,W002-PLAT,W002-PLAT,WASM-002,UNDER REVIEW,—,"The canonical modest-hardware acceptance machine for the WASM-002 browser release and the browser path carried into V1 is the project's 11-inch Windows 11 laptop with an Intel N100 processor, 16 GB RAM, and a 1920×1200 native display. Each acceptance record must capture the exact tested Windows build, browser version, Windows display scaling, browser zoom, and materially relevant machine configuration. Those observed version and presentation settings are acceptance evidence; they do not become timeless minimum-version requirements unless separately frozen. V1 browser support is scoped to certified desktop Chromium hosts that expose the user-selected writable-directory and file-publication capabilities required by the visible Suitcase contract. Microsoft Edge is the primary certified browser. Google Chrome is the secondary certified browser. Another Chromium-derived browser may work, but Data Sculptor must not claim it as a certified V1 browser until that browser has passed the applicable acceptance suite. Firefox and Safari are not supported V1 browser hosts under this contract and their lack of the required filesystem capability must not block V1 release. Supported-host acceptance must exercise the real browser filesystem path: explicit user-selected Suitcase access, CER validation, governed Work Order save/Run behavior, and governed artifact publication. Data Sculptor must not substitute OPFS, IndexedDB, download-only publication, a browser extension, or another hidden/different persistence model merely to make an unsupported browser appear supported. Required filesystem capability is feature-detected before folder validation begins. If the host cannot expose the governed writable-directory contract, Data Sculptor must treat that state as a host-capability refusal , keep governed save/Run/analytical controls locked, and route the explanation through the canonical diagnostic/Help path. It must not claim that a particular user folder failed validation when no folder could actually be tested.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-011,"Keyboard-operable, small-screen browser shell",W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The required WASM-002 front-end interactions shall remain operable from a keyboard and usable on the canonical modest-hardware/small-screen baseline defined by W002-PLAT-001. At the display scaling and browser zoom recorded for acceptance, every required control and governed surface needed to complete the supported workflow must remain reachable without changing those settings merely to reveal an otherwise inaccessible control. Responsive reflow and ordinary scrolling are permitted; this requirement does not demand that every panel be visible simultaneously. Visible labels must carry meaning without relying on color alone. Exact shortcut assignments are presentation details unless separately frozen.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-012,"Reference prototype is evidence, not a shadow specification",W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The Day 043 HTML prototype embedded below is retained as concrete design evidence for the WASM-002 browser workbench. Its layout, simulated analytical execution, illustrative Work Order grammar, current aliases, demo shortcuts, artifact examples, and other unfrozen literals do not become normative merely because they appear in the prototype. If the embedded prototype conflicts with a numbered requirement, the numbered requirement governs and the prototype must be revised.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-013,Dedicated persistent Help / Diagnostic Surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The primary WASM-002 workspace must reserve a dedicated Help / Diagnostic Surface with stable layout presence. When a governed diagnostic is active, the analyst must be able to view its explanation without losing sight of the Work Order and the execution/source context required to understand it. The persistent surface is a viewport into canonical diagnostic truth; it is not a second state authority.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-014,Governed analytical refusals are not modal- or toast-only interactions,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,An application-controlled modal dialog must not be the primary presentation of a governed analytical refusal when it would obscure the Work Order or execution context. A transient toast or timed notification must not be the sole carrier of governed diagnostic truth. Browser- or operating-system-controlled permission/security dialogs are outside this requirement because Data Sculptor does not control their presentation.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-015,Idle Help state remains semantically quiet,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"When no canonical diagnostic is active, the Help / Diagnostic Surface should communicate only restrained readiness/idle state rather than becoming a general dashboard for unrelated metrics, checkpoints, or project status. Exact wording such as “No active diagnostic. Ready.” is presentation detail unless separately frozen.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-016,Help surface exposes a direct saved-report action,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"From an active governed diagnostic, including a non-run diagnostic, or from one governed Run whose diagnostic history is available to the Help surface, the browser Help / Diagnostic Surface must provide an explicit action to generate the durable HTML Help Report. Each explicit report request publishes exactly one HLP under W002-HELP-003.2 and W002-HELP-009. The generated report must become a visible Suitcase artifact governed by the Help, PRETTY, persistence, and provenance requirements and must use the canonical built-in Data Sculptor presentation.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-017,Writable Suitcase validation is the first interaction gate,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"Before Data Sculptor enables Work Order saving, governed Run, or analytical processing, the analyst must choose one Suitcase folder and Data Sculptor must validate that folder by successfully creating, completely writing, and closing one governed HTML Suitcase Validation Certificate under W002-STOR-022 through W002-STOR-022.3. Permission state or directory enumeration alone is not sufficient to pass the gate. The successful certificate remains visibly in the Suitcase as durable evidence. Validation does not require deleting or renaming the certificate. Until the certificate write/close succeeds, the analytical workspace remains locked except for Help and Suitcase selection. Browser- or operating-system-controlled refusal of protected directories is outside Data Sculptor presentation control and must be explained through the Help Engine when the host can observe the refusal. F-24 opening/selection lifecycle: merely loading Data Sculptor does not create a CER. A CER is published only after an explicit Suitcase selection successfully passes the governed validation gate. Reselecting and successfully validating the same physical Suitcase is a new certification event and publishes one new CER; all earlier CERs remain untouched. Data Sculptor does not remember the directory handle between application instances, so a new load/reload requires explicit Suitcase selection again before the workspace can unlock.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-018,Suitcase Directory enumerates visible files before analytical work,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"Immediately after Suitcase validation, Data Sculptor shall enumerate the visible files available through the authorized directory handle and show them in the Suitcase Directory. No source, header, column, certification, or materialization state shall be inferred merely from the existence of those files.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-019,Directory inventory and displayed aliases must not become point-and-click analytical intent,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The Suitcase Directory may expose file inventory and read-only human-facing metadata such as aliases, but it shall not provide alias-edit controls, “Use as source,” column-pick, materialize, filter, or equivalent governed-action controls. Source files, requested columns, alias mutations, and analytical operations are stated in saved Work Orders and resolved by the governed engine.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-020,Saved Work Orders are the only Run targets,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The Work Order editor may create a new draft or load a saved Work Order TXT artifact from the validated Suitcase. A loaded saved Work Order is an immutable Run target and may be inspected or run directly. If the analyst changes its instruction text, the editor must transition to a new draft derived from that saved Work Order; the draft is not runnable until it is saved as a new immutable Work Order with a new governed physical identity. The original saved Work Order remains unchanged.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-021,User chooses the Suitcase; Data Sculptor chooses generated filenames,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"For Work Orders, materialized columns, Help Reports, receipts, maps, and other Data Sculptor-generated artifacts, the analyst chooses or has already chosen the validated Suitcase folder. The browser shall not require the analyst to supply an output filename for those governed artifacts.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-022,"Execution Output is read-only observation, never command input",W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The browser shall provide a read-only Execution Output surface that reports which saved Work Order was run, how its source and governed aliases resolved, which execution stages occurred, what was refused, and which governed artifacts were created or assigned. For WASM-002 it does not display a nested Work Order invocation chain because Work Order composition is deferred. The surface shall not accept commands, analytical text, or cursor-driven execution input.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-023,The browser has no separate Work Order Description field,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The browser must not expose a standalone editable Description field for a saved or draft Work Order. Human-facing Work Order naming is authored in DS-STEPS with the required WORK ORDER AS ""..."" clause inside the Work Order itself. The Saved Work Order chooser and Suitcase Directory may display governed WKO alias/lifecycle information from the current structurally valid WKO MAP . Where lifecycle information is shown, CURRENT and DEPRECATED are read-only governed registry state, and the exact physical WKO filename must remain available/visible so human meaning, lifecycle authority, and physical identity remain distinct. Alias resolution uses the sole CURRENT row for the exact alias; a DEPRECATED row is historical evidence rather than the alias target. If that current registry references a missing physical WKO, the MAP remains current and the registry is repair-required; the browser must not silently display an older WKO MAP as though it had become current merely because of the missing reference. A structurally malformed newer WKO MAP never becomes current and is reported through Help/evidence surfaces. Editing a loaded saved WKO—including changing its alias or comments—creates a derived draft that must be saved as a new immutable WKO before it can Run. If that save would supersede the existing CURRENT target for the same alias, the save flow follows the exact Replace alias target / Cancel decision in W002-STOR-018.3; the UI must not provide a separate direct registry-edit gesture.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-024,Suitcase Directory aliases are read-only views of governed MAP profiles,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"Alias displays in the Suitcase Directory are observation-only. Store, RID, and materialized-COL aliases are read from eligible Store MAP state. Saved Work Order alias and lifecycle state are read from the current structurally valid WKO MAP. The browser may aggregate those governed sources into one human-facing directory view while keeping exact physical filenames available for inspection. For WKO rows, CURRENT / DEPRECATED is read-only governed lifecycle metadata. A CURRENT row identifies the registry target for that exact alias; a DEPRECATED row remains historical registry evidence and must not be presented as the current alias target. The GUI must not expose an input, inline editor, context action, or other non-Work-Order path that directly mutates governed aliases or WKO lifecycle status. Store/RID/COL alias mutation remains Work-Order-governed. WKO aliases are authored inside immutable WKO text with WORK ORDER AS and enter or change WKO alias-registry authority only through a successful governed save transaction under W002-STOR-018.3.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-025,The browser has exactly two governed built-in presentation themes,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser presentation contract exposes exactly two governed theme choices: Modern Dark and Modern Light . Custom presentation is deferred to V1-BACKLOG / a future build not yet numbered. A Terminal theme is not part of the WASM-002/V1 browser contract and must not be exposed as a governed theme choice. Theme selection is presentation-only. It must not change Work Order semantics, source resolution, diagnostic identity or facts, continue/refuse decisions, analytical values, Receipt truth, or other governed execution meaning. The selected browser theme does not control durable HLP or CER presentation in WASM-002. Those governed HTML artifacts use the canonical built-in Red5Sorcery/Data Sculptor presentation regardless of whether the live browser is using Modern Dark or Modern Light. F-24 session default and persistence: Modern Dark is the canonical theme at the start of every new browser application instance. The analyst may switch to Modern Light during that instance, but WASM-002 retains the choice only in volatile runtime state and does not persist it in browser-private storage. A new application instance therefore returns to Modern Dark.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-026,Flight Recorder is a read-only derived Receipt-history surface,W002-UI,W002-UI,WASM-002,UNDER REVIEW,—,"The WASM-002 browser may present a Flight Recorder surface that is derived exclusively from governed RCP Receipt artifacts currently visible in the authorized Suitcase. The surface is read-only and regenerable. It must not create or maintain a second execution-history database, mutable log, hidden cache, browser-private history, or alternate chronology authority. The Flight Recorder may sort, filter, group, or summarize Receipt-derived facts for human orientation, but those presentation operations must not alter Receipt bytes, invent missing events, or become authoritative over the underlying immutable Receipts. Where no canonical Receipt exists because Receipt publication failed, the surface must not reconstruct a substitute original Receipt from UI state, console text, or memory.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-001,Single-command-surface and saved-run-target acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The acceptance check must show one Work Order editor that can hold either a new draft or a loaded saved Work Order and no second independent prompt, command-entry cursor, point-and-click source selector, or point-and-click column selector. A governed browser Run must read exactly one loaded/selected saved immutable WKO artifact that is eligible under the current registry rules. An unsaved WIP must not Run. Editing the instruction text of a loaded saved WKO must transition the editor to a new draft state that cannot Run until saved as a new immutable WKO. A fixture containing the exact reserved semantic token RUN as a Work Order composition construct must refuse before any governed operation executes and must reach the deferred-composition Help path. A near-synonym such as CALL , EXEC , or INCLUDE must not be silently accepted as composition syntax.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-002,Certification-refusal gating acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Using a source fixture that fails strict UTF-8 certification, the browser must show certification failure, leave later analytical stages unaccepted, produce no materialized analytical outputs, preserve the source unchanged, and expose the canonical Help path. The retained event/Receipt evidence must agree on STAGE1_UTF8_OUTCOME: FAIL , exact UTF8_FIRST_INVALID_BYTE_OFFSET , and UTF8_STOP_REASON: INVALID_UTF8_SEQUENCE . The canonical diagnostic event must expose the same meaning through lower-case facts first_invalid_byte_offset , source_filename , and stop_reason .",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-003,Multi-column path acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Using a valid UTF-8 source and a Work Order requesting at least two source columns, the browser must show successful certification followed by one governed structural materialization pass and then expose the resulting visible Suitcase artifacts required by the build contract.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-004,Diagnostic/Help parity acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"For at least one real WASM-002 refusal path, the live message, each supported Help voice, and the durable HTML Help report must resolve from the same canonical diagnostic event and preserve the governed facts, severity, provenance, refusal behavior, and safe next action.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-005,Visible-persistence and Suitcase-directory acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"A completed governed browser run must be auditable from the visible Suitcase artifacts required by the build contract, and newly created governed artifacts must become visible through the Suitcase Directory. Acceptance evidence must show that Data Sculptor did not intentionally persist project or analytical state in browser-private storage as a substitute for those artifacts. F-24 session/CER lifecycle acceptance: acceptance must begin from a clean application instance and prove all of the following in one controlled sequence: no Suitcase is selected or silently recovered; Work Order saving and governed Run remain gated; the live browser defaults to Modern Dark and Technical Help; explicitly selecting and successfully validating a writable Suitcase publishes exactly one fresh CER and unlocks the workspace; after switching to Modern Light and a non-Technical Help voice and creating a dirty unsaved WIP, an ordinary reload/navigation path triggers the browser-supported unsaved-change warning where the host permits it; after proceeding with reload, the Suitcase handle, non-default theme, non-default Help voice, and dirty WIP are not restored from Data Sculptor-controlled browser-private persistence; reselecting and successfully validating the same Suitcase publishes a second distinct CER while the first CER remains present under its original governed filename and exact bytes; and no automatic CER-history ZIP, compaction, replacement, or deletion occurs. The acceptance record must inspect the relevant Data Sculptor-controlled browser persistence surfaces and show that no persisted project/session record was used to restore the Suitcase handle, WIP, theme, or Help voice. WASM-002 does not claim dirty-draft warning or recovery after browser crash, forced process termination, operating-system failure, or power loss.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-006,Scope-surface acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The frozen WASM-002 browser build must not expose executable controls for requirements whose current SCOPE remains V1-BACKLOG, POST-V1, OUT-WASM-002, or otherwise outside the frozen WASM-002 build slice.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-007,"Small-screen, keyboard, and certified-browser acceptance",W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"On the canonical Intel N100 / 16 GB Windows 11 laptop and its 1920×1200 display, acceptance must record the Windows build, display scaling, browser zoom, and exact browser version. In the primary certified Microsoft Edge host, the required browser controls, Work Order editor, governed-stage status, artifact/result surface, and diagnostic/Help surface must remain reachable and usable without requiring an IDE or developer tools, and the required interaction path must be completable by keyboard. Ordinary scrolling and responsive reflow are allowed; changing scaling or zoom merely to expose an otherwise unreachable required control is not. The same canonical machine must also exercise the supported-host Suitcase → CER → Work Order save/Run → governed publication path in the secondary certified Google Chrome host. Chrome must satisfy the same governed filesystem and semantic contract; browser-specific presentation differences do not permit different analytical meaning or a different persistence model.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-008,Persistent diagnostic co-presence acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,Triggering a real governed refusal must leave the Work Order and relevant execution/source context available while the diagnostic is visible in the dedicated Help surface. The refusal must not depend on an application-controlled modal dialog or transient toast as its sole presentation.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-009,Idle-state discipline acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"With no active diagnostic, the dedicated Help surface must remain present but semantically quiet and must not aggregate unrelated project/dashboard state as a substitute for its diagnostic purpose.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-010,Saved-report action acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"From a displayed real diagnostic event, including a governed non-run diagnostic, the user must be able to invoke the Help-report action and obtain the corresponding durable HTML Help Report as one visible governed artifact without manually copying diagnostic text or reconstructing the event. A governed Run fixture containing multiple diagnostic events must also permit one explicit Run-level Help Report request and must produce exactly one HLP for that request. The HLP must identify the included diagnostics in deterministic event order and must not create one HLP automatically for each diagnostic.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-011,Suitcase-first gate and supported-host capability acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"With no Suitcase validated, Work Order saving, governed Run, and analytical processing controls must be unavailable. Acceptance first proves supported-host capability under W002-PLAT-001. Microsoft Edge and Google Chrome acceptance must each expose the required user-selected writable-directory path; Data Sculptor must not satisfy this gate through OPFS, IndexedDB, download-only output, a browser extension, or another substitute persistence model. Acceptance must enumerate every governed final-artifact filename form and SCR staging form that WASM-002 can emit, derive the longest canonical filename length, and verify that the current contract yields 73 ASCII bytes/characters . The canonical __DS__CER__YYYYMMDDTHHMMSSmmmZ__<uuid-v4>.html form is one of the forms at that maximum and is used for the actual create/write/close folder-validation test. After the analyst selects a writable test folder on a supported host, Data Sculptor must create one retained governed certificate whose filename matches that canonical CER form, completely write and close it, and expose it in the visible Suitcase Directory. The certificate must contain the semantic fields and limitation statements required by W002-STOR-022.2. Only after that certificate operation succeeds may the workspace unlock. A failure to create, completely write, or close the certificate after actual folder selection must leave the workspace locked and surface the canonical diagnostic/Help path. Separately, a deterministic missing-capability acceptance fixture must prove that a host lacking the required writable-directory contract refuses before folder validation, leaves the workspace locked, and does not mislabel an untested folder as unwritable. Acceptance must not depend on a hard-coded operating-system path-length number, deletion of the certificate, or a validation-only rename. If the emitted-name inventory changes so that another form exceeds the CER maximum, this acceptance gate must fail until the new maximum is explicitly exercised.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-012,Directory-is-inventory acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"After Suitcase validation, the visible directory must list a mixed fixture set including at least one CSV and one non-CSV file with their physical names, types, and sizes. The directory must expose no “Use as source,” column-pick, or materialize action that bypasses the Work Order.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-013,Generated Work Order identity and immutability acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,Saving a valid draft must create a new TXT artifact whose physical name matches the frozen Work Order filename contract and must not open a filename-entry Save As path. Editing the draft and saving again must create a different Work Order identity; the first saved TXT bytes and filename must remain unchanged.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-014,Work-Order-only source and column selection acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Using a Suitcase containing multiple candidate files and a CSV with multiple headers, the analyst must be able to request the source and materialized column solely through a saved Work Order. Acceptance must show that the browser performs no separate point-and-click source or column selection. F-26 SOURCE eligibility fixtures: the acceptance set must prove all of the following under W002-WKO-009.1: analyst-owned root files ending .csv , .CSV , and a mixed-case equivalent are recognized as CSV candidates; the complete physical filename reference remains exact and case-sensitive under F-15; an analyst-created __DS__notes.csv is refused as an analyst-owned SOURCE; a valid published CVT is accepted; a canonical-looking or renamed file that does not satisfy the governed CVT validity/publication contract is refused; governed non-CVT classes including COL are refused as SOURCE; a non-CSV analyst-owned extension is refused even if its bytes are CSV-like; and path, traversal, subdirectory, URL/URI, and external-file references are refused.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-015,Read-only Execution Output acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The execution surface must display the selected saved Work Order, source resolution, relevant stage/refusal facts, and resulting artifact identity while accepting no command input. Keyboard focus in the execution surface must not create a second execution path.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-016,Store-MAP snapshot persistence and read-only directory acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Creating or changing governed alias/Store metadata through a saved Work Order must create one new immutable complete Store MAP in the same flat Suitcase while preserving earlier MAPs and leaving target artifact bytes and physical filenames unchanged. After a governed run that creates a new Store MAP, refreshing/reopening the Suitcase may display Store, RID, and COL aliases from the exact Store lineage and Store MAP resolved for that specific governed operation. The directory must not infer a global “current Store,” guess from unrelated newest MAP timestamps, or independently choose or mutate Store/MAP authority for execution.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-017,"Store-aware MAP selection, historical override, and anti-rebinding acceptance",W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"A saved materializing Work Order that does not explicitly name a MAP must use exact SOURCE matching against the one common source_filename carried by each routable Store lineage's Store MAP. A routable Store lineage is one with at least one structurally valid Store MAP, regardless of later Store-health state. A fixture with exactly one routable Store lineage must route to that lineage and, when its health permits materialization, inherit the Store's unique newest permitted MAP and record both the MAP identity and bound rid_filename in execution evidence. A fixture with no routable Store lineage and no structurally malformed Store-MAP-class artifact present may establish a new Store. A fixture with more than one routable Store lineage for the same source must refuse automatic selection. An explicit-MAP fixture must prove that SOURCE must exactly equal the selected MAP's common source_filename . A different source must refuse before materialization even when source/RID row counts happen to match. A separate all-MAPs-damaged fixture must leave one or more structurally malformed Store-MAP-class artifacts visible while no routable lineage can be established. The UI/run path must refuse before new-Store/RID creation and expose Help that identifies the malformed MAP artifact or artifacts; it must not present the condition as an unseen source. Another fixture must prove that explicitly naming an older valid MAP overrides the newer default for that same Store. More than one explicitly named MAP must refuse. An equal-greatest-timestamp ambiguity within the selected Store lineage must refuse automatic selection. Once an inherited Store MAP has been selected for a run, creation of a newer MAP during execution must not silently rebind that in-progress run. P2-03 authority/clock acceptance: the UI/evidence path must distinguish the selected operation base MAP from the chronology predecessor used for successor UTC validation. When a future-dated current MAP blocks publication, the UI must not label that MAP corrupt merely because of its timestamp, must identify it as the blocking current authority, and must route to Help describing the clock correction/wait/deliberate-removal choices without performing any automatic fallback or filesystem move.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-018,Help-Engine-only messaging acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"For representative Suitcase validation, Work Order validation, source-resolution, and analytical refusal cases, user-facing guidance must be traceable to the Help Engine/canonical diagnostic path. Acceptance must show no competing ad hoc semantic refusal text generated independently by individual analytical controls.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-019,No standalone Work Order Description acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Acceptance must prove the architecture that WASM-002 permits: the browser exposes no standalone editable Work Order Description field; no separate mutable or hidden Work Order-description store exists; editing any governed WKO byte transitions a loaded saved WKO into a derived draft; the predecessor WKO TXT bytes, physical filename, and UUID remain unchanged; and the derived draft cannot Run until saved as a new WKO identity.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-020,Theme semantic-invariance acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"The same saved Work Order and governed diagnostic fixture must be exercised under Modern Dark and Modern Light. Acceptance evidence must show identical Work Order resolution, diagnostic ID and structured facts, continue/refuse decision, and analytical result/provenance across both themes, with only governed live-browser presentation differences. The browser must expose no Custom or Terminal governed theme choice in WASM-002. Acceptance must also verify that switching between Modern Dark and Modern Light does not change the canonical built-in presentation of a generated HLP or CER.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-UI-ACC-021,Flight Recorder read-only derivation acceptance,W002-UI-ACC,W002-UI,WASM-002,UNDER REVIEW,—,"Acceptance must populate the Suitcase with governed RCP artifacts for at least one successful Run and one refused Run whose Receipt publication succeeded, then reconstruct the Flight Recorder surface solely from those Receipts. The rendered history must preserve each Receipt's governed execution outcome and lineage while allowing only read-only presentation operations. A separate fixture must represent a Run for which Receipt publication failed under W002-RCP-010 and prove that the Flight Recorder does not invent, backfill, or reconstruct a canonical Receipt from transient execution state. User interaction with the Flight Recorder must not modify, delete, rename, rewrite, supersede, or create RCP artifacts and must not create hidden persistent history state.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-001,Certification interprets nothing analytically,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The certification stage establishes source-encoding validity and evidence; it does not perform analytical materialization.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-002,Materialization assumes nothing about encoding,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,Materialization proceeds only under the governed UTF-8-certified-source invariant and does not guess or silently change source encoding.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-003,Conversion is a separate transformation,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"Windows-1252-to-UTF-8 conversion is an explicit user-authorized operation producing a new artifact, not a hidden fallback.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-004,The fast path preserves strictness,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"ASCII-first acceleration is an optimization of strict UTF-8 certification, not a relaxation of validity rules. Every non-ASCII sequence remains subject to strict validation and EOF remains authoritative.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-005,Help is first-class,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The shared engine emits governed diagnostic truth; the Help Engine owns governed explanation.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-006,PRETTY is first-class,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The PRETTY Engine owns deterministic human-facing rendering.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-008,One shared semantic core,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The WASM-first implementation must remain suitable for later use by a standalone native CLI host without creating a permanent second semantic engine.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-011,Open source and commercial service are separate layers,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,The open-source analytical product and Red5Sorcery's optional paid automation must remain architecturally distinguishable. A paid service may save work; it must not become a hidden prerequisite for executing or understanding the delivered analytical software.,NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-014,WASM-002 and V1 analytical execution are sequential,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"WASM-002 must execute governed analytical operations sequentially and predictably. The product must not expose worker-count, thread-count, task-parallelism, or similar tuning controls, and it must not silently introduce a parallel analytical execution mode whose ordering or resource use changes the governed semantics. Sequential execution does not require inefficient repeated scans. One bounded structural source pass may process multiple requested columns together, and implementation may use ordinary low-level/runtime mechanisms that do not create user-visible analytical concurrency or change deterministic operation order. Any future analytical parallelism requires a separate measured experiment and explicit PRD decision.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
W002-ARCH-014.1,WASM-002 has a single-writer Suitcase contract,W002-ARCH,W002-ARCH,WASM-002,UNDER REVIEW,—,"WASM-002 assumes one user, one active Suitcase, and one Data Sculptor writing execution context at a time . Multiple read-only views may observe the same Suitcase, but concurrent governed writers—including a second browser tab or window attempting governed writes against the same Suitcase—are outside the supported WASM-002 contract. WASM-002 does not implement cross-tab locks, filesystem leases, lockfiles, hidden coordination state, or multi-writer merge/rebase semantics. This is an explicit product boundary, not an implicit guarantee that concurrent writers are safe. Before a governed transaction reaches its authoritative commit point, Data Sculptor must re-resolve and revalidate the governing state on which the transaction depends. If relevant governed state has changed since the transaction established its basis, publication must refuse rather than overwrite the newer authority, silently rebase itself, synthesize another chronology, or report success. Candidates already created remain subject to the existing rollback and attributable SCR recovery-evidence rules. Help must explain the boundary in ordinary terms: do not run two writing Data Sculptor contexts against the same Suitcase at the same time. If a pre-commit guard detects changed authority, the safe next action is to refresh or reopen the current governed state and rerun deliberately. Acceptance evidence must inject a relevant Store-MAP and WKO-MAP authority change after transaction preparation but before commit and prove that the newer authority remains authoritative and the stale transaction refuses.",NOT_STARTED,NOT_TESTED,NOT_REVIEWED,NOT_ACCEPTED,,,,,,,Revision BM Day 060 H-31 (frozen WASM-002 scope)
Day 074 CP018 — CP018_Custody_Seal_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: D9BA226F1FE62317C84A0370ADAE66C7D5D4F4F2855BDA48B82692834E3E857B · 694 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 EVIDENCE CUSTODY SEAL ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Original evidence archives reconciled: 27
Original/ZIP inventory hash reconciliation: PASS
Inventory TXT SHA256: 65C9AE89E95DDC31E73457E63C9F7AEA3DC8F3413EC2171E2507CA2BF636F154
Inventory ZIP SHA256: C0D1E349B67A9AE7B264D70C5A6F1568D50CAB9EAD11ADAB9F7680CD83AA5E01
Inventory ZIP entry integrity: PASS
Rust source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
CP018 test SHA256: FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
Original evidence retained: YES
Seal record is outside the original 27-file inventory by design.
Git commit created: NO
Day 074 CP018 — CP018_Evidence_ZIP_Inventory.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 65C9AE89E95DDC31E73457E63C9F7AEA3DC8F3413EC2171E2507CA2BF636F154 · 5,747 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 EVIDENCE ZIP INVENTORY ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Original files: 27
Method: one original file per ZIP
Integrity: source SHA256 equals extracted-entry SHA256
=== VERIFIED ARCHIVES ===
PASS | CP018_Formatting_Correction_Record.txt | SOURCE_SHA256=D29A6429F780E81EA5ECA5A7EE0EE53F0FCD15F9E759699D85DDA4152082F52B | ZIP_SHA256=2ED7608ECCA2B13C533FB993C63F0623F7AC4D2D37407C82C2A38E10561437C9
PASS | CP018_Formatting_Correction_StdErr.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=35744AB6A830E76B54E2C0FA100B88B7D4EA91AFBC0DF1965163EA385D8007CA
PASS | CP018_Formatting_Correction_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=54612D9F8684EC25E155096247F569892EB9C714F68810D10421F51EE6886EF3
PASS | CP018_GREEN_Installation_Record.txt | SOURCE_SHA256=35386F7E78A7EF97B1B7FC86E7276EA41C0B1C52EECEB232E96F487F12EE3E7C | ZIP_SHA256=AEB1F489C5E271379394B3E07DA6B9C27B30991CEEA551C5EF7F26D42172FB59
PASS | CP018_GREEN_Run_Record.txt | SOURCE_SHA256=99ECB22B72695E0938609CE0CD56F7602403ABAA2D1F83768C5F93EA1044C4D7 | ZIP_SHA256=3DB9ED1A3B58E069EC05504A33DFB92DDDAFC63072F7EC74CDE7C2FBFC05290C
PASS | CP018_GREEN_StdErr.txt | SOURCE_SHA256=88B56B95934B583C21923A93A84CA70388945546973B5DBA63DF6EFA614D4E22 | ZIP_SHA256=FC38CF74640F5FE4F556A6C2E0095BF0EDC6CEDE6E3D32E0E888EB047AC63F05
PASS | CP018_GREEN_StdOut.txt | SOURCE_SHA256=9855307D3955AE649DFF581BE39F6209FBCEBECA10FACC4F8A52A00A2C565457 | ZIP_SHA256=7E4A12EA1423A66F16012BB86874BD889925C4958A8450DD94CF3163CE271A5B
PASS | CP018_PostFormat_Check_StdErr.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=F23438F03B2219FDC97F81460DBC8F6A3B471B90F22F1A56E56D0CA21CFD7AD3
PASS | CP018_PostFormat_Check_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=0BE0A2ED8F73C44CEC19761CF6A22972773A844AB2CDE241F2AD336BBAADAA6B
PASS | CP018_PostFormat_Regression_StdErr.txt | SOURCE_SHA256=8C1D138F444104B0063756983262B0B6B804991C2CDB37B62F12F8D3C82BD1AF | ZIP_SHA256=A853386F8BAC7982E903C977FE22DE7FE402B0A511974837EE98B296F13C3393
PASS | CP018_PostFormat_Regression_StdOut.txt | SOURCE_SHA256=028EEC503DB1F201B629677BEEE45708E70FD4BC74DF7D675EA2BBAD3BF50188 | ZIP_SHA256=EE7A635D063DD9AC5933CB02012A0BBBE8388DEEA8D2A065104E6C3526B99810
PASS | CP018_PostFormat_Verification_Record.txt | SOURCE_SHA256=186FD2CD2DB21534A3AE42DB20CA852E3BAA1E76D49D286BEA1820C4AA88542F | ZIP_SHA256=C0218E8C93A89EFBEF825E2547F3370A43F4AF2EDDBAD20587BE49574B01DD5D
PASS | CP018_PreFormat_Test_Original.rs | SOURCE_SHA256=AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C | ZIP_SHA256=2287D9288B4C4F2030D0A5F43F266D9313ECB5DCCE4148EB0AB2B30B30551F62
PASS | CP018_PreGREEN_lib.rs | SOURCE_SHA256=903378F90A61E141EE008D60758F0241CAD67A5737DE301F4A1D1FBB61F9F3AE | ZIP_SHA256=EC7E2654B2145438B90008EA21BA812BD6D9D907931FDD4BA55B00DBC01F84C2
PASS | CP018_RED_Installation_Record.txt | SOURCE_SHA256=8C16146C5AF345D9141511BD48B16D2169DFDE7E837357F9D235239D8F8633AB | ZIP_SHA256=37B486DD214FC94B6F9AE737C46137C88FCA1711FCA2FE6385CCB33DFC501712
PASS | CP018_RED_Run_Record.txt | SOURCE_SHA256=6E474C32912FBC83B6C2BF5C47A24CF99B75294AE9593CF0569F28D4D6B9964A | ZIP_SHA256=6C2A7DF5736CB58BC227C4C044FA06516DA9374D19BD5A9DBF9783EA3AF04D9B
PASS | CP018_RED_StdErr.txt | SOURCE_SHA256=44653198AF2CA0F9D4A1E8086B775092254ED58641654D471E7F224F2947403F | ZIP_SHA256=90DBF2E55E2D72AE6277DBCFA48E98C4D77C092CA7816C92B1B7268CDA74F44C
PASS | CP018_RED_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=1C51034B5A3881B75D10CCC1077DA5EF33D2BC681F6DAEBEAA54CD3E00FBB537
PASS | CP018_Regression_Run_Record.txt | SOURCE_SHA256=E7A1BC6396CC42F14B4EE99C7CFB230EAE9047BE86E9916C3C917AA13C0E5A1F | ZIP_SHA256=D6B6B8A62F77E12C54A5CFB59B92F54A1513717361F96116F6A0F979F7390009
PASS | CP018_Regression_StdErr.txt | SOURCE_SHA256=5FF07A678D4E612AB7607CF21CE6ABB129DA3EF71F6D43B8FC50203450A79B77 | ZIP_SHA256=3632507EA863750150BC23E93D00F64F268FC99F2B01055EDF77364DE6833820
PASS | CP018_Regression_StdOut.txt | SOURCE_SHA256=759BE2EF098D362D594B867559CD0430C9F9CD88C9D46E34508B15F553CD30A5 | ZIP_SHA256=2550DA301842DF9BD7A64C7C7CC492E5B44433E878E2444D0BD7A36CCEEF8366
PASS | CP018_Rustfmt_Run_Record.txt | SOURCE_SHA256=6479875E789A165503D9878CD270AD4429382536FCAB3BD6A6A9239671F2E0A7 | ZIP_SHA256=7045DAEDB0E0412F9C1EC73893A7250C56C6D16D2B613A87BE32F9AF7A8AD77B
PASS | CP018_Rustfmt_StdErr.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=320B19D8AE3CFA984F313571659C114DC42D9E9CD77A82BB9A5C61E0C6DA78DF
PASS | CP018_Rustfmt_StdOut.txt | SOURCE_SHA256=0AC9F3DF0920EBEF1CD2A03E8742E8D3AC7F8ABE20A14175C7093EBB033EA0CF | ZIP_SHA256=0BDC852F78855CABE022973BF2408B1D436A6E3F458295450236D845A4AD770B
PASS | CP018_WASM_Build_Run_Record.txt | SOURCE_SHA256=5D739FB615B388FEF157509D5272B3C8C25B01E14F24D7AA234E08B4705B15F3 | ZIP_SHA256=53AA24BCC1DE0BD7DCDD22C89E5A74ACD2FD1C6D2C753C48C43B73D2AEF03B82
PASS | CP018_WASM_Build_StdErr.txt | SOURCE_SHA256=E86726CE73796A73AB619E36201CD6AD458198C8B82C587EAA74687054E8B66E | ZIP_SHA256=F6FD853C479BFFEA81E1459F4CC48EFB3ED79CD23E178387D28E2EF439870ECD
PASS | CP018_WASM_Build_StdOut.txt | SOURCE_SHA256=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 | ZIP_SHA256=BE545D150BE29053A2BCC5C9F63234F4D7F26E6C4B50353CB65B14DF4B9AF656
Verified ZIPs: 27
Overall result: PASS
Original files deleted: NO
Git commit created: NO
Inventory generated after packaging; not included in this ZIP set.
Day 074 CP018 — CP018_Formatting_Correction_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: D29A6429F780E81EA5ECA5A7EE0EE53F0FCD15F9E759699D85DDA4152082F52B · 640 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 FORMATTING CORRECTION ===
Date: 2026-10-21
Command: cargo fmt --all
Exit code: 0
Original test SHA256: AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C
Preserved backup SHA256: AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C
Formatted test SHA256: FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
Source SHA256 before: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Source SHA256 after: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Implementation source unchanged: True
Result: FORMATTING CORRECTION PASS
Git commit created: NO
Day 074 CP018 — CP018_GREEN_Installation_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 35386F7E78A7EF97B1B7FC86E7276EA41C0B1C52EECEB232E96F487F12EE3E7C · 559 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 GREEN INSTALLATION ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Frozen requirements: W002-RCP-005, W002-RCP-006
Source: src/lib.rs
Backup: Evidence/CP-018/CP018_PreGREEN_lib.rs
Pre-GREEN SHA256: 903378F90A61E141EE008D60758F0241CAD67A5737DE301F4A1D1FBB61F9F3AE
Post-install SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
CP018 RED test SHA256: AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C
Source installation: PASS
GREEN test executed: NO
Git commit created: NO
Day 074 CP018 — CP018_GREEN_Run_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 99ECB22B72695E0938609CE0CD56F7602403ABAA2D1F83768C5F93EA1044C4D7 · 586 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 GREEN TEST ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Test SHA256: AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C
Command: cargo test --test CP018_receipt_core_envelope
Exit code: 0
Nine tests passed: True
Result: GREEN PASS
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_GREEN_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_GREEN_StdErr.txt
Git commit created: NO
Day 074 CP018 — CP018_GREEN_StdErr.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 88B56B95934B583C21923A93A84CA70388945546973B5DBA63DF6EFA614D4E22 · 279 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `test` profile [unoptimized + debuginfo] target(s) in 2.48s
Running tests\CP018_receipt_core_envelope.rs (target\debug\deps\CP018_receipt_core_envelope-b0aa754d7846f001.exe)
Day 074 CP018 — CP018_GREEN_StdOut.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 9855307D3955AE649DFF581BE39F6209FBCEBECA10FACC4F8A52A00A2C565457 · 514 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
running 9 tests
test duplicate_field_refuses ... ok
test empty_input_refuses ... ok
test exact_ten_core_fields_emit_exact_bytes ... ok
test invalid_late_value_refuses_entire_fragment ... ok
test missing_mandatory_field_refuses ... ok
test misspelled_or_wrong_case_key_refuses ... ok
test repeated_input_is_byte_identical ... ok
test swapped_fields_refuse ... ok
test unexpected_field_refuses_for_core_only_api ... ok
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Day 074 CP018 — CP018_Git_Banking_Record.txt
External/not in CP018 Git-banked ZIP set · SHA-256: 26E26781221ECAC048EE1B28A1B5124316679161EF592C53C1DEE61615859EB2 · 676 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 GIT BANKING ===
Date: 2026-10-21
Human acceptance: T APPROVED
Checkpoint: CP018
Requirements: W002-RCP-005 / W002-RCP-006 (PARTIAL)
Commit message: CP018: canonical Receipt core-envelope ordering and evidence
Commit exit code: 0
Previous HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
New HEAD: 75620f17649a5d38d5357960bb99e9ac39ae354f
Commit parent: 339cf12e747738d89442ce401feeea1afcd19dc6
Expected committed files: 32
Actual committed files: 32
Remaining staged files: 0
Remaining tracked changes: 0
Native regression: 94/94 PASS
Rustfmt: PASS
WASM library build: PASS
Evidence ZIPs: 30
Banking verification: PASS
Remote push performed: NO
Day 074 CP018 — CP018_Git_Banking_StdOut.txt
External/not in CP018 Git-banked ZIP set · SHA-256: 4847413332EDD9167335DB92CDA70B6B059D7B0AA0DE87D2F3AD9E73D0FD71EB · 2,411 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
[master 75620f1] CP018: canonical Receipt core-envelope ordering and evidence
32 files changed, 186 insertions(+)
create mode 100644 Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Evidence_ZIP_Inventory.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Formatting_Correction_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_GREEN_Installation_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_GREEN_Run_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_GREEN_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Git_PreStaging_Review.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PreFormat_Test_Original.rs.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_PreGREEN_lib.rs.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_RED_Installation_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_RED_Run_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_RED_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Regression_Run_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Regression_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Regression_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Rustfmt_Run_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Rustfmt_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_Rustfmt_StdOut.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_WASM_Build_StdErr.txt.zip
create mode 100644 Evidence/CP-018/ZIP/CP018_WASM_Build_StdOut.txt.zip
create mode 100644 tests/CP018_receipt_core_envelope.rs
Day 074 CP018 — CP018_Git_PreStaging_Review.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: EEBB85220C233AC498CDEB0BD7A130B417F16BAC107EA61F4A7940A270641A16 · 7,244 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 GIT PRE-STAGING REVIEW ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Tracked modifications: 1
Tracked modified file: src/lib.rs
New test: tests/CP018_receipt_core_envelope.rs
Already staged files: 0
Git whitespace check: PASS
Evidence ZIPs verified: 29
Source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Test SHA256: FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
=== SOURCE DIFF ===
diff --git a/src/lib.rs b/src/lib.rs
index 2d27aef..b6aaa20 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -478,6 +478,43 @@ pub fn serialize_canonical_receipt_field_sequence(
Some(output)
}
+/// Serializes exactly the ten frozen WASM-002 Receipt core fields.
+///
+/// Checks the mandatory key count and order before delegating formatting
+/// to CP017. Refuses malformed field formatting as a whole.
+///
+/// This is a core-envelope fragment, not a complete Receipt. It does not
+/// validate operation-specific facts, execution truth, filename lineage,
+/// field-specific vocabularies, filesystem effects, or publication.
+pub fn serialize_canonical_receipt_core_envelope(
+ fields: &[(&str, ReceiptFieldValue<'_>)],
+) -> Option<String> {
+ const CORE_KEYS: [&str; 10] = [
+ "RECEIPT_VERSION",
+ "RECEIPT_FILENAME",
+ "RECEIPT_UTC",
+ "WORK_ORDER_FILENAME",
+ "OPERATION",
+ "RUN_STARTED_UTC",
+ "RUN_FINISHED_UTC",
+ "RESULT",
+ "DIAGNOSTIC_ID",
+ "IDENTITY_COLLISION_RETRIES",
+ ];
+
+ if fields.len() != CORE_KEYS.len() {
+ return None;
+ }
+
+ for (index, &(key, _)) in fields.iter().enumerate() {
+ if key != CORE_KEYS[index] {
+ return None;
+ }
+ }
+
+ serialize_canonical_receipt_field_sequence(fields)
+}
+
/// Lexical form shared by field keys and machine-token values in this slice.
/// Starts with uppercase ASCII A-Z; remaining bytes are A-Z, 0-9, or '_'.
/// This is not an operation-specific closed-vocabulary membership check.
=== EVIDENCE ARCHIVES ===
PASS | CP018_Custody_Seal_Record.txt.zip | SHA256=4DA3B192CF1BAA124D7453F64F4B1365A84367B281005E3DDF4668FD1900D69E
PASS | CP018_Evidence_ZIP_Inventory.txt.zip | SHA256=C0D1E349B67A9AE7B264D70C5A6F1568D50CAB9EAD11ADAB9F7680CD83AA5E01
PASS | CP018_Formatting_Correction_Record.txt.zip | SHA256=2ED7608ECCA2B13C533FB993C63F0623F7AC4D2D37407C82C2A38E10561437C9
PASS | CP018_Formatting_Correction_StdErr.txt.zip | SHA256=35744AB6A830E76B54E2C0FA100B88B7D4EA91AFBC0DF1965163EA385D8007CA
PASS | CP018_Formatting_Correction_StdOut.txt.zip | SHA256=54612D9F8684EC25E155096247F569892EB9C714F68810D10421F51EE6886EF3
PASS | CP018_GREEN_Installation_Record.txt.zip | SHA256=AEB1F489C5E271379394B3E07DA6B9C27B30991CEEA551C5EF7F26D42172FB59
PASS | CP018_GREEN_Run_Record.txt.zip | SHA256=3DB9ED1A3B58E069EC05504A33DFB92DDDAFC63072F7EC74CDE7C2FBFC05290C
PASS | CP018_GREEN_StdErr.txt.zip | SHA256=FC38CF74640F5FE4F556A6C2E0095BF0EDC6CEDE6E3D32E0E888EB047AC63F05
PASS | CP018_GREEN_StdOut.txt.zip | SHA256=7E4A12EA1423A66F16012BB86874BD889925C4958A8450DD94CF3163CE271A5B
PASS | CP018_PostFormat_Check_StdErr.txt.zip | SHA256=F23438F03B2219FDC97F81460DBC8F6A3B471B90F22F1A56E56D0CA21CFD7AD3
PASS | CP018_PostFormat_Check_StdOut.txt.zip | SHA256=0BE0A2ED8F73C44CEC19761CF6A22972773A844AB2CDE241F2AD336BBAADAA6B
PASS | CP018_PostFormat_Regression_StdErr.txt.zip | SHA256=A853386F8BAC7982E903C977FE22DE7FE402B0A511974837EE98B296F13C3393
PASS | CP018_PostFormat_Regression_StdOut.txt.zip | SHA256=EE7A635D063DD9AC5933CB02012A0BBBE8388DEEA8D2A065104E6C3526B99810
PASS | CP018_PostFormat_Verification_Record.txt.zip | SHA256=C0218E8C93A89EFBEF825E2547F3370A43F4AF2EDDBAD20587BE49574B01DD5D
PASS | CP018_PreFormat_Test_Original.rs.zip | SHA256=2287D9288B4C4F2030D0A5F43F266D9313ECB5DCCE4148EB0AB2B30B30551F62
PASS | CP018_PreGREEN_lib.rs.zip | SHA256=EC7E2654B2145438B90008EA21BA812BD6D9D907931FDD4BA55B00DBC01F84C2
PASS | CP018_RED_Installation_Record.txt.zip | SHA256=37B486DD214FC94B6F9AE737C46137C88FCA1711FCA2FE6385CCB33DFC501712
PASS | CP018_RED_Run_Record.txt.zip | SHA256=6C2A7DF5736CB58BC227C4C044FA06516DA9374D19BD5A9DBF9783EA3AF04D9B
PASS | CP018_RED_StdErr.txt.zip | SHA256=90DBF2E55E2D72AE6277DBCFA48E98C4D77C092CA7816C92B1B7268CDA74F44C
PASS | CP018_RED_StdOut.txt.zip | SHA256=1C51034B5A3881B75D10CCC1077DA5EF33D2BC681F6DAEBEAA54CD3E00FBB537
PASS | CP018_Regression_Run_Record.txt.zip | SHA256=D6B6B8A62F77E12C54A5CFB59B92F54A1513717361F96116F6A0F979F7390009
PASS | CP018_Regression_StdErr.txt.zip | SHA256=3632507EA863750150BC23E93D00F64F268FC99F2B01055EDF77364DE6833820
PASS | CP018_Regression_StdOut.txt.zip | SHA256=2550DA301842DF9BD7A64C7C7CC492E5B44433E878E2444D0BD7A36CCEEF8366
PASS | CP018_Rustfmt_Run_Record.txt.zip | SHA256=7045DAEDB0E0412F9C1EC73893A7250C56C6D16D2B613A87BE32F9AF7A8AD77B
PASS | CP018_Rustfmt_StdErr.txt.zip | SHA256=320B19D8AE3CFA984F313571659C114DC42D9E9CD77A82BB9A5C61E0C6DA78DF
PASS | CP018_Rustfmt_StdOut.txt.zip | SHA256=0BDC852F78855CABE022973BF2408B1D436A6E3F458295450236D845A4AD770B
PASS | CP018_WASM_Build_Run_Record.txt.zip | SHA256=53AA24BCC1DE0BD7DCDD22C89E5A74ACD2FD1C6D2C753C48C43B73D2AEF03B82
PASS | CP018_WASM_Build_StdErr.txt.zip | SHA256=F6FD853C479BFFEA81E1459F4CC48EFB3ED79CD23E178387D28E2EF439870ECD
PASS | CP018_WASM_Build_StdOut.txt.zip | SHA256=BE545D150BE29053A2BCC5C9F63234F4D7F26E6C4B50353CB65B14DF4B9AF656
=== GIT STATUS ===
M src/lib.rs
?? Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_Evidence_ZIP_Inventory.txt.zip
?? Evidence/CP-018/ZIP/CP018_Formatting_Correction_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_GREEN_Installation_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_GREEN_Run_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_GREEN_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_PreFormat_Test_Original.rs.zip
?? Evidence/CP-018/ZIP/CP018_PreGREEN_lib.rs.zip
?? Evidence/CP-018/ZIP/CP018_RED_Installation_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_RED_Run_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_RED_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_Regression_Run_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_Regression_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_Regression_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_Rustfmt_Run_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_Rustfmt_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_Rustfmt_StdOut.txt.zip
?? Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip
?? Evidence/CP-018/ZIP/CP018_WASM_Build_StdErr.txt.zip
?? Evidence/CP-018/ZIP/CP018_WASM_Build_StdOut.txt.zip
?? tests/CP018_receipt_core_envelope.rs
Review result: PASS
Git staging performed: NO
Git commit created: NO
Day 074 CP018 — CP018_Git_Staging_Review.txt
External/not in CP018 Git-banked ZIP set · SHA-256: E87F4156BEA0EEDB13EC1202359E1DDA27A35F935DE0F90820B24829CF96D1B9 · 8,126 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 GIT STAGING REVIEW ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Rust source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Rust test SHA256: FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
Pre-staging review SHA256: EEBB85220C233AC498CDEB0BD7A130B417F16BAC107EA61F4A7940A270641A16
Pre-staging review ZIP: VERIFIED
Expected staged files: 32
Actual staged files: 32
Evidence ZIP blobs verified: 30
Staged whitespace: PASS
Git commit created: NO
=== STAGED FILES ===
Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip
Evidence/CP-018/ZIP/CP018_Evidence_ZIP_Inventory.txt.zip
Evidence/CP-018/ZIP/CP018_Formatting_Correction_Record.txt.zip
Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_GREEN_Installation_Record.txt.zip
Evidence/CP-018/ZIP/CP018_GREEN_Run_Record.txt.zip
Evidence/CP-018/ZIP/CP018_GREEN_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_Git_PreStaging_Review.txt.zip
Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip
Evidence/CP-018/ZIP/CP018_PreFormat_Test_Original.rs.zip
Evidence/CP-018/ZIP/CP018_PreGREEN_lib.rs.zip
Evidence/CP-018/ZIP/CP018_RED_Installation_Record.txt.zip
Evidence/CP-018/ZIP/CP018_RED_Run_Record.txt.zip
Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_RED_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_Regression_Run_Record.txt.zip
Evidence/CP-018/ZIP/CP018_Regression_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_Regression_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_Rustfmt_Run_Record.txt.zip
Evidence/CP-018/ZIP/CP018_Rustfmt_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_Rustfmt_StdOut.txt.zip
Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip
Evidence/CP-018/ZIP/CP018_WASM_Build_StdErr.txt.zip
Evidence/CP-018/ZIP/CP018_WASM_Build_StdOut.txt.zip
src/lib.rs
tests/CP018_receipt_core_envelope.rs
=== ZIP GIT BLOB VERIFICATION ===
PASS | Evidence/CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip | GIT_BLOB=213d0d139c4eedebb917dc7cadefe8834f910e67
PASS | Evidence/CP-018/ZIP/CP018_Evidence_ZIP_Inventory.txt.zip | GIT_BLOB=eaa19f5be44ff705cd95e875267b3305e700b45d
PASS | Evidence/CP-018/ZIP/CP018_Formatting_Correction_Record.txt.zip | GIT_BLOB=4ad9c5481bf4cbf2788dc34f53624cac3227c189
PASS | Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdErr.txt.zip | GIT_BLOB=9f79019c719f3af3a84e24796bf78e497253fe9e
PASS | Evidence/CP-018/ZIP/CP018_Formatting_Correction_StdOut.txt.zip | GIT_BLOB=b8e6ae3be860cb0a64be4869938b65c3670a3892
PASS | Evidence/CP-018/ZIP/CP018_Git_PreStaging_Review.txt.zip | GIT_BLOB=dc763ee7981ad60b41ce82eb2ec4a2eb40bf9adc
PASS | Evidence/CP-018/ZIP/CP018_GREEN_Installation_Record.txt.zip | GIT_BLOB=9bed6e8c1b7c33afb99f04e06e5591f16d99723a
PASS | Evidence/CP-018/ZIP/CP018_GREEN_Run_Record.txt.zip | GIT_BLOB=b94b46ba6d8971431ce10f443a70b2fe5c3e09d0
PASS | Evidence/CP-018/ZIP/CP018_GREEN_StdErr.txt.zip | GIT_BLOB=4dd8642ddeb8ba91059e32ec8d7bd5ceca84c7b2
PASS | Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip | GIT_BLOB=03bb16a3b3c2f8323e3560a46ac4ddc47aeafa4a
PASS | Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdErr.txt.zip | GIT_BLOB=63220ca15bb3fbd09f3cdc1d606220fbe6aa0c39
PASS | Evidence/CP-018/ZIP/CP018_PostFormat_Check_StdOut.txt.zip | GIT_BLOB=5e21da0223e5482f283d5bce95a4d828ebd69bc4
PASS | Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdErr.txt.zip | GIT_BLOB=cc0fb9402b0fa7f9def7fa2a9157f11211f4b7e6
PASS | Evidence/CP-018/ZIP/CP018_PostFormat_Regression_StdOut.txt.zip | GIT_BLOB=560562f209e108ec7abe8fcdd773c7aaaf590589
PASS | Evidence/CP-018/ZIP/CP018_PostFormat_Verification_Record.txt.zip | GIT_BLOB=5877b657824509f2ce520c697764bc008ed6304c
PASS | Evidence/CP-018/ZIP/CP018_PreFormat_Test_Original.rs.zip | GIT_BLOB=ba1e54dfea313fd06601283276f50f4f5efe1fe3
PASS | Evidence/CP-018/ZIP/CP018_PreGREEN_lib.rs.zip | GIT_BLOB=f6de95516d606e936ebf2f481c274e915ac28746
PASS | Evidence/CP-018/ZIP/CP018_RED_Installation_Record.txt.zip | GIT_BLOB=3dacfa5b3453367fdb61758020f9aec793a1e8ad
PASS | Evidence/CP-018/ZIP/CP018_RED_Run_Record.txt.zip | GIT_BLOB=eb5e52e0ecfeb2b74639886bebecf060675303cf
PASS | Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip | GIT_BLOB=8df8bf092699e57d6dc205778ff4b3ee7ba97154
PASS | Evidence/CP-018/ZIP/CP018_RED_StdOut.txt.zip | GIT_BLOB=a3081afc3c18cace5f13e4efc2514fd2848052dd
PASS | Evidence/CP-018/ZIP/CP018_Regression_Run_Record.txt.zip | GIT_BLOB=f220a479a1eca5b723eaa8bc986794cfd558138d
PASS | Evidence/CP-018/ZIP/CP018_Regression_StdErr.txt.zip | GIT_BLOB=824de2eda373793326fe82ea8a443beeebe64d2e
PASS | Evidence/CP-018/ZIP/CP018_Regression_StdOut.txt.zip | GIT_BLOB=82365c6a175193719140f409dec1915720ace41f
PASS | Evidence/CP-018/ZIP/CP018_Rustfmt_Run_Record.txt.zip | GIT_BLOB=12a5331d6cd2fdb0d76d20c67c62ff7a70a0363d
PASS | Evidence/CP-018/ZIP/CP018_Rustfmt_StdErr.txt.zip | GIT_BLOB=d67d517a30affa2a52d9ad3c7ab3634b38440ec8
PASS | Evidence/CP-018/ZIP/CP018_Rustfmt_StdOut.txt.zip | GIT_BLOB=25b807aeeb66a34d25377188df95d3b0ea84011f
PASS | Evidence/CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip | GIT_BLOB=78947f4765727ae9c947eedb805d368bde6ed99c
PASS | Evidence/CP-018/ZIP/CP018_WASM_Build_StdErr.txt.zip | GIT_BLOB=7eccfb28719af961461f55870915d39aa4677325
PASS | Evidence/CP-018/ZIP/CP018_WASM_Build_StdOut.txt.zip | GIT_BLOB=0bef6896a81f6b1784173510eaeb61a828c81d10
=== STAGED SUMMARY ===
.../CP-018/ZIP/CP018_Custody_Seal_Record.txt.zip | Bin 0 -> 610 bytes
.../ZIP/CP018_Evidence_ZIP_Inventory.txt.zip | Bin 0 -> 2689 bytes
.../ZIP/CP018_Formatting_Correction_Record.txt.zip | Bin 0 -> 539 bytes
.../ZIP/CP018_Formatting_Correction_StdErr.txt.zip | Bin 0 -> 174 bytes
.../ZIP/CP018_Formatting_Correction_StdOut.txt.zip | Bin 0 -> 174 bytes
.../ZIP/CP018_GREEN_Installation_Record.txt.zip | Bin 0 -> 565 bytes
Evidence/CP-018/ZIP/CP018_GREEN_Run_Record.txt.zip | Bin 0 -> 536 bytes
Evidence/CP-018/ZIP/CP018_GREEN_StdErr.txt.zip | Bin 0 -> 347 bytes
Evidence/CP-018/ZIP/CP018_GREEN_StdOut.txt.zip | Bin 0 -> 387 bytes
.../CP-018/ZIP/CP018_Git_PreStaging_Review.txt.zip | Bin 0 -> 3028 bytes
.../ZIP/CP018_PostFormat_Check_StdErr.txt.zip | Bin 0 -> 164 bytes
.../ZIP/CP018_PostFormat_Check_StdOut.txt.zip | Bin 0 -> 164 bytes
.../ZIP/CP018_PostFormat_Regression_StdErr.txt.zip | Bin 0 -> 851 bytes
.../ZIP/CP018_PostFormat_Regression_StdOut.txt.zip | Bin 0 -> 1883 bytes
.../CP018_PostFormat_Verification_Record.txt.zip | Bin 0 -> 526 bytes
.../ZIP/CP018_PreFormat_Test_Original.rs.zip | Bin 0 -> 1658 bytes
Evidence/CP-018/ZIP/CP018_PreGREEN_lib.rs.zip | Bin 0 -> 4746 bytes
.../ZIP/CP018_RED_Installation_Record.txt.zip | Bin 0 -> 421 bytes
Evidence/CP-018/ZIP/CP018_RED_Run_Record.txt.zip | Bin 0 -> 489 bytes
Evidence/CP-018/ZIP/CP018_RED_StdErr.txt.zip | Bin 0 -> 501 bytes
Evidence/CP-018/ZIP/CP018_RED_StdOut.txt.zip | Bin 0 -> 138 bytes
.../CP-018/ZIP/CP018_Regression_Run_Record.txt.zip | Bin 0 -> 503 bytes
.../CP-018/ZIP/CP018_Regression_StdErr.txt.zip | Bin 0 -> 830 bytes
.../CP-018/ZIP/CP018_Regression_StdOut.txt.zip | Bin 0 -> 1881 bytes
.../CP-018/ZIP/CP018_Rustfmt_Run_Record.txt.zip | Bin 0 -> 428 bytes
Evidence/CP-018/ZIP/CP018_Rustfmt_StdErr.txt.zip | Bin 0 -> 146 bytes
Evidence/CP-018/ZIP/CP018_Rustfmt_StdOut.txt.zip | Bin 0 -> 461 bytes
.../CP-018/ZIP/CP018_WASM_Build_Run_Record.txt.zip | Bin 0 -> 622 bytes
.../CP-018/ZIP/CP018_WASM_Build_StdErr.txt.zip | Bin 0 -> 293 bytes
.../CP-018/ZIP/CP018_WASM_Build_StdOut.txt.zip | Bin 0 -> 152 bytes
src/lib.rs | 37 +++++
tests/CP018_receipt_core_envelope.rs | 149 +++++++++++++++++++++
32 files changed, 186 insertions(+)
STAGING_VERIFICATION=PASS
GIT_COMMIT_CREATED=NO
Day 074 CP018 — CP018_PostFormat_Regression_StdErr.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 8C1D138F444104B0063756983262B0B6B804991C2CDB37B62F12F8D3C82BD1AF · 2,329 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
Running unittests src\lib.rs (target\debug\deps\data_sculptor_core-de0091f1467e27b4.exe)
Running tests\CP008_source_eligibility.rs (target\debug\deps\CP008_source_eligibility-194c314726b26929.exe)
Running tests\CP009_exact_root_snapshot.rs (target\debug\deps\CP009_exact_root_snapshot-b26a1b02e36e8f07.exe)
Running tests\CP010_cvt_filename_candidate.rs (target\debug\deps\CP010_cvt_filename_candidate-ce216c0140f6b173.exe)
Running tests\CP011_cvt_scr_candidate_identity.rs (target\debug\deps\CP011_cvt_scr_candidate_identity-8bc68fabbbb42eb4.exe)
Running tests\CP012_scr_filename_candidate.rs (target\debug\deps\CP012_scr_filename_candidate-7c39746d8bb6fac7.exe)
Running tests\CP013_scr_rcp_candidate_identity.rs (target\debug\deps\CP013_scr_rcp_candidate_identity-4f7c7bea8654150d.exe)
Running tests\CP014_rcp_filename_candidate_identity.rs (target\debug\deps\CP014_rcp_filename_candidate_identity-249a1cd498442ced.exe)
Running tests\CP015_scr_rcp_filename_pair_identity.rs (target\debug\deps\CP015_scr_rcp_filename_pair_identity-526d10560ef9b891.exe)
Running tests\CP016_receipt_field_serialization.rs (target\debug\deps\CP016_receipt_field_serialization-8c3a6628143f8cc6.exe)
Running tests\CP017_receipt_field_sequence.rs (target\debug\deps\CP017_receipt_field_sequence-c803df96b76f21ee.exe)
Running tests\CP018_receipt_core_envelope.rs (target\debug\deps\CP018_receipt_core_envelope-b0aa754d7846f001.exe)
Running tests\artifact_class_disposition.rs (target\debug\deps\artifact_class_disposition-27b178107257d186.exe)
Running tests\artifact_filename_construction.rs (target\debug\deps\artifact_filename_construction-5cf670a1ba53be29.exe)
Running tests\artifact_filename_envelope.rs (target\debug\deps\artifact_filename_envelope-51974b55a7d36cd0.exe)
Running tests\artifact_namespace.rs (target\debug\deps\artifact_namespace-4ae3f3dd863a12a4.exe)
Running tests\artifact_serialization_separation.rs (target\debug\deps\artifact_serialization_separation-96fb32ea1270c8cd.exe)
Running tests\artifact_utc_timestamp.rs (target\debug\deps\artifact_utc_timestamp-4837e24de0c59c23.exe)
Day 074 CP018 — CP018_PostFormat_Regression_StdOut.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 028EEC503DB1F201B629677BEEE45708E70FD4BC74DF7D675EA2BBAD3BF50188 · 7,393 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 5 tests
test accepts_analyst_csv_final_extension_in_ascii_case_variants ... ok
test makes_no_case_or_unicode_normalization_claim ... ok
test refuses_paths_traversal_and_external_references ... ok
test refuses_reserved_namespace_even_if_name_looks_like_csv ... ok
test rejects_non_csv_or_nonfinal_csv_extensions ... ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test candidate_preflight_runs_before_root_matching ... ok
test duplicate_exact_entries_refuse_instead_of_picking_first ... ok
test full_filename_match_is_exact_and_case_sensitive ... ok
test finds_one_exact_reported_regular_file ... ok
test never_trims_to_find_a_different_physical_name ... ok
test reported_non_regular_entries_do_not_pass ... ok
test result_is_order_independent_and_empty_snapshot_is_not_found ... ok
test unicode_scalar_sequence_is_not_normalized ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test accepts_exact_canonical_cvt_csv_candidate ... ok
test refuses_paths_and_noncanonical_references ... ok
test refuses_malformed_canonical_identity ... ok
test refuses_wrong_classes_and_extensions ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test derives_exact_corresponding_scr_identity ... ok
test refuses_invalid_utc_and_uuid ... ok
test preserves_distinct_timestamp_and_uuid_tokens ... ok
test refuses_other_semantic_classes ... ok
test refuses_paths_whitespace_and_noncanonical_names ... ok
test refuses_wrong_extension_and_case ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_canonical_scr_csv_candidate ... ok
test refuses_noncanonical_namespace_class_and_extension ... ok
test refuses_invalid_utc_and_uuid ... ok
test accepts_canonical_scr_txt_candidate ... ok
test refuses_other_semantic_classes ... ok
test refuses_paths_and_whitespace ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test derives_rcp_candidate_only_with_explicit_class ... ok
test preserves_distinct_timestamp_and_uuid_tokens ... ok
test refuses_invalid_identity_paths_and_whitespace ... ok
test refuses_non_scr_and_noncanonical_source_classes ... ok
test refuses_unsupported_or_incorrectly_cased_final_classes ... ok
test refuses_wrong_or_ambiguous_serialization_extensions ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_canonical_rcp_txt_identity ... ok
test recognizes_existing_scr_to_rcp_derivation ... ok
test refuses_invalid_timestamp_uuid_and_envelope ... ok
test refuses_noncanonical_serialization ... ok
test refuses_paths_and_whitespace ... ok
test refuses_wrong_semantic_class_and_case ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_matching_canonical_scr_and_rcp_txt_names ... ok
test refuses_mismatched_utc_timestamp_even_when_both_names_are_canonical ... ok
test refuses_mismatched_uuid_even_when_both_names_are_canonical ... ok
test refuses_paths_and_whitespace_on_either_side ... ok
test refuses_wrong_class_or_reversed_pair_order ... ok
test refuses_wrong_extensions_and_noncanonical_envelopes ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test doubles_internal_quotes_without_backslash_escaping ... ok
test filenames_and_utf8_free_text_are_double_quoted ... ok
test machine_tokens_have_exact_colon_space_and_single_lf ... ok
test machine_token_spelling_must_be_lexically_canonical ... ok
test non_negative_integers_use_ungrouped_ascii_decimal ... ok
test refuses_cr_or_lf_inside_any_single_field_value ... ok
test refuses_non_uppercase_ascii_field_keys ... ok
test text_is_preserved_without_trimming_and_document_bytes_are_deterministic ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 7 tests
test embedded_newline_in_late_text_refuses_the_entire_sequence ... ok
test empty_sequence_is_empty_formatting_not_a_valid_receipt_claim ... ok
test invalid_late_machine_token_refuses_the_entire_sequence ... ok
test invalid_late_key_refuses_the_entire_sequence ... ok
test preserves_caller_order_without_claiming_schema_order ... ok
test repeated_invocations_are_byte_identical ... ok
test utf8_quotes_and_empty_quoted_text_produce_exact_bytes ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 9 tests
test duplicate_field_refuses ... ok
test empty_input_refuses ... ok
test invalid_late_value_refuses_entire_fragment ... ok
test exact_ten_core_fields_emit_exact_bytes ... ok
test missing_mandatory_field_refuses ... ok
test misspelled_or_wrong_case_key_refuses ... ok
test repeated_input_is_byte_identical ... ok
test swapped_fields_refuse ... ok
test unexpected_field_refuses_for_core_only_api ... ok
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test distinguishes_malformed_reserved_names_and_external_names ... ok
test distinguishes_registered_emittable_classes ... ok
test distinguishes_reserved_not_emitted_and_unallocated_classes ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test constructs_exact_canonical_filename_candidates ... ok
test preserves_extension_without_case_or_unicode_normalization ... ok
test refuses_noncanonical_class_without_repair ... ok
test refuses_invalid_timestamp_uuid_and_empty_extension ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test accepts_canonical_immutable_filename_envelopes ... ok
test rejects_malformed_namespace_class_and_timestamp_tokens ... ok
test rejects_noncanonical_uuid_and_missing_extension ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test recognizes_governed_namespace_and_class ... ok
test recognizes_remaining_frozen_registry_classes ... ok
test recognizes_reserved_but_nonemitting_classes ... ok
test rejects_invalid_class_boundaries ... ok
test rejects_noncanonical_prefix_and_unknown_class ... ok
test reserved_prefix_is_independent_of_registered_class ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test extension_does_not_determine_semantic_class ... ok
test preserves_literal_tokens_without_claiming_authority ... ok
test refuses_tokens_when_filename_envelope_is_invalid ... ok
test extracts_semantic_class_and_serialization_separately ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test accepts_valid_gregorian_dates_and_time_boundaries ... ok
test rejects_invalid_clock_values_and_unapproved_leap_seconds ... ok
test rejects_nonexistent_gregorian_dates ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Day 074 CP018 — CP018_PostFormat_Verification_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 186FD2CD2DB21534A3AE42DB20CA852E3BAA1E76D49D286BEA1820C4AA88542F · 781 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 POST-FORMAT VERIFICATION ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Rustfmt check exit code: 0
Full regression exit code: 0
Test suites: 18
Passing tests: 94
Expected passing tests: 94
Source and test hashes unchanged: True
Result: PASS
Rustfmt StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_PostFormat_Check_StdOut.txt
Rustfmt StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_PostFormat_Check_StdErr.txt
Regression StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_PostFormat_Regression_StdOut.txt
Regression StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_PostFormat_Regression_StdErr.txt
Git commit created: NO
Day 074 CP018 — CP018_RED_Installation_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 8C16146C5AF345D9141511BD48B16D2169DFDE7E837357F9D235239D8F8633AB · 317 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 RED TEST INSTALLATION ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Test: tests/CP018_receipt_core_envelope.rs
Size: 5038 bytes
SHA256: AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C
Installation: PASS
Implementation modified by this command: NO
RED executed: NO
Day 074 CP018 — CP018_RED_Run_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 6E474C32912FBC83B6C2BF5C47A24CF99B75294AE9593CF0569F28D4D6B9964A · 503 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 RED TEST ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Test SHA256: AFD7B86FF49F55DD71B265CE8B9000A87228EB01BED701029BD5E508306F150C
Command: cargo test --test CP018_receipt_core_envelope
Exit code: 101
Result: EXPECTED RED COMPILATION FAILURE
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_RED_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_RED_StdErr.txt
Implementation modified: NO
Day 074 CP018 — CP018_RED_StdErr.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 44653198AF2CA0F9D4A1E8086B775092254ED58641654D471E7F224F2947403F · 896 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
error[E0432]: unresolved import `data_sculptor_core::serialize_canonical_receipt_core_envelope`
--> tests\CP018_receipt_core_envelope.rs:12:45
|
12 | use data_sculptor_core::{ReceiptFieldValue, serialize_canonical_receipt_core_envelope};
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `serialize_canonical_receipt_core_envelope` in the root
|
help: a similar name exists in the module
|
12 - use data_sculptor_core::{ReceiptFieldValue, serialize_canonical_receipt_core_envelope};
12 + use data_sculptor_core::{ReceiptFieldValue, serialize_canonical_receipt_field_line};
|
For more information about this error, try `rustc --explain E0432`.
error: could not compile `data_sculptor_core` (test "CP018_receipt_core_envelope") due to 1 previous error
Day 074 CP018 — CP018_Regression_Run_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: E7A1BC6396CC42F14B4EE99C7CFB230EAE9047BE86E9916C3C917AA13C0E5A1F · 531 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 FULL NATIVE REGRESSION ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Command: cargo test --all-targets
Exit code: 0
Test suites reported: 18
Total passing tests: 94
Expected baseline: 85 prior + 9 CP018 = 94
Source and test hashes unchanged: True
Result: PASS
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_Regression_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_Regression_StdErr.txt
Git commit created: NO
Day 074 CP018 — CP018_Regression_StdErr.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 5FF07A678D4E612AB7607CF21CE6ABB129DA3EF71F6D43B8FC50203450A79B77 · 2,329 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `test` profile [unoptimized + debuginfo] target(s) in 3.36s
Running unittests src\lib.rs (target\debug\deps\data_sculptor_core-de0091f1467e27b4.exe)
Running tests\CP008_source_eligibility.rs (target\debug\deps\CP008_source_eligibility-194c314726b26929.exe)
Running tests\CP009_exact_root_snapshot.rs (target\debug\deps\CP009_exact_root_snapshot-b26a1b02e36e8f07.exe)
Running tests\CP010_cvt_filename_candidate.rs (target\debug\deps\CP010_cvt_filename_candidate-ce216c0140f6b173.exe)
Running tests\CP011_cvt_scr_candidate_identity.rs (target\debug\deps\CP011_cvt_scr_candidate_identity-8bc68fabbbb42eb4.exe)
Running tests\CP012_scr_filename_candidate.rs (target\debug\deps\CP012_scr_filename_candidate-7c39746d8bb6fac7.exe)
Running tests\CP013_scr_rcp_candidate_identity.rs (target\debug\deps\CP013_scr_rcp_candidate_identity-4f7c7bea8654150d.exe)
Running tests\CP014_rcp_filename_candidate_identity.rs (target\debug\deps\CP014_rcp_filename_candidate_identity-249a1cd498442ced.exe)
Running tests\CP015_scr_rcp_filename_pair_identity.rs (target\debug\deps\CP015_scr_rcp_filename_pair_identity-526d10560ef9b891.exe)
Running tests\CP016_receipt_field_serialization.rs (target\debug\deps\CP016_receipt_field_serialization-8c3a6628143f8cc6.exe)
Running tests\CP017_receipt_field_sequence.rs (target\debug\deps\CP017_receipt_field_sequence-c803df96b76f21ee.exe)
Running tests\CP018_receipt_core_envelope.rs (target\debug\deps\CP018_receipt_core_envelope-b0aa754d7846f001.exe)
Running tests\artifact_class_disposition.rs (target\debug\deps\artifact_class_disposition-27b178107257d186.exe)
Running tests\artifact_filename_construction.rs (target\debug\deps\artifact_filename_construction-5cf670a1ba53be29.exe)
Running tests\artifact_filename_envelope.rs (target\debug\deps\artifact_filename_envelope-51974b55a7d36cd0.exe)
Running tests\artifact_namespace.rs (target\debug\deps\artifact_namespace-4ae3f3dd863a12a4.exe)
Running tests\artifact_serialization_separation.rs (target\debug\deps\artifact_serialization_separation-96fb32ea1270c8cd.exe)
Running tests\artifact_utc_timestamp.rs (target\debug\deps\artifact_utc_timestamp-4837e24de0c59c23.exe)
Day 074 CP018 — CP018_Regression_StdOut.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 759BE2EF098D362D594B867559CD0430C9F9CD88C9D46E34508B15F553CD30A5 · 7,393 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 5 tests
test makes_no_case_or_unicode_normalization_claim ... ok
test accepts_analyst_csv_final_extension_in_ascii_case_variants ... ok
test refuses_paths_traversal_and_external_references ... ok
test refuses_reserved_namespace_even_if_name_looks_like_csv ... ok
test rejects_non_csv_or_nonfinal_csv_extensions ... ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test finds_one_exact_reported_regular_file ... ok
test candidate_preflight_runs_before_root_matching ... ok
test duplicate_exact_entries_refuse_instead_of_picking_first ... ok
test full_filename_match_is_exact_and_case_sensitive ... ok
test never_trims_to_find_a_different_physical_name ... ok
test reported_non_regular_entries_do_not_pass ... ok
test result_is_order_independent_and_empty_snapshot_is_not_found ... ok
test unicode_scalar_sequence_is_not_normalized ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test accepts_exact_canonical_cvt_csv_candidate ... ok
test refuses_wrong_classes_and_extensions ... ok
test refuses_malformed_canonical_identity ... ok
test refuses_paths_and_noncanonical_references ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test derives_exact_corresponding_scr_identity ... ok
test refuses_other_semantic_classes ... ok
test preserves_distinct_timestamp_and_uuid_tokens ... ok
test refuses_invalid_utc_and_uuid ... ok
test refuses_paths_whitespace_and_noncanonical_names ... ok
test refuses_wrong_extension_and_case ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_canonical_scr_csv_candidate ... ok
test accepts_canonical_scr_txt_candidate ... ok
test refuses_noncanonical_namespace_class_and_extension ... ok
test refuses_invalid_utc_and_uuid ... ok
test refuses_other_semantic_classes ... ok
test refuses_paths_and_whitespace ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test derives_rcp_candidate_only_with_explicit_class ... ok
test preserves_distinct_timestamp_and_uuid_tokens ... ok
test refuses_non_scr_and_noncanonical_source_classes ... ok
test refuses_invalid_identity_paths_and_whitespace ... ok
test refuses_unsupported_or_incorrectly_cased_final_classes ... ok
test refuses_wrong_or_ambiguous_serialization_extensions ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_canonical_rcp_txt_identity ... ok
test recognizes_existing_scr_to_rcp_derivation ... ok
test refuses_invalid_timestamp_uuid_and_envelope ... ok
test refuses_noncanonical_serialization ... ok
test refuses_paths_and_whitespace ... ok
test refuses_wrong_semantic_class_and_case ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test accepts_matching_canonical_scr_and_rcp_txt_names ... ok
test refuses_mismatched_utc_timestamp_even_when_both_names_are_canonical ... ok
test refuses_paths_and_whitespace_on_either_side ... ok
test refuses_mismatched_uuid_even_when_both_names_are_canonical ... ok
test refuses_wrong_extensions_and_noncanonical_envelopes ... ok
test refuses_wrong_class_or_reversed_pair_order ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test filenames_and_utf8_free_text_are_double_quoted ... ok
test doubles_internal_quotes_without_backslash_escaping ... ok
test machine_tokens_have_exact_colon_space_and_single_lf ... ok
test machine_token_spelling_must_be_lexically_canonical ... ok
test non_negative_integers_use_ungrouped_ascii_decimal ... ok
test refuses_cr_or_lf_inside_any_single_field_value ... ok
test refuses_non_uppercase_ascii_field_keys ... ok
test text_is_preserved_without_trimming_and_document_bytes_are_deterministic ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 7 tests
test embedded_newline_in_late_text_refuses_the_entire_sequence ... ok
test empty_sequence_is_empty_formatting_not_a_valid_receipt_claim ... ok
test invalid_late_key_refuses_the_entire_sequence ... ok
test invalid_late_machine_token_refuses_the_entire_sequence ... ok
test preserves_caller_order_without_claiming_schema_order ... ok
test repeated_invocations_are_byte_identical ... ok
test utf8_quotes_and_empty_quoted_text_produce_exact_bytes ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 9 tests
test duplicate_field_refuses ... ok
test empty_input_refuses ... ok
test invalid_late_value_refuses_entire_fragment ... ok
test exact_ten_core_fields_emit_exact_bytes ... ok
test missing_mandatory_field_refuses ... ok
test misspelled_or_wrong_case_key_refuses ... ok
test repeated_input_is_byte_identical ... ok
test swapped_fields_refuse ... ok
test unexpected_field_refuses_for_core_only_api ... ok
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test distinguishes_malformed_reserved_names_and_external_names ... ok
test distinguishes_registered_emittable_classes ... ok
test distinguishes_reserved_not_emitted_and_unallocated_classes ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test preserves_extension_without_case_or_unicode_normalization ... ok
test constructs_exact_canonical_filename_candidates ... ok
test refuses_invalid_timestamp_uuid_and_empty_extension ... ok
test refuses_noncanonical_class_without_repair ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test rejects_noncanonical_uuid_and_missing_extension ... ok
test rejects_malformed_namespace_class_and_timestamp_tokens ... ok
test accepts_canonical_immutable_filename_envelopes ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test recognizes_governed_namespace_and_class ... ok
test recognizes_reserved_but_nonemitting_classes ... ok
test rejects_invalid_class_boundaries ... ok
test recognizes_remaining_frozen_registry_classes ... ok
test rejects_noncanonical_prefix_and_unknown_class ... ok
test reserved_prefix_is_independent_of_registered_class ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test extension_does_not_determine_semantic_class ... ok
test refuses_tokens_when_filename_envelope_is_invalid ... ok
test extracts_semantic_class_and_serialization_separately ... ok
test preserves_literal_tokens_without_claiming_authority ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test accepts_valid_gregorian_dates_and_time_boundaries ... ok
test rejects_nonexistent_gregorian_dates ... ok
test rejects_invalid_clock_values_and_unapproved_leap_seconds ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Day 074 CP018 — CP018_Rustfmt_Run_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 6479875E789A165503D9878CD270AD4429382536FCAB3BD6A6A9239671F2E0A7 · 401 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 RUSTFMT CHECK ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Command: cargo fmt --all -- --check
Exit code: 1
Hashes unchanged: True
Result: INVESTIGATION REQUIRED
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_Rustfmt_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_Rustfmt_StdErr.txt
Day 074 CP018 — CP018_Rustfmt_StdOut.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 0AC9F3DF0920EBEF1CD2A03E8742E8D3AC7F8ABE20A14175C7093EBB033EA0CF · 963 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
Diff in \\?\C:\Users\Admin\Downloads\DataSculptor-WASM002\tests\CP018_receipt_core_envelope.rs:99:
for (left, right) in [(0, 1), (4, 5), (8, 9)] {
let mut fields = valid_core();
fields.swap(left, right);
[31m- assert_eq!(
[0m[31m- serialize_canonical_receipt_core_envelope(&fields),
[0m[31m- None
[0m[31m- );
[0m[32m+ assert_eq!(serialize_canonical_receipt_core_envelope(&fields), None);
[0m }
}
Diff in \\?\C:\Users\Admin\Downloads\DataSculptor-WASM002\tests\CP018_receipt_core_envelope.rs:124:
for wrong in ["RECEIPT_FILENAMEX", "Receipt_FILENAME"] {
let mut fields = valid_core();
fields[1].0 = wrong;
[31m- assert_eq!(
[0m[31m- serialize_canonical_receipt_core_envelope(&fields),
[0m[31m- None
[0m[31m- );
[0m[32m+ assert_eq!(serialize_canonical_receipt_core_envelope(&fields), None);
[0m }
}
Day 074 CP018 — CP018_Scope_Investigation_Day074_2026-10-21.txt
External/not in CP018 Git-banked ZIP set · SHA-256: 1C546F730E8FEACF76D6FAF72F87DEFAB6582E8708054CC6DD179448AF5C6B58 · 2,491 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
RED5SORCERY DATA SCULPTOR | DAY 074 | CP018 SCOPE INVESTIGATION
Date: 2026-10-21
Status: PROPOSED — NOT YET APPROVED FOR RED TEST INSTALLATION OR IMPLEMENTATION
Baseline: CP017 at Git HEAD 339cf12e747738d89442ce401feeea1afcd19dc6
Source: Day 073 Development Log embedded H-31 402-row frozen-requirement ledger; CP016/CP017 source diffs and tests preserved in the Development Log and Git staging evidence.
PURPOSE
Provide a pure in-memory formatter for the EXACT ordered 10-key Receipt core field sequence, using CP017's existing caller-order field-sequence serializer. W002-RCP-005 and W002-RCP-006 remain PARTIAL after this work.
FROZEN KEY ORDER — W002-RCP-006
01 RECEIPT_VERSION
02 RECEIPT_FILENAME
03 RECEIPT_UTC
04 WORK_ORDER_FILENAME
05 OPERATION
06 RUN_STARTED_UTC
07 RUN_FINISHED_UTC
08 RESULT
09 DIAGNOSTIC_ID
10 IDENTITY_COLLISION_RETRIES
PROPOSED BEHAVIOR
- Accept exactly ten (key, typed field value) entries in the prescribed order.
- Refuse an omission, duplicate, extra, typo, or out-of-order key; no silent sorting, insertion, or correction.
- Delegate per-field lexical validation and KEY: VALUE formatting to CP016/CP017.
- On any refusal return None, not partial output.
- Valid inputs produce deterministic UTF-8 with LF lines and no BOM.
- The returned fragment contains only the ten core lines. It is NOT a whole Receipt and MUST NOT be published as one.
RED TEST CONTRACT (PROPOSED)
1. Ten exact keys in order produce exact expected bytes.
2. Missing any field refuses.
3. Duplicate field refuses.
4. Swapped fields refuse.
5. Unexpected eleventh field refuses.
6. Typo/wrong-case key refuses.
7. Late invalid typed value refuses entire fragment.
8. Repeated invocation yields byte-identical output.
EXCLUSIONS
No value-specific semantics (including RECEIPT_VERSION=1, RESULT vocabulary, diagnostic correlation, datetime validation/timeline invariants, WKO/RCP filename identity); no operation-specific sections or CREATED_ARTIFACT tail; no filesystem access, execution, publication, browser acceptance, or independent adversarial QA.
ENGINEERING GATES
T approval of this proposed scope -> install RED test -> capture RED evidence -> implement minimum GREEN change -> focused and full regression -> rustfmt check -> WASM library build -> SHA-256 evidence inventories -> ZIP original TXT evidence -> Git staging inspection -> T explicit acceptance -> Git banking.
Do not treat the approved investigation as approval to modify product code or to accept CP018.
Day 074 CP018 — CP018_WASM_Build_Run_Record.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: 5D739FB615B388FEF157509D5272B3C8C25B01E14F24D7AA234E08B4705B15F3 · 698 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
=== CP018 WASM LIBRARY BUILD ===
Date: 2026-10-21
Git HEAD: 339cf12e747738d89442ce401feeea1afcd19dc6
Rust version: rustc 1.97.1 (8bab26f4f 2026-07-14)
Command: cargo build --target wasm32-unknown-unknown --lib
Exit code: 0
Source SHA256: 69A512D5DF854EAD350C220647F9B58657F2BB7A626E87BCED342916D4761955
Test SHA256: FAF47D9C1CE26D0AEC3EB6A857B8FC1EE9DD79505795765C159FE1A00A3DE8D3
Source and test hashes unchanged: True
Result: PASS
StdOut: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_WASM_Build_StdOut.txt
StdErr: C:\Users\Admin\Downloads\DataSculptor-WASM002\Evidence\CP-018\CP018_WASM_Build_StdErr.txt
Browser runtime verified: NO
Git commit created: NO
Day 074 CP018 — CP018_WASM_Build_StdErr.txt
User-supplied original text; separately recorded CP018 ZIP custody / Git identity · SHA-256: E86726CE73796A73AB619E36201CD6AD458198C8B82C587EAA74687054E8B66E · 159 bytes · Uploaded original source view; actual ZIP bytes not supplied to this HTML authoring environment.
Compiling data_sculptor_core v0.1.0 (C:\Users\Admin\Downloads\DataSculptor-WASM002)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.53s
Day 073 CP017 committed-volume reconciliation — 28-path CSV (derived)
28 committed paths reconciled from reviewed CP017 ZIP packaging verification, manifest seal, accepted Git staging/banking records, complete source/test bytes, and prior CP016 Git-object inventory. SHA-256: 2D60BFAD91C5FB41EF06D3E9D241537A0D00D08BFC596C375B6212A70D3675C3 · 7,793 bytes · Derived evidence view, not itself Git-banked. Full 20-commit repository audit remains pending.
ProjectDay,CommitSHA,ChangeStatus,Path,Category,OldBlobSHA,NewBlobSHA,OldBlobBytes,NewBlobBytes,GrossBytes,NetBytes,SHA256,MeasurementBasis
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Content_Manifest.zip,Evidence,,96dccafb9901e645c11645b826692a3470c85ce8,0,2520,2520,2520,A13ADC852231998A8DD5C62D01B4A8AE559FA33474B2E4A6C29232ADE8EC4073,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Evidence_Preflight_Corrected_Record.zip,Evidence,,de72d4ebfa5cc559c3eb33a0c7924dfa0420bd02,0,2241,2241,2241,103A91FFA87B7C9F05DCAC8CD39CD5BC122714F809B5DC14A96E9AE57DEB96CE,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Evidence_Preflight_Record.zip,Evidence,,4c3dd6e36f7cf2051653605cafbd565d176c4c56,0,285,285,285,C0F03B9F5488805E43A6DD04F0CA3E9013E45EC901DEF68E898669F129EEBB1D,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Full_Regression_Run_Record.zip,Evidence,,f5663afb99e3a31357ca4b73b719b9be4724bf07,0,1436,1436,1436,7BE9A924853651CC9110C806C6A39C608EA2B7C2CD09143037D8FE58125955D6,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Full_Regression_StdErr.zip,Evidence,,0d3ff4abf532ff6e343f8505193ae8c59045e986,0,827,827,827,4B220AC4B0B9186478084042AD1546ADD61B25FF285ACB518E6D90128D636CFD,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Full_Regression_StdOut.zip,Evidence,,0e017a9e9dd5e3599f12a7d534b051428aeb5c66,0,1784,1784,1784,4904A2DB33F1A2DD09CD9E6194B62153D56728757B36E584DFFFB2B0E9816294,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_GREEN_Run_Record.zip,Evidence,,0ad51ba1c38bb3b735937b848a6e8e03c9cb9b7c,0,846,846,846,8E90849A6E979A214D67499748BBB55335D5F2484823969B0D15246B5A0D91E3,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_GREEN_StdErr.zip,Evidence,,32568b3b35e544a40c200520c24d04c50c60e540,0,349,349,349,490E6EB9D9E2D1B7C0E9A54C0077571D1A5496332C26E92AF1457854C39F31AB,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_GREEN_StdOut.zip,Evidence,,5a0268f57c5cebd4265408be215a0b5d1a77dd79,0,411,411,411,22677475956810E9D299E88BA8A3EF37B8ABA2EF2B8F1AB26B99591AFC08C144,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_PostFormat_GREEN_Run_Record.zip,Evidence,,ee647b6bc8d65ade515b62b383d3691f38c26967,0,985,985,985,9C244F3490F2ED6BE48BB54FBBE21A75AB17DEF97B141CCAF1500E5FE68A955C,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_PostFormat_GREEN_StdErr.zip,Evidence,,564a9ea66c07f942a87687e68bdcbcf93457439e,0,370,370,370,0F5924DBBA0E37C262E203919D21E086D1A841511B3723AA9C20E02953F78EA0,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_PostFormat_GREEN_StdOut.zip,Evidence,,d3fb07a8dc10abaed97d0b0d6084b109e386fe65,0,433,433,433,147D165CAF2A53DDDB788A90F48011C7F8CED484D790730CC7BF8427B2BF5EB1,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_RED_Run_Record.zip,Evidence,,8beb6dec9445d272596733db11378596578346da,0,746,746,746,C5ABAA7814101EC1A9EE3629611588A37AB88BDE30A43B24415D12D730891D7C,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_RED_StdErr.zip,Evidence,,e786ab6934995bef2cea292442519f5593170709,0,488,488,488,68700D7A857FA4B3A939D4771748614EF7775E6F6CB5009246AD528688D5689A,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_RED_StdOut.zip,Evidence,,0ae5c14226274d2668f21bcc4b08528d21f176ba,0,138,138,138,F369741A389DFACC9161D897F9FD79A051AEC611897068F3959ED158BBCD06B5,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Check_Run_Record.zip,Evidence,,b94c44f0f318ebe357baccdbf770789372ac6c87,0,814,814,814,9F968E8CA709FE5A49FFAF86DA1A63B644142055B8A3439BA0C8A39B2BA99268,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Check_StdErr.zip,Evidence,,4bfd97cd7b775e5069e69f2f217ac0c9331bb85f,0,158,158,158,E2D793490C0C03C664F96200908C44BD70AC74F31DD48F4442F4910DF987944F,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Check_StdOut.zip,Evidence,,ccf37712978eb2c4b8e44f66f27b57783c2c74d9,0,483,483,483,4EC5BC21EC56C45CA6BD15D01C384F09F59C2618B8841307D8973E330EE88C55,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Correction_Record.zip,Evidence,,683b69f45d995688552d92caec230aff4ae4b026,0,410,410,410,0B0E8A2148461B6C6701511A11F921AF29547C63C339147499848015464A19E3,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Correction_StdErr.zip,Evidence,,9e0cc39feb599ddcfd7a94257d2b62e75a9669d0,0,168,168,168,C1DA937CA56B1EE441507AEF6ECF7EF6A4C60AA131B927CB11A428CA23ED780B,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Correction_StdOut.zip,Evidence,,6c8850a03e2d7ea803d3fa92781315c196469340,0,168,168,168,0CC20205C377594C63A3845E91164E3ECE2AC85CDD8438FDB138B3EDC2C47FBA,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Recheck_StdErr.zip,Evidence,,9a1f8eb70856631e9c2ac4498d7372ce5f6d7841,0,162,162,162,01247A1F53EADFCF98CDC0FC99BB07BF4D8EFD2815E92CDAB6D324BB0909929B,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_Rustfmt_Recheck_StdOut.zip,Evidence,,16947582a0b13ae33fbb1b75c3c0e3b6d8319d8a,0,162,162,162,B0667724A1DB90A6F58A53F5D88BE110CD787C5B1A64EE22B6B9F7D60C6A3F25,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_WASM_Build_Run_Record.zip,Evidence,,8b2ef2dbcaffb737902f29d39cba302cad3ebeb5,0,630,630,630,F4DDBD51D8CE430EA1B9D342DBE63FF14BA191F6ECE6710A5D04AD8E97AC0097,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_WASM_Build_StdErr.zip,Evidence,,932e8122c8fb64f419ed82a424b594d8d1efaa7e,0,292,292,292,2C310DEF2C179848BF6B0863F8AD23EAE4B74C72CA1278A1CA5B759DD0A27BE2,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,Evidence/CP-017/CP017_WASM_Build_StdOut.zip,Evidence,,e9687fb8e56bd26235322418586b02a27bbbb1a0,0,152,152,152,1D4C1A04772D47FA681410051F484C75F9314CB06BE778F7DDD6E56B656B57B6,ZIP custody SHA256 and staged Git blob identity
073,339cf12e747738d89442ce401feeea1afcd19dc6,M,src/lib.rs,Source,39d0a674dcf55ac2244fbe2333ab0b0cd15d54c9,2d27aefb95c329649d3362e1ec6398d460919bde,15525,16145,16145,620,903378F90A61E141EE008D60758F0241CAD67A5737DE301F4A1D1FBB61F9F3AE,Full source bytes; Git blob hash matches staged diff
073,339cf12e747738d89442ce401feeea1afcd19dc6,A,tests/CP017_receipt_field_sequence.rs,Tests,,dd40fb7708c3db0052140bfbf5cdd2ec21103de1,0,3274,3274,3274,3EF60E8BA18CAFDB959AFBDF281A50BA23A1A615A973B17F23668792EFABD801,Formatted test bytes; Git blob hash matches staged diff
Day073_CP017_Preflight.txt
Original-source SHA-256: 668A9BB311B542A6930990E13613DE5CCB922231CE8A84B3C44A375416FD8C28 · 4,004 bytes · External preflight / closeout or generated source verification; not asserted Git-banked
��= = = D A Y 0 7 3 P R E F L I G H T = = =
= = = G I T H E A D = = =
f d e 0 f 0 a 8 b 9 6 c 9 2 f 6 c f b 8 0 b 5 1 7 3 9 6 f f 5 5 1 2 c c c d 1 3
= = = G I T S T A T U S = = =
# # m a s t e r
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ F o r m a t t i n g _ A m e n d m e n t _ I n s t a l l a t i o n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ F o r m a t t i n g _ C a n d i d a t e _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ F o r m a t t i n g _ C a n d i d a t e _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ F o r m a t t i n g _ C a n d i d a t e _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ I n s t a l l a t i o n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ R e c o n c i l i a t i o n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ R e f u s a l _ D i a g n o s t i c . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ V e r i f i c a t i o n _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ V e r i f i c a t i o n _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ G R E E N _ V e r i f i c a t i o n _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P o s t A m e n d m e n t _ R e g r e s s i o n _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P o s t A m e n d m e n t _ R e g r e s s i o n _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P o s t A m e n d m e n t _ R e g r e s s i o n _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P o s t F o r m a t _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P o s t F o r m a t _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P o s t F o r m a t _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ P r e C u s t o d y _ I n v e n t o r y . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R E D _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R E D _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R E D _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R e g r e s s i o n _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R e g r e s s i o n _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R e g r e s s i o n _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R u s t f m t _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R u s t f m t _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ R u s t f m t _ S t d O u t . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ W A S M _ B u i l d _ R u n _ R e c o r d . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ W A S M _ B u i l d _ S t d E r r . t x t
? ? E v i d e n c e / C P - 0 1 6 / C P 0 1 6 _ W A S M _ B u i l d _ S t d O u t . t x t
= = = R U S T V E R S I O N = = =
r u s t c 1 . 9 7 . 1 ( 8 b a b 2 6 f 4 f 2 0 2 6 - 0 7 - 1 4 )
= = = C A R G O V E R S I O N = = =
c a r g o 1 . 9 7 . 1 ( c 9 8 0 f 4 8 6 6 2 0 2 6 - 0 6 - 3 0 )
= = = A C T I V E T O O L C H A I N = = =
1 . 9 7 . 1 - x 8 6 _ 6 4 - p c - w i n d o w s - m s v c ( o v e r r i d d e n b y ' C : \ U s e r s \ A d m i n \ D o w n l o a d s \ D a t a S c u l p t o r - W A S M 0 0 2 \ r u s t - t o o l c h a i n . t o m l ' )
Day073_CP017_Scope_Inspection.txt
Original-source SHA-256: 8A0648A3425F8A4B1C78DB5DC49402C1E3342ED40CF8FFE33905E635E93725DC · 10,988 bytes · External preflight / closeout or generated source verification; not asserted Git-banked
��= = = D A Y 0 7 3 C P 0 1 7 S C O P E I N S P E C T I O N = = =
= = = L A S T C O M M I T = = =
f d e 0 f 0 a 8 b 9 6 c 9 2 f 6 c f b 8 0 b 5 1 7 3 9 6 f f 5 5 1 2 c c c d 1 3
C P 0 1 6 : c a n o n i c a l R e c e i p t f i e l d - l i n e s e r i a l i z a t i o n a n d e v i d e n c e
= = = T R A C K E D S O U R C E A N D T E S T F I L E S = = =
s r c / l i b . r s
t e s t s / C P 0 0 8 _ s o u r c e _ e l i g i b i l i t y . r s
t e s t s / C P 0 0 9 _ e x a c t _ r o o t _ s n a p s h o t . r s
t e s t s / C P 0 1 0 _ c v t _ f i l e n a m e _ c a n d i d a t e . r s
t e s t s / C P 0 1 1 _ c v t _ s c r _ c a n d i d a t e _ i d e n t i t y . r s
t e s t s / C P 0 1 2 _ s c r _ f i l e n a m e _ c a n d i d a t e . r s
t e s t s / C P 0 1 3 _ s c r _ r c p _ c a n d i d a t e _ i d e n t i t y . r s
t e s t s / C P 0 1 4 _ r c p _ f i l e n a m e _ c a n d i d a t e _ i d e n t i t y . r s
t e s t s / C P 0 1 5 _ s c r _ r c p _ f i l e n a m e _ p a i r _ i d e n t i t y . r s
t e s t s / C P 0 1 6 _ r e c e i p t _ f i e l d _ s e r i a l i z a t i o n . r s
t e s t s / a r t i f a c t _ c l a s s _ d i s p o s i t i o n . r s
t e s t s / a r t i f a c t _ f i l e n a m e _ c o n s t r u c t i o n . r s
t e s t s / a r t i f a c t _ f i l e n a m e _ e n v e l o p e . r s
t e s t s / a r t i f a c t _ n a m e s p a c e . r s
t e s t s / a r t i f a c t _ s e r i a l i z a t i o n _ s e p a r a t i o n . r s
t e s t s / a r t i f a c t _ u t c _ t i m e s t a m p . r s
= = = R E C E I P T A N D S E R I A L I Z A T I O N R E F E R E N C E S = = =
s r c / l i b . r s : 3 8 5 : / / / R e c o g n i z e s a c a n o n i c a l R C P R e c e i p t f i l e n a m e c a n d i d a t e .
s r c / l i b . r s : 3 8 7 : / / / L e x i c a l r e c o g n i t i o n o n l y . T h i s d o e s n o t v e r i f y R e c e i p t c o n t e n t s ,
s r c / l i b . r s : 4 0 9 : / / / R e c e i p t c o n t e n t s , p r o m o t e s t a g e d a r t i f a c t s , p u b l i s h , o r g r a n t a u t h o r i t y .
s r c / l i b . r s : 4 2 3 : / / / O n e t y p e d c a n o n i c a l R e c e i p t f i e l d v a l u e , b e f o r e w h o l e - R e c e i p t a s s e m b l y .
s r c / l i b . r s : 4 2 8 : p u b e n u m R e c e i p t F i e l d V a l u e <