Summary
LoopX upstream is evaluating a TypeScript migration direction for the
control-plane core. This is an early-stage coordination anchor, not a
committed rewrite. The goal is to align upstream plans with external efforts
instead of letting parallel ports diverge.
Why now
- External projects are already porting the LoopX kernel to TypeScript. The
most complete sketch is Foreman PR #1,
which migrates event state, todo lifecycle, gates, quota, scheduler/monitor,
Turn envelope, and handoff to native TypeScript with a pinned upstream
authority commit.
- The frontstage/dashboard surface is already TypeScript; a shared runtime
would simplify CLI distribution and host integration.
- A public RFC anchor lets external contributors coordinate instead of forking.
Candidate scope (contract-first)
If pursued, the migration should preserve these surfaces with parity fixtures:
- append-only event state and idempotent writes;
- todo lifecycle (claim, lease, status, revision, completion validation);
- gates and decision scope;
- quota (
should-run / spend) and scheduler/monitor contracts;
- Turn envelope / transaction semantics;
- handoff and review-packet projection;
- CLI and status/quota JSON parity.
Non-goals
- No behavior change; Python remains the canonical implementation during any
transition.
- No new protocol fields without parity fixtures.
- No fork-first migration: upstream-owned, contribution-friendly.
Open questions
- Runtime choice: Node.js, Bun, or Deno?
- Packaging/distribution: npm package, pip shim, or both?
- Coexistence strategy: dual implementation with parity tests, or phased
replacement by surface?
- Contributor ownership and review lane for the TypeScript track.
Next steps
- Collect alignment in this issue.
- If accepted, open a formal RFC document under
docs/architecture/rfcs/ with a characterization/parity plan.
- Invite Foreman PR #1 as the
starting reference implementation and coordinate its author upstream.
Feedback on scope, non-goals, and runtime choice is welcome.
Summary
LoopX upstream is evaluating a TypeScript migration direction for the
control-plane core. This is an early-stage coordination anchor, not a
committed rewrite. The goal is to align upstream plans with external efforts
instead of letting parallel ports diverge.
Why now
most complete sketch is Foreman PR #1,
which migrates event state, todo lifecycle, gates, quota, scheduler/monitor,
Turn envelope, and handoff to native TypeScript with a pinned upstream
authority commit.
would simplify CLI distribution and host integration.
Candidate scope (contract-first)
If pursued, the migration should preserve these surfaces with parity fixtures:
should-run/ spend) and scheduler/monitor contracts;Non-goals
transition.
Open questions
replacement by surface?
Next steps
docs/architecture/rfcs/with a characterization/parity plan.starting reference implementation and coordinate its author upstream.
Feedback on scope, non-goals, and runtime choice is welcome.