Skip to content

sparkles.wired.sdl — Provenance manifest ​

This manifest records the evidence corpus for the SDL backend before any upstream-derived implementation or fixture is imported. The normative target remains SPEC.md; these sources provide compatibility evidence, not an architecture to copy.

Pinned Revision ​

The grounding checkout is dlang/dub@5efed360e1c9342453bc5dd19339c75981526d83, the revision used by the repository's installed DUB toolchain. It identifies itself as v1.42.0-beta.1-7-g5efed360 and bundles SDLang-D sources. Their embedded version labels disagree, so the DUB revision, not a reconstructed SDLang-D version number, is the compatibility identity.

The package-level license texts that cover adapted or ported material are recorded in libs/wired/THIRD_PARTY_NOTICES.md.

Source Inventory ​

Upstream pathEvidence used by the SDL backend
source/dub/internal/sdlang/lexer.dUTF-8 BOM handling, comments, continuations, identifiers, scalar tokenization, and lexical rejection cases
source/dub/internal/sdlang/parser.dTag grammar, attributes, child blocks, anonymous tags, terminators, and parser regressions
source/dub/internal/sdlang/token.dScalar-kind vocabulary and semantic scalar spellings
source/dub/internal/sdlang/ast.dOrdered values, repeatable namespaced attributes/tags, semantic writing, and lookup behaviour
source/dub/internal/sdlang/exception.dSource-location and failure-class evidence
source/dub/internal/sdlang/symbol.dParser symbol vocabulary
source/dub/internal/sdlang/util.dLocations, date/time helpers, and shared lexical utilities
source/dub/internal/sdlang/package.dBundled version, authorship, and zlib/libpng provenance
source/dub/recipe/sdl.dReal-world DUB recipes: positional values, repeated tags, attributes, namespaces, nested settings, and semantic round trips
source/dub/internal/configy/attributes.dTyped field metadata and override evidence
source/dub/internal/configy/backend/node.dFormat-neutral node boundaries, source locations, and structural kinds
source/dub/internal/configy/read.dTyped structural filling, defaults, strict unknown handling, hooks, and validation
source/dub/internal/configy/easy.dText/file convenience-boundary evidence
source/dub/internal/configy/exceptions.dTyped conversion and path-error evidence
source/dub/internal/configy/fieldref.dCompile-time field resolution
source/dub/internal/configy/utils.dName and scalar conversion helpers
source/dub/internal/configy/backend/yaml.dConcrete adapter evidence only; no YAML-shaped SDL mapping is permitted
source/dub/internal/configy/dub_test.dDUB-specific typed parsing fixtures

Comparative Implementation ​

SDLite at b33048bf2d0c6b5df1b3b4b18e6cd83cb2f7aa81 is comparative architectural evidence for borrowed forward-range tokens, checkpoint/rollback around date lookahead, deferred scalar decoding, and pooled document construction. It is not a conformance source: that revision omits character and decimal semantics, has no BOM support, and accepts a materially different SDL subset.

No SDLite code or fixture is currently adapted or ported. If that changes, this manifest must name the source path and classification, and libs/wired/THIRD_PARTY_NOTICES.md must gain SDLite's MIT notice before the derived material lands.

Fixture Classification ​

Every SDL test added after S0 must identify one of these classes in its test comment when the source is not wholly original.

Fixture familyClassificationPlanned use
Scalar-kind and canonical-writer matrixOriginalDerived from SPEC.md §§3.4 and 9; covers every scalar kind, boundaries, signed zero, escapes, Base64, civil time, zones, duration fractions, and non-finite rejection
Lexer acceptance/rejection matrixAdaptedCases selected from sdlang/lexer.d, rewritten against Expected, stable error codes, and byte spans; each test cites the upstream path and revision
Parser regression cases for SDLang-D issues 16 and 31Direct port if retained verbatim; otherwise adaptedPins the anonymous/numeric parser regressions from sdlang/parser.d; direct ports carry an in-file zlib/libpng notice
Ordered arena and repeated-name fixturesAdaptedSemantic shapes selected from sdlang/ast.d, rewritten for flat arenas and borrowed ranges
DUB recipe semantic snapshotsAdaptedReduced cases selected from recipe/sdl.d for authors, dependencies, configurations, platform attributes, namespaces, and nested settings
Pinned DUB recipe snapshot (dub.sdl @ 5efed360)Direct copy (unmodified)Byte-exact sdlDubRecipe compatibility corpus; provenance and license identification sit beside the file in libs/wired/src/sparkles/wired/sdl/fixtures/README.md, with the MIT notice retained in THIRD_PARTY_NOTICES.md
Typed defaults, strictness, hooks, and source pathsAdaptedBehavioural cases selected from configy/read.d and configy/dub_test.d, expressed through wired policies rather than Configy's class interface
Error-code, allocator, lifetime, fuzz-smoke, and generated round-trip testsOriginalDerived from the sparkles SDL specification and implementation invariants

The pinned DUB recipe snapshot is the only direct copy, and it is byte-exact (unaltered) upstream material with its notice retained. If implementation work later adds an altered direct port, the destination file must say that it is altered from the named upstream path, retain the applicable notice, and update this table before the port lands.

Audit Rule ​

S10 audits every adapted or ported fixture against this manifest. An upstream- inspired test without a path, full revision, and classification is incomplete; a copied source body without the applicable notice is a release blocker.