WAP LabsProject atlas

docs/knowledge-graph/context-packs/wml-2.md

WML-2 AI Context Pack

Generated from the WAP 1.2.1 knowledge graph pilot. Canonical manifests remain authoritative.

Retrieval contract

  • Target: WML-2
  • Release/profile: WAP 1.2.1, WML 1.3, CCR-CLASSC-C-001
  • Compatibility floor: strict-historical-observable-behavior
  • Selection rule: include the target sprint, its direct dependency/downstream neighbors, all target work items, their explicitly mapped normative clauses, and separately labeled aggregate regression/delegate context.
  • Safety rule: absence from this pack does not mean a requirement is optional, implemented, or out of scope.
  • Enhancement rule: additive behavior may extend strict behavior but may not replace a selected historical obligation.

Graph summary

  • Nodes: 591
  • Edges: 1729
  • Selected work items: 5
  • Direct SCR rows: 76
  • Direct normative clauses: 302
  • Aggregate regression/delegate context clauses: 0
  • Work items without direct clause mappings: 0
  • Work items with unmapped declared normative families: 0

Execution target

WML-2: WML parser, deck model, and validation baseline

  • Status: done
  • Goal: Make effective WML 1.3 structure and validation deterministic before closing higher-order runtime behavior.
  • Depends on: CONF-1
  • Direct downstream sprints: REN-4, WML-3

Exit gates:

  • All strict WML structures parse or fail deterministically.
  • Text and WBXML input parity is fixture-backed.
  • The 76-item SCR matrix has no unmapped mandatory parser obligation.

Work items

WML-201: Effective 76-item WML SCR matrix

  • Status: done
  • Owner layers: engine-wasm, qa
  • Source families: wml
  • Existing tickets: R0-01
  • Direct SCR rows: 76 (34 direct-test-linked, 14 gap-work-item-mapped, 28 optional-not-assessed)
  • Selected SCR parents: 42 (WAESpec-C-015, WAESpec-C-016, WAESpec-C-017, WML-C-05, WML-C-06, WML-C-07, WML-C-08, WML-C-09, WML-C-10, WML-C-11, WML-C-12, WML-C-13, WML-C-14, WML-C-16, WML-C-17, WML-C-18, WML-C-19, WML-C-20, WML-C-21, WML-C-24, WML-C-25, WML-C-26, WML-C-29, WML-C-30, WML-C-32, WML-C-33, WML-C-35, WML-C-36, WML-C-37, WML-C-38, WML-C-39, WML-C-41, WML-C-42, WML-C-43, WML-C-46, WML-C-47, WML-C-48, WML-C-49, WML-C-50, WML-C-52, WML-C-53, WML-C-54)
  • Direct normative clauses: 178
  • Aggregate regression/delegate context: 0
  • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-003, RQ-RMK-004, RQ-RMK-005, RQ-RMK-006, RQ-RMK-009, RQ-RMK-011, RQ-RMK-012, RQ-WAE-002, RQ-WAE-003, RQ-WAE-006, RQ-WAE-012, RQ-WAE-016, RQ-WAE-017, RQ-WAE-018, RQ-WMLS-001
  • Spec references: None
  • Follow-up work items: None
  • Depends on: None

Outputs:

  • Effective 76-item WML SCR matrix
  • WML-201 graph projection with direct SCR, clause, source, code, test, and gap evidence

Acceptance:

  • The exact WML-C-01..59, WML-S-60..69, and WML-C-70..76 sequence retains source identity, actor, M/O status, profile applicability, and evidence mapping.
  • All 76 rows are directly planned by WML-201 in the graph: 30 retain validated code/test links, 17 retain additive gap work items, and 29 optional rows remain explicitly not assessed.
  • All 175 selected WML clauses are directly mapped to WML-201; the three WAE composition clauses remain additive, and the declared WML-family gap is closed without inferring implementation.

Evidence commands:

  • cargo test --manifest-path engine-wasm/engine/Cargo.toml
  • node scripts/check-wap-conformance-ledger.mjs
  • node scripts/check-wap-selected-normative-clauses.mjs
  • node scripts/wap-context-pack.mjs WML-201
  • pnpm wap-graph:check

WML-202: Complete deck/head/template/card/access/meta parser model

  • Status: done
  • Owner layers: engine-wasm, browser, qa
  • Source families: wml
  • Existing tickets: R0-04, R0-12, C5-03
  • Direct SCR rows: 0
  • Selected SCR parents: 13 (WML-C-08, WML-C-09, WML-C-11, WML-C-14, WML-C-18, WML-C-21, WML-C-25, WML-C-26, WML-C-29, WML-C-30, WML-C-35, WML-C-47, WML-C-53)
  • Direct normative clauses: 30
  • Aggregate regression/delegate context: 0
  • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-003, RQ-RMK-004, RQ-RMK-011
  • Spec references: None
  • Follow-up work items: None
  • Depends on: None

Outputs:

  • Complete deck/head/template/card/access/meta parser model

Acceptance:

  • Grammar, uniqueness, ordering, template inheritance, and metadata retention match effective WML 1.3 with deterministic errors.
  • Destination access policy applies WML domain/path defaults, component-aware matching, relative-path resolution, and URL case rules against a host-supplied referring URI before a deck transition commits.
  • Root and card language metadata, card newcontext/ordered defaults, card content order, and go-only browser-context reset behavior are retained and parity-backed across native, WASM, and host boundaries.

Evidence commands:

  • cargo test --manifest-path engine-wasm/engine/Cargo.toml
  • pnpm --dir browser test
  • pnpm test:story WML-202
  • node scripts/check-wap-conformance-ledger.mjs
  • node scripts/check-wap-selected-normative-clauses.mjs

WML-203: WML 1.3 DTD validation policy

  • Status: done
  • Owner layers: engine-wasm, transport-rust, qa
  • Source families: wml, wbxml, associated-assets
  • Existing tickets: R0-08, T0-07
  • Direct SCR rows: 0
  • Selected SCR parents: 21 (WBXML-C-001, WBXML-C-010, WBXML-C-011, WML-C-17, WML-C-19, WML-C-20, WML-C-25, WML-C-26, WML-C-29, WML-C-30, WML-C-32, WML-C-33, WML-C-37, WML-C-39, WML-C-43, WML-C-46, WML-C-47, WML-C-49, WML-C-50, WML-C-52, WML-C-53)
  • Direct normative clauses: 68
  • Aggregate regression/delegate context: 0
  • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-004, RQ-RMK-006, RQ-RMK-007, RQ-RMK-009, RQ-RMK-010, RQ-WAE-006, RQ-WAE-018
  • Spec references: None
  • Follow-up work items: None
  • Depends on: None

Outputs:

  • WML 1.3 DTD validation policy
  • Text/WBXML structural parity fixtures
  • Direct conformance evidence for the three WBXML:MCF client rows

Acceptance:

  • Text WML and WBXML-derived WML reach equivalent deck models; strict DTD identity and unknown-DTD behavior are explicit.
  • Textual WML requires an XML declaration and external document type declaration; normalized WBXML uses equivalent header metadata supplied by the transport boundary.
  • Every selected WML 1.3 DTD element and attribute family has deterministic native and WASM validation evidence.
  • WBXML-C-001, WBXML-C-010, and WBXML-C-011 are fixture-backed against a pinned decoder; fake fixed-output and either-result fixtures do not satisfy this gate.

Evidence commands:

  • cargo test --manifest-path engine-wasm/engine/Cargo.toml
  • wasm-pack test --node engine-wasm/engine
  • cargo test --manifest-path transport-rust/Cargo.toml
  • cargo test --manifest-path transport-rust/Cargo.toml --test interop_replay wml_203_reconstructed_wdp_sdu_matches_text_engine_behavior
  • pnpm test:story WML-203
  • node scripts/check-wap-wbxml-conformance-ledger.mjs
  • node scripts/check-wap-selected-normative-clauses.mjs
  • pnpm wap-graph:check

WML-204: Complete field/control syntax and attribute validation

  • Status: done
  • Owner layers: engine-wasm, qa
  • Source families: wml
  • Existing tickets: R0-04, B5-01, C5-05
  • Direct SCR rows: 0
  • Selected SCR parents: 5 (WML-C-09, WML-C-12, WML-C-33, WML-C-41, WML-C-43)
  • Direct normative clauses: 23
  • Aggregate regression/delegate context: 0
  • Requirements: RQ-RMK-001, RQ-RMK-003, RQ-RMK-004, RQ-RMK-005
  • Spec references: None
  • Follow-up work items: None
  • Depends on: None

Outputs:

  • Complete field/control syntax and attribute validation
  • Source-derived select initialization, selection, serialization, and onpick runtime evidence

Acceptance:

  • Input/select/option/optgroup/fieldset constraints, masks, defaults, and validation failures are deterministic.

Evidence commands:

  • cargo test --manifest-path engine-wasm/engine/Cargo.toml
  • wasm-pack test --node engine-wasm/engine
  • pnpm test:story WML-204

WML-205: WML parse/error taxonomy

  • Status: done
  • Owner layers: engine-wasm, browser, qa
  • Source families: wml
  • Existing tickets: R0-07
  • Direct SCR rows: 0
  • Selected SCR parents: 4 (WML-C-16, WML-C-18, WML-C-29, WML-C-38)
  • Direct normative clauses: 3
  • Aggregate regression/delegate context: 0
  • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-012
  • Spec references: None
  • Follow-up work items: None
  • Depends on: None

Outputs:

  • WML parse/error taxonomy
  • Exhaustive declared-element invalid-WML enforcement
  • Atomic host fetch/access-control failure notification

Acceptance:

  • Malformed XML, invalid WML, unsupported optional constructs, and recoverable content errors have spec-shaped deterministic outcomes.
  • Every declared WML element has a rejected invalid form, and literal, length, table, task, event, variable, prologue, structural, and case-sensitive constraints fail atomically without intent inference.
  • Fetch and destination access-control failures notify the user while preserving the invoking card, context, pending external intent, event/focus state, committed session metadata, and history across the native/WASM host boundary.

Evidence commands:

  • cargo test --manifest-path engine-wasm/engine/Cargo.toml wml_205
  • pnpm --dir browser/frontend test
  • pnpm test:story WML-205
  • node scripts/check-wap-selected-normative-clauses.mjs
  • node scripts/check-wap-knowledge-graph.mjs

Direct SCR evidence

WML-201

  • WML-C-01 — UTF-8 Encoding
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §6 (SCR §15.1.1)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-02 — UTF-16 Encoding
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §6 (SCR §15.1.1)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-03 — UCS-4 Encoding
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §6 (SCR §15.1.1)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-04 — Other character encoding
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §6 (SCR §15.1.1)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-05 — Reference processing
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §6.1 (SCR §15.1.1)
    • Assessment: partial; evidence direct-test-linked
    • Code: transport-rust/src/responses.rs#decode_textual_wml_payload
    • Tests: transport-rust/src/tests/fetch_mapping.rs::transport_map_success_payload_utf16le_textual_wml_maps_ok (cd transport-rust && cargo test --lib transport_map_success_payload_utf16le_textual_wml_maps_ok)
    • Work items: C5-06, R0-01, R0-08, WML-201
    • Assessment note: The transport maps UTF-8-compatible input and BOM-marked UTF-16, but the full recognized-charset and external-metadata precedence model is not implemented.
  • WML-C-06 — Character entities
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §6.2 (SCR §15.1.1)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/xml.rs#decode_general_entity
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::decodes_entities_and_uses_href_as_fallback_link_text (cd engine-wasm/engine && cargo test decodes_entities_and_uses_href_as_fallback_link_text)
    • Work items: C5-06, R0-01, R0-08, WML-201
    • Assessment note: Named-entity processing is exercised, but the complete decimal/hexadecimal, nbsp, shy, and Unicode entity behavior is not covered.
  • WML-C-07 — History
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.2 (SCR §15.1.2)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#navigate_back_internal, browser/frontend/src/session-history.ts#cloneRequestPolicy, browser/frontend/src/app/navigation-state.ts#navigateBackWithFallback
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::navigate_back_restores_previous_card (cd engine-wasm/engine && cargo test navigate_back_restores_previous_card), browser/frontend/src/app/navigation-state.history.test.ts::replays typed POST values when history back must refetch the prior deck (pnpm --dir browser/frontend test -- src/app/navigation-state.history.test.ts src/session-history.test.ts)
    • Work items: R0-01, R0-03, WML-201
    • Assessment note: WML-301 closes request-shaped ordered history, duplicate access, content exclusion, and context-aware push/pop. WML-304 replays the original typed POST values through the transport boundary when Back must refetch a prior deck.
  • WML-C-08 — Card/Deck task shadowing
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.6 (SCR §15.1.2)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/runtime/deck.rs#active_event_bindings, engine-wasm/engine/src/engine_runtime_internal/navigation.rs#active_onevent_action_internal
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::wml_202_template_do_shadowing_and_noop_masking_cover_all_active_set_cases (cd engine-wasm/engine && cargo test wml_202_template_do_shadowing_and_noop_masking_cover_all_active_set_cases), engine-wasm/engine/src/engine_tests/actions_timers.rs::wml_202_card_intrinsic_binding_masks_or_overrides_template_binding (cd engine-wasm/engine && cargo test wml_202_card_intrinsic_binding_masks_or_overrides_template_binding)
    • Work items: R0-01, R0-02, R0-12, WML-201
    • Assessment note: The shared deck runtime resolves ordered card and template do/onevent bindings by effective identity, applies card precedence, and removes noop bindings without task side effects.
  • WML-C-09 — Intrinsic Events
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.10 (SCR §15.1.2)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/actions.rs#push_onevent_binding
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::navigate_runs_onenterforward_action (cd engine-wasm/engine && cargo test navigate_runs_onenterforward_action)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: Card/template onenterforward, onenterbackward, ontimer, and option onpick bindings have direct action, control, and timer evidence across every nested intrinsic-event clause.
  • WML-C-10 — Browser context
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §10.1 (SCR §15.1.3)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/lib.rs#WmlEngine
    • Tests: engine-wasm/engine/src/engine_tests/traces_public_api.rs::m1_02_load_deck_context_public_api_sets_metadata_and_state (cd engine-wasm/engine && cargo test m1_02_load_deck_context_public_api_sets_metadata_and_state)
    • Work items: R0-01, R0-03, WML-201
    • Assessment note: WML-301 keeps variables, request-shaped navigation history, and runtime session state in one observable browser-context scope across native and WASM adapters.
  • WML-C-11 — Initialisation (newcontext)
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §10.2 (SCR §15.1.3)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#reset_browser_context_for_newcontext
    • Tests: engine-wasm/engine/src/engine_tests/wml_202_residual.rs::wml_202_newcontext_resets_vars_history_and_private_entry_state_only_for_go (cd engine-wasm/engine && cargo test wml_202_newcontext_resets_vars_history_and_private_entry_state_only_for_go)
    • Work items: C5-03, R0-01, R0-03, WML-201
    • Assessment note: The parser retains the card newcontext flag with its false default. Go traversal into a newcontext card clears variables and navigation history and resets implementation-private entry state atomically; direct host navigation does not apply the flag.
  • WML-C-12 — Variables
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §10.3 (SCR §15.1.3)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_public_api.rs#set_var, engine-wasm/engine/src/engine_runtime_internal/navigation.rs#execute_card_task_action
    • Tests: engine-wasm/engine/src/engine_tests/navigation_metadata.rs::focused_input_edit_commit_updates_render_and_runtime_var (cd engine-wasm/engine && cargo test focused_input_edit_commit_updates_render_and_runtime_var), engine-wasm/engine/src/engine_tests/actions_timers.rs::wml_fx_variable_commit_before_task_commits_active_input_before_accept (cd engine-wasm/engine && cargo test wml_fx_variable_commit_before_task_commits_active_input_before_accept)
    • Work items: R0-01, R0-03, WML-201
    • Assessment note: WML-302 and WML-204 directly cover variable definition, substitution locations, conversions, escaping, validation, snapshots, and control commit ordering across every nested clause.
  • WML-C-13 — Context restrictions
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §10.4 (SCR §15.1.3)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_public_api.rs#load_deck_context_for_navigation
    • Tests: browser/frontend/src/app/navigation-state.load.test.ts::clears prior host history when the engine establishes a new browser context (pnpm --dir browser/frontend test -- src/app/navigation-state.load.test.ts)
    • Work items: R0-01, R0-03, WML-201
    • Assessment note: WML-301 establishes a new observable browser context for independent navigation and elects the permitted old-context termination behavior.
  • WML-C-14 — Deck access control
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §12.1 (SCR §15.1.4)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/runtime/deck.rs#allows_referring_uri, engine-wasm/engine/src/engine_runtime_internal/navigation.rs#wml_go_request_policy, transport-rust/src/request_serialization.rs#smallest_usable_referer
    • Tests: engine-wasm/engine/src/engine_tests/wml_202_residual.rs::wml_202_access_policy_applies_defaults_components_relative_paths_and_url_case_rules (cd engine-wasm/engine && cargo test wml_202_access_policy_applies_defaults_components_relative_paths_and_url_case_rules), engine-wasm/engine/src/engine_tests/wml_304_request_intent.rs::wml_304_post_intent_carries_request_attributes_without_constructing_multipart (cd engine-wasm/engine && cargo test wml_304_post_intent_carries_request_attributes_without_constructing_multipart), engine-wasm/engine/src/engine_tests/wml_306_policy.rs::wml_306_access_denial_is_atomic_and_unknown_dtd_content_remains_renderable (cd engine-wasm/engine && cargo test wml_306_access_denial_is_atomic_and_unknown_dtd_content_remains_renderable), transport-rust/src/request_serialization/tests.rs::mapped_fixture_is_byte_exact_and_rejects_invalid_combinations (cargo test --manifest-path transport-rust/Cargo.toml mapped_fixture_is_byte_exact_and_rejects_invalid_combinations)
    • Work items: R0-01, R0-07, WML-201
    • Assessment note: Deck access domain/path checks run before commit, WML-304 preserves sendreferer opt-in in the request intent, and the transport request boundary emits the smallest usable relative referer. WML-306 adds direct atomic-denial and safe host-presentation evidence.
  • WML-C-15 — Low-memory behaviour
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §12.2 (SCR §15.1.4)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#execute_card_task_action, browser/frontend/src/session-history.ts#HOST_HISTORY_ENTRY_CAPACITY, browser/frontend/src/app/browser-presenter.ts#announceRuntimeFailure
    • Tests: engine-wasm/engine/src/engine_tests/wml_306_policy.rs::wml_306_low_memory_reclaims_history_resets_context_and_retries_atomically (cd engine-wasm/engine && cargo test wml_306_low_memory_reclaims_history_resets_context_and_retries_atomically), browser/frontend/src/session-history.test.ts::implements the WML-306 optional low-memory history policy as bounded LRU (pnpm --dir browser/frontend test -- src/session-history.test.ts)
    • Work items: R0-01, R0-07, WML-201
    • Assessment note: The optional Class C low-memory capability uses a 32-entry host LRU window (above the recommended minimum of ten), reclaims engine and host history before failure, resets the browser context to an empty predictable state when variable storage remains exhausted, retries the pending task once, and publishes bounded host-owned notification copy.
  • WML-C-16 — Error handling
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §12.3 (SCR §15.1.4)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/validation.rs#validate_wml13_document, engine-wasm/engine/src/parser/wml_parser/xml.rs#start_to_element, browser/frontend/src/app/navigation-state.ts#loadTransportUrl
    • Tests: engine-wasm/engine/src/engine_tests/wml_load_errors.rs::wml_205_rejects_an_invalid_form_of_every_declared_wml_element_atomically (cd engine-wasm/engine && cargo test wml_205_rejects_an_invalid_form_of_every_declared_wml_element_atomically), engine-wasm/engine/src/engine_tests/wml_load_errors.rs::wml_205_enforces_case_literal_length_and_cross_attribute_error_conditions (cd engine-wasm/engine && cargo test wml_205_enforces_case_literal_length_and_cross_attribute_error_conditions)
    • Work items: R0-01, R0-07, WML-201
    • Assessment note: Strict WML 1.3 loads preserve XML case sensitivity, reject an invalid form of every declared element, enforce the specification-defined literal, length, table, task, event, variable, prologue, and structural error conditions, and publish deterministic diagnostics without replacing the active deck. Host fetch and destination access failures notify the user while preserving the invoking engine state, pending external intent, committed deck session, and history.
  • WML-C-17 — Unknown DTD handling
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §12.4 (SCR §15.1.4)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#map_inline_nodes_recursive, engine-wasm/engine/src/parser/wml_parser/xml.rs#classify_wml_doctype
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::parses_mixed_inline_text_links_break_and_unknown_wrappers (cd engine-wasm/engine && cargo test parses_mixed_inline_text_links_break_and_unknown_wrappers), engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_203_alternate_doctype_ignores_unknown_markup_and_preserves_known_content (cargo test --manifest-path engine-wasm/engine/Cargo.toml wml_203_alternate_doctype_ignores_unknown_markup_and_preserves_known_content)
    • Work items: R0-01, R0-07, WML-201, WML-203
    • Assessment note: Canonical WML 1.3 and alternate external DTD identities are classified without fetching a DTD; alternate-DTD unknown wrappers and attributes are ignored while recognized child content is retained. Strict prologue-presence enforcement, internal subsets, and full DTD validation remain open.
  • WML-C-18 — Inter-card navigation
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §12.5 (SCR §15.1.4)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#execute_card_task_action
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::fixture_accept_go_trace_order_is_deterministic (cd engine-wasm/engine && cargo test fixture_accept_go_trace_order_is_deterministic)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: WML-202/301/302/303/305 jointly provide direct evidence for access, newcontext, variables, go/prev/refresh ordering, fetched-deck fragment selection, timers, and rollback across every nested inter-card clause.
  • WML-C-19 — a
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.9 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#map_inline_nodes_recursive
    • Tests: engine-wasm/engine/src/engine_tests/navigation_metadata.rs::enter_navigates_to_fragment_card (cd engine-wasm/engine && cargo test enter_navigates_to_fragment_card)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: The a element parses and activates internal/external navigation, but full HREF variable substitution and equivalent-go behavior are incomplete.
  • WML-C-20 — anchor
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.8 (SCR §15.1.5)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: The anchor element and its nested task/setvar model are not represented.
  • WML-C-21 — access
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.3.1 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/head.rs#parse_access, engine-wasm/engine/src/runtime/deck.rs#allows_referring_uri, browser/frontend/src/app/navigation-state.ts#loadTransportUrl
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_202_retains_access_and_ordered_meta_for_the_whole_deck (cd engine-wasm/engine && cargo test wml_202_retains_access_and_ordered_meta_for_the_whole_deck), engine-wasm/engine/src/engine_tests/wml_202_residual.rs::wml_202_access_policy_applies_defaults_components_relative_paths_and_url_case_rules (cd engine-wasm/engine && cargo test wml_202_access_policy_applies_defaults_components_relative_paths_and_url_case_rules), engine-wasm/engine/src/engine_tests/wml_306_policy.rs::wml_306_access_denial_is_atomic_and_unknown_dtd_content_remains_renderable (cd engine-wasm/engine && cargo test wml_306_access_denial_is_atomic_and_unknown_dtd_content_remains_renderable)
    • Work items: C5-03, R0-01, R0-04, WML-201, WML-306
    • Assessment note: The access element is parsed and retained, its grammar and uniqueness are enforced, and the engine applies defaults, component-aware domain/path matching, relative-path resolution, and URL case rules against the host-supplied referring URI before committing a deck transition. WML-306 adds direct atomic-denial and safe host-presentation evidence; WML-304 separately owns go sendreferer request intent.
  • WML-C-22 — b
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-23 — big
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-24 — br
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.8.4 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#map_card_level_nodes, engine-wasm/engine/src/parser/wml_parser/nodes.rs#map_inline_nodes_recursive, engine-wasm/engine/src/layout/flow_layout.rs#layout_card
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::parses_mixed_card_level_content_paths (cd engine-wasm/engine && cargo test parses_mixed_card_level_content_paths), engine-wasm/engine/src/parser/wml_parser/tests.rs::parses_mixed_inline_text_links_break_and_unknown_wrappers (cd engine-wasm/engine && cargo test parses_mixed_inline_text_links_break_and_unknown_wrappers), engine-wasm/engine/src/layout/flow_layout.rs::inline_break_forces_a_hard_line_break_between_segments (cd engine-wasm/engine && cargo test inline_break_forces_a_hard_line_break_between_segments)
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Card-level br emits a break (Node::Break), and inline br (nested with text/links/inputs/selects in the same paragraph) now emits a dedicated InlineNode::Break honored by the layout engine as a direct line advance, rather than collapsing to an ordinary whitespace text segment. The prior inline path was a silent no-op, not merely a downgraded break: wrap_text returns zero chunks for an all-whitespace segment, so the break neither rendered nor advanced the line.
  • WML-C-25 — card
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.5 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/mod.rs#parse_wml, engine-wasm/engine/src/parser/wml_parser/nodes.rs#TableBoundaryPlan
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_202_enforces_card_event_timer_content_order (cd engine-wasm/engine && cargo test wml_202_enforces_card_event_timer_content_order), engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_301_inserts_source_required_table_boundaries_at_card_content_edges (cd engine-wasm/engine && cargo test wml_301_inserts_source_required_table_boundaries_at_card_content_edges), engine-wasm/engine/src/engine_tests/wml_301_context_history.rs::wml_301_card_table_boundaries_render_at_card_edges_and_survive_navigation (cd engine-wasm/engine && cargo test wml_301_card_table_boundaries_render_at_card_edges_and_survive_navigation)
    • Work items: C5-03, R0-01, R0-04, WML-201, WML-301
    • Assessment note: Card collection, event/timer/content ordering, source presentation order, language, newcontext, ordered attributes, fragment anchors, and source-required table boundaries are directly fixture-backed across the completed WML-202/WML-203 baseline and additive WML-301 closure.
  • WML-C-26 — do
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.7 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/actions.rs#push_do_binding
    • Tests: engine-wasm/engine/src/engine_tests/wml_303_actions.rs::wml_303_retains_do_identity_metadata_and_orders_active_actions (cd engine-wasm/engine && cargo test wml_303_retains_do_identity_metadata_and_orders_active_actions)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: Named do bindings retain type/name/label/optional/language metadata and execute with deterministic card/template precedence; dynamic visibility, labelling, and unique user-interface presentation remain incomplete under WBP-06.
  • WML-C-27 — em
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-28 — fieldset
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.6.4 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-29 — go
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.5.1 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#wml_go_request_policy, engine-wasm/engine/src/parser/wml_parser/actions.rs#parse_go_request_xml, transport-rust/src/request_serialization.rs#serialize_fetch_request
    • Tests: engine-wasm/engine/src/engine_tests/wml_304_request_intent.rs::wml_304_get_intent_preserves_order_without_claiming_query_merge (cd engine-wasm/engine && cargo test wml_304_get_intent_preserves_order_without_claiming_query_merge), engine-wasm/engine/src/engine_tests/wml_304_request_intent.rs::wml_304_post_intent_carries_request_attributes_without_constructing_multipart (cd engine-wasm/engine && cargo test wml_304_post_intent_carries_request_attributes_without_constructing_multipart), transport-rust/src/request_serialization/tests.rs::mapped_fixture_is_byte_exact_and_rejects_invalid_combinations (cd transport-rust && cargo test --lib mapped_fixture_is_byte_exact_and_rejects_invalid_combinations), transport-rust/src/request_serialization/tests.rs::multipart_post_builds_deterministic_typed_parts (cd transport-rust && cargo test --lib multipart_post_builds_deterministic_typed_parts)
    • Work items: R0-01, R0-02, R0-06, WML-201
    • Assessment note: The parser and runtime publish a typed GET/POST request intent with ordered postfields, referer opt-in, no-cache, enctype, charset, and same-deck classification. The transport boundary completes query merge, form-urlencoded and multipart serialization, charset transcoding, origin reload policy, referer emission, and replayable typed POST bodies.
  • WML-C-30 — head
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.3 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/head.rs#parse_deck_head
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_202_retains_access_and_ordered_meta_for_the_whole_deck (cd engine-wasm/engine && cargo test wml_202_retains_access_and_ordered_meta_for_the_whole_deck), engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_202_rejects_invalid_head_access_and_meta_structure_deterministically (cd engine-wasm/engine && cargo test wml_202_rejects_invalid_head_access_and_meta_structure_deterministically)
    • Work items: R0-01, R0-04, WML-201
    • Assessment note: The parser enforces a single ordered deck-level head with one or more recognized access/meta children and retains both child models as deck-wide state. Unknown markup remains forward-compatible under WML-C-17 and does not satisfy the recognized head content model.
  • WML-C-31 — i
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-32 — img
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.5)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: The img element has no parser/runtime/render representation.
  • WML-C-33 — input
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.6.3 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#parse_input_inline_node, engine-wasm/engine/src/runtime/input_mask.rs#InputMask, engine-wasm/engine/src/runtime/variable.rs#SubstitutionContext, engine-wasm/engine/src/engine_runtime_internal.rs#commit_focused_input_edit_internal, engine-wasm/engine/src/engine_runtime_internal.rs#initialize_controls_on_active_card
    • Tests: engine-wasm/engine/src/engine_tests/navigation_metadata.rs::focused_input_edit_commit_updates_render_and_runtime_var (cd engine-wasm/engine && cargo test focused_input_edit_commit_updates_render_and_runtime_var), engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_fx_input_structure_rejects_invalid_syntax_deterministically (cd engine-wasm/engine && cargo test wml_fx_input_structure_rejects_invalid_syntax_deterministically), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_mask_commit_preserves_literals_and_rejection_is_atomic (cd engine-wasm/engine && cargo test wml_fx_input_mask_commit_preserves_literals_and_rejection_is_atomic), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_empty_commit_applies_format_and_emptyok_precedence (cd engine-wasm/engine && cargo test wml_fx_input_empty_commit_applies_format_and_emptyok_precedence), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::invalid_input_format_is_ignored_in_favor_of_default_mask (cd engine-wasm/engine && cargo test invalid_input_format_is_ignored_in_favor_of_default_mask), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_initialization_prefers_existing_valid_name_value (cd engine-wasm/engine && cargo test wml_fx_input_initialization_prefers_existing_valid_name_value), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_invalid_initial_value_unsets_name_and_uses_valid_default (cd engine-wasm/engine && cargo test wml_fx_input_invalid_initial_value_unsets_name_and_uses_valid_default), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_initialization_evaluates_vdata_default_in_document_order (cd engine-wasm/engine && cargo test wml_fx_input_initialization_evaluates_vdata_default_in_document_order), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_maxlength_limits_draft_and_committed_value (cd engine-wasm/engine && cargo test wml_fx_input_maxlength_limits_draft_and_committed_value), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_fx_input_password_display_conceals_entry_and_preserves_variable (cd engine-wasm/engine && cargo test wml_fx_input_password_display_conceals_entry_and_preserves_variable), engine-wasm/engine/src/engine_tests/actions_timers.rs::invalid_masked_input_blocks_task_without_navigation_side_effects (cd engine-wasm/engine && cargo test invalid_masked_input_blocks_task_without_navigation_side_effects), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_select_init_order_precedence_validation_and_serialization (cd engine-wasm/engine && cargo test wml_fx_select_init_order_precedence_validation_and_serialization), engine-wasm/engine/src/engine_tests/navigation_metadata.rs::wml_204_input_vdata_conversions_preserve_source_variable (cd engine-wasm/engine && cargo test wml_204_input_vdata_conversions_preserve_source_variable), engine-wasm/engine/src/engine_tests/wml_load_errors.rs::wml_204_invalid_control_variable_references_reject_load_atomically (cd engine-wasm/engine && cargo test wml_204_invalid_control_variable_references_reject_load_atomically)
    • Work items: R0-01, R0-04, WML-201, WML-204, WML-308
    • Assessment note: Input now has deterministic DTD-derived syntax validation, Basic Latin format-mask and emptyok enforcement at commit, maxlength enforcement, and name/value initialization interleaved with select controls in document order. Control-scoped vdata references validate and evaluate with exact CDATA, literal-dollar, undefined-variable, case-sensitive-name, and conversion semantics; invalid masks fall back to *M; invalid existing/default values follow unset/fallback rules; rejected commits preserve the prior variable and active draft for retry. The selected WML-204 tranche is complete; language-aware non-Basic-Latin mask repertoires and broader title/accesskey presentation semantics remain assigned to additive WML-308 and keep this parent row partial.
  • WML-C-34 — meta
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.3.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-35 — noop
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.5.4 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#CardTaskAction::Noop
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::enter_accept_noop_binding_is_inactive_and_keeps_current_card_and_history (cd engine-wasm/engine && cargo test enter_accept_noop_binding_is_inactive_and_keeps_current_card_and_history)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: Noop is parsed as an inactive task binding and produces no navigation, state mutation, task activation, or task trace.
  • WML-C-36 — p
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.8.3 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#map_card_level_nodes
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::preserves_inline_text_and_link_order_in_paragraph (cd engine-wasm/engine && cargo test preserves_inline_text_and_link_order_in_paragraph)
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Paragraph grouping and baseline wrapping exist, but align, wrap/nowrap inheritance, nbsp, shy, and horizontal-view behavior are incomplete.
  • WML-C-37 — postfield
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.3 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/actions.rs#collect_post_fields_xml, engine-wasm/engine/src/engine_runtime_internal/navigation.rs#resolve_post_fields, transport-rust/src/request_serialization.rs#serialize_fetch_request
    • Tests: engine-wasm/engine/src/engine_tests/wml_304_request_intent.rs::wml_304_get_intent_preserves_order_without_claiming_query_merge (cd engine-wasm/engine && cargo test wml_304_get_intent_preserves_order_without_claiming_query_merge), transport-rust/src/request_serialization/tests.rs::mapped_fixture_is_byte_exact_and_rejects_invalid_combinations (cd transport-rust && cargo test --lib mapped_fixture_is_byte_exact_and_rejects_invalid_combinations)
    • Work items: R0-01, R0-02, R0-06, WML-201
    • Assessment note: Postfield name/value vdata is resolved in document order into the request intent, then transcoded and serialized by the transport boundary as ordered form-urlencoded or multipart form data.
  • WML-C-38 — prev
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.5.2 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#CardTaskAction::Prev, browser/frontend/src/app/navigation-state.ts#navigateBackWithFallback
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::enter_accept_prev_action_navigates_back_when_history_exists (cd engine-wasm/engine && cargo test enter_accept_prev_action_navigates_back_when_history_exists), browser/frontend/src/app/navigation-state.history.test.ts::replays typed POST values when history back must refetch the prior deck (pnpm --dir browser/frontend test -- src/app/navigation-state.history.test.ts src/session-history.test.ts)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: Prev pops request-shaped card history, executes variable assignments and backward-entry behavior, and replays typed POST values when the prior deck must be fetched again.
  • WML-C-39 — onevent
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.10.1 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/actions.rs#push_onevent_binding
    • Tests: engine-wasm/engine/src/engine_tests/wml_303_actions.rs::wml_303_option_onevent_onpick_executes_in_immediate_option_scope (cd engine-wasm/engine && cargo test wml_303_option_onevent_onpick_executes_in_immediate_option_scope)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: Card/template intrinsic and option onpick onevent bindings parse, reject same-scope conflicts, execute with immediate-parent scope and shadowing, and include completed timer lifecycle evidence.
  • WML-C-40 — optgroup
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.6.2.3 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-41 — option
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.6.2.2 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#parse_select_inline_node, engine-wasm/engine/src/runtime/variable.rs#SubstitutionContext
    • Tests: engine-wasm/engine/src/engine_tests/navigation_metadata.rs::select_control_renders_first_option_by_default (cd engine-wasm/engine && cargo test select_control_renders_first_option_by_default), engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_fx_select_structure_rejects_invalid_syntax_deterministically (cd engine-wasm/engine && cargo test wml_fx_select_structure_rejects_invalid_syntax_deterministically), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_select_value_and_ivalue_references_are_evaluated_before_assignment (cd engine-wasm/engine && cargo test wml_fx_select_value_and_ivalue_references_are_evaluated_before_assignment), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_option_onpick_single_updates_state_before_only_selected_task (cd engine-wasm/engine && cargo test wml_fx_option_onpick_single_updates_state_before_only_selected_task), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_option_onpick_multi_fires_for_deselection_after_state_update (cd engine-wasm/engine && cargo test wml_fx_option_onpick_multi_fires_for_deselection_after_state_update), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_204_option_vdata_defaults_to_noesc_and_href_defaults_to_escape (cd engine-wasm/engine && cargo test wml_204_option_vdata_defaults_to_noesc_and_href_defaults_to_escape), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_204_absent_option_value_is_empty_while_label_remains_visible (cd engine-wasm/engine && cargo test wml_204_absent_option_value_is_empty_while_label_remains_visible)
    • Work items: R0-01, R0-04, WML-201, WML-204, WML-308
    • Assessment note: Option content and allowed attributes receive deterministic DTD-derived syntax validation; exact text labels, absent and explicit empty values, evaluated vdata value references, onpick HREF conversion/dispatch, and immediately scoped onevent task forms are represented. The selected WML-204 and WML-303 tranches are complete; option title/xml:lang presentation remains assigned to additive WML-308 and keeps this parent row partial.
  • WML-C-42 — refresh
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.5.3 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/engine_runtime_internal/navigation.rs#CardTaskAction::Refresh
    • Tests: engine-wasm/engine/src/engine_tests/actions_timers.rs::enter_accept_refresh_action_keeps_current_card_and_history (cd engine-wasm/engine && cargo test enter_accept_refresh_action_keeps_current_card_and_history)
    • Work items: R0-01, R0-02, WML-201
    • Assessment note: Refresh assignments, variable snapshots, redisplay, timer restart, and named-timer resume have direct WML-302/303/305 evidence across every nested clause.
  • WML-C-43 — select
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.6.2.1 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/nodes.rs#parse_select_inline_node, engine-wasm/engine/src/engine_runtime_internal/navigation.rs#execute_card_task_action, engine-wasm/engine/src/engine_runtime_internal.rs#initial_select_indices, engine-wasm/engine/src/engine_runtime_internal.rs#sync_select_variables, engine-wasm/engine/src/runtime/variable.rs#SubstitutionContext
    • Tests: engine-wasm/engine/src/engine_tests/navigation_metadata.rs::focused_select_edit_cycle_commit_updates_render_and_runtime_var (cd engine-wasm/engine && cargo test focused_select_edit_cycle_commit_updates_render_and_runtime_var), engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_fx_select_structure_accepts_declared_control_grammar (cd engine-wasm/engine && cargo test wml_fx_select_structure_accepts_declared_control_grammar), engine-wasm/engine/src/engine_tests/actions_timers.rs::wml_fx_variable_commit_before_task_commits_active_select_before_accept (cd engine-wasm/engine && cargo test wml_fx_variable_commit_before_task_commits_active_select_before_accept), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_select_default_precedence_covers_every_source_and_fallback (cd engine-wasm/engine && cargo test wml_fx_select_default_precedence_covers_every_source_and_fallback), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_select_init_order_precedence_validation_and_serialization (cd engine-wasm/engine && cargo test wml_fx_select_init_order_precedence_validation_and_serialization), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_select_variables_are_resynchronized_before_link_task_execution (cd engine-wasm/engine && cargo test wml_fx_select_variables_are_resynchronized_before_link_task_execution), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_fx_select_variable_updates_do_not_implicitly_refresh_other_controls (cd engine-wasm/engine && cargo test wml_fx_select_variable_updates_do_not_implicitly_refresh_other_controls), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_204_control_initialization_interleaves_selects_and_inputs_in_document_order (cd engine-wasm/engine && cargo test wml_204_control_initialization_interleaves_selects_and_inputs_in_document_order), engine-wasm/engine/src/engine_tests/select_semantics.rs::wml_204_option_vdata_defaults_to_noesc_and_href_defaults_to_escape (cd engine-wasm/engine && cargo test wml_204_option_vdata_defaults_to_noesc_and_href_defaults_to_escape)
    • Work items: R0-01, R0-04, WML-201, WML-204, WML-308
    • Assessment note: Select has deterministic DTD-derived syntax and control-reference validation, nested optgroup option ordering, source-order input/select initialization, complete iname/ivalue/name/value/fallback precedence, validated and deduplicated indices, single/multiple user selection, name/iname serialization, exact vdata option values, task-time variable synchronization, HREF-converted onpick dispatch, and direct proof that variable updates do not implicitly refresh other controls. The selected WML-204 tranche is complete; optional tabindex behavior and optgroup capability declaration remain assigned to additive WML-308 and keep this parent row partial.
  • WML-C-44 — small
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-45 — strong
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-46 — table
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.8.5 (SCR §15.1.5)
    • Assessment: partial; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/validation.rs#validate_content_model, engine-wasm/engine/src/parser/wml_parser/nodes.rs#TableBoundaryPlan
    • Tests: engine-wasm/engine/src/engine_tests/wml_203_validation.rs::wml_203_invalid_content_model_mutations_are_rejected_deterministically (cd engine-wasm/engine && cargo test wml_203_invalid_content_model_mutations_are_rejected_deterministically), engine-wasm/engine/src/engine_tests/wml_301_context_history.rs::wml_301_card_table_boundaries_render_at_card_edges_and_survive_navigation (cd engine-wasm/engine && cargo test wml_301_card_table_boundaries_render_at_card_edges_and_survive_navigation)
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: WML-203 enforces table/tr/td structure and WML-301 now applies card-edge table line breaks. Exact column count, short-row padding, long-row aggregation, alignment designators, and non-zero gutter layout remain planned, so the parent stays partial.
  • WML-C-47 — template
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.4 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/actions.rs#parse_template_bindings, engine-wasm/engine/src/runtime/deck.rs#active_event_bindings
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_202_rejects_invalid_template_structure_deterministically (cd engine-wasm/engine && cargo test wml_202_rejects_invalid_template_structure_deterministically), engine-wasm/engine/src/engine_tests/actions_timers.rs::wml_202_template_bindings_persist_across_navigation_and_back (cd engine-wasm/engine && cargo test wml_202_template_bindings_persist_across_navigation_and_back)
    • Work items: R0-01, R0-04, R0-12, WML-201
    • Assessment note: The parser retains one deck-level template with ordered do/onevent bindings and card-event attributes; the shared runtime applies those bindings to every card unless shadowed.
  • WML-C-48 — timer
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.7 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/actions.rs#parse_timer_xml, engine-wasm/engine/src/engine_runtime_internal/timers.rs#advance_time_ms_internal, engine-wasm/engine/src/engine_public_api.rs#next_timer_wakeup_ms, browser/frontend/src/app/engine-timer-runtime.ts#scheduleNextWakeup
    • Tests: engine-wasm/engine/src/engine_tests/wml_305_timers.rs::wml_305_dispatches_only_when_positive_timer_transitions_to_zero (cd engine-wasm/engine && cargo test wml_305_dispatches_only_when_positive_timer_transitions_to_zero), engine-wasm/engine/src/engine_wasm_bindings_tests.rs::wasm_wml_305_named_timer_lifecycle_matches_native_boundary (cd engine-wasm/engine && cargo test wasm_wml_305_named_timer_lifecycle_matches_native_boundary), engine-wasm/examples/source/wml-305-timer-lifecycle.flow.json::WML-305 executable stories (pnpm test:story WML-305), browser/frontend/src/app/engine-timer-runtime.test.ts::schedules only the exact native timer wakeup and stops it cleanly (pnpm --dir browser/frontend test -- engine-timer-runtime.test.ts)
    • Work items: R0-01, R0-04, WML-201, WML-305
    • Assessment note: WML-305 closes the native timer lifecycle: one timer per card, variable-precedence initialization, tenths units, invalid and zero disabling, entry start, exit persistence and stop, refresh stop-update-resume, start-before-display ordering, one-to-zero ontimer dispatch, rollback, and exact target-neutral host wakeups.
  • WML-C-49 — td
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.8.7 (SCR §15.1.5)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Table cell structure and significant empty-cell behavior are not represented.
  • WML-C-50 — tr
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.8.6 (SCR §15.1.5)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Table row structure and significant empty-row behavior are not represented.
  • WML-C-51 — u
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.2 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-52 — setvar
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §9.4 (SCR §15.1.5)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-02, R0-06, WML-201
    • Assessment note: Markup setvar children of go/prev/refresh are not parsed or applied; WMLScript setVar is a separate feature.
  • WML-C-53 — wml
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.2 (SCR §15.1.5)
    • Assessment: implemented; evidence direct-test-linked
    • Code: engine-wasm/engine/src/parser/wml_parser/mod.rs#parse_wml, engine-wasm/engine/src/runtime/deck.rs#card_language
    • Tests: engine-wasm/engine/src/parser/wml_parser/tests.rs::wml_202_rejects_invalid_wml_root_structure_deterministically (cd engine-wasm/engine && cargo test wml_202_rejects_invalid_wml_root_structure_deterministically), engine-wasm/engine/src/engine_tests/wml_202_residual.rs::wml_202_root_language_and_card_language_are_exposed_with_inheritance (cargo test --manifest-path engine-wasm/engine/Cargo.toml wml_202_root_language_and_card_language_are_exposed_with_inheritance)
    • Work items: C5-03, R0-01, R0-04, WML-201
    • Assessment note: The parser requires a wml root, enforces one ordered head, one ordered template, and one or more cards, retains all recognized deck-level information, and exposes root xml:lang for card language inheritance. Unknown markup remains forward-compatible under WML-C-17 and does not alter recognized ordering.
  • WML-C-54 — Display of alt attribute of
    • Actor/status/profile: wml-user-agent; mandatory; required-by-class-c-client-mcf
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.6)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Image alt content has no parser or renderer path because img is not represented.
  • WML-C-55 — Support for vspace hint
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.6)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-56 — Support for hspace hint
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.6)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-57 — Support for align
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.6)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-58 — Support for height
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.6)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-59 — Support for width
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.9 (SCR §15.1.6)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-S-60 — WML token table
    • Actor/status/profile: wml-encoder; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §14 (SCR §15.2.1)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: The project invokes an external WBXML decoder but does not implement the WML encoder/token table required by this actor.
  • WML-S-61 — XML Well-formed
    • Actor/status/profile: wml-encoder; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §14.2.2 (SCR §15.2.2)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: No WML encoder/tokenizer path performs the actor-specific XML well-formedness gate.
  • WML-S-62 — XML Validation
    • Actor/status/profile: wml-encoder; optional; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §14.2.2 (SCR §15.2.2)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-S-63 — WML Validation
    • Actor/status/profile: wml-encoder; optional; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §15.3 (SCR §15.2.2)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-S-64 — Variable references may only occur in vdata attribute values
    • Actor/status/profile: wml-document-server; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §7.5 (SCR §15.3)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: No server-document authoring validator restricts variable references to vdata attribute values.
  • WML-S-65 — Variable references must match the production rule var
    • Actor/status/profile: wml-document-server; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §10.3.1 (SCR §15.3)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: No server-document validator enforces the complete var production.
  • WML-S-66 — Two or more do elements with the same name must not be present in a single card or in the template element
    • Actor/status/profile: wml-document-server; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §9.7 (SCR §15.3)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: No server-document validator rejects duplicate effective do names in a card or template.
  • WML-S-67 — A meta element must not contain more than one attribute of name and http-equiv
    • Actor/status/profile: wml-document-server; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §11.3.2 (SCR §15.3)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: No server-document validator enforces mutual exclusion of meta name and http-equiv.
  • WML-S-68 — The number of columns in a table must not be set to zero
    • Actor/status/profile: wml-document-server; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §11.8.5 (SCR §15.3)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: No server-document validator rejects table columns equal to zero.
  • WML-S-69 — Event bindings must not conflict
    • Actor/status/profile: wml-document-server; mandatory; not-applicable-to-class-c-client
    • Spec: WAP-191_104-WML §9.10 (SCR §15.3)
    • Assessment: missing; evidence gap-work-item-mapped
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: No server-document validator rejects conflicting event bindings.
  • WML-C-70 — Variable references must match the production rule var
    • Actor/status/profile: wml-document-client; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §10.3.1 (SCR §15.4)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-71 — Two or more do elements with the same name must not be present in a single card or in the template element
    • Actor/status/profile: wml-document-client; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §9.7 (SCR §15.4)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-72 — A meta element must not contain more than one attribute of name and http-equiv
    • Actor/status/profile: wml-document-client; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.3.2 (SCR §15.4)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-73 — The number of columns in a table must not be set to zero
    • Actor/status/profile: wml-document-client; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.5 (SCR §15.4)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-74 — Event bindings must not conflict
    • Actor/status/profile: wml-document-client; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §9.10 (SCR §15.4)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, R0-08, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-75 — pre
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_104-WML §11.8.9 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-05, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.
  • WML-C-76 — tabindex support
    • Actor/status/profile: wml-user-agent; optional; optional-not-required-by-class-c-client
    • Spec: WAP-191_105-WML §11.6.1 (SCR §15.1.5)
    • Assessment: not-assessed; evidence optional-not-assessed
    • Code: None; the evidence state remains explicit.
    • Tests: None; use the mapped work items and assessment note rather than inferring coverage.
    • Work items: R0-01, R0-04, WML-201
    • Assessment note: Optional capability implementation is deferred to the capability-declaration pass.

Direct normative obligations

WML-201

  • WAE-CL-WML-LANGUAGE-DELEGATE — Process Wireless Markup Language using the effective selected WML 1.3 family ledger and its Class C user-agent requirements.
    • Family: wae; force: implicit-must; level: required
    • Source: WAP-190-WAESpec §5.1.5 (5.1.5 Wireless Markup Language)
    • Parents: WAESpec-C-015, WAESpec-C-017
    • Requirements: RQ-RMK-001, RQ-WAE-002, RQ-WAE-016, RQ-WAE-017
    • Fixture: WAE-FX-WML-LANGUAGE-DELEGATE (runtime, planned)
  • WAE-CL-WML-USER-AGENT-COMPOSITION — Compose the WML and WMLScript requirements and guidelines into one WML user agent without moving network fetch behavior into the language runtime.
    • Family: wae; force: implicit-must; level: required
    • Source: WAP-190-WAESpec §5.1.7.2 (5.1.7.2 WML User Agent)
    • Parents: WAESpec-C-017
    • Requirements: RQ-WAE-002, RQ-WAE-016, RQ-WAE-017
    • Fixture: WAE-FX-WML-USER-AGENT-COMPOSITION (runtime, planned)
  • WAE-CL-WMLSCRIPT-LANGUAGE-DELEGATE — Process WMLScript using the effective selected WMLScript family ledger and its Class C interpreter requirements.
    • Family: wae; force: implicit-must; level: required
    • Source: WAP-190-WAESpec §5.1.6 (5.1.6 WMLScript)
    • Parents: WAESpec-C-016, WAESpec-C-017
    • Requirements: RQ-WAE-002, RQ-WAE-003, RQ-WAE-016, RQ-WAE-017, RQ-WMLS-001
    • Fixture: WAE-FX-WMLSCRIPT-LANGUAGE-DELEGATE (runtime, planned)
  • WML-CL-A-GO-EQUIVALENCE — Treat an a element as an anchor containing a go task without variable assignments.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.9 (9.9 The A Element)
    • Parents: WML-C-19
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-A-GO-EQUIVALENCE (runtime, planned)
  • WML-CL-A-NO-NESTING — Reject nested a elements.
    • Family: wml; force: error-condition; level: required
    • Source: WAP-191_104-WML §9.9 (9.9 The A Element)
    • Parents: WML-C-19
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-A-NO-NESTING (parser, planned)
  • WML-CL-A-REQUIRED-TARGET — Require an HREF target on each a element and restrict its child content to the declared inline set.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.9 (9.9 The A Element)
    • Parents: WML-C-19
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-A-REQUIRED-TARGET (parser, implemented)
  • WML-CL-ACCESS-ABSENT-ALLOWS — When no access element is present, allow referrals from any deck.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-ABSENT-ALLOWS (security-policy, implemented)
  • WML-CL-ACCESS-COMPONENT-MATCH — Match domains by complete suffix components and paths by complete prefix components.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-COMPONENT-MATCH (security-policy, implemented)
  • WML-CL-ACCESS-DEFAULTS — Default an omitted access domain to the current deck domain and an omitted path to slash.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-DEFAULTS (security-policy, implemented)
  • WML-CL-ACCESS-REFERRER-MATCH — Require a referring URI to satisfy each declared domain and path restriction.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-REFERRER-MATCH (security-policy, implemented)
  • WML-CL-ACCESS-RELATIVE-PATH — Resolve a relative access path to an absolute path before applying the prefix check.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-RELATIVE-PATH (security-policy, implemented)
  • WML-CL-ACCESS-SINGLE-ELEMENT — Reject a deck containing more than one access element.
    • Family: wml; force: error-condition; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-SINGLE-ELEMENT (parser, implemented)
  • WML-CL-ACCESS-URL-CASE-RULES — Apply URL component capitalization rules when evaluating domain and path restrictions.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-URL-CASE-RULES (security-policy, implemented)
  • WML-CL-ANCHOR-ACCESSKEY — When access keys are supported, assign usable requested keys where possible and focus or activate the corresponding anchor.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §9.8 (9.8 The Anchor Element)
    • Parents: WML-C-20
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-ANCHOR-ACCESSKEY (runtime, planned)
  • WML-CL-ANCHOR-ACTIVATION — Execute the task contained by an anchor when the user activates that anchor.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.8 (9.8 The Anchor Element)
    • Parents: WML-C-20
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-ANCHOR-ACTIVATION (runtime, planned)
  • WML-CL-ANCHOR-PLACEMENT — Reject anchor placement inside option text or any anchor containing a task count other than one.
    • Family: wml; force: error-condition; level: required
    • Source: WAP-191_104-WML §9.8 (9.8 The Anchor Element)
    • Parents: WML-C-20
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-ANCHOR-PLACEMENT (parser, planned)
  • WML-CL-ANCHOR-STRUCTURE — Parse anchor content with exactly one go, prev, or refresh task.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.8 (9.8 The Anchor Element)
    • Parents: WML-C-20
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-ANCHOR-STRUCTURE (parser, implemented)
  • WML-CL-BR-LINE-BREAK — End the current rendered line at br and continue on the following line.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.4 (11.8.4 The Br Element)
    • Parents: WML-C-24
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-BR-LINE-BREAK (rendering, implemented)
  • WML-CL-BR-TABLE-EFFORT — Make a best effort to preserve br behavior inside table cells.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §11.8.4 (11.8.4 The Br Element)
    • Parents: WML-C-24
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-BR-TABLE-EFFORT (rendering, planned)
  • WML-CL-CARD-COLLECTION — Represent a WML deck as a collection containing at least one card.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.5 (11.5 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-COLLECTION (parser, implemented)
  • WML-CL-CARD-CONTENT-ORDER — Preserve significant card element order during presentation.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-CONTENT-ORDER (rendering, implemented)
  • WML-CL-CARD-CONTEXT-ATTRIBUTE — Apply the card newcontext flag when entering through the defined go process.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25, WML-C-11
    • Requirements: RQ-RMK-001, RQ-RMK-003
    • Fixture: WML-FX-CARD-CONTEXT-ATTRIBUTE (state-machine, implemented)
  • WML-CL-CARD-ID-FRAGMENT — Use a card id as its fragment-navigation anchor.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25, WML-C-18
    • Requirements: RQ-RMK-001, RQ-RMK-003
    • Fixture: WML-FX-CARD-ID-FRAGMENT (state-machine, implemented)
  • WML-CL-CARD-STRUCTURE — Enforce card child ordering: event handlers, optional timer, then declared action or flow content.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-STRUCTURE (parser, implemented)
  • WML-CL-CARD-TABLE-BOUNDARIES — Insert table boundary line breaks unless the table is respectively the first or last significant card content.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25, WML-C-46
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-TABLE-BOUNDARIES (rendering, implemented)
  • WML-CL-CONTEXT-SINGLE-SCOPE — Store WML runtime state in one browser-context scope.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.1 (10.1 The Browser Context)
    • Parents: WML-C-10
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-CONTEXT-SINGLE-SCOPE (state-machine, implemented)
  • WML-CL-CONTEXT-STATE-MEMBERS — Keep variables, navigation history, and implementation-dependent session state in the browser context.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.1 (10.1 The Browser Context)
    • Parents: WML-C-10
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-CONTEXT-STATE-MEMBERS (state-machine, implemented)
  • WML-CL-DECK-ACCESS-REQUIRED — Enforce deck-level access control using access, sendreferer, domain, and path semantics.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.1 (12.1 Deck Access Control)
    • Parents: WML-C-14, WML-C-21
    • Requirements: RQ-RMK-001, RQ-RMK-011
    • Fixture: WML-FX-DECK-ACCESS-REQUIRED (security-policy, implemented)
  • WML-CL-DO-ACTIVATION — Execute the bound task when the user activates a presented do action.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-ACTIVATION (runtime, implemented)
  • WML-CL-DO-ACTIVE-VISIBILITY — Make every active, non-optional do accessible for user activation.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-ACTIVE-VISIBILITY (rendering, implemented)
  • WML-CL-DO-EFFECTIVE-NAME — Use the declared do name for binding identity and default a missing name to the type value.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26, WML-C-08
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-EFFECTIVE-NAME (runtime, implemented)
  • WML-CL-DO-INACTIVE-HIDDEN — Do not expose an inactive do in a form the user can activate.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26, WML-C-08
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-INACTIVE-HIDDEN (rendering, implemented)
  • WML-CL-DO-LABEL-BEST-EFFORT — Make a best-effort to use a supplied do label when the interface action can be labeled.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-LABEL-BEST-EFFORT (rendering, implemented)
  • WML-CL-DO-OPTIONAL-PERMISSION — The user agent may omit a do explicitly marked optional.
    • Family: wml; force: explicit-may; level: permitted
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-OPTIONAL-PERMISSION (rendering, implemented)
  • WML-CL-DO-STRUCTURE — Parse do as exactly one task with a required type and optional label, name, optionality, and language metadata.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-STRUCTURE (parser, implemented)
  • WML-CL-DO-TYPE-ACCEPTANCE — Accept every do type and treat an unrecognized type as unknown when no specialized mapping exists.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-TYPE-ACCEPTANCE (runtime, implemented)
  • WML-CL-DO-UNIQUE-WIDGET — Expose an active non-optional do as a uniquely activatable interface action without assuming a particular physical widget.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-UNIQUE-WIDGET (rendering, implemented)
  • WML-CL-ENTITY-FORMS — Accept named, decimal numeric, and hexadecimal numeric WML character references.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §6.2 (6.2 Character Entities)
    • Parents: WML-C-06
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-ENTITY-FORMS (parser, planned)
  • WML-CL-ENTITY-REQUIRED-NAMES — Resolve the WML named entities for quotation mark, ampersand, apostrophe, less-than, greater-than, non-breaking space, and soft hyphen.
    • Family: wml; force: table; level: required
    • Source: WAP-191_104-WML §6.2 (6.2 Character Entities)
    • Parents: WML-C-06
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-ENTITY-REQUIRED-NAMES (parser, planned)
  • WML-CL-ENTITY-UNICODE-IDENTITY — Resolve numeric character references against Unicode independently of the document byte encoding.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §6.2 (6.2 Character Entities)
    • Parents: WML-C-06
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-ENTITY-UNICODE-IDENTITY (parser, planned)
  • WML-CL-ERROR-ENFORCEMENT — Enforce every error condition defined by WML.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.3 (12.3 Error Handling)
    • Parents: WML-C-16
    • Requirements: RQ-RMK-012
    • Fixture: WML-FX-ERROR-ENFORCEMENT (error-policy, implemented)
  • WML-CL-ERROR-NO-INTENT-INFERENCE — Do not hide invalid decks by guessing author or origin-server intent.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.3 (12.3 Error Handling)
    • Parents: WML-C-16
    • Requirements: RQ-RMK-012
    • Fixture: WML-FX-ERROR-NO-INTENT-INFERENCE (error-policy, implemented)
  • WML-CL-EXTERNAL-NAVIGATION-NEW-CONTEXT — Establish a new browser context when navigation is initiated independently of the current content.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.4 (10.4 Context Restrictions)
    • Parents: WML-C-13
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-EXTERNAL-NAVIGATION-NEW-CONTEXT (state-machine, implemented)
  • WML-CL-EXTERNAL-NAVIGATION-OLD-CONTEXT — The user agent may terminate the old context before establishing a context for external navigation.
    • Family: wml; force: explicit-may; level: permitted
    • Source: WAP-191_104-WML §10.4 (10.4 Context Restrictions)
    • Parents: WML-C-13
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-EXTERNAL-NAVIGATION-OLD-CONTEXT (state-machine, implemented)
  • WML-CL-GO-ACCEPT-CHARSET — Encode submitted field names and values using an accepted charset, falling back to the deck encoding when unspecified or unknown.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-ACCEPT-CHARSET (transport-boundary, implemented)
  • WML-CL-GO-ACCESS-BEFORE-TRANSITION — Evaluate destination-deck access control before committing the card transition.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-14, WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-011
    • Fixture: WML-FX-GO-ACCESS-BEFORE-TRANSITION (security-policy, implemented)
  • WML-CL-GO-ASSIGNMENT-ORDER — Apply temporary setvar assignments before newcontext processing and history insertion.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-GO-ASSIGNMENT-ORDER (state-machine, implemented)
  • WML-CL-GO-ENCTYPE-SUPPORT — Support form-urlencoded submission and the declared multipart form-data behavior for POST requests.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-ENCTYPE-SUPPORT (transport-boundary, implemented)
  • WML-CL-GO-ENTRY-EVENT-PRECEDENCE — Run a destination forward-entry handler before starting its timer or displaying the card, and stop the current traversal when it runs.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-09, WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-004
    • Fixture: WML-FX-GO-ENTRY-EVENT-PRECEDENCE (state-machine, implemented)
  • WML-CL-GO-FORM-URLENCODING — URI-escape form field names and values, join each name to its value with equals, and join pairs with ampersands.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29, WML-C-37
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-FORM-URLENCODING (transport-boundary, implemented)
  • WML-CL-GO-FRAGMENT-FALLBACK — Choose the named card when a fragment matches; otherwise choose the first card in the fetched deck.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-GO-FRAGMENT-FALLBACK (state-machine, implemented)
  • WML-CL-GO-GET-QUERY-MERGE — For form-urlencoded GET, combine encoded fields with any existing query into a valid query component.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-GET-QUERY-MERGE (transport-boundary, implemented)
  • WML-CL-GO-HISTORY-PUSH — Push the destination request identity onto history after destination context initialization.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-07, WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-GO-HISTORY-PUSH (state-machine, implemented)
  • WML-CL-GO-INTERNAL-POSTFIELD-SUPPRESSION — Ignore go postfields for same-deck card navigation unless no-cache is explicitly requested.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-INTERNAL-POSTFIELD-SUPPRESSION (runtime, implemented)
  • WML-CL-GO-METHOD — Map get and post method values to the corresponding request operation.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-METHOD (transport-boundary, implemented)
  • WML-CL-GO-NO-CACHE — For cache-control no-cache, reload from the origin and send the matching request cache-control value.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-NO-CACHE (transport-boundary, implemented)
  • WML-CL-GO-PART-CONTENT-TYPE — Provide a content type for each multipart part and a charset when its content is not US-ASCII.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-PART-CONTENT-TYPE (transport-boundary, implemented)
  • WML-CL-GO-POST-CONTENT-TYPE-CHARSET — For form-urlencoded POST, send encoded fields in the body and include the submission charset in Content-Type.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-POST-CONTENT-TYPE-CHARSET (transport-boundary, implemented)
  • WML-CL-GO-REFERER — When sendreferer is true, transmit the smallest usable relative URI for the referring deck.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-14, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-011
    • Fixture: WML-FX-GO-REFERER (transport-boundary, implemented)
  • WML-CL-GO-SETVAR-SNAPSHOT — For go, resolve setvar names and values into temporary assignments before fetching or changing context.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-GO-SETVAR-SNAPSHOT (state-machine, implemented)
  • WML-CL-GO-STRUCTURE — Parse go with a required target, declared request attributes, and zero or more postfield or setvar children.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-STRUCTURE (parser, implemented)
  • WML-CL-GO-SUBMISSION-ORDER — Substitute variables, transcode fields, then serialize postfields in document order.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29, WML-C-37
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-SUBMISSION-ORDER (transport-boundary, implemented)
  • WML-CL-GO-TARGET-RESOLUTION — Resolve variables in the go target URI before fetching it.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-GO-TARGET-RESOLUTION (transport-boundary, implemented)
  • WML-CL-GO-TIMER-THEN-DISPLAY — If no forward-entry handler diverts processing, start the destination timer before rendering with current variables.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-18, WML-C-29, WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-003, RQ-RMK-004
    • Fixture: WML-FX-GO-TIMER-THEN-DISPLAY (state-machine, implemented)
  • WML-CL-HEAD-DECK-SCOPE — Treat head children as metadata and access-control information for the whole deck.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3 (11.3 The Head Element)
    • Parents: WML-C-30
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-HEAD-DECK-SCOPE (parser, implemented)
  • WML-CL-HEAD-STRUCTURE — When head is present, require one or more access or meta children.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.3 (11.3 The Head Element)
    • Parents: WML-C-30
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-HEAD-STRUCTURE (parser, implemented)
  • WML-CL-HISTORY-DUPLICATE-PUSH — Push an entry for each explicit card access even when it duplicates the newest history entry.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07
    • Requirements: RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-DUPLICATE-PUSH (state-machine, implemented)
  • WML-CL-HISTORY-ENTRY-FIELDS — Record the absolute card URL, request method, submitted fields, and request headers in each history entry.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07
    • Requirements: RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-ENTRY-FIELDS (state-machine, implemented)
  • WML-CL-HISTORY-EXCLUDES-CONTENT — Do not store card content in history entries.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07
    • Requirements: RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-EXCLUDES-CONTENT (state-machine, implemented)
  • WML-CL-HISTORY-POST-REPLAY — When a prior deck must be fetched again, replay the original POST data values associated with that history entry.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-POST-REPLAY (transport-boundary, implemented)
  • WML-CL-HISTORY-PREV-POP — A prev task pops the current entry and returns to the prior history entry.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-PREV-POP (state-machine, implemented)
  • WML-CL-HISTORY-RESOLVES-VARIABLES — Resolve variable references before request data is stored in history.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07
    • Requirements: RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-RESOLVES-VARIABLES (state-machine, implemented)
  • WML-CL-HISTORY-STACK-MODEL — Maintain navigational history as an ordered stack of visited card request identities.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.2 (9.2 History)
    • Parents: WML-C-07
    • Requirements: RQ-RMK-003, RQ-WAE-016
    • Fixture: WML-FX-HISTORY-STACK-MODEL (state-machine, implemented)
  • WML-CL-IMAGE-ALT-FALLBACK — Render alt text when the image cannot be displayed because support, local data, or fetched content is unavailable.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.9 (11.9 Images)
    • Parents: WML-C-32, WML-C-54
    • Requirements: RQ-RMK-001, RQ-WAE-006, RQ-WAE-018
    • Fixture: WML-FX-IMAGE-ALT-FALLBACK (rendering, planned)
  • WML-CL-IMAGE-LOCAL-PRECEDENCE — Use an available localsrc representation before fetching the src resource.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.9 (11.9 Images)
    • Parents: WML-C-32
    • Requirements: RQ-RMK-001, RQ-WAE-006, RQ-WAE-018
    • Fixture: WML-FX-IMAGE-LOCAL-PRECEDENCE (rendering, planned)
  • WML-CL-IMAGE-REMOTE-FETCH — When images are supported and no usable local representation exists, fetch the src URI for rendering.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.9 (11.9 Images)
    • Parents: WML-C-32
    • Requirements: RQ-RMK-001, RQ-WAE-006, RQ-WAE-018
    • Fixture: WML-FX-IMAGE-REMOTE-FETCH (transport-boundary, planned)
  • WML-CL-IMAGE-STRUCTURE — Require alt and src on an empty img element and accept the declared optional image hints.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.9 (11.9 Images)
    • Parents: WML-C-32
    • Requirements: RQ-RMK-001, RQ-WAE-006, RQ-WAE-018
    • Fixture: WML-FX-IMAGE-STRUCTURE (parser, implemented)
  • WML-CL-IMAGE-TEXT-FLOW — Lay out an image within the surrounding text flow.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.9 (11.9 Images)
    • Parents: WML-C-32
    • Requirements: RQ-RMK-001, RQ-WAE-006, RQ-WAE-018
    • Fixture: WML-FX-IMAGE-TEXT-FLOW (rendering, planned)
  • WML-CL-INPUT-EMPTY-COMMIT — Accept an empty committed input only when the effective mask and emptyok rules allow it.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-EMPTY-COMMIT (runtime, implemented)
  • WML-CL-INPUT-FORMAT-LITERALS — Preserve escaped literal characters that form part of an accepted formatted input value.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-FORMAT-LITERALS (runtime, implemented)
  • WML-CL-INPUT-INITIALIZATION — Initialize each input from a valid existing name variable or a valid default value, then preload the control.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-INITIALIZATION (runtime, implemented)
  • WML-CL-INPUT-INVALID-INITIAL-VALUE — Unset an existing name value that violates the mask before attempting the declared default.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-INVALID-INITIAL-VALUE (runtime, implemented)
  • WML-CL-INPUT-MASK-COMMIT — At commit, accept only values conforming to the effective input mask.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-MASK-COMMIT (runtime, implemented)
  • WML-CL-INPUT-MAXLENGTH — Limit committed text to maxlength when that attribute is present.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-MAXLENGTH (runtime, implemented)
  • WML-CL-INPUT-PASSWORD-DISPLAY — Conceal the entered value when input type is password while preserving the actual variable value.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-PASSWORD-DISPLAY (rendering, implemented)
  • WML-CL-INPUT-REJECTION-ATOMICITY — On invalid input, notify the user, preserve the original variable value, and allow another entry attempt.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-REJECTION-ATOMICITY (runtime, implemented)
  • WML-CL-INPUT-STRUCTURE — Require an input variable name and constrain input attributes to the declared text-entry grammar.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-STRUCTURE (parser, implemented)
  • WML-CL-INTRINSIC-ATTRIBUTE-EQUIVALENCE — Treat intrinsic-event attributes as abbreviated onevent bindings with equivalent go-task behavior.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.10 (9.10 Intrinsic Events)
    • Parents: WML-C-09, WML-C-39
    • Requirements: RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-ATTRIBUTE-EQUIVALENCE (runtime, implemented)
  • WML-CL-INTRINSIC-CARD-OVERRIDES-TEMPLATE — Give a card-level forward-entry, backward-entry, or timer handler precedence over a template handler regardless of syntax.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.10.2 (9.10.2 Card/Deck Intrinsic Events)
    • Parents: WML-C-08, WML-C-09, WML-C-47
    • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-CARD-OVERRIDES-TEMPLATE (runtime, implemented)
  • WML-CL-INTRINSIC-CONFLICT-ERROR — Treat conflicting bindings for the same intrinsic event within one element as a deck error.
    • Family: wml; force: error-condition; level: required
    • Source: WAP-191_104-WML §9.10 (9.10 Intrinsic Events)
    • Parents: WML-C-09
    • Requirements: RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-CONFLICT-ERROR (error-policy, implemented)
  • WML-CL-INTRINSIC-EVENT-TYPES — Recognize timer, forward-entry, backward-entry, and option-pick intrinsic events on their defined elements.
    • Family: wml; force: table; level: required
    • Source: WAP-191_104-WML §9.10 (9.10 Intrinsic Events)
    • Parents: WML-C-09
    • Requirements: RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-EVENT-TYPES (runtime, implemented)
  • WML-CL-INTRINSIC-ILLEGAL-PARENT — Ignore onevent bindings whose event type is not legal for the immediately enclosing element.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.10.1 (9.10.1 The Onevent Element)
    • Parents: WML-C-09, WML-C-39
    • Requirements: RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-ILLEGAL-PARENT (error-policy, implemented)
  • WML-CL-INTRINSIC-SCOPE — Keep an intrinsic event binding active only within the element where it is declared.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.10 (9.10 Intrinsic Events)
    • Parents: WML-C-09, WML-C-39
    • Requirements: RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-SCOPE (runtime, implemented)
  • WML-CL-NAVIGATION-REFERENCE-MODEL — Implement inter-card traversal with behavior indistinguishable from the WML reference process.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.5 (12.5 Reference Processing Behaviour - Inter-card Navigation)
    • Parents: WML-C-18
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NAVIGATION-REFERENCE-MODEL (state-machine, implemented)
  • WML-CL-NEWCONTEXT-CLEAR-HISTORY — On newcontext initialization, clear navigation history.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-CLEAR-HISTORY (state-machine, implemented)
  • WML-CL-NEWCONTEXT-GO-ONLY — Apply newcontext only during go-task navigation into the destination card.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11, WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-GO-ONLY (state-machine, implemented)
  • WML-CL-NEWCONTEXT-RESET-PRIVATE-STATE — On newcontext initialization, reset implementation-specific context state to a documented initial value.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-RESET-PRIVATE-STATE (state-machine, implemented)
  • WML-CL-NEWCONTEXT-UNSET-VARIABLES — On newcontext initialization, remove all variables from the current browser context.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-UNSET-VARIABLES (state-machine, implemented)
  • WML-CL-NOOP-NO-PROCESSING — Perform no processing for a noop task.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.3 (12.5.3 The Noop Task)
    • Parents: WML-C-35
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-NOOP-NO-PROCESSING (runtime, implemented)
  • WML-CL-ONEVENT-SINGLE-TASK — Parse onevent as exactly one go, prev, noop, or refresh task associated with its immediately enclosing element.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.10.1 (9.10.1 The Onevent Element)
    • Parents: WML-C-39
    • Requirements: RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-ONEVENT-SINGLE-TASK (parser, implemented)
  • WML-CL-OPTION-ONPICK-MULTI — For multiple selection, dispatch onpick whenever the option is selected or deselected.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.2 (11.6.2.2 The Option Element)
    • Parents: WML-C-41, WML-C-09
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-OPTION-ONPICK-MULTI (runtime, implemented)
  • WML-CL-OPTION-ONPICK-SINGLE — For single selection, dispatch onpick for the newly selected option but not for implicit deselection.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.2 (11.6.2.2 The Option Element)
    • Parents: WML-C-41, WML-C-09
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-OPTION-ONPICK-SINGLE (runtime, implemented)
  • WML-CL-OPTION-VALUE-EVALUATION — Evaluate option value variable references before assigning the containing select name variable.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.2 (11.6.2.2 The Option Element)
    • Parents: WML-C-41, WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-OPTION-VALUE-EVALUATION (runtime, implemented)
  • WML-CL-PARAGRAPH-ALIGNMENT-DEFAULT — Default unspecified paragraph alignment to left.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PARAGRAPH-ALIGNMENT-DEFAULT (rendering, planned)
  • WML-CL-PARAGRAPH-EMPTY-IGNORED — Ignore empty or whitespace-only paragraphs without allowing them to alter inherited wrap state.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PARAGRAPH-EMPTY-IGNORED (rendering, planned)
  • WML-CL-PARAGRAPH-MODE-INHERITANCE — Inherit unspecified wrap mode from the previous significant paragraph and default the first paragraph to wrap.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PARAGRAPH-MODE-INHERITANCE (rendering, planned)
  • WML-CL-PARAGRAPH-NONBREAKING-SPACE — Do not treat non-breaking space as a legal inter-word line-break point.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36, WML-C-06
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-PARAGRAPH-NONBREAKING-SPACE (rendering, planned)
  • WML-CL-PARAGRAPH-SIGNIFICANT-BREAK — Insert a line break between significant paragraph elements.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PARAGRAPH-SIGNIFICANT-BREAK (rendering, planned)
  • WML-CL-PARAGRAPH-SOFT-HYPHEN — When breaking at a soft hyphen, render a hyphen at line end; otherwise do not render that character as ordinary text.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36, WML-C-06
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-PARAGRAPH-SOFT-HYPHEN (rendering, planned)
  • WML-CL-PARAGRAPH-WRAP-MODE — Apply wrap or nowrap behavior and provide a way to view complete non-wrapped lines.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.8.3 (11.8.3 Paragraphs)
    • Parents: WML-C-36
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PARAGRAPH-WRAP-MODE (rendering, planned)
  • WML-CL-POSTFIELD-REQUEST-PAIR — Submit each postfield as a name/value pair using the encoding selected by the enclosing go task.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.3 (9.3 The Postfield Element)
    • Parents: WML-C-37, WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-POSTFIELD-REQUEST-PAIR (transport-boundary, implemented)
  • WML-CL-POSTFIELD-STRUCTURE — Require postfield name and value attributes and treat both as variable-bearing data.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.3 (9.3 The Postfield Element)
    • Parents: WML-C-37
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-POSTFIELD-STRUCTURE (parser, implemented)
  • WML-CL-PREV-ASSIGNMENT-ORDER — For prev, snapshot setvar values, pop history, locate the destination, and then apply assignments.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.2 (12.5.2 The Prev Task)
    • Parents: WML-C-18, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-PREV-ASSIGNMENT-ORDER (state-machine, implemented)
  • WML-CL-PREV-EMPTY-HISTORY — Stop prev processing without a transition when the history stack has no prior card.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.2 (12.5.2 The Prev Task)
    • Parents: WML-C-18, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-PREV-EMPTY-HISTORY (state-machine, implemented)
  • WML-CL-PREV-ENTRY-EVENT-PRECEDENCE — Run a backward-entry handler before starting the restored card timer or displaying the card.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.2 (12.5.2 The Prev Task)
    • Parents: WML-C-09, WML-C-18, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-004
    • Fixture: WML-FX-PREV-ENTRY-EVENT-PRECEDENCE (state-machine, implemented)
  • WML-CL-PROLOGUE-REQUIRED — Require textual WML decks to contain both an XML declaration and a document type declaration; tokenized WBXML supplies equivalent header metadata at its boundary.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.1 (11.1 Document Prologue)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PROLOGUE-REQUIRED (parser, implemented)
  • WML-CL-REFERENCE-ENCODING-DETECTION — Determine textual WML character encoding using XML rules; do not use in-document meta fields as the encoding authority.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §6.1 (6.1 Reference Processing Model)
    • Parents: WML-C-05
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-REFERENCE-ENCODING-DETECTION (parser, planned)
  • WML-CL-REFERENCE-ENTITY-CHARSET — Process character entities in the document character set.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §6.1 (6.1 Reference Processing Model)
    • Parents: WML-C-05
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-REFERENCE-ENTITY-CHARSET (parser, planned)
  • WML-CL-REFERENCE-TRANSCODING-LOSS — Avoid transcoding when the user agent supports the original encoding and conversion would lose information.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §6.1 (6.1 Reference Processing Model)
    • Parents: WML-C-05
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-REFERENCE-TRANSCODING-LOSS (transport-boundary, planned)
  • WML-CL-REFERENCE-UNICODE-MAPPING — Map every character in each recognized source encoding to its Unicode character.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §6.1 (6.1 Reference Processing Model)
    • Parents: WML-C-05
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-REFERENCE-UNICODE-MAPPING (parser, planned)
  • WML-CL-REFERENCE-WBXML-PRECEDENCE — When WML is carried in WBXML, determine character encoding using the WBXML rules.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §6.1 (6.1 Reference Processing Model)
    • Parents: WML-C-05
    • Requirements: RQ-RMK-001, RQ-WAE-012
    • Fixture: WML-FX-REFERENCE-WBXML-PRECEDENCE (transport-boundary, planned)
  • WML-CL-REFRESH-ASSIGNMENTS — For refresh, resolve and apply every setvar assignment without changing cards.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.4 (12.5.4 The Refresh Task)
    • Parents: WML-C-18, WML-C-42
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-REFRESH-ASSIGNMENTS (state-machine, implemented)
  • WML-CL-REFRESH-REDISPLAY — Redisplay the current card from the updated variable state even when refresh contains no setvar elements.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.4 (12.5.4 The Refresh Task)
    • Parents: WML-C-18, WML-C-42
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-REFRESH-REDISPLAY (rendering, implemented)
  • WML-CL-REFRESH-TIMER-RESTART — Restart the current card timer during refresh after context updates.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.4 (12.5.4 The Refresh Task)
    • Parents: WML-C-18, WML-C-42, WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-003, RQ-RMK-004
    • Fixture: WML-FX-REFRESH-TIMER-RESTART (state-machine, implemented)
  • WML-CL-SELECT-DEFAULT-PRECEDENCE — Choose initial selections in iname, ivalue, name, value, then single/multiple fallback order.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-DEFAULT-PRECEDENCE (runtime, implemented)
  • WML-CL-SELECT-INDEX-VALIDATION — Validate selection indices by removing non-integers, out-of-range entries, and duplicates.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-INDEX-VALIDATION (runtime, implemented)
  • WML-CL-SELECT-INIT-ORDER — Initialize input and select controls in document order when entering the card.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43, WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-INIT-ORDER (runtime, implemented)
  • WML-CL-SELECT-MULTI-SERIALIZATION — Serialize multiple results as semicolon-delimited lists with unique indices, duplicate non-empty values preserved, and no empty value entries.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-MULTI-SERIALIZATION (runtime, implemented)
  • WML-CL-SELECT-NO-IMPLICIT-REFRESH — Do not create display side effects from select-variable updates without an explicit refresh task.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-NO-IMPLICIT-REFRESH (rendering, implemented)
  • WML-CL-SELECT-PRESELECTION — Deselect all options and then select every positive validated default index.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-PRESELECTION (runtime, implemented)
  • WML-CL-SELECT-SINGLE-MULTI-MODE — Allow one selected option by default and multiple selections only when multiple is true.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-SINGLE-MULTI-MODE (runtime, implemented)
  • WML-CL-SELECT-STRUCTURE — Require one or more option or optgroup children in each select element.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-STRUCTURE (parser, implemented)
  • WML-CL-SELECT-USER-UPDATE — Update name and iname after user selection changes and again before every task invocation.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-USER-UPDATE (runtime, implemented)
  • WML-CL-SELECT-VARIABLE-INITIALIZATION — Initialize name from selected option values and iname from the validated selected indices.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-VARIABLE-INITIALIZATION (runtime, implemented)
  • WML-CL-SETVAR-INVALID-NAME-IGNORED — Ignore a setvar whose evaluated name is not a legal WML variable name.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.4 (9.4 The Setvar Element)
    • Parents: WML-C-52
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SETVAR-INVALID-NAME-IGNORED (runtime, implemented)
  • WML-CL-SETVAR-STRUCTURE — Require setvar name and value attributes and no child content.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.4 (9.4 The Setvar Element)
    • Parents: WML-C-52
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SETVAR-STRUCTURE (parser, implemented)
  • WML-CL-SETVAR-TASK-SIDE-EFFECT — Apply a valid setvar assignment only as a side effect of executing its containing task.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.4 (9.4 The Setvar Element)
    • Parents: WML-C-52
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SETVAR-TASK-SIDE-EFFECT (state-machine, implemented)
  • WML-CL-SHADOW-ACTIVE-SET — Build the active event set from non-noop card bindings plus unshadowed non-noop template bindings.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SHADOW-ACTIVE-SET (runtime, implemented)
  • WML-CL-SHADOW-CARD-PRECEDENCE — A matching card-level event binding overrides its template-level binding.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08, WML-C-47
    • Requirements: RQ-RMK-001, RQ-RMK-002
    • Fixture: WML-FX-SHADOW-CARD-PRECEDENCE (runtime, implemented)
  • WML-CL-SHADOW-MATCHING — Match card and template onevent bindings by event type and do bindings by effective name for shadowing.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08, WML-C-47
    • Requirements: RQ-RMK-001, RQ-RMK-002
    • Fixture: WML-FX-SHADOW-MATCHING (runtime, implemented)
  • WML-CL-SHADOW-NOOP-MASK — A noop binding masks its event without exposing an activatable action or producing task side effects.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08, WML-C-35
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SHADOW-NOOP-MASK (runtime, implemented)
  • WML-CL-TABLE-ALIGNMENT-DESIGNATORS — Apply column alignment designators in order, default missing or unknown designators, and ignore extras.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-ALIGNMENT-DESIGNATORS (rendering, planned)
  • WML-CL-TABLE-EXACT-COLUMNS — Create exactly the positive number of columns declared by the required columns attribute.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-EXACT-COLUMNS (rendering, planned)
  • WML-CL-TABLE-LONG-ROW-AGGREGATION — Merge excess cells into the final declared column and place one inter-word space between merged cells.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46, WML-C-50
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-LONG-ROW-AGGREGATION (rendering, planned)
  • WML-CL-TABLE-NONZERO-GUTTER — When using traditional tabular layout, separate adjacent non-empty columns with a non-zero gutter.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-NONZERO-GUTTER (rendering, planned)
  • WML-CL-TABLE-SHORT-ROW-PADDING — Pad a row containing too few cells with significant empty cells.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46, WML-C-50
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-SHORT-ROW-PADDING (rendering, planned)
  • WML-CL-TABLE-STRUCTURE — Require one or more tr children and prohibit nested table elements.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-STRUCTURE (parser, implemented)
  • WML-CL-TASK-FAILURE-ATOMICITY — On fetch or access-control failure, notify the user and preserve the invoking card, context, pending assignments, and event state.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.5.5 (12.5.5 Task Execution Failure)
    • Parents: WML-C-16, WML-C-18, WML-C-29, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-012
    • Fixture: WML-FX-TASK-FAILURE-ATOMICITY (error-policy, implemented)
  • WML-CL-TD-EMPTY-SIGNIFICANT — Preserve empty table cells during layout.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.7 (11.8.7 The Td Element)
    • Parents: WML-C-49
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TD-EMPTY-SIGNIFICANT (rendering, planned)
  • WML-CL-TD-STRUCTURE — Restrict table-cell content to the declared text, layout, image, and anchor element set.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.8.7 (11.8.7 The Td Element)
    • Parents: WML-C-49
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TD-STRUCTURE (parser, implemented)
  • WML-CL-TEMPLATE-APPLIES-ALL-CARDS — Apply each template event binding as though it were declared in every card unless shadowed.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.4 (11.4 The Template Element)
    • Parents: WML-C-47
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TEMPLATE-APPLIES-ALL-CARDS (runtime, implemented)
  • WML-CL-TEMPLATE-STRUCTURE — Parse template as zero or more do or onevent bindings plus card-event attributes.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.4 (11.4 The Template Element)
    • Parents: WML-C-47
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TEMPLATE-STRUCTURE (parser, implemented)
  • WML-CL-TIMER-EVENT-TRANSITION — Dispatch ontimer when a running timer transitions from one to zero while its card remains active.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48, WML-C-09
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-EVENT-TRANSITION (state-machine, implemented)
  • WML-CL-TIMER-INITIAL-VALUE-PRECEDENCE — Initialize a named timer from its set variable, otherwise from value; always use value when no name is declared.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-INITIAL-VALUE-PRECEDENCE (state-machine, implemented)
  • WML-CL-TIMER-INVALID-VALUE — Ignore a timer whose resolved timeout is not a non-negative integer, with zero disabling it.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-INVALID-VALUE (runtime, implemented)
  • WML-CL-TIMER-NAME-PERSISTENCE — Store the current timer value in its name variable on card exit or expiration.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-NAME-PERSISTENCE (state-machine, implemented)
  • WML-CL-TIMER-REFRESH-RESUME — Treat refresh as timer exit and re-entry: stop and persist the current value, update context, then resume.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48, WML-C-42
    • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-TIMER-REFRESH-RESUME (state-machine, implemented)
  • WML-CL-TIMER-SINGLE-PER-CARD — Reject a card containing more than one timer element.
    • Family: wml; force: error-condition; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-SINGLE-PER-CARD (parser, implemented)
  • WML-CL-TIMER-START-STOP — Initialize and start the timer on card entry and stop it on card exit.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-START-STOP (state-machine, implemented)
  • WML-CL-TIMER-UNITS — Interpret timer values in tenths of a second without requiring a particular scheduling resolution.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.7 (11.7 The Timer Element)
    • Parents: WML-C-48
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-TIMER-UNITS (runtime, implemented)
  • WML-CL-TR-EMPTY-SIGNIFICANT — Preserve a row whose cells are all empty.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.8.6 (11.8.6 The Tr Element)
    • Parents: WML-C-50
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TR-EMPTY-SIGNIFICANT (rendering, planned)
  • WML-CL-TR-STRUCTURE — Require one or more td children in each table row.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.8.6 (11.8.6 The Tr Element)
    • Parents: WML-C-50
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TR-STRUCTURE (parser, implemented)
  • WML-CL-UNKNOWN-CONTENT-PRESERVED — Continue rendering recognized content nested inside an unrecognized element.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §12.4 (12.4 Unknown DTD)
    • Parents: WML-C-17
    • Requirements: RQ-RMK-009
    • Fixture: WML-FX-UNKNOWN-CONTENT-PRESERVED (rendering, implemented)
  • WML-CL-UNKNOWN-MARKUP-IGNORED — For an alternate DTD, ignore unrecognized element tags and attributes during presentation.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §12.4 (12.4 Unknown DTD)
    • Parents: WML-C-17
    • Requirements: RQ-RMK-009
    • Fixture: WML-FX-UNKNOWN-MARKUP-IGNORED (parser, implemented)
  • WML-CL-VARIABLE-COMMIT-BEFORE-TASK — Commit input and selection variables before invoking any task.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.3.4 (10.3.4 Setting Variables)
    • Parents: WML-C-12, WML-C-33, WML-C-43
    • Requirements: RQ-RMK-001, RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-COMMIT-BEFORE-TASK (runtime, implemented)
  • WML-CL-VARIABLE-CONVERSION-MODES — Implement no-escape, URL-escape, and URL-unescape substitution conversions without mutating the stored value.
    • Family: wml; force: table; level: required
    • Source: WAP-191_104-WML §10.3.1 (10.3.1 Variable Substitution)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-CONVERSION-MODES (runtime, implemented)
  • WML-CL-VARIABLE-DEFAULT-CONVERSION — Default HREF substitutions to URL escaping and other substitution contexts to no conversion.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.3.1 (10.3.1 Variable Substitution)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-DEFAULT-CONVERSION (runtime, implemented)
  • WML-CL-VARIABLE-DOLLAR-ESCAPE — Interpret two consecutive dollar signs as one literal dollar sign in WML text and CDATA values.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.3.3 (10.3.3 The Dollar-sign Character)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-DOLLAR-ESCAPE (parser, implemented)
  • WML-CL-VARIABLE-NAME-GRAMMAR — Enforce the WML variable-name grammar and case sensitivity.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §10.3.1 (10.3.1 Variable Substitution)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-NAME-GRAMMAR (parser, implemented)
  • WML-CL-VARIABLE-PARSE-PRECEDENCE — Parse XML and entity syntax before parsing WML variable-substitution syntax.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.3.2 (10.3.2 Parsing the Variable Substitution Syntax)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-PARSE-PRECEDENCE (parser, implemented)
  • WML-CL-VARIABLE-REFERENCE-VALIDATION — Reject a deck when a variable reference has invalid syntax or appears outside a permitted text or attribute location.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.3.5 (10.3.5 Validation)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-REFERENCE-VALIDATION (error-policy, implemented)
  • WML-CL-VARIABLE-SET-DEFINITION — Treat a variable as set only when its current value is known and non-empty.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.3 (10.3 Variables)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-SET-DEFINITION (runtime, implemented)
  • WML-CL-VARIABLE-SUBSTITUTION-LOCATIONS — Allow runtime variable substitution in card text and in attributes typed as vdata or HREF, but not as markup.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.3.1 (10.3.1 Variable Substitution)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-SUBSTITUTION-LOCATIONS (parser, implemented)
  • WML-CL-VARIABLE-TASK-SNAPSHOT — Evaluate task setvar names and values before applying the resulting assignments to the browser context.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.3.4 (10.3.4 Setting Variables)
    • Parents: WML-C-12, WML-C-18, WML-C-29, WML-C-38, WML-C-42, WML-C-52
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-TASK-SNAPSHOT (state-machine, implemented)
  • WML-CL-VARIABLE-UNDEFINED-EMPTY — Substitute an empty string for a referenced variable that is unset or undefined.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.3.1 (10.3.1 Variable Substitution)
    • Parents: WML-C-12
    • Requirements: RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-UNDEFINED-EMPTY (runtime, implemented)
  • WML-CL-WML-ROOT-DECK-SCOPE — Treat the wml element as the enclosing scope for every card and all deck-level information.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-DECK-SCOPE (parser, implemented)
  • WML-CL-WML-ROOT-LANGUAGE — Apply optional root language metadata as the deck language input to inherited language resolution.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-LANGUAGE (runtime, implemented)
  • WML-CL-WML-ROOT-STRUCTURE — Require a wml root containing optional head, optional template, and one or more cards in that order.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-STRUCTURE (parser, implemented)

WML-202

  • WML-CL-ACCESS-ABSENT-ALLOWS — When no access element is present, allow referrals from any deck.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-ABSENT-ALLOWS (security-policy, implemented)
  • WML-CL-ACCESS-COMPONENT-MATCH — Match domains by complete suffix components and paths by complete prefix components.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-COMPONENT-MATCH (security-policy, implemented)
  • WML-CL-ACCESS-DEFAULTS — Default an omitted access domain to the current deck domain and an omitted path to slash.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-DEFAULTS (security-policy, implemented)
  • WML-CL-ACCESS-REFERRER-MATCH — Require a referring URI to satisfy each declared domain and path restriction.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-REFERRER-MATCH (security-policy, implemented)
  • WML-CL-ACCESS-RELATIVE-PATH — Resolve a relative access path to an absolute path before applying the prefix check.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-RELATIVE-PATH (security-policy, implemented)
  • WML-CL-ACCESS-SINGLE-ELEMENT — Reject a deck containing more than one access element.
    • Family: wml; force: error-condition; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-SINGLE-ELEMENT (parser, implemented)
  • WML-CL-ACCESS-URL-CASE-RULES — Apply URL component capitalization rules when evaluating domain and path restrictions.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3.1 (11.3.1 The Access Element)
    • Parents: WML-C-21
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-ACCESS-URL-CASE-RULES (security-policy, implemented)
  • WML-CL-CARD-COLLECTION — Represent a WML deck as a collection containing at least one card.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.5 (11.5 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-COLLECTION (parser, implemented)
  • WML-CL-CARD-CONTENT-ORDER — Preserve significant card element order during presentation.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-CONTENT-ORDER (rendering, implemented)
  • WML-CL-CARD-CONTEXT-ATTRIBUTE — Apply the card newcontext flag when entering through the defined go process.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25, WML-C-11
    • Requirements: RQ-RMK-001, RQ-RMK-003
    • Fixture: WML-FX-CARD-CONTEXT-ATTRIBUTE (state-machine, implemented)
  • WML-CL-CARD-STRUCTURE — Enforce card child ordering: event handlers, optional timer, then declared action or flow content.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-STRUCTURE (parser, implemented)
  • WML-CL-DO-EFFECTIVE-NAME — Use the declared do name for binding identity and default a missing name to the type value.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26, WML-C-08
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-EFFECTIVE-NAME (runtime, implemented)
  • WML-CL-DO-INACTIVE-HIDDEN — Do not expose an inactive do in a form the user can activate.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26, WML-C-08
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-INACTIVE-HIDDEN (rendering, implemented)
  • WML-CL-GO-ACCESS-BEFORE-TRANSITION — Evaluate destination-deck access control before committing the card transition.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §12.5.1 (12.5.1 The Go Task)
    • Parents: WML-C-14, WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-011
    • Fixture: WML-FX-GO-ACCESS-BEFORE-TRANSITION (security-policy, implemented)
  • WML-CL-HEAD-DECK-SCOPE — Treat head children as metadata and access-control information for the whole deck.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.3 (11.3 The Head Element)
    • Parents: WML-C-30
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-HEAD-DECK-SCOPE (parser, implemented)
  • WML-CL-HEAD-STRUCTURE — When head is present, require one or more access or meta children.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.3 (11.3 The Head Element)
    • Parents: WML-C-30
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-HEAD-STRUCTURE (parser, implemented)
  • WML-CL-INTRINSIC-CARD-OVERRIDES-TEMPLATE — Give a card-level forward-entry, backward-entry, or timer handler precedence over a template handler regardless of syntax.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.10.2 (9.10.2 Card/Deck Intrinsic Events)
    • Parents: WML-C-08, WML-C-09, WML-C-47
    • Requirements: RQ-RMK-001, RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-INTRINSIC-CARD-OVERRIDES-TEMPLATE (runtime, implemented)
  • WML-CL-NEWCONTEXT-CLEAR-HISTORY — On newcontext initialization, clear navigation history.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-CLEAR-HISTORY (state-machine, implemented)
  • WML-CL-NEWCONTEXT-GO-ONLY — Apply newcontext only during go-task navigation into the destination card.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11, WML-C-18, WML-C-29
    • Requirements: RQ-RMK-002, RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-GO-ONLY (state-machine, implemented)
  • WML-CL-NEWCONTEXT-RESET-PRIVATE-STATE — On newcontext initialization, reset implementation-specific context state to a documented initial value.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-RESET-PRIVATE-STATE (state-machine, implemented)
  • WML-CL-NEWCONTEXT-UNSET-VARIABLES — On newcontext initialization, remove all variables from the current browser context.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.2 (10.2 The Newcontext Attribute)
    • Parents: WML-C-11
    • Requirements: RQ-RMK-003
    • Fixture: WML-FX-NEWCONTEXT-UNSET-VARIABLES (state-machine, implemented)
  • WML-CL-SHADOW-ACTIVE-SET — Build the active event set from non-noop card bindings plus unshadowed non-noop template bindings.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SHADOW-ACTIVE-SET (runtime, implemented)
  • WML-CL-SHADOW-CARD-PRECEDENCE — A matching card-level event binding overrides its template-level binding.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08, WML-C-47
    • Requirements: RQ-RMK-001, RQ-RMK-002
    • Fixture: WML-FX-SHADOW-CARD-PRECEDENCE (runtime, implemented)
  • WML-CL-SHADOW-MATCHING — Match card and template onevent bindings by event type and do bindings by effective name for shadowing.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08, WML-C-47
    • Requirements: RQ-RMK-001, RQ-RMK-002
    • Fixture: WML-FX-SHADOW-MATCHING (runtime, implemented)
  • WML-CL-SHADOW-NOOP-MASK — A noop binding masks its event without exposing an activatable action or producing task side effects.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §9.6 (9.6 Card/Deck Task Shadowing)
    • Parents: WML-C-08, WML-C-35
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SHADOW-NOOP-MASK (runtime, implemented)
  • WML-CL-TEMPLATE-APPLIES-ALL-CARDS — Apply each template event binding as though it were declared in every card unless shadowed.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.4 (11.4 The Template Element)
    • Parents: WML-C-47
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TEMPLATE-APPLIES-ALL-CARDS (runtime, implemented)
  • WML-CL-TEMPLATE-STRUCTURE — Parse template as zero or more do or onevent bindings plus card-event attributes.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.4 (11.4 The Template Element)
    • Parents: WML-C-47
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TEMPLATE-STRUCTURE (parser, implemented)
  • WML-CL-WML-ROOT-DECK-SCOPE — Treat the wml element as the enclosing scope for every card and all deck-level information.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-DECK-SCOPE (parser, implemented)
  • WML-CL-WML-ROOT-LANGUAGE — Apply optional root language metadata as the deck language input to inherited language resolution.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-LANGUAGE (runtime, implemented)
  • WML-CL-WML-ROOT-STRUCTURE — Require a wml root containing optional head, optional template, and one or more cards in that order.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-STRUCTURE (parser, implemented)

WML-203

  • WBXML-CL-ATTRIBUTE-LITERAL-VALUE-PROHIBITION — Do not interpret LITERAL as encoding any portion of an attribute value.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.8.3 (5.8.3. Attribute Code Space (ATTRSTART and ATTRVALUE))
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-ATTRIBUTE-LITERAL-VALUE-PROHIBITION (binary-decoder, implemented)
  • WBXML-CL-ATTRIBUTE-SEQUENCE — Start every encoded attribute with one attribute-start token and terminate its value at the next start, literal, or END token.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.8.3 (5.8.3. Attribute Code Space (ATTRSTART and ATTRVALUE))
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-ATTRIBUTE-SEQUENCE (binary-decoder, implemented)
  • WBXML-CL-ATTRIBUTE-START-RANGE — Interpret non-global attribute tokens below 128 as attribute starts that may include a value prefix.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.3 (5.8.3. Attribute Code Space (ATTRSTART and ATTRVALUE))
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-ATTRIBUTE-START-RANGE (binary-decoder, implemented)
  • WBXML-CL-ATTRIBUTE-VALUE-RANGE — Interpret non-global attribute tokens at or above 128 only as known attribute-value fragments.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.3 (5.8.3. Attribute Code Space (ATTRSTART and ATTRVALUE))
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-ATTRIBUTE-VALUE-RANGE (binary-decoder, implemented)
  • WBXML-CL-BINARY-LITERAL-EQUIVALENCE — Decode both assigned binary tokens and literal encodings for every tag name, attribute name, and attribute value.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §6.4 (6.4. Associating XML Documents with WBXML Token Values)
    • Parents: WBXML-C-011
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-BINARY-LITERAL-EQUIVALENCE (binary-decoder, implemented)
  • WBXML-CL-CHARSET-EXTERNAL-PRECEDENCE — When external and internal charset metadata coexist, apply the precedence and conflict policy of the carrying protocol.
    • Family: wbxml; force: explicit-should; level: recommended
    • Source: WAP-192-WBXML §5.2 (5.2. Character Encoding)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-CHARSET-EXTERNAL-PRECEDENCE (transport-boundary, implemented)
  • WBXML-CL-CHARSET-INTERNAL-DEFAULT — Without external charset metadata, present strings using the encoding named by the WBXML charset field.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.2 (5.2. Character Encoding)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-CHARSET-INTERNAL-DEFAULT (binary-decoder, implemented)
  • WBXML-CL-CHARSET-MIBENUM — Interpret the charset field as an IANA MIBenum value, with zero meaning unknown.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.6 (5.6. Charset)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-CHARSET-MIBENUM (binary-decoder, implemented)
  • WBXML-CL-CHARSET-STRING-TERMINATION — Detect string termination according to the selected character encoding rather than assuming a one-byte terminator.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.2 (5.2. Character Encoding)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-CHARSET-STRING-TERMINATION (binary-decoder, implemented)
  • WBXML-CL-DEFAULT-ATTRIBUTES-OMITTED — Accept tokenized elements that omit attributes equal to declared default, fixed, or applicable implied values.
    • Family: wbxml; force: explicit-may; level: permitted
    • Source: WAP-192-WBXML §6.3 (6.3. Encoding Default Attribute Values)
    • Parents: WBXML-C-010
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-DEFAULT-ATTRIBUTES-OMITTED (binary-decoder, implemented)
  • WBXML-CL-DEFAULT-ATTRIBUTES-RECONSTRUCTED — Reconstruct omitted attribute values from the version-appropriate document-type defaults before presenting the decoded XML model.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §6.3 (6.3. Encoding Default Attribute Values)
    • Parents: WBXML-C-010
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-DEFAULT-ATTRIBUTES-RECONSTRUCTED (binary-decoder, implemented)
  • WBXML-CL-DOCUMENT-BODY-GRAMMAR — Enforce the WBXML element, attribute, content, string, entity, processing-instruction, extension, and opaque-data grammar.
    • Family: wbxml; force: grammar; level: required
    • Source: WAP-192-WBXML §5.3 (5.3. BNF for Document Structure)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-DOCUMENT-BODY-GRAMMAR (binary-decoder, implemented)
  • WBXML-CL-DOCUMENT-HEADER-ORDER — Decode each document in version, public identifier, charset, string-table, then body order.
    • Family: wbxml; force: grammar; level: required
    • Source: WAP-192-WBXML §5.3 (5.3. BNF for Document Structure)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-DOCUMENT-HEADER-ORDER (binary-decoder, implemented)
  • WBXML-CL-EMPTY-ATTRIBUTE-STRING — Recognize an explicitly encoded empty string in attribute-value contexts where the application defines no other encoding.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.1 (5.8.4.1. Strings)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-EMPTY-ATTRIBUTE-STRING (binary-decoder, implemented)
  • WBXML-CL-END-TOKEN — Use END to terminate the current attribute list or element as determined by parser state.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.7.1 (5.8.4.7.1. END Token)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-END-TOKEN (binary-decoder, implemented)
  • WBXML-CL-ENTITY-UCS4 — Decode ENTITY followed by a multi-byte UCS-4 character value with XML numeric-entity semantics.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.3 (5.8.4.3. Character Entity)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-ENTITY-UCS4 (binary-decoder, implemented)
  • WBXML-CL-EXTENSION-SWITCH-CONTEXT — Apply a switch preceding an extension to the tag page in content and the attribute page in an attribute list.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.2 (5.8.4.2. Global Extension Tokens)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-EXTENSION-SWITCH-CONTEXT (binary-decoder, implemented)
  • WBXML-CL-EXTENSION-TOKEN-FORMS — Decode single-byte, inline-string, and inline-integer extension token forms.
    • Family: wbxml; force: grammar; level: required
    • Source: WAP-192-WBXML §5.8.4.2 (5.8.4.2. Global Extension Tokens)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-EXTENSION-TOKEN-FORMS (binary-decoder, implemented)
  • WBXML-CL-EXTERNAL-TOKEN-TYPING — Use an external typing system to associate an XML document family with its WBXML token values.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §6.4 (6.4. Associating XML Documents with WBXML Token Values)
    • Parents: WBXML-C-011
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-EXTERNAL-TOKEN-TYPING (transport-boundary, implemented)
  • WBXML-CL-GLOBAL-TOKEN-INVARIANCE — Give each global token the same structure and meaning in every code space and page.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4 (5.8.4. Global Tokens)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-GLOBAL-TOKEN-INVARIANCE (binary-decoder, implemented)
  • WBXML-CL-INLINE-STRING — Decode STR_I as encoding-dependent terminated inline character data.
    • Family: wbxml; force: grammar; level: required
    • Source: WAP-192-WBXML §5.8.4.1 (5.8.4.1. Strings)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-INLINE-STRING (binary-decoder, implemented)
  • WBXML-CL-LITERAL-NAME-STATE — Interpret a LITERAL name as a tag or attribute according to parser state and resolve its name through the string table.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.5 (5.8.4.5. Literal Tag or Attribute Name)
    • Parents: WBXML-C-001, WBXML-C-011
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-LITERAL-NAME-STATE (binary-decoder, implemented)
  • WBXML-CL-LITERAL-TAG-FLAGS — Honor the attribute and content flags encoded by LITERAL_A, LITERAL_C, and LITERAL_AC.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.5 (5.8.4.5. Literal Tag or Attribute Name)
    • Parents: WBXML-C-001, WBXML-C-011
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-LITERAL-TAG-FLAGS (binary-decoder, implemented)
  • WBXML-CL-MIME-TOKEN-TYPING — For WSP, HTTP, or SMTP transport, use the MIME media type as the token-value association key.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §6.4 (6.4. Associating XML Documents with WBXML Token Values)
    • Parents: WBXML-C-011
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-MIME-TOKEN-TYPING (transport-boundary, implemented)
  • WBXML-CL-MULTIBYTE-CONTINUATION — Decode a multi-byte integer from seven-bit groups whose high bit marks every non-final octet.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.1 (5.1. Multi-byte Integers)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-MULTIBYTE-CONTINUATION (binary-decoder, implemented)
  • WBXML-CL-MULTIBYTE-GROUP-ORDER — Combine multi-byte integer groups in most-significant-group-first order.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.1 (5.1. Multi-byte Integers)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-MULTIBYTE-GROUP-ORDER (binary-decoder, implemented)
  • WBXML-CL-MULTIBYTE-UNUSED-ZERO — Require unused value bits in the initial multi-byte integer octet to be zero.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.1 (5.1. Multi-byte Integers)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-MULTIBYTE-UNUSED-ZERO (binary-decoder, implemented)
  • WBXML-CL-NETWORK-BYTE-ORDER — Decode multi-byte fields and bit fields using the specified most-significant-first network ordering.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5 (5. Binary XML Content Structure)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-NETWORK-BYTE-ORDER (binary-decoder, implemented)
  • WBXML-CL-OPAQUE-LENGTH — Decode OPAQUE as a multi-byte length followed by exactly that many application-specific bytes.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.6 (5.8.4.6. Opaque Data)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-OPAQUE-LENGTH (binary-decoder, implemented)
  • WBXML-CL-PARSER-STATE-PAGES — Maintain separate current code pages for tag and attribute parser states, each initialized to page zero.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.1 (5.8.1. Parser State Machine)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-PARSER-STATE-PAGES (binary-decoder, implemented)
  • WBXML-CL-PARSER-SWITCH-PERSISTENCE — Keep a selected code page active for its parser state until another switch in that state or document end.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.1 (5.8.1. Parser State Machine)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-PARSER-SWITCH-PERSISTENCE (binary-decoder, implemented)
  • WBXML-CL-PROCESSING-INSTRUCTION — Decode PI target and optional value using attribute-start/value syntax terminated by END.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.4 (5.8.4.4. Processing Instruction)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-PROCESSING-INSTRUCTION (binary-decoder, implemented)
  • WBXML-CL-PUBLIC-ID-NUMERIC — Accept a positive multi-byte numeric public identifier for a known document type.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.5 (5.5. Document Public Identifier)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-PUBLIC-ID-NUMERIC (binary-decoder, implemented)
  • WBXML-CL-PUBLIC-ID-STRING-TABLE — When public identifier is zero, resolve its following index through the string table.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.5 (5.5. Document Public Identifier)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-PUBLIC-ID-STRING-TABLE (binary-decoder, implemented)
  • WBXML-CL-STRING-TABLE-LENGTH — Treat string-table length as its byte count excluding the encoded length field.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.7 (5.7. String Table)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-STRING-TABLE-LENGTH (binary-decoder, implemented)
  • WBXML-CL-STRING-TABLE-OFFSETS — Resolve string-table references as byte offsets from the first table byte.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.7 (5.7. String Table)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-STRING-TABLE-OFFSETS (binary-decoder, implemented)
  • WBXML-CL-STRING-TABLE-REQUIRED — Read a string-table length immediately after charset even when the table is empty.
    • Family: wbxml; force: explicit-must; level: required
    • Source: WAP-192-WBXML §5.7 (5.7. String Table)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-STRING-TABLE-REQUIRED (binary-decoder, implemented)
  • WBXML-CL-SWITCH-PAGE-TOKEN — Decode SWITCH_PAGE and its following page byte for the current parser state.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.4.7.2 (5.8.4.7.2. Code Page Switch Token)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-SWITCH-PAGE-TOKEN (binary-decoder, implemented)
  • WBXML-CL-TABLE-STRING — Decode STR_T as a multi-byte byte offset into the string table.
    • Family: wbxml; force: grammar; level: required
    • Source: WAP-192-WBXML §5.8.4.1 (5.8.4.1. Strings)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TABLE-STRING (binary-decoder, implemented)
  • WBXML-CL-TAG-ATTRIBUTE-BIT — Use tag bit seven to determine whether an END-terminated attribute list follows.
    • Family: wbxml; force: table; level: required
    • Source: WAP-192-WBXML §5.8.2 (5.8.2. Tag Code Space)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TAG-ATTRIBUTE-BIT (binary-decoder, implemented)
  • WBXML-CL-TAG-ATTRIBUTES-BEFORE-CONTENT — When a tag has attributes and content, decode the complete attribute list before content.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8.2 (5.8.2. Tag Code Space)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TAG-ATTRIBUTES-BEFORE-CONTENT (binary-decoder, implemented)
  • WBXML-CL-TAG-CONTENT-BIT — Use tag bit six to determine whether content and its terminating END follow.
    • Family: wbxml; force: table; level: required
    • Source: WAP-192-WBXML §5.8.2 (5.8.2. Tag Code Space)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TAG-CONTENT-BIT (binary-decoder, implemented)
  • WBXML-CL-TAG-IDENTITY-BITS — Use tag bits zero through five as the application tag identity.
    • Family: wbxml; force: table; level: required
    • Source: WAP-192-WBXML §5.8.2 (5.8.2. Tag Code Space)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TAG-IDENTITY-BITS (binary-decoder, implemented)
  • WBXML-CL-TOKEN-CODE-PAGES — Support 256 code pages per code space and reserve page 255 for implementation-specific use.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8 (5.8. Token Structure)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TOKEN-CODE-PAGES (binary-decoder, implemented)
  • WBXML-CL-TOKEN-GLOBAL-APPLICATION-SPACES — Distinguish fixed global tokens from context-dependent application tokens.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8 (5.8. Token Structure)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TOKEN-GLOBAL-APPLICATION-SPACES (binary-decoder, implemented)
  • WBXML-CL-TOKEN-TAG-ATTRIBUTE-SPACES — Interpret application token values in separate tag and attribute code spaces.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.8 (5.8. Token Structure)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-TOKEN-TAG-ATTRIBUTE-SPACES (binary-decoder, implemented)
  • WBXML-CL-VERSION-BYTE — Decode the initial version byte as major-minus-one in the high nibble and minor version in the low nibble.
    • Family: wbxml; force: implicit-must; level: required
    • Source: WAP-192-WBXML §5.4 (5.4. Version Number)
    • Parents: WBXML-C-001
    • Requirements: RQ-RMK-007, RQ-RMK-010
    • Fixture: WBXML-FX-VERSION-BYTE (binary-decoder, implemented)
  • WML-CL-A-REQUIRED-TARGET — Require an HREF target on each a element and restrict its child content to the declared inline set.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.9 (9.9 The A Element)
    • Parents: WML-C-19
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-A-REQUIRED-TARGET (parser, implemented)
  • WML-CL-ANCHOR-STRUCTURE — Parse anchor content with exactly one go, prev, or refresh task.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.8 (9.8 The Anchor Element)
    • Parents: WML-C-20
    • Requirements: RQ-RMK-006
    • Fixture: WML-FX-ANCHOR-STRUCTURE (parser, implemented)
  • WML-CL-CARD-CONTENT-ORDER — Preserve significant card element order during presentation.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-CONTENT-ORDER (rendering, implemented)
  • WML-CL-CARD-STRUCTURE — Enforce card child ordering: event handlers, optional timer, then declared action or flow content.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.5.2 (11.5.2 The Card Element)
    • Parents: WML-C-25
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-CARD-STRUCTURE (parser, implemented)
  • WML-CL-DO-STRUCTURE — Parse do as exactly one task with a required type and optional label, name, optionality, and language metadata.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.7 (9.7 The Do Element)
    • Parents: WML-C-26
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-DO-STRUCTURE (parser, implemented)
  • WML-CL-GO-STRUCTURE — Parse go with a required target, declared request attributes, and zero or more postfield or setvar children.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.5.1 (9.5.1 The Go Element)
    • Parents: WML-C-29
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-GO-STRUCTURE (parser, implemented)
  • WML-CL-HEAD-STRUCTURE — When head is present, require one or more access or meta children.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.3 (11.3 The Head Element)
    • Parents: WML-C-30
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-HEAD-STRUCTURE (parser, implemented)
  • WML-CL-IMAGE-STRUCTURE — Require alt and src on an empty img element and accept the declared optional image hints.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.9 (11.9 Images)
    • Parents: WML-C-32
    • Requirements: RQ-RMK-001, RQ-WAE-006, RQ-WAE-018
    • Fixture: WML-FX-IMAGE-STRUCTURE (parser, implemented)
  • WML-CL-INPUT-STRUCTURE — Require an input variable name and constrain input attributes to the declared text-entry grammar.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-STRUCTURE (parser, implemented)
  • WML-CL-ONEVENT-SINGLE-TASK — Parse onevent as exactly one go, prev, noop, or refresh task associated with its immediately enclosing element.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.10.1 (9.10.1 The Onevent Element)
    • Parents: WML-C-39
    • Requirements: RQ-RMK-002, RQ-RMK-004
    • Fixture: WML-FX-ONEVENT-SINGLE-TASK (parser, implemented)
  • WML-CL-POSTFIELD-STRUCTURE — Require postfield name and value attributes and treat both as variable-bearing data.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.3 (9.3 The Postfield Element)
    • Parents: WML-C-37
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-POSTFIELD-STRUCTURE (parser, implemented)
  • WML-CL-PROLOGUE-REQUIRED — Require textual WML decks to contain both an XML declaration and a document type declaration; tokenized WBXML supplies equivalent header metadata at its boundary.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.1 (11.1 Document Prologue)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-PROLOGUE-REQUIRED (parser, implemented)
  • WML-CL-SELECT-STRUCTURE — Require one or more option or optgroup children in each select element.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-STRUCTURE (parser, implemented)
  • WML-CL-SETVAR-STRUCTURE — Require setvar name and value attributes and no child content.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §9.4 (9.4 The Setvar Element)
    • Parents: WML-C-52
    • Requirements: RQ-RMK-002
    • Fixture: WML-FX-SETVAR-STRUCTURE (parser, implemented)
  • WML-CL-TABLE-STRUCTURE — Require one or more tr children and prohibit nested table elements.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.8.5 (11.8.5 The Table Element)
    • Parents: WML-C-46
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TABLE-STRUCTURE (parser, implemented)
  • WML-CL-TD-STRUCTURE — Restrict table-cell content to the declared text, layout, image, and anchor element set.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.8.7 (11.8.7 The Td Element)
    • Parents: WML-C-49
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TD-STRUCTURE (parser, implemented)
  • WML-CL-TEMPLATE-STRUCTURE — Parse template as zero or more do or onevent bindings plus card-event attributes.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.4 (11.4 The Template Element)
    • Parents: WML-C-47
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TEMPLATE-STRUCTURE (parser, implemented)
  • WML-CL-TR-STRUCTURE — Require one or more td children in each table row.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.8.6 (11.8.6 The Tr Element)
    • Parents: WML-C-50
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-TR-STRUCTURE (parser, implemented)
  • WML-CL-UNKNOWN-CONTENT-PRESERVED — Continue rendering recognized content nested inside an unrecognized element.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §12.4 (12.4 Unknown DTD)
    • Parents: WML-C-17
    • Requirements: RQ-RMK-009
    • Fixture: WML-FX-UNKNOWN-CONTENT-PRESERVED (rendering, implemented)
  • WML-CL-UNKNOWN-MARKUP-IGNORED — For an alternate DTD, ignore unrecognized element tags and attributes during presentation.
    • Family: wml; force: explicit-should; level: recommended
    • Source: WAP-191_104-WML §12.4 (12.4 Unknown DTD)
    • Parents: WML-C-17
    • Requirements: RQ-RMK-009
    • Fixture: WML-FX-UNKNOWN-MARKUP-IGNORED (parser, implemented)
  • WML-CL-WML-ROOT-STRUCTURE — Require a wml root containing optional head, optional template, and one or more cards in that order.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.2 (11.2 The WML Element)
    • Parents: WML-C-53
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-WML-ROOT-STRUCTURE (parser, implemented)

WML-204

  • WML-CL-INPUT-EMPTY-COMMIT — Accept an empty committed input only when the effective mask and emptyok rules allow it.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-EMPTY-COMMIT (runtime, implemented)
  • WML-CL-INPUT-FORMAT-LITERALS — Preserve escaped literal characters that form part of an accepted formatted input value.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-FORMAT-LITERALS (runtime, implemented)
  • WML-CL-INPUT-INITIALIZATION — Initialize each input from a valid existing name variable or a valid default value, then preload the control.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-INITIALIZATION (runtime, implemented)
  • WML-CL-INPUT-INVALID-INITIAL-VALUE — Unset an existing name value that violates the mask before attempting the declared default.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-INVALID-INITIAL-VALUE (runtime, implemented)
  • WML-CL-INPUT-MASK-COMMIT — At commit, accept only values conforming to the effective input mask.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-MASK-COMMIT (runtime, implemented)
  • WML-CL-INPUT-MAXLENGTH — Limit committed text to maxlength when that attribute is present.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-MAXLENGTH (runtime, implemented)
  • WML-CL-INPUT-PASSWORD-DISPLAY — Conceal the entered value when input type is password while preserving the actual variable value.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-PASSWORD-DISPLAY (rendering, implemented)
  • WML-CL-INPUT-REJECTION-ATOMICITY — On invalid input, notify the user, preserve the original variable value, and allow another entry attempt.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-REJECTION-ATOMICITY (runtime, implemented)
  • WML-CL-INPUT-STRUCTURE — Require an input variable name and constrain input attributes to the declared text-entry grammar.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.6.3 (11.6.3 The Input Element)
    • Parents: WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-INPUT-STRUCTURE (parser, implemented)
  • WML-CL-OPTION-ONPICK-MULTI — For multiple selection, dispatch onpick whenever the option is selected or deselected.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.2 (11.6.2.2 The Option Element)
    • Parents: WML-C-41, WML-C-09
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-OPTION-ONPICK-MULTI (runtime, implemented)
  • WML-CL-OPTION-ONPICK-SINGLE — For single selection, dispatch onpick for the newly selected option but not for implicit deselection.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.2 (11.6.2.2 The Option Element)
    • Parents: WML-C-41, WML-C-09
    • Requirements: RQ-RMK-001, RQ-RMK-004
    • Fixture: WML-FX-OPTION-ONPICK-SINGLE (runtime, implemented)
  • WML-CL-OPTION-VALUE-EVALUATION — Evaluate option value variable references before assigning the containing select name variable.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.2 (11.6.2.2 The Option Element)
    • Parents: WML-C-41, WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-OPTION-VALUE-EVALUATION (runtime, implemented)
  • WML-CL-SELECT-DEFAULT-PRECEDENCE — Choose initial selections in iname, ivalue, name, value, then single/multiple fallback order.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-DEFAULT-PRECEDENCE (runtime, implemented)
  • WML-CL-SELECT-INDEX-VALIDATION — Validate selection indices by removing non-integers, out-of-range entries, and duplicates.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-INDEX-VALIDATION (runtime, implemented)
  • WML-CL-SELECT-INIT-ORDER — Initialize input and select controls in document order when entering the card.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43, WML-C-33
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-INIT-ORDER (runtime, implemented)
  • WML-CL-SELECT-MULTI-SERIALIZATION — Serialize multiple results as semicolon-delimited lists with unique indices, duplicate non-empty values preserved, and no empty value entries.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-MULTI-SERIALIZATION (runtime, implemented)
  • WML-CL-SELECT-NO-IMPLICIT-REFRESH — Do not create display side effects from select-variable updates without an explicit refresh task.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-NO-IMPLICIT-REFRESH (rendering, implemented)
  • WML-CL-SELECT-PRESELECTION — Deselect all options and then select every positive validated default index.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-PRESELECTION (runtime, implemented)
  • WML-CL-SELECT-SINGLE-MULTI-MODE — Allow one selected option by default and multiple selections only when multiple is true.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-SINGLE-MULTI-MODE (runtime, implemented)
  • WML-CL-SELECT-STRUCTURE — Require one or more option or optgroup children in each select element.
    • Family: wml; force: grammar; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-STRUCTURE (parser, implemented)
  • WML-CL-SELECT-USER-UPDATE — Update name and iname after user selection changes and again before every task invocation.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-USER-UPDATE (runtime, implemented)
  • WML-CL-SELECT-VARIABLE-INITIALIZATION — Initialize name from selected option values and iname from the validated selected indices.
    • Family: wml; force: implicit-must; level: required
    • Source: WAP-191_104-WML §11.6.2.1 (11.6.2.1 The Select Element)
    • Parents: WML-C-43
    • Requirements: RQ-RMK-001
    • Fixture: WML-FX-SELECT-VARIABLE-INITIALIZATION (runtime, implemented)
  • WML-CL-VARIABLE-COMMIT-BEFORE-TASK — Commit input and selection variables before invoking any task.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §10.3.4 (10.3.4 Setting Variables)
    • Parents: WML-C-12, WML-C-33, WML-C-43
    • Requirements: RQ-RMK-001, RQ-RMK-003, RQ-RMK-005
    • Fixture: WML-FX-VARIABLE-COMMIT-BEFORE-TASK (runtime, implemented)

WML-205

  • WML-CL-ERROR-ENFORCEMENT — Enforce every error condition defined by WML.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.3 (12.3 Error Handling)
    • Parents: WML-C-16
    • Requirements: RQ-RMK-012
    • Fixture: WML-FX-ERROR-ENFORCEMENT (error-policy, implemented)
  • WML-CL-ERROR-NO-INTENT-INFERENCE — Do not hide invalid decks by guessing author or origin-server intent.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.3 (12.3 Error Handling)
    • Parents: WML-C-16
    • Requirements: RQ-RMK-012
    • Fixture: WML-FX-ERROR-NO-INTENT-INFERENCE (error-policy, implemented)
  • WML-CL-TASK-FAILURE-ATOMICITY — On fetch or access-control failure, notify the user and preserve the invoking card, context, pending assignments, and event state.
    • Family: wml; force: explicit-must; level: required
    • Source: WAP-191_104-WML §12.5.5 (12.5.5 Task Execution Failure)
    • Parents: WML-C-16, WML-C-18, WML-C-29, WML-C-38
    • Requirements: RQ-RMK-002, RQ-RMK-003, RQ-RMK-012
    • Fixture: WML-FX-TASK-FAILURE-ATOMICITY (error-policy, implemented)

Aggregate regression and delegate context

  • None mapped for this selection.

Explicit mapping gaps

  • None

Declared-family gaps:

  • None

Effective source order

  • associated-assets: No effective sequence recorded; treat as an explicit source-order gap.
  • wae: WAP-190-WAESpec -> WAP-190_101-WAESpec -> WAP-190_102-WAESpec -> WAP-190_103-WAESpec -> WAP-190_104-WAE-Spec
  • wbxml: WAP-192-WBXML -> WAP-192_105-WBXML
  • wml: WAP-191-WML -> WAP-191_102-WML -> WAP-191_104-WML -> WAP-191_105-WML

Source documents