Outcome
Make a formal go/no-go decision after native services, compiled actions, and CEL have migrated representative and full-corpus behavior. Closing this issue with no Starlark is the preferred valid result.
Scope and invariants
- Review every residual manifest row and explain why native Go, compiled typed data/action graphs, or CEL is insufficient.
- Quantify authoring frequency, deployment need, determinism, testability, performance, security, persistence, editor support, and operational cost.
- If approved, define one tiny versioned Starlark host over immutable snapshots and typed command results; scripts never receive mutable Go objects.
- Forbid filesystem, network, environment, process, native extension, dynamic import, wall time, ambient randomness, and unbounded output.
- Provide deterministic clock/RNG inputs plus step, recursion, call-depth, memory, string/collection, output, and cancellation budgets.
Acceptance criteria
- A written decision either closes Starlark as unnecessary or names exact approved use cases and why alternatives failed.
- Any host fails closed, validates/compiles before catalog publication, supports deterministic replay, and exposes capability/version metadata.
- Adversarial tests cover infinite loops, recursion, huge allocation/output, host panics, cancellation, serialization, stale identities, and permission bypass.
- Starlark cannot define core quest/dialogue/economy/property/combat semantics or perform effects directly.
- Adding a new host API requires protocol-like compatibility/security review and its own issue.
Dependencies and parallelization
Blocked until #57-#59 and the migration manifest provide evidence. It is not on the M3 critical path and must not become a convenience shortcut.
Licensing and migration rule
Replacement Go code is MIT and independently implemented. Preserve existing gameplay/content design choices and separately licensed data; do not translate GPL runtime source or tests unless an exact contribution has a documented rights-holder MIT grant.
Outcome
Make a formal go/no-go decision after native services, compiled actions, and CEL have migrated representative and full-corpus behavior. Closing this issue with no Starlark is the preferred valid result.
Scope and invariants
Acceptance criteria
Dependencies and parallelization
Blocked until #57-#59 and the migration manifest provide evidence. It is not on the M3 critical path and must not become a convenience shortcut.
Licensing and migration rule
Replacement Go code is MIT and independently implemented. Preserve existing gameplay/content design choices and separately licensed data; do not translate GPL runtime source or tests unless an exact contribution has a documented rights-holder MIT grant.