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"
}