@theaileverage/marionette 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 — 2026-09-08
4
+
5
+ - Add interactive setup with editable defaults, required-tool preflight, explicit installation options, and recovery for missing Herdr workspaces without losing project identity or history.
6
+ - Open terminal leads in dedicated Herdr tabs, reuse verified sessions, and restart exited leads only after confirming an idle shell. Give each project a readable MCP registration and migrate owned legacy entries.
7
+ - Add instance-wide update and upgrade commands that migrate saved project bindings and MCP registrations together, preserve worker terminals and lead leases, and restore the previous runtime and database if startup fails.
8
+ - Add previewable project removal and instance uninstallation with active-work, terminal-identity, shared-resource, and retained-worktree checks. Preserve project source files and restore only workspace trust settings owned by Marionette.
9
+ - Manage native workspace trust for Codex, Claude Code, and AGY, including managed worktrees, while preserving agent tool-approval and sandbox settings.
10
+ - Consolidate lead, worker, strategy, delegation, and follow-up instructions into editable Mustache templates embedded in the distributed executables. Preserve literal task data, scoped ownership, revision fencing, and independent verification.
11
+ - Expand regression coverage to 189 tests, including runtime rollback, setup recovery, MCP migration, terminal reuse, trust restoration, and prompt rendering.
12
+
3
13
  ## 0.3.0 — 2026-09-08
4
14
 
5
15
  - **Runtime change:** the CLI and supervisor now require Bun 1.3.14+. `npx` remains supported when Bun is on PATH. Development, tests, and CI use Bun with a frozen lockfile.
package/CONTRIBUTING.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  Use Bun 1.3.14 or newer and install dependencies with `bun install --frozen-lockfile`. Run `bun run check`, `bun run test`, `bun run build` and `bun run format:check` before opening a pull request. Describe the concrete behavior change and its validation. Keep tests deterministic; the standard suite must not start paid agent sessions or depend on a developer's Herdr configuration.
4
4
 
5
+ Edit the lead prompt in [`src/templates/lead.mustache`](src/templates/lead.mustache).
6
+ It is a plain-text Mustache template shared by setup, lead launch, and MCP
7
+ instructions. The optional `session` section receives `leadName`, `projectName`,
8
+ `projectId`, and `leasePath`; triple braces preserve their literal text without
9
+ HTML escaping. Keep session-specific details inside that section. Run
10
+ `bun test tests/prompts.test.ts tests/lead-terminal.test.ts` to check rendering
11
+ and terminal compatibility. Source commands load template edits on their next
12
+ start; run `bun run build` to embed them in the distributed CLI and MCP bundles.
13
+
14
+ Worker wording lives beside it: `worker.mustache` contains the assignment,
15
+ scope, inspection, worktree, and reporting instructions; `worker-delegation.mustache`
16
+ and `worker-strategy.mustache` are conditional partials; `worker-followup.mustache`
17
+ handles child results, lead answers, and replacement objectives. Task data and
18
+ shell-quoted CLI commands are prepared in `src/prompts.ts` and `src/supervisor.ts`.
19
+ Use triple braces for literal text and the prepared `*Json` fields inside JSON
20
+ examples. Templates and partials are embedded during the same build. Run
21
+ `bun test tests/prompts.test.ts tests/orchestration.test.ts` after worker edits.
22
+
5
23
  The project pins Bun, Effect v4, and TypeScript 7. Commit `bun.lock`; do not generate an npm lockfile. `bun install --frozen-lockfile` runs the `prepare` script to
6
24
  patch the local TypeScript and Oxlint binaries with `@effect/tsgo`. If dependencies
7
25
  were installed with lifecycle scripts disabled, run `bun run prepare` before
package/README.md CHANGED
@@ -12,7 +12,7 @@ Coordinate Codex, Claude Code, and AGY workers through one lead conversation. Wo
12
12
 
13
13
  ## Quick start
14
14
 
15
- Requires **macOS or Linux**, **Bun 1.3.14+**, **Herdr** on PATH, and your chosen agent CLIs installed and signed in.
15
+ Requires **macOS or Linux** and **Bun 1.3.14+**. Setup checks Git, Herdr, and the selected lead CLI before creating project state. It reports other agent CLIs as optional workers.
16
16
 
17
17
  From your project directory:
18
18
 
@@ -22,7 +22,11 @@ bunx --bun @theaileverage/marionette setup
22
22
 
23
23
  You can also use `npx @theaileverage/marionette setup`. Bun must still be installed and on PATH; `npx` downloads the package but does not install Bun.
24
24
 
25
- Setup starts the supervisor, connects a named Herdr session and project workspace, and configures MCP for your chosen lead: Codex desktop, Codex CLI, Claude Code, or AGY.
25
+ The interactive setup uses editable defaults and arrow-key choices. It offers to install missing required tools, then starts the supervisor, connects a named Herdr session and project workspace, and configures MCP for Codex desktop, Codex CLI, Claude Code, or AGY.
26
+
27
+ Setup installs Herdr through Homebrew when available, or its [official installer](https://herdr.dev/docs/install/); Git through existing Homebrew; Codex through npm when available; and Claude Code through its official installer. AGY and Git without Homebrew require manual installation. Agent sign-in remains a separate step. Setup does not install every optional worker or change existing agent integrations.
28
+
29
+ The project defaults to your current directory. To select Menderly from another directory, for example, pass `setup --project /path/to/menderly`.
26
30
 
27
31
  For a terminal lead:
28
32
 
@@ -30,6 +34,10 @@ For a terminal lead:
30
34
  bunx --bun @theaileverage/marionette lead
31
35
  ```
32
36
 
37
+ The terminal lead opens in a dedicated tab in the project’s Herdr session. Repeating `lead` focuses the existing lead without resending its prompt. If the lead has exited and its tab contains a verified idle shell, `lead` starts it again in that tab. If a process is still present or its state is uncertain, `lead` opens the tab for inspection without sending a launch command. Detach with `Ctrl-B q`; the lead and workers keep running.
38
+
39
+ Setup names each project’s MCP entry `mnett-<project>-<lead>`, such as `mnett-menderly-mendy`. Names use lowercase words and hyphens, with a numeric suffix when needed to avoid collisions. `--mcp install` installs the entry and migrates owned older names; `--mcp print` prints a command with shell quoting only where needed.
40
+
33
41
  For Codex desktop, refresh MCP in Settings and give your conversation the prompt file printed by setup.
34
42
 
35
43
  ```sh
@@ -37,7 +45,38 @@ bunx --bun @theaileverage/marionette dashboard # Print the private dashboard UR
37
45
  bunx --bun @theaileverage/marionette doctor # Diagnose connections
38
46
  ```
39
47
 
40
- For scripted setup, use `setup --yes --json`; `setup --help` and `setup --schema` describe the available options. Install globally with `bun add --global @theaileverage/marionette` for the shorter `marionette` command.
48
+ For scripted setup, use `setup --yes --json`. Add `--install-tools` to explicitly allow installation of missing required tools; `--yes` alone only accepts configuration defaults. `--dry-run` prints the plan without installations or writes; `setup --help` and `setup --schema` describe the available options. Install globally with `bun add --global @theaileverage/marionette` for the shorter `marionette` command.
49
+
50
+ If an older cached package fails on `node:sqlite`, run `bunx --bun @theaileverage/marionette@latest setup`. Marionette 0.3.0 and later use Bun’s SQLite runtime.
51
+
52
+ Setup's `trustWorkspaces` option registers native workspace trust for Codex, Claude Code, and AGY as each lead or worker starts, including managed worktrees. Use `--no-trust-workspaces` to keep native trust prompts, or `--trust-workspaces` to enable it explicitly. Tool approvals and sandbox settings remain controlled by each agent. Legacy AGY-only settings remain compatible and do not silently authorize trust for other agents.
53
+
54
+ ## Update and removal
55
+
56
+ ```sh
57
+ marionette update --check # Compare installed and published versions
58
+ marionette update # Upgrade this instance and detected global CLI packages
59
+ marionette upgrade # Alias for update
60
+ marionette update --from /path/to/built/marionette # Use a local build
61
+ ```
62
+
63
+ An instance can serve several projects. Updating moves all its saved project bindings and owned MCP registrations together, restarts the supervisor, and preserves worker terminals, assignments, and lead leases. A failed restart restores the previous runtime and database. Recovery files are retained only if rollback needs attention. Refresh or restart agent MCP clients afterward. `--runtime-only` leaves the global CLI package unchanged; `--home DIR` selects another instance. Global package-manager failures are reported separately from the runtime migration and can be retried.
64
+
65
+ Setup detects a different saved or running runtime and offers the same migration. For scripts, use `setup --yes --upgrade`; without `--upgrade`, setup reports the required update command before changing project state.
66
+
67
+ `setup --upgrade` also refreshes a changed local build with the same version number. If a saved Herdr workspace no longer exists, setup finds or creates its replacement and reconnects the existing project while preserving its ID, lead lease, and history. Active tasks and unresolved operations must be resolved first. An explicitly supplied `--workspace` must exist.
68
+
69
+ ```sh
70
+ marionette remove --dry-run # Preview removal of the current project
71
+ marionette remove # Confirm removal interactively
72
+ marionette remove --project /path/to/project --yes
73
+ marionette uninstall --dry-run --global
74
+ marionette uninstall --global # Remove this instance and detected Bun/npm global CLI installs
75
+ ```
76
+
77
+ Project removal deletes its binding, leases, stored project history, and archives, and restores workspace trust settings that Marionette added. Its MCP registrations are removed while other projects’ entries remain. Legacy shared MCP registrations remain until the final project is removed or all dependent projects have their own entries. Uninstallation deletes the selected instance's state, logs, runtimes, and recovery files. Project source files and Git branches are preserved; collect or relocate managed worktrees before removal. Shared instance logs and any failed-upgrade recovery files remain after individual project removal.
78
+
79
+ Removal previews active tasks, pending operations, and terminal ownership before making changes. Exit lead/worker agents first, or explicitly use `--stop-agents` to close verified project agents. Use `--keep-herdr` to retain terminal resources, including offline sessions. Herdr itself and the coding-agent applications remain installed. Noninteractive removal requires `--yes`; `--json` provides structured output. `--project-id ID` can remove an orphaned project whose source directory no longer exists.
41
80
 
42
81
  ## How it runs
43
82
 
@@ -2,6 +2,38 @@
2
2
 
3
3
  These libraries are included in Marionette’s executable and dashboard bundles.
4
4
 
5
+ ## @clack/core 1.5.0
6
+
7
+ License: MIT
8
+
9
+ ```text
10
+ MIT License
11
+
12
+ MIT License Copyright (c) 2025-Present [Bombshell contributors](https://bomb.sh/team)
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+ ```
20
+
21
+ ## @clack/prompts 1.8.0
22
+
23
+ License: MIT
24
+
25
+ ```text
26
+ MIT License
27
+
28
+ MIT License Copyright (c) 2025-Present [Bombshell contributors](https://bomb.sh/team)
29
+
30
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
31
+
32
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
33
+
34
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+ ```
36
+
5
37
  ## @modelcontextprotocol/sdk 1.30.0
6
38
 
7
39
  License: MIT
@@ -749,6 +781,62 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
749
781
  SOFTWARE.
750
782
  ```
751
783
 
784
+ ## fast-string-truncated-width 3.0.3
785
+
786
+ License: MIT
787
+
788
+ ```text
789
+ The MIT License (MIT)
790
+
791
+ Copyright (c) 2024-present Fabio Spampinato
792
+
793
+ Permission is hereby granted, free of charge, to any person obtaining a
794
+ copy of this software and associated documentation files (the "Software"),
795
+ to deal in the Software without restriction, including without limitation
796
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
797
+ and/or sell copies of the Software, and to permit persons to whom the
798
+ Software is furnished to do so, subject to the following conditions:
799
+
800
+ The above copyright notice and this permission notice shall be included in
801
+ all copies or substantial portions of the Software.
802
+
803
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
804
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
805
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
806
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
807
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
808
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
809
+ DEALINGS IN THE SOFTWARE.
810
+ ```
811
+
812
+ ## fast-string-width 3.0.2
813
+
814
+ License: MIT
815
+
816
+ ```text
817
+ The MIT License (MIT)
818
+
819
+ Copyright (c) 2024-present Fabio Spampinato
820
+
821
+ Permission is hereby granted, free of charge, to any person obtaining a
822
+ copy of this software and associated documentation files (the "Software"),
823
+ to deal in the Software without restriction, including without limitation
824
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
825
+ and/or sell copies of the Software, and to permit persons to whom the
826
+ Software is furnished to do so, subject to the following conditions:
827
+
828
+ The above copyright notice and this permission notice shall be included in
829
+ all copies or substantial portions of the Software.
830
+
831
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
832
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
833
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
834
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
835
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
836
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
837
+ DEALINGS IN THE SOFTWARE.
838
+ ```
839
+
752
840
  ## fast-uri 3.1.7
753
841
 
754
842
  License: BSD-3-Clause
@@ -786,6 +874,36 @@ The complete list of contributors can be found at:
786
874
  - https://github.com/garycourt/uri-js/graphs/contributors
787
875
  ```
788
876
 
877
+ ## fast-wrap-ansi 0.2.2
878
+
879
+ License: MIT
880
+
881
+ ```text
882
+ MIT License
883
+
884
+ Copyright (c) 2025 James Garbutt
885
+
886
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
887
+
888
+ Permission is hereby granted, free of charge, to any person obtaining a copy
889
+ of this software and associated documentation files (the "Software"), to deal
890
+ in the Software without restriction, including without limitation the rights
891
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
892
+ copies of the Software, and to permit persons to whom the Software is
893
+ furnished to do so, subject to the following conditions:
894
+
895
+ The above copyright notice and this permission notice shall be included in all
896
+ copies or substantial portions of the Software.
897
+
898
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
899
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
900
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
901
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
902
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
903
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
904
+ SOFTWARE.
905
+ ```
906
+
789
907
  ## finalhandler 2.1.1
790
908
 
791
909
  License: MIT
@@ -1383,6 +1501,24 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1383
1501
  SOFTWARE.
1384
1502
  ```
1385
1503
 
1504
+ ## mustache 4.2.0
1505
+
1506
+ License: MIT
1507
+
1508
+ ```text
1509
+ The MIT License
1510
+
1511
+ Copyright (c) 2009 Chris Wanstrath (Ruby)
1512
+ Copyright (c) 2010-2014 Jan Lehnardt (JavaScript)
1513
+ Copyright (c) 2010-2015 The mustache.js community
1514
+
1515
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1516
+
1517
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1518
+
1519
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1520
+ ```
1521
+
1386
1522
  ## negotiator 1.1.0
1387
1523
 
1388
1524
  License: MIT
@@ -2041,6 +2177,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2041
2177
  SOFTWARE.
2042
2178
  ```
2043
2179
 
2180
+ ## sisteransi 1.0.5
2181
+
2182
+ License: MIT
2183
+
2184
+ ```text
2185
+ MIT License
2186
+
2187
+ Copyright (c) 2018 Terkel Gjervig Nielsen
2188
+
2189
+ Permission is hereby granted, free of charge, to any person obtaining a copy
2190
+ of this software and associated documentation files (the "Software"), to deal
2191
+ in the Software without restriction, including without limitation the rights
2192
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2193
+ copies of the Software, and to permit persons to whom the Software is
2194
+ furnished to do so, subject to the following conditions:
2195
+
2196
+ The above copyright notice and this permission notice shall be included in all
2197
+ copies or substantial portions of the Software.
2198
+
2199
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2200
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2201
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2202
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2203
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2204
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2205
+ SOFTWARE.
2206
+ ```
2207
+
2044
2208
  ## statuses 2.0.2
2045
2209
 
2046
2210
  License: MIT
package/VERIFICATION.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Verification record
2
2
 
3
+ ## Project lifecycle and prompt templates — 0.4.0 local acceptance
4
+
5
+ Verified locally on macOS arm64 with Bun 1.3.14. The complete suite passed **189 tests across 20 files**. New coverage includes instance-wide runtime and MCP migration, rollback after failed startup, project removal and shared-resource preservation, native workspace trust restoration, missing-workspace recovery, terminal-lead reuse, and literal Mustache rendering for lead and worker instructions.
6
+
7
+ `bun run check`, `bun run format:check`, `bun run release:check`, and `bun run tooling:check` passed. Full `bun pm pack` prepack validation passed, including runtime lifecycle checks and the production build. The resulting 0.4.0 tarball installed in an isolated temporary consumer and passed CLI version, read-only setup planning, standalone Herdr SDK, and TypeScript declaration checks without an installed Effect dependency.
8
+
9
+ Worker prompt tests cover all six collaboration strategies, optional delegation and worktree sections, current-revision follow-ups, literal task text, JSON field escaping, and shell-quoted report commands. A supervisor dispatch fixture confirms that the rendered worker prompt excludes the worker credential.
10
+
11
+ These checks use isolated state, temporary repositories, and protocol fixtures. They do not claim new live coding-agent acceptance or exercise removal against a user's real projects. Linux and macOS release CI independently validate the committed artifact before publication.
12
+
3
13
  ## Effect v4 on Bun — 0.3.0 local acceptance (8 September 2026)
4
14
 
5
15
  Verified locally on macOS arm64 with Bun 1.3.14, Effect 4.0.0-rc.112, TypeScript 7.0.2, and `@effect/tsgo` 0.43.0. The implementation was coordinated through a dedicated Marionette session. The complete Bun suite passed **127 tests across 14 files**, including all 125 retained Effect-era tests and two Bun SQLite compatibility tests.