Skip to content

queen: keyed actors, links and call in the actor runtime; bee dispatcher MVP and benchmark (lane 7) #1719

Closed

Description

@gHashTag

Part of #1712 (item 7).

Problem

The actor runtime (queen-actors.ts) has monitors, supervisors, slices and nodes. It does not run what actors.t27 already specifies about links and exits:

  • links and exit signals: links_after_link, on_exit_signal, death_reason, attach_answer;
  • call with an alias and a timeout, and the call-cycle refusal: call_outcome, live_alias, call_admit, chain_add;
  • demonitor with flush: down_left_after_demonitor;
  • the orderly stop: stop_signal, stop_rank.

A double monitor gives one DOWN, because the watchers are a Set; the spec says two. The bee dispatch is still the round's timer loop in queen-tick.ts runRound: one queend choice per call, one bee after another.

What

  1. Runtime: links and trap_exit, a call with an alias and a timeout (late replies dropped), demonitor with flush, the orderly stop in reverse start order, and a correct double monitor. All of it goes through the actors card. New files, with four small hooks in queen-actors.ts.
  2. Keyed actors per gHashTag/t27 specs/queen/keyed.t27 (t27#8271): get or spawn, idle passivation, an active cap with LRU eviction, directory cleanup on exit, and a held send that starts a stopping key again.
  3. MVP: the bee dispatcher as keyed actors, one per issue, behind TRIOS_QUEEN_DISPATCH=actors, off by default.
  4. A benchmark against the dispatch loop on the same seeded input. It measures duplicate pickups, throughput, effective vs nominal parallelism, p95 ready to start, and recovery after a crash and after a hang.

No production swap. The actors rule (gHashTag/t27#7851) needs the numbers first.

Activity

  1. gHashTag commented on Oct 10, 2026

    @gHashTag
    OwnerAuthor

    Shipped: #1723 merged into actors-next, which went into queen as 56c5df7 via #1730 (2026-10-10 13:38Z). Every new behaviour is behind a flag that is off. Closes fires only on the default branch main, so this is closed by hand. Ledger: #1729.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions