docs/waves/wap_1_2_1_normative_clause_ledger.md
WAP 1.2.1 Selected Normative-Clause Ledger
Version: v0.10
Status: CONF-003 complete; direct evidence is incrementally assessed
Purpose
The family SCR ledgers identify which features the selected WAP-215 Class C client must implement. This ledger expands those selected features into independently testable normative clauses without committing recovered source text.
Machine-readable authority:
spec-processing/source-manifests/wap-1.2.1-selected-normative-clauses.json
Validation:
node scripts/check-wap-selected-normative-clauses.mjs
node scripts/check-wap-conformance-ledger.mjs
Regeneration requires the hash-locked private WAP and imported RFC text extractions:
node spec-processing/scripts/generate-wap-selected-normative-clauses.mjs \
--wml-text /absolute/path/WAP-191_104-WML-20010718-a.txt \
--wbxml-text /absolute/path/WAP-192-WBXML-20010725-a.txt \
--wbxml-sin-text /absolute/path/WAP-192_105-WBXML-20011015-a.txt \
--wae-text /absolute/path/WAP-190-WAESpec-20000329-a.txt \
--wae-sin-101-text /absolute/path/WAP-190_101-WAESpec-20001213-a.txt \
--wae-sin-103-text /absolute/path/WAP-190_103-WAESpec-20001213-a.txt \
--caching-text /absolute/path/WAP-120-WAPCachingMod-20010413-a.txt \
--wcmp-text /absolute/path/WAP-202-WCMP-20010624-a.txt \
--wsp-text /absolute/path/WAP-203-WSP-20000504-a.txt \
--wsp-sin-001-text /absolute/path/WAP-203_001-WSP-20000620-a.txt \
--wdp-text /absolute/path/WAP-200-WDP-20000219-a.txt \
--wmlscript-text /absolute/path/WAP-193_101-WMLScript-20010928-a.txt \
--wmlscript-libraries-text /absolute/path/WAP-194-WMLScriptLibraries-20000925-a.txt \
--rfc-768-text /absolute/path/rfc768.txt \
--rfc-791-text /absolute/path/rfc791.txt \
--rfc-792-text /absolute/path/rfc792.txt \
--rfc-2396-text /absolute/path/rfc2396.txt \
--rfc-2616-text /absolute/path/rfc2616.txt \
--rfc-2617-text /absolute/path/rfc2617.txt \
--recorded-on YYYY-MM-DD
The generator refuses release or external text whose SHA-256 differs from its ingestion lock.
Current slices
The current artifact covers all 198 selected Class C parent rows:
| Family | Selected parents | Deduplicated clauses |
|---|---|---|
| WML | 39 | 175 |
| WAE | 11 | 39 |
| WBXML | 3 | 47 |
| Caching | 5 | 68 |
| WCMP | 2 | 9 |
| WSP | 8 | 57 |
| WDP | 9 | 49 |
| WMLScript | 41 | 107 |
| WMLScript Libraries | 80 | 211 |
| Total | 198 | 762 |
The 762 clauses are classified as 722 required, 29 recommended, and 11 permitted behaviors. Shared behaviors map to multiple SCR parents instead of being copied. Examples include task variable sequencing, template/card event shadowing, Basic-authentication protection spaces, HTTP URL defaults, capability negotiation, WAE media routing, cache age/validation/history behavior, image fallback, WBXML literal-name processing, and WDP/UDP/IPv4 datagram boundaries.
Each clause records:
- effective source document and section;
- a normalized section hash;
- explicit force classification, including WML implicit-MUST rules;
- a short project-authored obligation synopsis;
- every selected SCR parent;
- inherited owner layers, requirements, parent implementation status, and baseline work items;
- any explicit slice-scoped
directWorkItemsadditions adopted from the same authoritative clause without widening its SCR parents; - one planned or implemented source-derived direct fixture.
A planned fixture is not test evidence. An implemented fixture must name its
fixture path, test path, and command, and clause implementation status changes
only after that direct evidence is reviewed. The current ledger records 364
implemented clauses with reviewed direct evidence and keeps 398 clauses
not-assessed. The WML-203 slice contributes 47 implemented WBXML clauses and
21 implemented WML clauses covering alternate-DTD behavior, the mandatory
text prologue, and selected DTD structures; WML-204 adds 23 implemented WML
clauses, WML-205 adds three implemented error-policy clauses, WSP-801 adds 35
implemented connectionless PDU/primitive clauses, WML-C-24 adds the
inline line-break clause, and WML-202 adds 30 root/head/access, template,
task-shadowing, card-context, and newcontext clauses. WML-302 and WML-303 add
their reviewed variable/substitution and action/event evidence; shared clauses
across these completed slices are deduplicated in the ledger totals. WML-305
adds its 10 reviewed timer-lifecycle clauses, WML-301 adds 13 reviewed
context, request-shaped history, fragment-selection, process-order, and card-table-boundary clauses,
R0-06/WSP-805 adds ten reviewed WML-304 request-serialization clauses, Request A2 adds the reviewed
typed POST-history replay clause, WML-309 adds
three reviewed frame-affordance presentation clauses, and the additive WMLS-501 verifier tranche
adds 15 reviewed library-index and stack-dataflow clauses. WMLS-502 adds 44 reviewed language
operator, conversion, local-call, control-flow, and invalid-result clauses without changing the
conservative parent-row statuses. The
validator allowlists the 14-clause
TRN-702 direct-work-item overlay so a broad parent-row mapping cannot
silently substitute for slice adoption.
The generated WML graph has 225 directly mapped clause nodes. That projection count describes planning relationships and is not the 364-clause assessed evidence count.
WML-201 directly maps all 175 selected WML clauses for family ownership and retrieval. That mapping is not fixture evidence: clause assessment remains unchanged, and the canonical 76-row SCR ledger now distinguishes 33 rows with direct code/test links from 14 mapped mandatory gaps and 29 optional rows that have not been assessed.
Redistribution boundary
The committed ledger contains no source paragraphs, page images, PDFs, or full-text derivatives. It retains only public locators, cryptographic hashes, and project-authored summaries. The recovered corpus remains outside Git.
The validator limits synopsis size and rejects fields intended to carry verbatim source text.
CONF-003 closure
No selected family or parent row remains unexpanded. CONF-003 is complete at
the planning level; clause statuses advance independently when source-derived
fixture and direct code/test evidence are reviewed. Implemented WDP, WCMP,
WML, and WBXML clauses retain their explicit fixture evidence. WTP is added
only if connection-oriented WSP becomes a claimed profile.