Make implementation conform to approved research 000–009 #6

Open
opened 2026-08-02 18:33:14 +00:00 by lost-rob0t · 1 comment
lost-rob0t commented 2026-08-02 18:33:14 +00:00 (Migrated from github.com)

Status

Blocking conformance issue. The approved research sequence is not yet fully implemented by star-lang.

Authoritative ledger: RESEARCH-CONFORMANCE-000-009.md

Confirmed violations

  • star-loader still parses .star source through Common Lisp READ instead of the closed parser.
  • Parser/compiler lowercases field identifiers and accepts kebab-case fields, conflicting with the approved lower-camelCase rule.
  • Canonical JSON emits snake_case envelope/manifest keys.
  • float is absent from the compiler, JSON encoder, and generated bindings; geo remains modeled as decimal.
  • Plain HTTP imports remain accepted.
  • Several digest checks validate only the sha256: prefix rather than a complete 64-hex digest.
  • Star-CL relation schemas/runtime retain target instead of canonical destination.
  • Parser resource bounds and per-occurrence source spans are incomplete.
  • CI does not permanently enforce the research 000–009 boundary.

Work ownership

  • #4 owns lower-camelCase field validation, migration, and canonical JSON/wire-key emission.
  • #5 owns binary64 float semantics, RFC 8785/Ryu serialization, generated type mappings, and geo migration.
  • This issue owns integration order and the final conformance gates. It must verify #4 and #5, not duplicate their implementation work.

Work order

  • Replace every .star Common Lisp reader path with the closed parser.
  • Preserve source identifier spelling and add complete bounded parsing.
  • Complete #4, including lower-camelCase canonical JSON and wire keys.
  • Complete #5: add finite binary64 float, RFC 8785/Ryu serialization, and migrate geo.
  • Enforce HTTPS-only remote imports and full SHA-256 digests.
  • Migrate relation target to destination.
  • Consolidate one authoritative read → expand → validate → compile pipeline.
  • Add static and executable research-conformance tests to CI.
  • Run the full SBCL suite and nix flake check.
  • Mark the implementation ledger conformant only after all gates pass.

Definition of done

All ledger items are complete, legacy prototype tests have been updated to the approved contracts, generated JSON validates, generated Python compiles, and CI rejects any regression to host READ, insecure imports, weak digests, kebab/snake field names, relation target, missing float semantics, or non-canonical float output.

## Status **Blocking conformance issue.** The approved research sequence is not yet fully implemented by `star-lang`. Authoritative ledger: [`RESEARCH-CONFORMANCE-000-009.md`](https://github.com/lost-rob0t/star-lang/blob/main/RESEARCH-CONFORMANCE-000-009.md) ## Confirmed violations - `star-loader` still parses `.star` source through Common Lisp `READ` instead of the closed parser. - Parser/compiler lowercases field identifiers and accepts kebab-case fields, conflicting with the approved lower-camelCase rule. - Canonical JSON emits snake_case envelope/manifest keys. - `float` is absent from the compiler, JSON encoder, and generated bindings; geo remains modeled as `decimal`. - Plain HTTP imports remain accepted. - Several digest checks validate only the `sha256:` prefix rather than a complete 64-hex digest. - Star-CL relation schemas/runtime retain `target` instead of canonical `destination`. - Parser resource bounds and per-occurrence source spans are incomplete. - CI does not permanently enforce the research 000–009 boundary. ## Work ownership - #4 owns lower-camelCase field validation, migration, and canonical JSON/wire-key emission. - #5 owns binary64 `float` semantics, RFC 8785/Ryu serialization, generated type mappings, and geo migration. - This issue owns integration order and the final conformance gates. It must verify #4 and #5, not duplicate their implementation work. ## Work order - [ ] Replace every `.star` Common Lisp reader path with the closed parser. - [ ] Preserve source identifier spelling and add complete bounded parsing. - [ ] Complete #4, including lower-camelCase canonical JSON and wire keys. - [ ] Complete #5: add finite binary64 `float`, RFC 8785/Ryu serialization, and migrate geo. - [ ] Enforce HTTPS-only remote imports and full SHA-256 digests. - [ ] Migrate relation `target` to `destination`. - [ ] Consolidate one authoritative read → expand → validate → compile pipeline. - [ ] Add static and executable research-conformance tests to CI. - [ ] Run the full SBCL suite and `nix flake check`. - [ ] Mark the implementation ledger conformant only after all gates pass. ## Definition of done All ledger items are complete, legacy prototype tests have been updated to the approved contracts, generated JSON validates, generated Python compiles, and CI rejects any regression to host `READ`, insecure imports, weak digests, kebab/snake field names, relation `target`, missing float semantics, or non-canonical float output.
lost-rob0t commented 2026-08-02 18:57:01 +00:00 (Migrated from github.com)

Conformance progress — 2026-08-02

Merged through ordinary green PRs:

  • #7 — HTTPS-only remote specification imports and root URLs. Full SBCL and Nix checks passed before merge.
  • #8 — core relation schema now uses canonical destination instead of legacy target. Full SBCL and Nix checks passed before merge.

Not merged:

  • #9 — attempted Star-CL runtime migration. Closed because the write-capable PR workflow was not executed, so no implementation head received normal green checks. Branch reset to main before closure.

Remaining relation work:

  • migrate fixtures/star-cl.star
  • migrate fixtures/star-cl-constructors.star and update its locked import digest
  • migrate relate-documents runtime encoding
  • update document-runtime and constructor tests

All further changes must use ordinary feature branches and PRs. Merge only after both star-lang CI and star-lang Nix succeed on the final PR head.

## Conformance progress — 2026-08-02 Merged through ordinary green PRs: - #7 — HTTPS-only remote specification imports and root URLs. Full SBCL and Nix checks passed before merge. - #8 — core relation schema now uses canonical `destination` instead of legacy `target`. Full SBCL and Nix checks passed before merge. Not merged: - #9 — attempted Star-CL runtime migration. Closed because the write-capable PR workflow was not executed, so no implementation head received normal green checks. Branch reset to `main` before closure. Remaining relation work: - migrate `fixtures/star-cl.star` - migrate `fixtures/star-cl-constructors.star` and update its locked import digest - migrate `relate-documents` runtime encoding - update document-runtime and constructor tests All further changes must use ordinary feature branches and PRs. Merge only after both `star-lang CI` and `star-lang Nix` succeed on the final PR head.
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-lang#6
No description provided.