Add docs/rules-conformance.md documenting how the repo conforms to the vendored canon, the documentation.md vs dependency-free conflict and its scoped resolution, the domain-mismatched rules that do not apply, and the conscious deviations. Add docs/package-import-contract-status.md. State the round-trip law (Lambda1/Lambda2) in DESIGN.md.
699 B
699 B
Package import contract status
One row per target. The contract: the library target imports nothing beyond the
Swift standard library; the test target imports only PureYAML, Testing, and
Foundation.
| Target | Allowed imports | Actual | State |
|---|---|---|---|
PureYAML (library, Sources/) |
Swift standard library only (no Foundation, no external packages) |
zero import statements |
matches |
PureYAMLTests (Tests/) |
PureYAML, Testing, Foundation |
@testable import PureYAML, import Testing, import Foundation |
matches |
Enforced mechanically by scripts/check-forbidden-patterns.sh (no import in
Sources/) and Package.swift (dependencies: []).