Implement StarIntel v0.9.0 production validation and conformance adapter #2

Closed
opened 2026-07-26 12:35:19 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-07-26 12:35:19 +00:00 (Migrated from github.com)

Current gap

ASDF advertises 0.7.2 while documents default to 0.8.0. The current encoder eagerly emits type-derived defaults, converts missing/null values, and uses the legacy flat model with Unix timestamps. This cannot satisfy v0.9.0 semantic round trips.

Required work

  • Set the implementation/spec target to 0.9.0.
  • Adopt the pinned v0.9 registry/schema without an independently maintained field list.
  • Add production parse, strict validate, serialize, roundtrip, and schema-inventory entry points.
  • Represent the v0.9 common envelope and strict dtype-specific data object.
  • Preserve missing versus null and do not inject optional defaults during parse/roundtrip.
  • Preserve integer/float distinctions where Common Lisp's JSON stack permits them and report unsupported precision explicitly.
  • Use ISO-8601 date-time strings.
  • Reject unsupported versions with exit code 3 rather than silently reinterpreting them.
  • Add a JSON stdin/stdout adapter supporting validate, normalize, roundtrip, version, capabilities, and schema-inventory.
  • Add FiveAM conformance tests and CI consuming the pinned shared fixtures.

Known defects

  • ASDF and document versions disagree.
  • Encoder always emits most fields and replaces NIL with type-derived defaults, hiding missing/null mismatches.
  • Decoder is SBCL-MOP specific and not currently a strict v0.9 validator.
  • Legacy class-name dtype derivation is not sufficient for hyphenated registry names such as actor-manifest.

Completion

Do not claim v0.9.0 support until every ordered producer/consumer direction involving Common Lisp passes, plus deterministic CL self-roundtrip.

## Current gap ASDF advertises `0.7.2` while documents default to `0.8.0`. The current encoder eagerly emits type-derived defaults, converts missing/null values, and uses the legacy flat model with Unix timestamps. This cannot satisfy v0.9.0 semantic round trips. ## Required work - Set the implementation/spec target to `0.9.0`. - Adopt the pinned v0.9 registry/schema without an independently maintained field list. - Add production parse, strict validate, serialize, roundtrip, and schema-inventory entry points. - Represent the v0.9 common envelope and strict dtype-specific `data` object. - Preserve missing versus null and do not inject optional defaults during parse/roundtrip. - Preserve integer/float distinctions where Common Lisp's JSON stack permits them and report unsupported precision explicitly. - Use ISO-8601 date-time strings. - Reject unsupported versions with exit code 3 rather than silently reinterpreting them. - Add a JSON stdin/stdout adapter supporting `validate`, `normalize`, `roundtrip`, `version`, `capabilities`, and `schema-inventory`. - Add FiveAM conformance tests and CI consuming the pinned shared fixtures. ## Known defects - ASDF and document versions disagree. - Encoder always emits most fields and replaces NIL with type-derived defaults, hiding missing/null mismatches. - Decoder is SBCL-MOP specific and not currently a strict v0.9 validator. - Legacy class-name dtype derivation is not sufficient for hyphenated registry names such as `actor-manifest`. ## Completion Do not claim v0.9.0 support until every ordered producer/consumer direction involving Common Lisp passes, plus deterministic CL self-roundtrip.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/star-cl#2
No description provided.