PureXML/docs/rules/verification.md
Mihaela Mihaljevic 708390242c chore: scaffold PureXML pure-Swift XML package
Root Swift package mirroring PureYAML's structure, rules, and verification
gates. Includes the XML node model (Node, Element, Attribute, QualifiedName),
a working emitter (Serializer) with escaping and pretty/compact options, and
structural validation. The parser surface is stable; parse() raises
notImplemented until the scanner lands, pinned by a test.

- dependency-free, namespaced under PureXML
- portability and style gates carried over (style, namespacing, forbidden
  patterns, swiftformat, swiftlint, linux, wasm, windows CI)
- 11 tests passing
2026-06-07 23:20:20 +02:00

1.4 KiB

Verification Before Completion

Never claim a PureXML change is complete without fresh command output from the relevant gates.

Required Gate

Run this local gate before committing or reporting completion:

bash scripts/check-style.sh
bash scripts/check-namespacing.sh
bash scripts/check-forbidden-patterns.sh
bash scripts/check-changelog-touched.sh
swiftformat . --config .swiftformat --lint
swiftlint --config .swiftlint.yml --strict
swift build
swift test
bash scripts/check-linux.sh
bash scripts/check-wasm.sh

Hosted CI must also pass the Windows job, which runs scripts/check-windows.ps1.

Claims and Evidence

Claim Required evidence
Style clean scripts/check-style.sh exits 0
Namespace clean scripts/check-namespacing.sh exits 0
Forbidden-pattern clean scripts/check-forbidden-patterns.sh exits 0
Format clean swiftformat . --config .swiftformat --lint exits 0
Lint clean swiftlint --config .swiftlint.yml --strict exits 0
Builds on macOS swift build exits 0
Tests pass swift test exits 0 and reports zero failures
Linux compatible bash scripts/check-linux.sh exits 0
Windows compatible hosted scripts/check-windows.ps1 exits 0
WASI compatible bash scripts/check-wasm.sh exits 0

If a tool is unavailable, say so explicitly and do not claim that gate passed.