WAP LabsProject atlas

docs/knowledge-graph/vault-wml-3/work-items/wml-306.md

Access control, low-memory, and runtime error policy

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

Relationships

  • contains ← [[sprints/WML-3|WML-3]]
  • covers-family → [[source-families/wml|wml]]
  • owned-by → [[owner-layers/browser|browser]]
  • owned-by → [[owner-layers/engine-wasm|engine-wasm]]
  • owned-by → [[owner-layers/qa|qa]]
  • planned-by ← [[clauses/WML-CL-ACCESS-ABSENT-ALLOWS|WML-CL-ACCESS-ABSENT-ALLOWS]]
  • planned-by ← [[clauses/WML-CL-ACCESS-COMPONENT-MATCH|WML-CL-ACCESS-COMPONENT-MATCH]]
  • planned-by ← [[clauses/WML-CL-ACCESS-DEFAULTS|WML-CL-ACCESS-DEFAULTS]]
  • planned-by ← [[clauses/WML-CL-ACCESS-REFERRER-MATCH|WML-CL-ACCESS-REFERRER-MATCH]]
  • planned-by ← [[clauses/WML-CL-ACCESS-RELATIVE-PATH|WML-CL-ACCESS-RELATIVE-PATH]]
  • planned-by ← [[clauses/WML-CL-ACCESS-SINGLE-ELEMENT|WML-CL-ACCESS-SINGLE-ELEMENT]]
  • planned-by ← [[clauses/WML-CL-ACCESS-URL-CASE-RULES|WML-CL-ACCESS-URL-CASE-RULES]]
  • planned-by ← [[clauses/WML-CL-DECK-ACCESS-REQUIRED|WML-CL-DECK-ACCESS-REQUIRED]]
  • planned-by ← [[clauses/WML-CL-ERROR-ENFORCEMENT|WML-CL-ERROR-ENFORCEMENT]]
  • planned-by ← [[clauses/WML-CL-ERROR-NO-INTENT-INFERENCE|WML-CL-ERROR-NO-INTENT-INFERENCE]]
  • planned-by ← [[clauses/WML-CL-GO-ACCESS-BEFORE-TRANSITION|WML-CL-GO-ACCESS-BEFORE-TRANSITION]]
  • planned-by ← [[clauses/WML-CL-LOW-MEMORY-CONTEXT-FAILURE-RESET|WML-CL-LOW-MEMORY-CONTEXT-FAILURE-RESET]]
  • planned-by ← [[clauses/WML-CL-LOW-MEMORY-CONTEXT-RECLAIM|WML-CL-LOW-MEMORY-CONTEXT-RECLAIM]]
  • planned-by ← [[clauses/WML-CL-LOW-MEMORY-HISTORY-LRU|WML-CL-LOW-MEMORY-HISTORY-LRU]]
  • planned-by ← [[clauses/WML-CL-LOW-MEMORY-HISTORY-MINIMUM|WML-CL-LOW-MEMORY-HISTORY-MINIMUM]]
  • planned-by ← [[clauses/WML-CL-TASK-FAILURE-ATOMICITY|WML-CL-TASK-FAILURE-ATOMICITY]]
  • planned-by ← [[clauses/WML-CL-UNKNOWN-CONTENT-PRESERVED|WML-CL-UNKNOWN-CONTENT-PRESERVED]]
  • planned-by ← [[clauses/WML-CL-UNKNOWN-MARKUP-IGNORED|WML-CL-UNKNOWN-MARKUP-IGNORED]]
  • planned-by ← [[scr-rows/WML-C-14|WML-C-14]]
  • planned-by ← [[scr-rows/WML-C-15|WML-C-15]]
  • planned-by ← [[scr-rows/WML-C-16|WML-C-16]]
  • planned-by ← [[scr-rows/WML-C-17|WML-C-17]]
  • planned-by ← [[scr-rows/WML-C-18|WML-C-18]]
  • planned-by ← [[scr-rows/WML-C-21|WML-C-21]]
  • planned-by ← [[scr-rows/WML-C-29|WML-C-29]]
  • planned-by ← [[scr-rows/WML-C-38|WML-C-38]]
  • relates-to → [[legacy-tickets/R0-07|R0-07]]

Data

{
  "status": "done",
  "ownerLayers": [
    "engine-wasm",
    "browser",
    "qa"
  ],
  "sourceFamilies": [
    "wml"
  ],
  "notes": [
    "WML-306 activates the optional WML-C-15 low-memory capability explicitly; it does not change the mandatory Class C selected-parent count.",
    "The WAE family declaration was removed because the source-audited policy boundary is fully defined by WML 1.3; no unrelated WAE clause is inferred as direct coverage.",
    "All 18 directly mapped WML-306 clauses are fixture-backed: 14 selected clauses plus four optional WML-C-15 capability clauses. WML-C-14, WML-C-15, WML-C-16, and WML-C-21 advance to implemented; WML-C-17 remains partial for broader prologue/internal-subset/full-DTD validation outside this policy slice.",
    "Native Rust owns access, task rollback, and context-memory policy; browser history remains a 32-entry LRU and host presentation maps only stable runtime codes to bounded copy. The canonical WML-306 story covers alternate-DTD content recovery and safe atomic task failure through production WASM."
  ],
  "scrMatrix": {
    "family": "wml",
    "scope": "selected-clause-parents"
  },
  "specReferences": [
    "WAP-191_104-WML sections 11.3.1, 12.1 through 12.4, and 12.5.5"
  ],
  "existingTickets": [
    "R0-07"
  ],
  "outputs": [
    "Access control, low-memory, and runtime error policy"
  ],
  "acceptance": [
    "Deck access checks, low-memory behavior, unknown DTDs, task failures, and user-visible errors have strict deterministic policies."
  ],
  "evidence": [
    "cargo test --manifest-path engine-wasm/engine/Cargo.toml wml_306",
    "wasm-pack test --node engine-wasm/engine",
    "cargo test --manifest-path browser/src-tauri/Cargo.toml",
    "pnpm --dir browser/frontend test",
    "pnpm test:story WML-306",
    "node scripts/wap-context-pack.mjs WML-306",
    "pnpm wap-compliance:check",
    "pnpm wap-graph:check"
  ],
  "source": "docs/waves/wap-1.2.1-compliance-program.json"
}