[P1-05] Compile StarLang actor semantics + dataset manifests into a validated RuntimePlan #135
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/starintel-server#135
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
ARDR reconciliation — 2026-08-29
Canonical research/design now own this issue:
lost-rob0t/starintel-auto-research/roam/research/star-server/STAR-RESEARCH-050-manifest-runtime-plan-composition.org—READY_FOR_DESIGN.lost-rob0t/starintel-auto-research/roam/design/star-server/STAR-MANIFEST-001-document-contracts.org—DESIGN_READY_FOR_OPERATOR_REVIEW.lost-rob0t/starintel-auto-research#199.Current-source correction
Do not implement the original issue as a second server-local actor declaration language.
Current StarLang already compiles domain-server manifest semantics including stable identity, keyed/domain ownership, accepted message types, tools, restart policy, mailbox policy, dispatcher identity and capabilities. Current starintel-server still composes actors imperatively through globals, startup hooks, raw actor-index registration and hard-coded startup/routing.
The missing server feature is therefore a pure manifest linker/runtime-plan compiler, not another copy of actor semantics.
Three-layer authority
These inputs compile before side effects into one deterministic
RuntimePlanconsumed by the existing runtime authorities.Actor Deployment Manifest may own
It may not independently redefine accepted/produced types, domain ownership, capabilities/tools, executable actor body, or self-authorize worker/thread grants. Compatible deployment restrictions may narrow a semantic contract; widening is rejected.
Dataset Manifest may own
flowBindingsselects declared typed ports/routes. It is not an executable workflow DSL and cannot grant capabilities or make a component accept an undeclared type.Pure RuntimePlan
Compilation produces a deterministic inert plan containing at least:
No actor system, thread, Rabbit/CouchDB/Valkey connection, timer, listener, secret resolution, or arbitrary plugin execution occurs during this phase.
Existing authority dependencies
#43 links declarative inputs and feeds demands/graph/identity into those existing authorities. It does not reimplement them.
Proposed implementation slices — ALL PENDING OPERATOR APPROVAL
Slice 1 — pure manifest linker + RuntimePlan model
Fake semantic manifests and inert actor/dataset fixtures only. No production runtime effects.
Mandatory RED-first target:
Untouched current server must fail because no pure manifest linker/runtime-plan compiler exists.
Sibling REDs:
Slice 2 — real StarLang semantic artifact linking
Consume one compiler-produced immutable StarLang manifest/lock artifact through a narrow reader; verify exact digest and narrowing rules without executing StarLang source at server startup.
Slice 3 — Dataset Manifest schema + cross-link validation
Data-only deterministic normalization. Reject incompatible component/type/storage/governance bindings before effects.
Slice 4 — existing runtime authority integration
Feed lifecycle graph to #37, process/Sento demand to #34/#35, mailbox/admission demand to #36, and component IDs to #42. Do not duplicate those algorithms.
Slice 5 — first realized actor vertical
Realize one small current actor from a validated plan. Existing compatibility entrypoint must delegate to the same plan-owned component.
Slice 6 — dataset-specific flow proof
Two fixture datasets choose different valid bindings without source changes. Neither may route undeclared types or widen capabilities.
Slice 7 — retire migrated legacy authority
Only after equivalence/restart tests: delegate/remove the corresponding global startup hook, raw actor-index entry, and hard-coded route ownership.
Acceptance criteria
Implementation authorization
PENDING / AWAITING_OPERATOR_IMPLEMENTATION_APPROVALP1 priority,
READY_FOR_DESIGN, completed design/adversarial review, issue state, publication, or machine output do not authorize RAGE implementation.