docs/waves/source_authority_policy.md
Waves Source Authority Policy
Version: v0.2 Status: active
Purpose
Define source precedence so requirement and implementation decisions remain grounded in canonical material.
Source classes
normative
- Official WAP/OMA release members and governing documents locked by authority URL, publication identity, and SHA-256.
- The WAP 1.2.1 target inventory is
spec-processing/source-manifests/wap-1.2.1-release.json. - The exact WAP-215 Class A/B/C graphs and selected Class C client profile are
spec-processing/source-manifests/wap-1.2.1-class-conformance.json. - Private acquisition evidence is recorded in
spec-processing/source-manifests/wap-1.2.1-ingestion-status.jsonandspec-processing/source-manifests/wap-1.2.1-external-ingestion-status.json. - Byte-exact root-level copies under
spec-processing/source-material/are the preferred local cache, but the local directory does not define release membership. - These are the only sources allowed to create or redefine
RQ-*requirements.
interop-reference
- External implementation references (for example Kannel, Wireshark dissectors, captured interop traces).
- May inform fixture design and behavior interpretation, but cannot override normative specs.
heuristic
- Summaries, slide decks, tertiary books, LLM-parsed notes.
- Useful for context and candidate test ideas; not authoritative for requirement definition.
Current supplemental source classification
spec-processing/source-material/WAP.pdf:heuristicspec-processing/source-material/vdoc.pub_the-wireless-application-protocol-wap-a-wiley-tech-brief.pdf:heuristicspec-processing/external-parsed/wap_emulator_spec_notes.md:heuristic
Requirement creation/update rule
A new or changed RQ-* item must include:
- at least one canonical
normativesource anchor (document ID + exact section/SCR and source-lock identity), and - an AC entry with concrete evidence targets (tests/fixtures/commands).
If only supplemental evidence exists, create an open question or a candidate fixture note, not a new RQ-*.
For a metadata-only normative source, the requirement must additionally record the official URL and locked SHA-256. A local parsed derivative is not required for authority and must not be committed without redistribution approval.
Research-ingestion state is not repository-promotion state. A logical private cache reference and verified hash can prove availability for extraction without authorizing a recovered binary or derivative to enter Git.
Target release precedence
Strict compatibility requirements use WAP 1.2.1 with WML 1.3:
- approved WAP 1.2.1 base specification;
- approved release-carried SIN overlays in effective order;
- governing WAP conformance requirements;
- normatively cited W3C/IETF/ISO/Unicode dependencies;
- later WAP/OMA successor specifications only as delta or clarification evidence.
The current local WAP 2.0-heavy corpus must not silently redefine the strict
target. See docs/waves/WAP_1_2_1_SOURCE_BASELINE.md.
Citation rule
In traceability and work items:
- cite normative source first,
- cite interop-reference second (if used),
- cite heuristic source last as context only.
Conflict rule
When sources disagree:
- canonical normative source wins,
- note discrepancy in
docs/waves/OPEN_SPEC_QUESTIONS.md, - create follow-up ticket only after normative anchor is confirmed.
Enforcement points
docs/waves/*TRACEABILITY*.md: per-requirement evidence lines and source policy link.docs/waves/WORK_ITEMS.md: ticketSpecfield must referenceRQ-*and canonical source sections.- Drift checks:
scripts/check-worklist-drift.mjsscripts/check-source-corpus-drift.mjsspec-processing/scripts/check-wap-release-manifest.mjsspec-processing/scripts/check-wap-class-conformance.mjsspec-processing/scripts/check-wap-ingestion-status.mjsspec-processing/scripts/check-wap-external-ingestion-status.mjs