WAP LabsProject atlas

docs/waves/wap_1_2_1_compliance_program.md

WAP 1.2.1 / WML 1.3 Compliance Program

Version: v0.3 Status: active pre-conformance program

Outcome

The primary target is a data-client implementation compatible with WAP 1.2.1 and WML 1.3 observable behavior. This is a compatibility target, not a claim of historical WAP Forum certification.

The first strict profile is the exact WAP-215 Class C data client CCR-CLASSC-C-001. Its mandatory client feature groups are WAE, WML, WBXML, WMLScript, WMLScript libraries, caching, WSP, WDP, and WCMP. WTP becomes mandatory only when connection-mode WSP is supported. WTLS, WIM, Push, WTA/WTAI, UAProf, and WMLScript Crypto remain separately declared capabilities.

The machine-readable execution authority is:

  • docs/waves/wap-1.2.1-compliance-program.json

Validate it with:

node scripts/check-wap-compliance-program.mjs
node spec-processing/scripts/check-wap-class-conformance.mjs
node scripts/check-wap-conformance-ledger.mjs
node scripts/check-wap-selected-normative-clauses.mjs
node scripts/check-wap-wae-conformance-ledger.mjs
node scripts/check-wap-wbxml-conformance-ledger.mjs
node scripts/check-wap-wmlscript-conformance-ledger.mjs
node scripts/check-wap-caching-conformance-ledger.mjs
node scripts/check-wap-transport-conformance-ledgers.mjs

All nine selected Class C family increments are complete at SCR level:

  • together they contain 712 effective source rows and 198 selected strict rows;
  • the selected implementation audit is 23 implemented, 77 partial, and 98 missing;
  • every selected row has an implementation owner and work-item mapping;
  • CONF-003 is complete: all nine families and all 198 selected parent rows expand into 761 deduplicated, source-anchored clauses; the selected WDP and WCMP paths contribute 58 assessed, direct fixture-backed clauses;
  • CONF-004, CONF-005, and CONF-006 are complete: strict dispositions, the SCR-to-requirement/work/evidence crosswalk, and active-document status rollups are now guarded by a deterministic drift check;
  • CONF-007 is complete for all 198 selected rows: 17 implementation foundations are successor-derived or cross-checked, of which two are compatible and 15 require strict target correction;
  • 76 effective WML 1.3 SCR rows are extracted;
  • 47 are mandatory and 29 optional;
  • the selected Class C client scope is 39 required, 27 optional, and 10 server/encoder rows not applicable to the client;
  • all four SCR actors and the WML-C-32 -> WML-C-54 dependency are preserved;
  • every mandatory row has an implementation work-item lane;
  • the source-wide mandatory code audit finds 7 implemented, 23 partial, and 17 missing; the selected 39-row client subset is 7 implemented, 23 partial, and 9 missing;
  • 30 rows have direct code symbols and runnable test evidence.
  • WML-201 directly projects all 76 WML rows and all 174 selected WML clauses; the remaining 17 mandatory gaps and 29 optional unassessed rows stay explicit rather than becoming inferred implementation claims.
  • 86 effective WAE SCR rows are extracted after applying the WAP-190 SIN chain, with another 22 removed rows retained as historical change records;
  • WAESpec:MCF selects 11 mandatory WAE client rows, while 40 optional client rows and 35 server rows remain explicitly separated;
  • the selected WAE audit is 5 implemented, 3 partial, and 3 missing, with direct code/test evidence linked to 8 rows;
  • all 11 selected WAE concepts are classified against WAP-236 as successor-delta evidence without changing the WAP 1.2.1 target.
  • 15 effective WBXML 1.3 SCR rows are extracted after applying WAP-192_105, with 11 mandatory and 4 optional rows;
  • WBXML:MCF selects exactly three mandatory client rows and leaves 12 server/document/encoder rows outside the selected client profile;
  • the selected WBXML audit is 0 implemented, 3 partial, and 0 missing; a pinned built-in decoder and 42-case source-derived corpus link direct normative tests to all 3 rows, with all 47 selected client clauses implemented. The encoder-only unrepresentable-name clause remains preserved outside the selected client profile.
  • 112 effective WMLScript rows are extracted from the consolidated WAP-193_101 table; WMLScript:MCF selects 41 mandatory interpreter rows;
  • the selected WMLScript audit is 0 implemented, 23 partial, and 18 missing, with zero direct normative WAP bytecode tests;
  • all 41 selected WMLScript language rows expand into 107 anchored clauses, with 105 required and two recommended behaviors;
  • 95 effective WMLScript Libraries rows are extracted after adding optional WMLSSL-C-095; WMLScriptLibs:MCF selects 80 mandatory interpreter rows;
  • the selected libraries audit is 0 implemented, 14 partial, and 66 missing, with zero direct normative library tests;
  • all 80 selected WMLScript Libraries rows expand into 211 required anchored clauses covering shared rules, identifiers, signatures, outcomes, errors, and host-visible effects;
  • source-exact WMLSSL048 is preserved with normalized alias WMLSSL-048.
  • 11 WAP-120 caching SCR rows are extracted; WAPCachingMod:MCF selects exactly five mandatory user-agent rows and leaves optional time synchronization plus all gateway rows outside the selected client profile;
  • the selected caching audit is 0 implemented, 3 partial, and 2 missing, with zero direct normative WAP-120 tests; the current no-storage behavior is treated only as a provisional zero-byte-cache profile.
  • 317 effective WDP/WCMP/WSP SCR rows are extracted with all actor, M/O, source-order, and dependency expressions preserved;
  • the selected connectionless transport path resolves to 22 rows: 9 WDP using CDPD-shaped UDP/IPv4, 2 ICMP-backed WCMP rows, and 8 connectionless WSP rows;
  • the selected transport audit is 11 implemented, 8 partial, and 0 missing: all nine selected WDP rows and both selected WCMP rows have direct normative evidence, while the eight connectionless WSP rows remain partial;
  • connection-oriented WSP and WTP remain a separately activated capability; the selected CDPD TIAEIA-732 family citation is authority-locked as a licensed-payload, metadata-only informative capability reference.

See docs/waves/WAP_1_2_1_WML_SCR_LEDGER.md and docs/waves/WAP_1_2_1_WAE_SCR_LEDGER.md, and docs/waves/WAP_1_2_1_WBXML_SCR_LEDGER.md, docs/waves/WAP_1_2_1_WMLSCRIPT_SCR_LEDGER.md, and docs/waves/WAP_1_2_1_WMLSCRIPT_LIBRARIES_SCR_LEDGER.md, and docs/waves/WAP_1_2_1_CACHING_SCR_LEDGER.md, and docs/waves/WAP_1_2_1_TRANSPORT_SCR_LEDGERS.md.

Compatibility and enhancement policy

Strict conformance is the floor, not a ceiling.

  • Core mechanics must match the selected release and profile.
  • Modern implementations, safer internals, improved performance, better diagnostics, and modern host UX are encouraged.
  • A behavior-preserving improvement must pass strict differential tests.
  • A behavior-changing feature must be an explicit Waves capability or enhanced mode.
  • An enhancement cannot satisfy, replace, or waive a strict obligation.
  • Optional WAP profiles remain capability-gated and do not silently expand the first release claim.

Evidence hierarchy

Compliance is accounted for from the source outward:

release member -> effective base/SIN family -> CCR profile dependency
-> SCR feature -> normative clause -> implementation owner
-> ticket -> executable test/evidence -> release claim

Source-file counts, thematic requirement groups, completed ticket counts, or passing unit tests alone are not a compliance percentage. Every mandatory selected-profile obligation must ultimately have an exact source anchor and executable evidence.

Dependency-ordered program

The program contains 13 sprints and 79 unique work items. Existing completed tickets remain historical facts; the program maps to them where relevant and adds work only for uncovered obligations.

Sprint Scope Depends on Exit meaning
SRC-0 Authoritative release, assets, class sources, and redistribution posture Source control plane is reproducible
CONF-1 CCR, SCR, and normative-clause ledgers SRC-0 Selected-profile obligations are one-to-one accountable
WML-2 Parser, deck model, validation, and WML/WBXML input CONF-1 WML input and deck structure meet strict fixtures
WML-3 State, tasks, events, forms, and navigation WML-2 Runtime mechanics are deterministic and source-backed
REN-4 Historical layout, focus, keypad, and softkeys WML-2, WML-3 Observable device interaction is reproducible
WMLS-5 WMLScript language, bytecode, VM, and libraries CONF-1, WML-3 Script execution and failure behavior are bounded and compliant
WAE-6 WAE integration, caching, formats, and content behavior CONF-1, WML-3, REN-4, WMLS-5 Browser-environment behavior closes across engine features
TRN-7 WDP, WCMP, and conditional WTP core CONF-1 Protocol PDUs, state, bounds, and errors meet vectors
WSP-8 WSP session/connectionless behavior and host fetch CONF-1, TRN-7, WAE-6 Native transport reaches the browser contract correctly
INT-9 Native/WASM parity and end-to-end interoperability Runtime and transport sprints Cross-layer strict scenarios have auditable evidence
REL-10 Strict Class C-compatible release gate INT-9 No mandatory obligation is unmapped and all build gates pass
OPT-11 Security, Push, telephony, identity, and other optional profiles CONF-1, REL-10 Optional capabilities are independently declared and tested
ENH-12 Behavior-preserving improvements and Waves extensions REL-10 Modern features cannot regress or obscure strict behavior

Source acquisition status

Source Sprint SRC-0 now has reproducible research-access evidence:

  • 97/97 technical release PDFs and 97/97 text extractions are hash/size recorded in wap-1.2.1-ingestion-status.json;
  • 43/43 locked external dependencies have acquisition records backed by 48 artifacts;
  • 36 external dependencies have full primary artifacts, two have partial historical evidence, and five licensed IEEE/ISO/TIA payloads remain metadata-only;
  • the external open-label queue is reduced from 69 to 60; all three residual groups have non-blocking selected-profile dispositions, activation triggers, and future work owners.

WAP-215 has also been recovered from the official live WAP Forum directory, hash-locked, and extracted into exact Class A/B/C client/server graphs. This closes SRC-004 without changing the redistribution boundary.

Immediate execution order

  1. Treat SRC-005 external-dependency normalization as complete, including the selected TIAEIA-732 metadata/license boundary. Keep SRC-006 redistribution guidance as the remaining source-program blocker.
  2. Treat CONF-002 family-level SCR extraction and CONF-003 nested-clause planning plus CONF-004..006 governance controls as complete. Add WTP only when connection-oriented WSP is claimed.
  3. Treat CONF-007, the unified selected-profile successor delta register, as complete. Keep optional-media and later OMA follow-on deltas separate.
  4. Continue the completed first-pass implementation audits into exact source-derived fixtures. Do not reopen completed tickets; add narrowly scoped gap work.
  5. Refresh the master priority plan from the reconciled obligation ledger.
  6. Execute the runtime and protocol sprints in dependency order, then close cross-layer and release evidence.
  7. Start optional profiles and Waves enhancements only after their declared strict gates.

The program status now reflects those facts directly: CONF-1 is complete; SRC-0 is blocked only by SRC-006; runtime sprints are todo or in-progress according to their child work items. The validator derives and checks each sprint status so planning rollups cannot drift from work-item state.

Source blockers

One source action is intentionally blocked:

  • SRC-006: promote recovered WAP PDFs, DTDs, or parsed derivatives into Git only after explicit redistribution approval.

This blocker does not prevent metadata locking, temporary internal extraction, effective-family modeling, dependency research, or conformance-ledger design. It prevents public-repository source promotion, not exact Class C profile selection.

All 97 technical members are already available for private requirement extraction. SRC-006 is now blocked only on public promotion/derivative permission and the subsequent canonical cleanup/provenance workflow, not on research access.

The detailed WAP-215 recovery evidence, OMA contact route, permission draft, and Wayback procedure are in docs/waves/WAP_SOURCE_RECOVERY_AND_PERMISSION.md.

Strict release gate

REL-10 requires:

  1. zero unmapped mandatory selected-profile obligations;
  2. exact source, build, fixture, and test identity in the evidence bundle;
  3. native Rust and WASM parity for parity-critical engine behavior;
  4. passing engine, transport, host, frontend, contract, type, lint, WASM, and desktop production-build gates;
  5. explicit optional-feature support statements and known deviations;
  6. a compatibility statement that identifies CCR-CLASSC-C-001, discloses optional and conditional profiles, and does not imply formal certification.

The frontend CSS-minification defect tracked by REL-1004 is closed: the vendored WebKit scrollbar selector is valid, and clean frontend and Tauri production builds pass under the declared Node and pnpm toolchain. Production builds remain explicit release evidence, so a green unit-test count cannot conceal a red build.

Planning relationship

This program defines target completeness and compliance dependencies. docs/waves/WAP_1_2_1_PLANNING_BASELINE.md is the human closure checkpoint. docs/waves/SPRINT_PLAN_2026-03_MASTER_PRIORITIZED.md retains cross-lane ordering for work already in flight and has been rebased to this program’s dependency order. This program is authoritative for new WAP 1.2.1 work and completion claims.