WAP LabsProject atlas

docs/knowledge-graph/vault-wmls-5/work-items/wmls-501.md

Complete bytecode decoder and structural verifier

Generated from canonical repository manifests. Do not edit this note directly.

Relationships

  • contains ← [[sprints/WMLS-5|WMLS-5]]
  • covers-family → [[source-families/wmlscript-libraries|wmlscript-libraries]]
  • covers-family → [[source-families/wmlscript|wmlscript]]
  • owned-by → [[owner-layers/engine-wasm|engine-wasm]]
  • owned-by → [[owner-layers/qa|qa]]
  • planned-by ← [[clauses/WAE-CL-WML-LANGUAGE-DELEGATE|WAE-CL-WML-LANGUAGE-DELEGATE]]
  • planned-by ← [[clauses/WAE-CL-WML-USER-AGENT-COMPOSITION|WAE-CL-WML-USER-AGENT-COMPOSITION]]
  • planned-by ← [[clauses/WAE-CL-WMLSCRIPT-LANGUAGE-DELEGATE|WAE-CL-WMLSCRIPT-LANGUAGE-DELEGATE]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-ARITHMETIC-INSTRUCTION-MATRIX|WMLSCRIPT-CL-ARITHMETIC-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-ARITHMETIC-INVALID-RESULTS|WMLSCRIPT-CL-ARITHMETIC-INVALID-RESULTS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BINARY-DATA-TYPE-REGISTRY|WMLSCRIPT-CL-BINARY-DATA-TYPE-REGISTRY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BINARY-NETWORK-ORDER|WMLSCRIPT-CL-BINARY-NETWORK-ORDER]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BITWISE-INSTRUCTION-MATRIX|WMLSCRIPT-CL-BITWISE-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BITWISE-INTEGER-RESULTS|WMLSCRIPT-CL-BITWISE-INTEGER-RESULTS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BYTECODE-COMPILATION-UNIT|WMLSCRIPT-CL-BYTECODE-COMPILATION-UNIT]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BYTECODE-HEADER-CODE-SIZE|WMLSCRIPT-CL-BYTECODE-HEADER-CODE-SIZE]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BYTECODE-HEADER-VERSION|WMLSCRIPT-CL-BYTECODE-HEADER-VERSION]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-BYTECODE-SECTION-ORDER|WMLSCRIPT-CL-BYTECODE-SECTION-ORDER]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CHARACTER-SET-MIBENUM|WMLSCRIPT-CL-CHARACTER-SET-MIBENUM]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CHARACTER-SET-NATIVE-EXECUTION|WMLSCRIPT-CL-CHARACTER-SET-NATIVE-EXECUTION]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CHARACTER-STRING-BYTE-LENGTHS|WMLSCRIPT-CL-CHARACTER-STRING-BYTE-LENGTHS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-COMPARISON-INSTRUCTION-MATRIX|WMLSCRIPT-CL-COMPARISON-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-COMPARISON-INVALID-RESULT|WMLSCRIPT-CL-COMPARISON-INVALID-RESULT]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-EMBEDDED-NULL|WMLSCRIPT-CL-CONSTANT-EMBEDDED-NULL]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-INSTRUCTION-BOUNDS|WMLSCRIPT-CL-CONSTANT-INSTRUCTION-BOUNDS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-INSTRUCTION-MATRIX|WMLSCRIPT-CL-CONSTANT-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-INTEGER-WIDTHS|WMLSCRIPT-CL-CONSTANT-INTEGER-WIDTHS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-POOL-CHARSET|WMLSCRIPT-CL-CONSTANT-POOL-CHARSET]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-POOL-COUNT|WMLSCRIPT-CL-CONSTANT-POOL-COUNT]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-STRING-LENGTHS|WMLSCRIPT-CL-CONSTANT-STRING-LENGTHS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONSTANT-TYPE-REGISTRY|WMLSCRIPT-CL-CONSTANT-TYPE-REGISTRY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONTROL-FLOW-INSTRUCTION-MATRIX|WMLSCRIPT-CL-CONTROL-FLOW-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-CONTROL-FLOW-TARGETS|WMLSCRIPT-CL-CONTROL-FLOW-TARGETS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-DEBUG-INSTRUCTION-MATRIX|WMLSCRIPT-CL-DEBUG-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FATAL-ABORT-AND-SIGNAL|WMLSCRIPT-CL-FATAL-ABORT-AND-SIGNAL]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FATAL-BYTECODE-ERROR-MATRIX|WMLSCRIPT-CL-FATAL-BYTECODE-ERROR-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FATAL-RESOURCE-ERROR-MATRIX|WMLSCRIPT-CL-FATAL-RESOURCE-ERROR-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FUNCTION-CALL-INDEX-TYPES|WMLSCRIPT-CL-FUNCTION-CALL-INDEX-TYPES]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FUNCTION-CALL-INSTRUCTION-MATRIX|WMLSCRIPT-CL-FUNCTION-CALL-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FUNCTION-NAME-TABLE|WMLSCRIPT-CL-FUNCTION-NAME-TABLE]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FUNCTION-POOL-COUNT|WMLSCRIPT-CL-FUNCTION-POOL-COUNT]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FUNCTION-POOL-INDEXES|WMLSCRIPT-CL-FUNCTION-POOL-INDEXES]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-FUNCTION-RECORD-BOUNDARIES|WMLSCRIPT-CL-FUNCTION-RECORD-BOUNDARIES]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-BEFORE-EXECUTION|WMLSCRIPT-CL-INTEGRITY-BEFORE-EXECUTION]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-CODE-SIZE-CHECK|WMLSCRIPT-CL-INTEGRITY-CODE-SIZE-CHECK]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-FAILURE-QUARANTINE|WMLSCRIPT-CL-INTEGRITY-FAILURE-QUARANTINE]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-FUNCTION-SIZES|WMLSCRIPT-CL-INTEGRITY-FUNCTION-SIZES]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-INSTRUCTION-STREAM|WMLSCRIPT-CL-INTEGRITY-INSTRUCTION-STREAM]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-POOL-COUNTS|WMLSCRIPT-CL-INTEGRITY-POOL-COUNTS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTEGRITY-VERSION-CHECK|WMLSCRIPT-CL-INTEGRITY-VERSION-CHECK]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTERPRETER-CALL-RESULT|WMLSCRIPT-CL-INTERPRETER-CALL-RESULT]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-INTERPRETER-EXECUTION-STATE|WMLSCRIPT-CL-INTERPRETER-EXECUTION-STATE]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-LOGICAL-BOOLEAN-CONVERSION|WMLSCRIPT-CL-LOGICAL-BOOLEAN-CONVERSION]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-LOGICAL-INSTRUCTION-MATRIX|WMLSCRIPT-CL-LOGICAL-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-MULTIBYTE-INTEGER-CONTINUATION|WMLSCRIPT-CL-MULTIBYTE-INTEGER-CONTINUATION]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-MULTIBYTE-INTEGER-ORDER|WMLSCRIPT-CL-MULTIBYTE-INTEGER-ORDER]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-MULTIBYTE-INTEGER-UNUSED-ZERO|WMLSCRIPT-CL-MULTIBYTE-INTEGER-UNUSED-ZERO]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-NONFATAL-COMPUTATION-MATRIX|WMLSCRIPT-CL-NONFATAL-COMPUTATION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-NONFATAL-CONSTANT-MATRIX|WMLSCRIPT-CL-NONFATAL-CONSTANT-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-OPERAND-TYPE-INSTRUCTION-MATRIX|WMLSCRIPT-CL-OPERAND-TYPE-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-OPERAND-TYPE-NO-CONVERSION|WMLSCRIPT-CL-OPERAND-TYPE-NO-CONVERSION]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-PRAGMA-ACCESS-UNIQUENESS|WMLSCRIPT-CL-PRAGMA-ACCESS-UNIQUENESS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-PRAGMA-POOL-COUNT|WMLSCRIPT-CL-PRAGMA-POOL-COUNT]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-PRAGMA-STRING-INDEXES|WMLSCRIPT-CL-PRAGMA-STRING-INDEXES]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-PRAGMA-TYPE-REGISTRY|WMLSCRIPT-CL-PRAGMA-TYPE-REGISTRY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RETURN-INSTRUCTION-MATRIX|WMLSCRIPT-CL-RETURN-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RETURN-TOP-LEVEL-BOUNDARY|WMLSCRIPT-CL-RETURN-TOP-LEVEL-BOUNDARY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RUNTIME-CONSTANT-VALIDITY|WMLSCRIPT-CL-RUNTIME-CONSTANT-VALIDITY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RUNTIME-FUNCTION-VALIDITY|WMLSCRIPT-CL-RUNTIME-FUNCTION-VALIDITY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RUNTIME-JUMP-VALIDITY|WMLSCRIPT-CL-RUNTIME-JUMP-VALIDITY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RUNTIME-STACK-VALIDITY|WMLSCRIPT-CL-RUNTIME-STACK-VALIDITY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-RUNTIME-VARIABLE-VALIDITY|WMLSCRIPT-CL-RUNTIME-VARIABLE-VALIDITY]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-STACK-INSTRUCTION-MATRIX|WMLSCRIPT-CL-STACK-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-STACK-UNDERFLOW-FATAL|WMLSCRIPT-CL-STACK-UNDERFLOW-FATAL]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-VARIABLE-INSTRUCTION-BOUNDS|WMLSCRIPT-CL-VARIABLE-INSTRUCTION-BOUNDS]]
  • planned-by ← [[clauses/WMLSCRIPT-CL-VARIABLE-INSTRUCTION-MATRIX|WMLSCRIPT-CL-VARIABLE-INSTRUCTION-MATRIX]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-DIALOGS-FUNCTION-IDENTIFIERS|WMLSCRIPT-LIBRARIES-CL-DIALOGS-FUNCTION-IDENTIFIERS]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-DIALOGS-LIBRARY-IDENTIFIER|WMLSCRIPT-LIBRARIES-CL-DIALOGS-LIBRARY-IDENTIFIER]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-FLOAT-FUNCTION-IDENTIFIERS|WMLSCRIPT-LIBRARIES-CL-FLOAT-FUNCTION-IDENTIFIERS]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-FLOAT-LIBRARY-IDENTIFIER|WMLSCRIPT-LIBRARIES-CL-FLOAT-LIBRARY-IDENTIFIER]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-LANG-FUNCTION-IDENTIFIERS|WMLSCRIPT-LIBRARIES-CL-LANG-FUNCTION-IDENTIFIERS]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-LANG-LIBRARY-IDENTIFIER|WMLSCRIPT-LIBRARIES-CL-LANG-LIBRARY-IDENTIFIER]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-STRING-FUNCTION-IDENTIFIERS|WMLSCRIPT-LIBRARIES-CL-STRING-FUNCTION-IDENTIFIERS]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-STRING-LIBRARY-IDENTIFIER|WMLSCRIPT-LIBRARIES-CL-STRING-LIBRARY-IDENTIFIER]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-URL-FUNCTION-IDENTIFIERS|WMLSCRIPT-LIBRARIES-CL-URL-FUNCTION-IDENTIFIERS]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-URL-LIBRARY-IDENTIFIER|WMLSCRIPT-LIBRARIES-CL-URL-LIBRARY-IDENTIFIER]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-WMLBROWSER-FUNCTION-IDENTIFIERS|WMLSCRIPT-LIBRARIES-CL-WMLBROWSER-FUNCTION-IDENTIFIERS]]
  • planned-by ← [[clauses/WMLSCRIPT-LIBRARIES-CL-WMLBROWSER-LIBRARY-IDENTIFIER|WMLSCRIPT-LIBRARIES-CL-WMLBROWSER-LIBRARY-IDENTIFIER]]
  • planned-by ← [[scr-rows/WAESpec-C-016|WAESpec-C-016]]
  • planned-by ← [[scr-rows/WAESpec-C-017|WAESpec-C-017]]
  • planned-by ← [[scr-rows/WMLS-C-069|WMLS-C-069]]
  • planned-by ← [[scr-rows/WMLS-C-077|WMLS-C-077]]
  • planned-by ← [[scr-rows/WMLS-C-079|WMLS-C-079]]
  • planned-by ← [[scr-rows/WMLS-C-085|WMLS-C-085]]
  • planned-by ← [[scr-rows/WMLS-C-087|WMLS-C-087]]
  • planned-by ← [[scr-rows/WMLS-C-088|WMLS-C-088]]
  • planned-by ← [[scr-rows/WMLS-C-089|WMLS-C-089]]
  • planned-by ← [[scr-rows/WMLS-C-090|WMLS-C-090]]
  • planned-by ← [[scr-rows/WMLS-C-091|WMLS-C-091]]
  • planned-by ← [[scr-rows/WMLS-C-092|WMLS-C-092]]
  • planned-by ← [[scr-rows/WMLS-C-093|WMLS-C-093]]
  • planned-by ← [[scr-rows/WMLS-C-094|WMLS-C-094]]
  • planned-by ← [[scr-rows/WMLS-C-095|WMLS-C-095]]
  • planned-by ← [[scr-rows/WMLS-C-096|WMLS-C-096]]
  • planned-by ← [[scr-rows/WMLS-C-097|WMLS-C-097]]
  • planned-by ← [[scr-rows/WMLS-C-098|WMLS-C-098]]
  • planned-by ← [[scr-rows/WMLS-C-099|WMLS-C-099]]
  • planned-by ← [[scr-rows/WMLS-C-100|WMLS-C-100]]
  • planned-by ← [[scr-rows/WMLS-C-101|WMLS-C-101]]
  • planned-by ← [[scr-rows/WMLS-C-102|WMLS-C-102]]
  • planned-by ← [[scr-rows/WMLS-C-103|WMLS-C-103]]
  • planned-by ← [[scr-rows/WMLS-C-104|WMLS-C-104]]
  • planned-by ← [[scr-rows/WMLS-C-105|WMLS-C-105]]
  • planned-by ← [[scr-rows/WMLS-C-106|WMLS-C-106]]
  • planned-by ← [[scr-rows/WMLS-C-107|WMLS-C-107]]
  • planned-by ← [[scr-rows/WMLS-C-108|WMLS-C-108]]
  • planned-by ← [[scr-rows/WMLS-C-110|WMLS-C-110]]
  • planned-by ← [[scr-rows/WMLS-C-111|WMLS-C-111]]
  • planned-by ← [[scr-rows/WMLSSL-024|WMLSSL-024]]
  • planned-by ← [[scr-rows/WMLSSL-025|WMLSSL-025]]
  • planned-by ← [[scr-rows/WMLSSL-026|WMLSSL-026]]
  • planned-by ← [[scr-rows/WMLSSL-027|WMLSSL-027]]
  • planned-by ← [[scr-rows/WMLSSL-028|WMLSSL-028]]
  • planned-by ← [[scr-rows/WMLSSL-029|WMLSSL-029]]
  • planned-by ← [[scr-rows/WMLSSL-030|WMLSSL-030]]
  • relates-to → [[legacy-tickets/W1-02|W1-02]]

Data

{
  "status": "done",
  "ownerLayers": [
    "engine-wasm",
    "qa"
  ],
  "sourceFamilies": [
    "wmlscript",
    "wmlscript-libraries"
  ],
  "notes": [
    "The B1 library-index/stack-dataflow tranche is an additive closure over the previously merged WMLS-501 decoder and verified-unit routing history; it does not reopen or replace that completed work.",
    "B2 completed bounded WMLS-502 operator/conversion execution on the verified control-flow and stack foundation. WMLS-503 URL/access behavior, WMLS-504 standard-library execution, and the remaining WMLS-505 fatal/non-fatal matrix stay open."
  ],
  "scrMatrix": {
    "family": "wmlscript",
    "scope": "selected-clause-parents"
  },
  "existingTickets": [
    "W1-02"
  ],
  "outputs": [
    "Complete bytecode decoder and structural verifier",
    "Additive standard-library index and whole-function stack-dataflow verifier closure"
  ],
  "acceptance": [
    "The 41 mandatory WMLScript:MCF rows remain exactly mapped while WAP header, constant/pragma/function pools, instruction families, indexes, jumps, stack/local bounds, and malformed input failure are fully verified before execution."
  ],
  "evidence": [
    "cargo test --manifest-path engine-wasm/engine/Cargo.toml wap_decoder",
    "cargo test --manifest-path engine-wasm/engine/Cargo.toml registered_wap_dataflow_failures_preserve_error_trace_taxonomy_and_recovery",
    "wasm-pack test --node engine-wasm/engine --features wasm-bindings",
    "pnpm test:story WMLS-501"
  ],
  "source": "docs/waves/wap-1.2.1-compliance-program.json"
}