lean-core: gc clean-only + delete pty up/down + trim GcResult; bump 0.12.0
Sub-batch 2/N of the reboot cutover branch. Executes §8 items 1–8 + 10
of notes/lean-pty-core-supervision-spec.md.
BREAKING — CLI surface:
- Removed `pty up` and `pty down`. Manifest processing moves to
`convoy up` / `convoy down`. `pty.toml` file name stays; convoy reads
it verbatim via `readPtyFile` + `commandWithEnvExports`, both still
exported from `@myobie/pty/client`.
- Removed `pty gc --fast-fail-window` and `--fast-fail-limit`.
- `pty gc` is clean-only: STEP 1 (orphan-kill), STEP 1.5 (abandoned-reap
cwd-gone + opt-in idle), STEP 3 (sweep exited non-permanent). STEP 2
(permanent respawn) is gone; permanent sessions that exit stay
in-place on disk for convoy's reconcile loop.
BREAKING — API surface:
- GcResult trimmed to `{ removed, killedOrphanChildren, abandoned }`.
- Deleted sessions.ts:respawnPermanent + classifyFlapping + the
FlappingDecision interface.
- Removed the `[flapping]` badge from strategyMarker / `pty list`
(convoy renders its own list if desired).
- SessionFlappingEvent + EventType.SESSION_FLAPPING stay exported for
convoy to import + emit via appendEventSync. Payload frozen per
spec §8.1.
Tests:
- Deleted: tests/gc-flapping.test.ts, tests/gc-permanent.test.ts,
tests/up-down.test.ts, tests/up-name-decouple.test.ts.
- Extracted PTY_ROOT length backstop tests into
tests/pty-root-length-backstop.test.ts (from the previous
gc-flap-clear-badge-root-len.test.ts, dropping the flap-clear +
badge cases).
- Updated tests/gc-abandoned.test.ts + gc-parent-child.test.ts to
assert post-reboot behavior.
- Full suite: 1158 passed + 1 flake (demos/agent-teams timestamp
timing, unrelated to §8), 21 skipped, 0 real failures.
Version bump 0.11.0 → 0.12.0. `flake.nix` npmDepsHash refreshed.
BREAKING — Storage format on 0.12.0:
- No tag or event REMOVED from the wire — pty stops writing the
`strategy.status` / `strategy.consecutive-fast-fails` /
`strategy.last-respawn-at` / `strategy.command-hash` tags, but they
remain reserved-shape for convoy to write. `session_flapping` event
stays defined.
Cutover-branch commit; does NOT merge until reboot moment.
lean-core: gc clean-only + delete pty up/down + trim GcResult; bump 0.12.0
Sub-batch 2/N of the reboot cutover branch. Executes §8 items 1–8 + 10
of notes/lean-pty-core-supervision-spec.md.
BREAKING — CLI surface:
- Removed `pty up` and `pty down`. Manifest processing moves to
`convoy up` / `convoy down`. `pty.toml` file name stays; convoy reads
it verbatim via `readPtyFile` + `commandWithEnvExports`, both still
exported from `@myobie/pty/client`.
- Removed `pty gc --fast-fail-window` and `--fast-fail-limit`.
- `pty gc` is clean-only: STEP 1 (orphan-kill), STEP 1.5 (abandoned-reap
cwd-gone + opt-in idle), STEP 3 (sweep exited non-permanent). STEP 2
(permanent respawn) is gone; permanent sessions that exit stay
in-place on disk for convoy's reconcile loop.
BREAKING — API surface:
- GcResult trimmed to `{ removed, killedOrphanChildren, abandoned }`.
- Deleted sessions.ts:respawnPermanent + classifyFlapping + the
FlappingDecision interface.
- Removed the `[flapping]` badge from strategyMarker / `pty list`
(convoy renders its own list if desired).
- SessionFlappingEvent + EventType.SESSION_FLAPPING stay exported for
convoy to import + emit via appendEventSync. Payload frozen per
spec §8.1.
Tests:
- Deleted: tests/gc-flapping.test.ts, tests/gc-permanent.test.ts,
tests/up-down.test.ts, tests/up-name-decouple.test.ts.
- Extracted PTY_ROOT length backstop tests into
tests/pty-root-length-backstop.test.ts (from the previous
gc-flap-clear-badge-root-len.test.ts, dropping the flap-clear +
badge cases).
- Updated tests/gc-abandoned.test.ts + gc-parent-child.test.ts to
assert post-reboot behavior.
- Full suite: 1158 passed + 1 flake (demos/agent-teams timestamp
timing, unrelated to §8), 21 skipped, 0 real failures.
Version bump 0.11.0 → 0.12.0. `flake.nix` npmDepsHash refreshed.
BREAKING — Storage format on 0.12.0:
- No tag or event REMOVED from the wire — pty stops writing the
`strategy.status` / `strategy.consecutive-fast-fails` /
`strategy.last-respawn-at` / `strategy.command-hash` tags, but they
remain reserved-shape for convoy to write. `session_flapping` event
stays defined.
Cutover-branch commit; does NOT merge until reboot moment.
lean-core: gc clean-only + delete pty up/down + trim GcResult; bump 0.12.0
Sub-batch 2/N of the reboot cutover branch. Executes §8 items 1–8 + 10
of notes/lean-pty-core-supervision-spec.md.
BREAKING — CLI surface:
- Removed `pty up` and `pty down`. Manifest processing moves to
`convoy up` / `convoy down`. `pty.toml` file name stays; convoy reads
it verbatim via `readPtyFile` + `commandWithEnvExports`, both still
exported from `@myobie/pty/client`.
- Removed `pty gc --fast-fail-window` and `--fast-fail-limit`.
- `pty gc` is clean-only: STEP 1 (orphan-kill), STEP 1.5 (abandoned-reap
cwd-gone + opt-in idle), STEP 3 (sweep exited non-permanent). STEP 2
(permanent respawn) is gone; permanent sessions that exit stay
in-place on disk for convoy's reconcile loop.
BREAKING — API surface:
- GcResult trimmed to `{ removed, killedOrphanChildren, abandoned }`.
- Deleted sessions.ts:respawnPermanent + classifyFlapping + the
FlappingDecision interface.
- Removed the `[flapping]` badge from strategyMarker / `pty list`
(convoy renders its own list if desired).
- SessionFlappingEvent + EventType.SESSION_FLAPPING stay exported for
convoy to import + emit via appendEventSync. Payload frozen per
spec §8.1.
Tests:
- Deleted: tests/gc-flapping.test.ts, tests/gc-permanent.test.ts,
tests/up-down.test.ts, tests/up-name-decouple.test.ts.
- Extracted PTY_ROOT length backstop tests into
tests/pty-root-length-backstop.test.ts (from the previous
gc-flap-clear-badge-root-len.test.ts, dropping the flap-clear +
badge cases).
- Updated tests/gc-abandoned.test.ts + gc-parent-child.test.ts to
assert post-reboot behavior.
- Full suite: 1158 passed + 1 flake (demos/agent-teams timestamp
timing, unrelated to §8), 21 skipped, 0 real failures.
Version bump 0.11.0 → 0.12.0. `flake.nix` npmDepsHash refreshed.
BREAKING — Storage format on 0.12.0:
- No tag or event REMOVED from the wire — pty stops writing the
`strategy.status` / `strategy.consecutive-fast-fails` /
`strategy.last-respawn-at` / `strategy.command-hash` tags, but they
remain reserved-shape for convoy to write. `session_flapping` event
stays defined.
Cutover-branch commit; does NOT merge until reboot moment.