Extract portable payload validation into star-actor-protocol #35
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!35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "extract/portable-payload-validation"
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
Remove the last prototype-only semantic dependency blocking deterministic-dispatcher extraction: schema-aware portable payload validation.
star-actor-protocolis now authoritative for whether a runtime payload is valid against the portable manifest. JSON construction remains serializer-side.Final protocol authority
New
portable-payload.lispowns runtime-neutral validation for:schema+id)anywire valuesOne-authority caller changes
prototype/message-lifecycle-prototype.lispno longer defines its own manifest payload validator. It delegates directly tovalidate-lifecycle-envelope-against-manifest.prototype/canonical-json-prototype.lispnow validates throughstar-actor-protocolfirst and only then constructsstar-canonical-jsonnodes. It no longer independently owns required-field, unknown-field, enum, inherited-document, scalar-bound, decimal-scale, map/reference, or primitive-type acceptance decisions.Deliberately not moved
Extraction metrics
CI on final head
c8d81d0f007479e41011dc6761b6c8b00b9afd03reports:prototype/**/*.lisp: 19,450 → 19,327 LOC (-123)prototype/canonical-json-prototype.lisp: net -101prototype/message-lifecycle-prototype.lisp: net -22Validation
GitHub Actions and Nix are green:
asdf:test-system :star-actor-protocol✅ including portable payload testsasdf:test-system :starlang-prototype✅ — 34 standalone scriptsThe frozen-byte gates prove the semantic-validator extraction did not change canonical wire output.
Next slice
Move deterministic wire dispatch coordination into
starlang-runtime, including the existing semantic-idempotency wrapper and deferred-completion behavior, while preserving its distinct internal work queue. Reduce prototype dispatcher/idempotency/deferred files to compatibility only. Do not substitute the per-actorstar-mailboxqueue.