Orchestrata Ultimate › Plans › KIMI-TASK-flakes-and-unit

KIMI TASK — two masked flakes and one unversioned unit

Source: plans/KIMI-TASK-flakes-and-unit.md at 8a2cb42ad · last changed 2026-08-10 · first committed 2026-08-10 · 72 lines.

Prose pending.

Plan text

KIMI TASK — two masked flakes and one unversioned unit

Base: origin/master @ e1793c1f (pushed). Work in your own worktree with its own env (RUL-021 — no symlinked .venv, no exported PYTHONPATH).

Three independent items. Do them in order; each is committable on its own. Do not push without authorization in #agents.


1. tests/refactor/rename/test_lsp_transport.py — masked flake

Measured in the full suite on 2026-08-10 (32454 passed / 0 failed / 0 errors / 0 skipped, 1610 modules, 422s): this module failed inside its batch and passed on the solo retry. It is logged in .flake_recoveries.ndjson.

A recovery is a masked red. The suite is green only because the runner ran it a second time on an idle machine.

2. Conversation-consumer flush flake

tests/knowledge_graph/test_conversation_consumer.py, TestConversationQueueConsumerFlush::test_flush*. Eight recorded recoveries, every one with the same signature: llen(processing_key) measured 0 where the test expects 1.

Same class as #1 and already characterised — the assertion reads a Redis list length at a moment when the value it wants is in flight. Establish WHERE the window is (producer, consumer, or the test's own read) before changing anything, and fix the side that is actually wrong.

3. orchestrata-bot.service is unversioned

The unit runs live in ~/.config/systemd/user/orchestrata-bot.service and has no copy under deploy/systemd/. Consequences:

Do:

  1. Copy the live unit into deploy/systemd/, matching the conventions of the four units already there (read them first — ExecStartPre KG-readiness gate, EnvironmentFile layering, User=).
  2. Register it in install.sh.
  3. Prove the drift gate now sees it: make the two copies differ, show the gate FAILS, restore, show it PASSES. Put that evidence in the commit message.

Do not hand-edit the live unit to match; the repo copy is the source of truth and the live one must be reproducible from it.


Standing rules