Orchestrata Ultimate › Bug fixes

Bug fixes — the stories

This page tells the bugs that changed how the project works. The complete, month-by-month list of fix commits is the bug-fix log; this page picks thirty and tells each one in full. Every story gives the symptom, the cause, the fix with its commit, how it was found, the lesson, and the source it was written from. Commit shas are in the orchestrata repo (orchestrata-ultimate-architecture) unless the story names codetools (orchestrata.codetools) or the host.

Each story was checked against git show of its commit, the wiki page it cites, a memory file, or a recorded log. Where a number was not recorded, the story says "not measured".

Contents

Recurring shapes

Most of these bugs fall into a handful of shapes. Spotting the shape early is worth more than any single fix.

Shape What it looks like Stories
No verdict, read as a pass A check that crashed, never ran, or printed nothing is counted as "no findings". A swallowed exit code (|| echo 0, || exit 0, set -e with no message) turns a failure into silence. 1, 2, 3, 4, 5, 6
The environment leaks in A PYTHONPATH, an editable re-sync, a direnv export, a shell secret or a PYTEST_ADDOPTS from the caller's shell changes what a run imports or reads. The run is green or red about the wrong thing. 7, 8, 9, 10, 11
Proper-install fallout After the 2026-10-20 ruling for a real (non-editable) install, every assumption that the package lives under src/ broke: __file__ hops, provenance checks, packaging. 12, 13, 14
The seam was tested, the wiring was not A helper has passing tests, but a call site bypasses it, or a mirror copy, a rollback or a deploy step does not carry the change. 15, 16, 17, 18, 19
Shared state, shared names Parallel workers or long-lived processes share one thing the code assumed was private: the user's systemd manager, the process working directory, file descriptors, the live git checkout, a pipe, or a path prefix that two sibling trees share. 6, 20, 21, 22, 23, 24
The language moved under the code Python 3.14 features (PEP 758 unparenthesized except, PEP 649 lazy annotations) broke code that older interpreters or tools still read. 25, 26
The host itself Storage and desktop services on the development machine, misread as application slowness. 27, 28
Contracts and agents A protocol that allowed silence, and a worker that changed what it was told not to touch. 29, 30

The story behind the 2026-10-22 push refusals touches four shapes at once and is the best single example of why the gates are built the way they are:

Diagram projects-orchestrata-ultimate-bug-fixes-1


A. No verdict, read as a pass

1. The pre-commit review passed every commit, three ways (2026-10-11)

Diagram projects-orchestrata-ultimate-bug-fixes-2

2. The 300 s test cap was dead on arrival, and a capped run exited 0 (2026-10-20)

3. The orchgraph backup had never produced a snapshot (2026-10-05)

4. The map hook moved the maps into a directory that did not exist (2026-10-22)

5. Seven silent failures and the orphaned waiters (session 260, 2026-08)

6. Ship's merge to master died of SIGPIPE after master had landed (2026-10-11)


B. The environment leaks in

7. A plain uv run flipped the venv editable, and the provenance message pointed the wrong way (2026-10-21 to 2026-10-23)

8. A direnv PYTHONPATH made a codetools proof test the wrong code (2026-10-20)

9. The operator's shell secret beat the prod tree's own .env (2026-10-09)

10. An env-profile overlay clobbered per-worker settings mid-batch (2026-08-07)

11. Ship's plain pytest arms failed from any Claude session (2026-10-22)


C. Proper-install fallout

Mohamed's ruling of 2026-10-20 ("i want a propper install": no editable, no .pth, no in-place resolution) removed a crutch that had hidden several bugs. They surfaced over the next three days:

Diagram projects-orchestrata-ultimate-bug-fixes-3

12. The wheel shipped one of its three packages (2026-10-20)

13. The source-provenance gate became permanently false (2026-10-21)

14. __file__ hops climbed into the venv, and the tools deploy rolled back (2026-10-22)


D. The seam was tested, the wiring was not

15. Every push gate died because batch children lacked the runner stamp (2026-10-20)

16. The affected selection kept 17 deleted test paths, and 70 modules did not run (2026-10-22)

17. Promotion rollback restarted the failed commit's unit files (2026-10-09)

18. The config deploy deleted three hand-installed user hooks (2026-10-23)

19. The unshipped guard blocked sessions that had shipped nothing (2026-10-21)


E. Shared state, shared names

20. Parallel live-systemd tests logged out the desktop session (2026-10-13)

21. The AST daemon changed its own working directory and failed a deploy (2026-10-13)

22. The cxpt transport leaked one fd per client until the kernel went deaf (2026-08-07)

23. A test run wrote 16 commits onto master (2026-07-27)

24. The prod-separation gate judged paths by substring (2026-09-23)


F. The language moved under the code

25. PEP 758 except A, B: broke every interpreter older than 3.14 (2026-10-13 to 2026-10-20)

26. Lazy annotations turned TYPE_CHECKING imports into runtime NameErrors (2026-09-21)


G. The host itself

27. Full btrfs qgroups stalled the T9 Incus pool (2026-10-21)

28. PipeWire got realtime only on paper (2026-10-12)


H. Contracts and agents

29. An acknowledged intent could end in silence (2026-08-05)

30. A read-only worker deleted production dependencies as an "AST fix" (2026-10-20)