baro-ai 0.18.1 → 0.20.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/README.md +67 -2
- package/dist/cli.mjs +10251 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/openai-planner.js +1 -0
- package/dist/openai-planner.js.map +1 -0
- package/package.json +16 -4
- package/scripts/postinstall.js +16 -0
package/README.md
CHANGED
|
@@ -124,21 +124,86 @@ Options:
|
|
|
124
124
|
--resume Resume from existing prd.json (also runs dry-run plans)
|
|
125
125
|
--skip-context Skip CLAUDE.md auto-generation
|
|
126
126
|
--cwd <path> Working directory (default: current)
|
|
127
|
+
--with-critic Enable live Critic — reviews each agent turn
|
|
128
|
+
against acceptance criteria via `claude --model haiku`
|
|
129
|
+
and injects corrective feedback (default: off)
|
|
130
|
+
--critic-model <name> Model for the Critic (default: haiku)
|
|
131
|
+
--no-librarian Disable cross-agent runtime memory (default: on)
|
|
132
|
+
--no-sentry Disable file-touch conflict detector (default: on)
|
|
133
|
+
--with-surgeon Enable adaptive DAG: drop / replace failing stories
|
|
134
|
+
at level boundaries instead of stalling (default: off)
|
|
135
|
+
--surgeon-use-llm Use `claude --model …` for richer Surgeon replans
|
|
136
|
+
(default: deterministic skip-only)
|
|
137
|
+
--surgeon-model <name> Model for Surgeon when --surgeon-use-llm is on
|
|
138
|
+
(default: opus)
|
|
127
139
|
-h, --help Print help
|
|
128
140
|
```
|
|
129
141
|
|
|
142
|
+
### Phase 2/3/4 observers (Mozaik bus)
|
|
143
|
+
|
|
144
|
+
baro 0.19+ runs every story through a TypeScript Mozaik orchestrator.
|
|
145
|
+
Stories on the same DAG level run truly in parallel and observers can
|
|
146
|
+
react to one another's bus events:
|
|
147
|
+
|
|
148
|
+
- **Librarian** (default ON) — when one agent reads a file or runs grep,
|
|
149
|
+
later agents in the run see the digest in their prompt and skip the
|
|
150
|
+
redundant exploration. Measurable token savings on multi-story runs.
|
|
151
|
+
- **Sentry** (default ON) — flags overlapping Edit/Write tool calls
|
|
152
|
+
across concurrent stories.
|
|
153
|
+
- **Critic** (`--with-critic`, default OFF) — Haiku evaluator reviews
|
|
154
|
+
each agent turn against acceptance criteria; on a fail verdict, an
|
|
155
|
+
inline corrective message lands as the agent's next turn so it
|
|
156
|
+
self-corrects before commit.
|
|
157
|
+
- **Surgeon** (`--with-surgeon`, default OFF) — when a story fails its
|
|
158
|
+
retry budget, a ReplanItem is emitted on the bus and the Conductor
|
|
159
|
+
recomputes the DAG at the next level boundary. The simplest mode just
|
|
160
|
+
drops failing stories so dependents unblock; with `--surgeon-use-llm`
|
|
161
|
+
Opus proposes splits, prerequisite inserts, or dependency rewires.
|
|
162
|
+
|
|
130
163
|
## Requirements
|
|
131
164
|
|
|
132
165
|
- [Claude CLI](https://docs.anthropic.com/en/docs/claude-cli) installed and authenticated
|
|
133
166
|
- macOS (arm64/x64), Linux (x64/arm64), or Windows (x64)
|
|
134
|
-
- Node.js
|
|
167
|
+
- **Node.js 20+** (orchestrator runtime)
|
|
135
168
|
- `gh` CLI (optional, for automatic PR creation)
|
|
136
169
|
|
|
137
170
|
> **Windows note:** Windows 10+ is required. For best TUI experience, use [Windows Terminal](https://aka.ms/terminal) or another modern terminal emulator.
|
|
138
171
|
|
|
139
172
|
## Architecture
|
|
140
173
|
|
|
141
|
-
Rust binary distributed via npm. TUI built with ratatui, async execution
|
|
174
|
+
Rust binary distributed via npm. TUI built with ratatui, async execution
|
|
175
|
+
with tokio. Each `baro` invocation spawns the bundled TypeScript
|
|
176
|
+
[Mozaik](https://github.com/jigjoy-ai/mozaik) orchestrator as a
|
|
177
|
+
subprocess; the orchestrator owns story execution and emits typed
|
|
178
|
+
events into a shared `AgenticEnvironment` bus. Each story is one
|
|
179
|
+
`claude` CLI subprocess (auth inherits from your Claude CLI session —
|
|
180
|
+
no API key needed).
|
|
181
|
+
|
|
182
|
+
The orchestrator is itself a Mozaik agentic environment: there is no
|
|
183
|
+
imperative `run()` method, no top-level `Promise.all` loop. The
|
|
184
|
+
**Conductor** is a state machine that reacts to typed bus events
|
|
185
|
+
(`RunStartRequest` → `LevelComputeRequest` → `StorySpawnRequest` →
|
|
186
|
+
`StoryResult` → `LevelCompleted` → …). Spawning a story, evaluating a
|
|
187
|
+
turn, and replanning the DAG are all reactions, not steps in a loop.
|
|
188
|
+
|
|
189
|
+
Ten participants share that bus:
|
|
190
|
+
|
|
191
|
+
| Participant | Role |
|
|
192
|
+
| --------------- | ----------------------------------------------------------------- |
|
|
193
|
+
| `Conductor` | Orchestration state machine — drives the run by reacting |
|
|
194
|
+
| `StoryFactory` | Spawns Story Agents on each `StorySpawnRequest` |
|
|
195
|
+
| `StoryAgent` | Runs one story via Claude CLI, with retries and timeout |
|
|
196
|
+
| `Librarian` | Cross-agent memory — indexes outputs of exploration tools |
|
|
197
|
+
| `Sentry` | Flags overlapping file writes across concurrent stories |
|
|
198
|
+
| `Critic` | Per-turn acceptance-criteria evaluator (opt-in: `--with-critic`) |
|
|
199
|
+
| `Surgeon` | Emits DAG replans when a story fails terminally (opt-in: `--with-surgeon`) |
|
|
200
|
+
| `Operator` | Bridges external user commands (TUI, web UI) into bus events |
|
|
201
|
+
| `Auditor` | JSONL log of every event on the bus |
|
|
202
|
+
| `Cartographer` | Translates bus events into UI frames for the Rust TUI |
|
|
203
|
+
|
|
204
|
+
The bus is open. New participants — CI deployers, Slack notifiers,
|
|
205
|
+
external ticket triggers — are subscribers and emitters with no changes
|
|
206
|
+
to the orchestrator.
|
|
142
207
|
|
|
143
208
|
## License
|
|
144
209
|
|