docs(roadmap): add living roadmap index and README focus link
Document the restructured GitHub issue hierarchy (epic #167, gates, milestones M1-M5, task labels) and point README Status at the current production-readiness focus and v0.2.0 XSTS baselines.
This commit is contained in:
parent
baa90cfcaa
commit
5f6170a57a
25
README.md
25
README.md
@ -71,9 +71,10 @@ are all shipped (summarized above). The beyond-parity libxml2 conformance audit
|
||||
(#71), its parser-breadth sub-epic (#74), and the parity-frontier epic (#105:
|
||||
output encodings, streaming validation, the last encodings, the analysis
|
||||
findings, and the first W3C-suite pass) are all **complete**. Feature parity is
|
||||
done; the remaining distance is corpus-clean parity, tracked under two epics:
|
||||
**#121** (the rest of the W3C xmlconf archive, including the DTD-validity layer)
|
||||
and **#122** (the official spec suites for the schema and transform stack).
|
||||
done; the remaining distance is **production readiness for IDE use**, tracked under
|
||||
epic **#167** (schema authority, differential oracle, located diagnostics). Conformance
|
||||
suite maintenance (**#122**, closed) leaves **#130** (XSLT xalan burn-down) as the only
|
||||
active runner work; see `docs/roadmap.md`.
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
@ -98,9 +99,9 @@ flowchart TB
|
||||
NSConstraints["#136 namespace constraints: complete"]:::done
|
||||
EncodingMismatch["#137 encoding-declaration mismatches: complete"]:::done
|
||||
BaseURI["#138 per-entity base URIs: complete"]:::done
|
||||
Epic122["#122 official spec suites"]:::epic
|
||||
XSTS["#129 W3C XSD test suite (XSTS): runner shipped; settled deviations 1/266/171/155 (#145–#148)"]:::review
|
||||
XSLTTS["#130 XSLT 1.0 suite (xalan-test): runner + baselines in, burning down (~126)"]:::review
|
||||
Epic122["#122 conformance suite maintenance: complete (#130 survivor)"]:::epic
|
||||
XSTS["#129 XSTS runner shipped; gates #145-#148 at 1/266/171/155 (v0.2.0)"]:::review
|
||||
XSLTTS["#130 XSLT 1.0 suite (xalan-test): ~126 baseline failures"]:::review
|
||||
Parity100["Behavioral parity closed: #141 top-level params, #142 public streaming, #143 XPath budget, #144 WASI runtime proof, pl/ru sort collation"]:::done
|
||||
Epic139["#139 faster than libxml2, measured + streaming (benchmarks in docs/benchmarks.md; quadratics killed; unsafe authorized)"]:::epic
|
||||
Audit140["#140 XSLT validation-framework audit"]:::todo
|
||||
@ -108,6 +109,11 @@ flowchart TB
|
||||
Epic139 --> Audit140
|
||||
RNGTS["#131 RELAX NG spec suite: complete, one documented class"]:::done
|
||||
C14NTS["#132 C14N spec vectors: complete"]:::done
|
||||
Epic167["#167 production readiness for IDE use (v0.2.0)"]:::epic
|
||||
Oracle171["#171 schema differential harness"]:::todo
|
||||
CrossDoc161["#161 cross-document composition"]:::todo
|
||||
Gates145["#145-#148 XSTS gates: burn-down to 0"]:::review
|
||||
Loc169["#169 located schema diagnostics"]:::todo
|
||||
Epic105 --> Epic121
|
||||
Epic105 --> Epic122
|
||||
Epic121 --> Oasis
|
||||
@ -124,10 +130,17 @@ flowchart TB
|
||||
Epic122 --> XSLTTS
|
||||
Epic122 --> RNGTS
|
||||
Epic122 --> C14NTS
|
||||
Epic122 --> Epic167
|
||||
Epic167 --> Oracle171
|
||||
Epic167 --> CrossDoc161
|
||||
Epic167 --> Gates145
|
||||
Epic167 --> Loc169
|
||||
```
|
||||
|
||||
## Status
|
||||
|
||||
**Current focus:** production readiness for IDE use ([#167](https://github.com/mihaelamj/PureXML/issues/167)). XSTS settled baselines (v0.2.0): **1 / 266 / 171 / 155**. See [`docs/roadmap.md`](docs/roadmap.md) for milestones and open tasks.
|
||||
|
||||
PureXML is a working, dependency-free XML library today: parse, emit, validate,
|
||||
query, and stream documents on macOS, Linux, Windows, and WASM. The test suite
|
||||
currently runs **986 tests in 169 suites** (`swift test`).
|
||||
|
||||
50
docs/roadmap.md
Normal file
50
docs/roadmap.md
Normal file
@ -0,0 +1,50 @@
|
||||
# Roadmap
|
||||
|
||||
Living index of open work. **Pin [#167](https://github.com/mihaelamj/PureXML/issues/167)** on GitHub for the checklist view. Released **v0.2.0** (2026-06-16); pre-1.0 until the production-readiness gates in `docs/production-readiness.md` are earned.
|
||||
|
||||
## Current focus (priority order)
|
||||
|
||||
1. **#171**: schema differential harness (PureXML vs Xerces/libxml2). Unblocks safe burn-down.
|
||||
2. **#161**: cross-document schema composition (`include`/`import`/`redefine`). Largest single XSTS blocker.
|
||||
3. **#158 / #159**: Particle Valid Restriction/Extension completion.
|
||||
4. **#169**: located schema diagnostics (line/column).
|
||||
5. **#172–#174**: instance-validation cluster tasks.
|
||||
|
||||
Parallel: **#130** (XSLT suite), **#139** (performance).
|
||||
|
||||
## XSTS gates (v0.2.0 baselines)
|
||||
|
||||
| Gate | Now | Issue |
|
||||
|---|---|---|
|
||||
| Valid schemas rejected | 1 | [#148](https://github.com/mihaelamj/PureXML/issues/148) |
|
||||
| Invalid schemas accepted | 266 | [#145](https://github.com/mihaelamj/PureXML/issues/145) |
|
||||
| Valid instances rejected | 171 | [#146](https://github.com/mihaelamj/PureXML/issues/146) |
|
||||
| Invalid instances accepted | 155 | [#147](https://github.com/mihaelamj/PureXML/issues/147) |
|
||||
|
||||
Gates are **metric trackers**, not implementation tasks. Pick up **task** issues; ratchet baselines in `Tests/XSTSSuiteTests.swift` when counts fall.
|
||||
|
||||
## Milestones
|
||||
|
||||
| Milestone | Exit criteria | Key issues |
|
||||
|---|---|---|
|
||||
| M1: Trust the oracle | Reference differential + fuzz | #171 |
|
||||
| M2: Schema compiles correctly | #145 to 0 | #161, #158, #159 |
|
||||
| M3: Instances validate correctly | #146, #147 to 0 | #172, #173, #174 |
|
||||
| M4: IDE-ready diagnostics | Located errors, proven bounds | #169 |
|
||||
| M5: 1.0 | All gates at 0 | #148, #130 |
|
||||
|
||||
## Labels
|
||||
|
||||
| Label | Meaning |
|
||||
|---|---|
|
||||
| `epic` | Grouping issue |
|
||||
| `gate` | XSTS outcome metric |
|
||||
| `task` | Implementation work |
|
||||
| `area-schema` / `area-instance` / `area-infra` / `area-xslt` / `area-perf` | Subsystem |
|
||||
| `priority-P0` / `P1` / `P2` | Critical path vs parallel |
|
||||
|
||||
## Related docs
|
||||
|
||||
- `docs/production-readiness.md`: the bar for IDE authority
|
||||
- `docs/schema-validity-burndown.md`: schema-side burn-down protocol
|
||||
- `docs/xsts-deviations.md`: deviation taxonomy and documented floors
|
||||
Loading…
Reference in New Issue
Block a user