Skip to content

I4007 — An idle serve exits by itself after a bound

An idle serve that holds no lease, has no peers and no executions exits by itself after a bound read from policy.

READY wave 0 · p1 · implementation profile · parallel safe

Part of a-session-proceeds-through-the-mesh — A session proceeds through the mesh: it finds the work, claims it once, runs it watched and stops when the intent is met.

Ready. Every dependency is done, so majordomus plan start I4007 will be accepted.

Objective

An idle serve that holds no lease, has no peers and no executions exits by itself after a bound read from policy.

Why

Idle servers accumulate across worktrees and keep their claims live; each costs memory and a port on a shared machine.

Current state

Not built: this issue is planned by the milestone a-session-proceeds-through-the-mesh and nothing of it exists.

Desired state

The acceptance criteria below hold and case 4007 proves them.

Scope

  • apps/majordomus-cli/src/serve
  • docs/SERVE.md
  • test/cases/4007_an_idle_serve_exits_by_itself.sh
  • .ai/repo/project/issues/I4007.yaml

Dependencies

None. This issue is a root of the graph.

Acceptance criteria

  • A serve with a lease, a peer or a running execution never exits
  • An idle one exits after the bound and says why on stderr
  • The bound is policy data

Validation

  • env -u MAJORDOMUS_SHARE -u MAJORDOMUS_HTTP_HOST -u MJ_ROOT bash test/run.sh 4007_an_idle_serve_exits_by_itself

Evidence required

  • case_4007_an_idle_serve_exits_by_itself

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I4007.yaml. Read it back with majordomus plan show I4007.

Searches the titles and descriptions of every page this site publishes.