Extract canonical JSON serializer core #30
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/star-lang!30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "extract/canonical-json-core"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
Continue the dependency-ordered one-authority extraction after PR #29 by moving the existing deterministic JSON serializer core from
prototype/intostar-canonical-json.This follows STAR-LANG-006 / STAR-LANG-RESEARCH-017 ordering: lifecycle first, canonical JSON next, then durable journal/runtime state extraction.
What moves
star-canonical-jsonis now authoritative for:prototype/canonical-json-prototype.lispdelegates those behaviors to the final package.Deliberately still prototype-owned
This slice does not move the schema-aware manifest/wire conversion layer yet. Prototype still owns:
Those now consume final serializer nodes/encoding rather than carrying a second encoder.
Out of scope
One-authority effect
Removed the prototype-owned JSON node structs, JSON sentinel allocation, string escaper, recursive serializer, and canonical string implementation. Compatibility constructors/sentinels and
canonical-json-stringare thin delegates only.Extraction metrics
CI on final head
2f44a5f7b06cf6de2e920748c1c8800a3822e045reports:prototype/**/*.lisp: 19,692 → 19,664 LOC (-28)prototype/canonical-json-prototype.lisp: +27 / -55, net -28 linesstar-canonical-json/src/canonical-json.lisp: 82 LOCValidation
GitHub Actions is green on the final head:
asdf:test-system :star-actor-protocol✅asdf:test-system :star-canonical-json✅ in a fresh process with no prototype package loadedasdf:test-system :star-mailbox✅asdf:test-system :star-sento-compat✅asdf:test-system :starlang-runtime✅asdf:test-system :starlang-prototype✅ — 34 standalone prototype scriptsnix flake check --print-build-logs✅Next dependency-correct slice
Extract the base runtime journal port/event/replay contract into
star-journal, consuming finalstar-actor-protocollifecycle validation and final canonical serialization where persistence requires it. Do not pull domain-remoting orchestration, leases/fencing, or deterministic dispatcher state into that slice.