@polderlabs/bizar-omp 0.8.0 → 0.9.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 +287 -305
- package/agents/bizar-architect.md +1 -1
- package/agents/bizar-implementer.md +12 -2
- package/agents/bizar-planner.md +1 -1
- package/agents/bizar-researcher.md +1 -1
- package/agents/bizar-reviewer.md +7 -1
- package/agents/bizar-security-reviewer.md +1 -1
- package/agents/bizar-verifier.md +4 -0
- package/dist/cli/agents-ink.d.ts +12 -0
- package/dist/cli/agents-ink.d.ts.map +1 -1
- package/dist/cli/agents-ink.js +22 -7
- package/dist/cli/agents-ink.js.map +1 -1
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +6 -2
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/doctor.d.ts +4 -4
- package/dist/cli/install.d.ts +1 -7
- package/dist/cli/install.d.ts.map +1 -1
- package/dist/cli/install.js +75 -81
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/main.js +5 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/mobile-claim.d.ts.map +1 -1
- package/dist/cli/mobile-claim.js +26 -18
- package/dist/cli/mobile-claim.js.map +1 -1
- package/dist/cli/omb-daemon.d.ts.map +1 -1
- package/dist/cli/omb-daemon.js +43 -11
- package/dist/cli/omb-daemon.js.map +1 -1
- package/dist/cli/omb-mobile.d.ts.map +1 -1
- package/dist/cli/omb-mobile.js +9 -3
- package/dist/cli/omb-mobile.js.map +1 -1
- package/dist/cli/omb-runtime.d.ts.map +1 -1
- package/dist/cli/omb-runtime.js +2 -0
- package/dist/cli/omb-runtime.js.map +1 -1
- package/dist/cli/omb-sessions.js +18 -7
- package/dist/cli/omb-sessions.js.map +1 -1
- package/dist/cli/omb-update.d.ts +1 -1
- package/dist/cli/omb-update.d.ts.map +1 -1
- package/dist/cli/omb-update.js +7 -36
- package/dist/cli/omb-update.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +2 -1
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/update-ink.d.ts.map +1 -1
- package/dist/cli/update-ink.js +8 -23
- package/dist/cli/update-ink.js.map +1 -1
- package/dist/core/acceptance.d.ts +20 -1
- package/dist/core/acceptance.d.ts.map +1 -1
- package/dist/core/acceptance.js +50 -2
- package/dist/core/acceptance.js.map +1 -1
- package/dist/core/policies.d.ts +11 -0
- package/dist/core/policies.d.ts.map +1 -1
- package/dist/core/policies.js +41 -10
- package/dist/core/policies.js.map +1 -1
- package/dist/core/transitions.d.ts.map +1 -1
- package/dist/core/transitions.js +4 -3
- package/dist/core/transitions.js.map +1 -1
- package/dist/core/types.d.ts +64 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/extension.d.ts +4 -0
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +420 -78
- package/dist/extension.js.map +1 -1
- package/dist/omp/compatibility.d.ts +15 -5
- package/dist/omp/compatibility.d.ts.map +1 -1
- package/dist/omp/compatibility.js +12 -2
- package/dist/omp/compatibility.js.map +1 -1
- package/dist/omp/daemon-service.d.ts.map +1 -1
- package/dist/omp/daemon-service.js +151 -21
- package/dist/omp/daemon-service.js.map +1 -1
- package/dist/omp/daemon.d.ts +18 -4
- package/dist/omp/daemon.d.ts.map +1 -1
- package/dist/omp/daemon.js +209 -76
- package/dist/omp/daemon.js.map +1 -1
- package/dist/omp/dispatch-lifecycle.d.ts +61 -0
- package/dist/omp/dispatch-lifecycle.d.ts.map +1 -0
- package/dist/omp/dispatch-lifecycle.js +101 -0
- package/dist/omp/dispatch-lifecycle.js.map +1 -0
- package/dist/omp/model-role-assignment.d.ts +5 -0
- package/dist/omp/model-role-assignment.d.ts.map +1 -1
- package/dist/omp/model-role-assignment.js +5 -0
- package/dist/omp/model-role-assignment.js.map +1 -1
- package/dist/omp/model-roles.d.ts +8 -0
- package/dist/omp/model-roles.d.ts.map +1 -1
- package/dist/omp/model-roles.js +10 -0
- package/dist/omp/model-roles.js.map +1 -1
- package/dist/omp/omb-sessions.d.ts +8 -1
- package/dist/omp/omb-sessions.d.ts.map +1 -1
- package/dist/omp/omb-sessions.js +40 -23
- package/dist/omp/omb-sessions.js.map +1 -1
- package/dist/omp/omb-settings.d.ts +5 -1
- package/dist/omp/omb-settings.d.ts.map +1 -1
- package/dist/omp/omb-settings.js +75 -26
- package/dist/omp/omb-settings.js.map +1 -1
- package/dist/omp/omp-provider-config.d.ts +3 -0
- package/dist/omp/omp-provider-config.d.ts.map +1 -1
- package/dist/omp/omp-provider-config.js +80 -30
- package/dist/omp/omp-provider-config.js.map +1 -1
- package/dist/omp/rpc.d.ts +3 -0
- package/dist/omp/rpc.d.ts.map +1 -1
- package/dist/omp/session-ownership.d.ts +64 -0
- package/dist/omp/session-ownership.d.ts.map +1 -0
- package/dist/omp/session-ownership.js +269 -0
- package/dist/omp/session-ownership.js.map +1 -0
- package/dist/omp/task-model-selector.d.ts +58 -0
- package/dist/omp/task-model-selector.d.ts.map +1 -0
- package/dist/omp/task-model-selector.js +144 -0
- package/dist/omp/task-model-selector.js.map +1 -0
- package/dist/omp/tmux.d.ts.map +1 -1
- package/dist/omp/tmux.js +10 -5
- package/dist/omp/tmux.js.map +1 -1
- package/dist/omp/tray.d.ts +9 -1
- package/dist/omp/tray.d.ts.map +1 -1
- package/dist/omp/tray.js +210 -56
- package/dist/omp/tray.js.map +1 -1
- package/dist/scripts/emit-compatibility-receipt.js +13 -3
- package/dist/scripts/emit-compatibility-receipt.js.map +1 -1
- package/dist/services/benchmarks.d.ts +68 -0
- package/dist/services/benchmarks.d.ts.map +1 -0
- package/dist/services/benchmarks.js +105 -0
- package/dist/services/benchmarks.js.map +1 -0
- package/dist/services/budget.d.ts +40 -1
- package/dist/services/budget.d.ts.map +1 -1
- package/dist/services/budget.js +74 -3
- package/dist/services/budget.js.map +1 -1
- package/dist/services/change-impact.d.ts +33 -0
- package/dist/services/change-impact.d.ts.map +1 -0
- package/dist/services/change-impact.js +103 -0
- package/dist/services/change-impact.js.map +1 -0
- package/dist/services/efficiency.d.ts +101 -0
- package/dist/services/efficiency.d.ts.map +1 -0
- package/dist/services/efficiency.js +170 -0
- package/dist/services/efficiency.js.map +1 -0
- package/dist/services/hypothesis-ledger.d.ts +66 -0
- package/dist/services/hypothesis-ledger.d.ts.map +1 -0
- package/dist/services/hypothesis-ledger.js +92 -0
- package/dist/services/hypothesis-ledger.js.map +1 -0
- package/dist/services/lesson-extraction.d.ts +27 -0
- package/dist/services/lesson-extraction.d.ts.map +1 -0
- package/dist/services/lesson-extraction.js +49 -0
- package/dist/services/lesson-extraction.js.map +1 -0
- package/dist/services/parallel-work.d.ts +44 -0
- package/dist/services/parallel-work.d.ts.map +1 -0
- package/dist/services/parallel-work.js +68 -0
- package/dist/services/parallel-work.js.map +1 -0
- package/dist/services/pr-shepherd.d.ts +83 -0
- package/dist/services/pr-shepherd.d.ts.map +1 -0
- package/dist/services/pr-shepherd.js +129 -0
- package/dist/services/pr-shepherd.js.map +1 -0
- package/dist/services/recipes.d.ts +12 -2
- package/dist/services/recipes.d.ts.map +1 -1
- package/dist/services/recipes.js +100 -8
- package/dist/services/recipes.js.map +1 -1
- package/dist/services/run-contract.d.ts +18 -0
- package/dist/services/run-contract.d.ts.map +1 -0
- package/dist/services/run-contract.js +32 -0
- package/dist/services/run-contract.js.map +1 -0
- package/dist/services/snapshots.d.ts +78 -0
- package/dist/services/snapshots.d.ts.map +1 -0
- package/dist/services/snapshots.js +194 -0
- package/dist/services/snapshots.js.map +1 -0
- package/dist/services/specialist-contracts.d.ts +58 -0
- package/dist/services/specialist-contracts.d.ts.map +1 -0
- package/dist/services/specialist-contracts.js +109 -0
- package/dist/services/specialist-contracts.js.map +1 -0
- package/dist/services/stall-detector.d.ts +27 -0
- package/dist/services/stall-detector.d.ts.map +1 -0
- package/dist/services/stall-detector.js +53 -0
- package/dist/services/stall-detector.js.map +1 -0
- package/dist/storage/resources.d.ts +1 -0
- package/dist/storage/resources.d.ts.map +1 -1
- package/dist/storage/resources.js +13 -11
- package/dist/storage/resources.js.map +1 -1
- package/dist/tools/integrate.d.ts.map +1 -1
- package/dist/tools/integrate.js +8 -7
- package/dist/tools/integrate.js.map +1 -1
- package/dist/tools/verify.d.ts +5 -2
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +84 -14
- package/dist/tools/verify.js.map +1 -1
- package/dist/tools/workflow.d.ts +2 -2
- package/dist/tools/workflow.d.ts.map +1 -1
- package/dist/tools/workflow.js +7 -0
- package/dist/tools/workflow.js.map +1 -1
- package/docs/07-bizarharness-integration.md +12 -0
- package/docs/assets/bizar-omp-banner.svg +51 -18
- package/docs/compatibility/baseline.json +9 -8
- package/docs/compatibility/lifecycle-observation.md +15 -1
- package/docs/compatibility/supported-surfaces.json +11 -3
- package/docs/releases/0.8.1.md +53 -0
- package/docs/releases/0.9.0.md +35 -0
- package/docs/releases/support-matrix.md +1 -1
- package/docs/security/project-audit-2026-10-01.md +145 -0
- package/package.json +9 -5
- package/skills/bizar-omp/SKILL.md +54 -0
- package/skills/omp-native-development/SKILL.md +5 -3
- package/skills/omp-native-development/assets/tests/acceptance-matrix.json +417 -0
- package/skills/omp-native-development/references/accuracy-and-versioning.md +1 -1
- package/skills/omp-native-development/references/bizar-integration-contract.md +1 -1
- package/skills/omp-native-development/references/developer-handoff.md +3 -1
- package/skills/omp-native-development/references/execution-and-lifecycle.md +4 -0
- package/skills/omp-native-development/references/native-validation-matrix.md +25 -0
- package/skills/omp-native-development/references/sessions-sdk-rpc.md +17 -0
- package/skills/omp-native-development/references/settings-providers-security.md +11 -0
- package/skills/omp-native-development/references/source-manifest.json +20 -4
package/README.md
CHANGED
|
@@ -1,79 +1,35 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="docs/assets/bizar-omp-banner.svg" alt="
|
|
2
|
+
<img src="docs/assets/bizar-omp-banner.svg" alt="BizarOMP — native workflow, evidence, and session control for oh-my-pi" width="100%" />
|
|
3
3
|
|
|
4
4
|
<p>
|
|
5
|
-
<a href="https://www.npmjs.com/package/@polderlabs/bizar-omp"><img src="https://img.shields.io/npm/v/%40polderlabs%2Fbizar-omp?style=flat-square&
|
|
6
|
-
<a href="https://github.com/PolderLabs/BizarHarness-OMP/releases"><img src="https://img.shields.io/github/v/release/PolderLabs/BizarHarness-OMP?style=flat-square&
|
|
7
|
-
<img src="https://img.shields.io/badge/OMP-18.
|
|
8
|
-
<img src="https://img.shields.io/badge/Node.js-22%2B-
|
|
9
|
-
<img src="https://img.shields.io/badge/Bun-1.3.14%2B-
|
|
10
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-
|
|
5
|
+
<a href="https://www.npmjs.com/package/@polderlabs/bizar-omp"><img src="https://img.shields.io/npm/v/%40polderlabs%2Fbizar-omp?style=flat-square&label=npm&color=cf0d77" alt="npm version" /></a>
|
|
6
|
+
<a href="https://github.com/PolderLabs/BizarHarness-OMP/releases/latest"><img src="https://img.shields.io/github/v/release/PolderLabs/BizarHarness-OMP?style=flat-square&label=release&color=0a6ed1" alt="latest GitHub release" /></a>
|
|
7
|
+
<img src="https://img.shields.io/badge/OMP-18.6.1-232833?style=flat-square" alt="OMP 18.6.1 qualified baseline" />
|
|
8
|
+
<img src="https://img.shields.io/badge/Node.js-22%2B-232833?style=flat-square&logo=nodedotjs&logoColor=ffffff" alt="Node.js 22 or newer" />
|
|
9
|
+
<img src="https://img.shields.io/badge/Bun-1.3.14%2B-232833?style=flat-square&logo=bun&logoColor=ffffff" alt="Bun 1.3.14 or newer" />
|
|
10
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-232833?style=flat-square" alt="MIT license" /></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
|
-
<p><strong>Native
|
|
14
|
-
Plan the work, keep sessions alive, verify the result, and inspect the proof.</p>
|
|
13
|
+
<p><strong>Native workflow, evidence, and session control for <a href="https://github.com/can1357/oh-my-pi">oh-my-pi</a>.</strong></p>
|
|
15
14
|
</div>
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
> BizarHarness OMP is an extension for [oh-my-pi](https://github.com/can1357/oh-my-pi), not a second agent runtime. OMP still owns models, credentials, tools, task execution, sessions, and conversation state.
|
|
19
|
-
|
|
20
|
-
## Start here
|
|
21
|
-
|
|
22
|
-
Choose the path that matches what you are trying to do:
|
|
23
|
-
|
|
24
|
-
| Your goal | Run this | What it gives you |
|
|
25
|
-
| --- | --- | --- |
|
|
26
|
-
| Set up the complete experience | `npx --yes @polderlabs/bizar-omp setup` | `omb`, `bizar-omp`, the OMP extension, native agents, skills, rules, prompts, tools, and model roles |
|
|
27
|
-
| Preview setup before changing anything | `npx --yes @polderlabs/bizar-omp setup --dry-run` | A report of the plugin and missing settings the installer would add |
|
|
28
|
-
| Start one durable engineering session | `omb` | OMP inside a Bizar-owned tmux host, with reconnect support |
|
|
29
|
-
| Switch between projects and sessions | `omb agents` | The full session hub and new-session picker |
|
|
30
|
-
| Watch sessions in a browser | `omb dashboard --open` | A local, loopback-only dashboard with a single-use link |
|
|
31
|
-
| Stop or restart everything Bizar owns | `omb stop` / `omb restart` | Bizar sessions, the daemon, and the tray, with a per-resource report |
|
|
32
|
-
| Update an installed Bizar command | `omb update` | The latest global `omb` package and, when OMP is available, its enabled plugin |
|
|
33
|
-
| Install only the OMP extension | `omp plugin install @polderlabs/bizar-omp` | Extension discovery without installing the `omb` and `bizar-omp` shell commands |
|
|
34
|
-
|
|
35
|
-
The shortest useful path is:
|
|
36
|
-
|
|
37
|
-
```sh
|
|
38
|
-
npx --yes @polderlabs/bizar-omp setup
|
|
39
|
-
omb
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The setup command is safe to preview and safe to run again. It preserves credentials, provider choices, approval policies, explicit `false` or empty settings, and project overrides. It proposes only settings that are absent.
|
|
43
|
-
|
|
44
|
-
## How Bizar fits into OMP
|
|
45
|
-
|
|
46
|
-
<img src="docs/assets/bizar-omp-workflow.svg" alt="Bizar OMP workflow: plan, run, verify, integrate" width="100%" />
|
|
16
|
+
BizarOMP extends OMP with durable operator sessions, explicit engineering workflows, specialist roles, verification evidence, a local browser control plane, and an integrated Android companion. It is designed for long-running agentic engineering work where the result needs to be inspectable and the runtime needs to remain under operator control.
|
|
47
17
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
| You need | Bizar adds |
|
|
51
|
-
| --- | --- |
|
|
52
|
-
| A proportionate process | Focused, bounded, and full workflow tiers selected from scope and risk |
|
|
53
|
-
| Durable work | `omb` sessions in tmux, or psmux on Windows, with reconnect and a cross-project hub |
|
|
54
|
-
| Specialist help | Native roles for planning, research, implementation, review, security, verification, architecture, and documentation |
|
|
55
|
-
| A stronger finish line | Acceptance criteria, host-observed checks, fresh evidence, review decisions, and serialized integration admission |
|
|
56
|
-
| A readable operator view | OMP's native Advisor, visible agents, session activity, a local dashboard, and inspectable projections |
|
|
57
|
-
|
|
58
|
-
The ownership boundary is deliberate:
|
|
59
|
-
|
|
60
|
-
| OMP owns | Bizar owns |
|
|
61
|
-
| --- | --- |
|
|
62
|
-
| Models, providers, credentials, tools, task execution, session files, and conversation state | Workflow intent, acceptance, evidence freshness, candidate lineage, resource ownership, review policy, and integration admission |
|
|
63
|
-
|
|
64
|
-
Bizar does not replace OMP's task system, add a parallel scheduler, or provide a Claude Code, MCP, or background-daemon compatibility layer.
|
|
18
|
+
> [!IMPORTANT]
|
|
19
|
+
> BizarOMP is not a second agent runtime. OMP remains the authority for models, providers, credentials, tools, task execution, session files, conversation state, and native agent behavior. Bizar adds workflow policy, evidence, resource ownership, session supervision, and integration gates around that runtime.
|
|
65
20
|
|
|
66
|
-
##
|
|
21
|
+
## Quick start
|
|
67
22
|
|
|
68
23
|
### Requirements
|
|
69
24
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
25
|
+
| Component | Requirement |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| Node.js | 22 or newer |
|
|
28
|
+
| Bun | 1.3.14 or newer |
|
|
29
|
+
| OMP | 18.6.1 qualified baseline |
|
|
30
|
+
| Durable terminal sessions | `tmux` on Linux/macOS or `psmux` on Windows |
|
|
75
31
|
|
|
76
|
-
Check the host
|
|
32
|
+
Check the host:
|
|
77
33
|
|
|
78
34
|
```sh
|
|
79
35
|
node --version
|
|
@@ -81,346 +37,369 @@ bun --version
|
|
|
81
37
|
omp --version
|
|
82
38
|
```
|
|
83
39
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
This is the supported path for a complete Bizar OMP setup:
|
|
40
|
+
Install the complete BizarOMP experience:
|
|
87
41
|
|
|
88
42
|
```sh
|
|
89
43
|
npx --yes @polderlabs/bizar-omp setup
|
|
44
|
+
omb
|
|
90
45
|
```
|
|
91
46
|
|
|
92
|
-
The
|
|
93
|
-
|
|
94
|
-
1. Installs the exact Bizar package version globally, providing `omb` and `bizar-omp`.
|
|
95
|
-
2. Registers and enables that same version through OMP's plugin manager.
|
|
96
|
-
3. Installs the extension, eight specialist agents, skills, rules, prompts, tools, and model roles.
|
|
97
|
-
4. Makes the Bizar Orchestrator the default conversation and enables OMP's native Advisor.
|
|
98
|
-
5. Adds only absent compatibility settings for background work, visible agents, and readable output.
|
|
99
|
-
6. Writes a recoverable receipt for settings it changed and reads the result back.
|
|
47
|
+
The setup command installs the `omb` and `bizar-omp` commands, registers the OMP extension, installs the Bizar agents and assets, and applies only the missing Bizar-owned defaults. Existing credentials, provider choices, project overrides, approval policy, explicit `false` values, and unrelated model-role configuration are preserved.
|
|
100
48
|
|
|
101
|
-
|
|
49
|
+
Preview the installation first:
|
|
102
50
|
|
|
103
51
|
```sh
|
|
104
|
-
npx --yes @polderlabs/bizar-omp
|
|
52
|
+
npx --yes @polderlabs/bizar-omp setup --dry-run
|
|
105
53
|
```
|
|
106
54
|
|
|
107
|
-
For a
|
|
55
|
+
For a reproducible install of the latest published release:
|
|
108
56
|
|
|
109
57
|
```sh
|
|
110
|
-
npx --yes @polderlabs/bizar-omp setup
|
|
111
|
-
npx --yes @polderlabs/bizar-omp setup --omp /path/to/omp
|
|
58
|
+
npx --yes @polderlabs/bizar-omp@0.9.0 setup
|
|
112
59
|
```
|
|
113
60
|
|
|
114
|
-
|
|
61
|
+
If you only want the native OMP extension:
|
|
115
62
|
|
|
116
63
|
```sh
|
|
117
|
-
|
|
118
|
-
npx --yes @polderlabs/bizar-omp setup --json
|
|
64
|
+
omp plugin install @polderlabs/bizar-omp
|
|
119
65
|
```
|
|
120
66
|
|
|
121
|
-
|
|
67
|
+
That extension-only path does not install `omb` on `PATH`.
|
|
122
68
|
|
|
123
|
-
|
|
69
|
+
## What BizarOMP adds
|
|
124
70
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
71
|
+
| Surface | What it adds |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| Durable runtime | Persistent OMP sessions hosted through `omb` with reconnect, ownership tracking, and cross-project discovery |
|
|
74
|
+
| Engineering workflow | Focused, bounded, and full workflow tiers with explicit objectives, acceptance criteria, review policy, and stop conditions |
|
|
75
|
+
| Evidence | Candidate-bound verification records, freshness checks, inspectable blockers, and serialized integration admission |
|
|
76
|
+
| Specialist agents | Native OMP roles for architecture, planning, research, implementation, review, security, verification, and documentation |
|
|
77
|
+
| Operator interfaces | Terminal hub, local browser dashboard, daemon, optional tray, machine-readable session inventory, and runtime controls |
|
|
78
|
+
| Mobile control | Integrated Android client and host bridge for paired remote control without moving provider credentials off the host |
|
|
79
|
+
| Model-role management | Bizar role mappings built on OMP's native model catalog and role system rather than a parallel model router |
|
|
130
80
|
|
|
131
|
-
|
|
81
|
+
## Architecture
|
|
132
82
|
|
|
133
|
-
|
|
83
|
+
BizarOMP deliberately separates runtime ownership from workflow ownership.
|
|
134
84
|
|
|
135
|
-
```
|
|
136
|
-
|
|
85
|
+
```text
|
|
86
|
+
Terminal / Browser / Android
|
|
87
|
+
│
|
|
88
|
+
▼
|
|
89
|
+
┌─────────────────────────────┐
|
|
90
|
+
│ Bizar operator layer │
|
|
91
|
+
│ omb · hub · dashboard │
|
|
92
|
+
│ mobile host · workflow │
|
|
93
|
+
│ evidence · admission │
|
|
94
|
+
└──────────────┬──────────────┘
|
|
95
|
+
│ native extension / RPC / Collab
|
|
96
|
+
▼
|
|
97
|
+
┌─────────────────────────────┐
|
|
98
|
+
│ oh-my-pi │
|
|
99
|
+
│ sessions · models · tools │
|
|
100
|
+
│ agents · providers · auth │
|
|
101
|
+
│ task lifecycle · journals │
|
|
102
|
+
└──────────────┬──────────────┘
|
|
103
|
+
│
|
|
104
|
+
▼
|
|
105
|
+
Host filesystem / tools
|
|
137
106
|
```
|
|
138
107
|
|
|
139
|
-
|
|
108
|
+
| OMP owns | BizarOMP owns |
|
|
109
|
+
| --- | --- |
|
|
110
|
+
| Model registry and selection | Workflow intent and tiering |
|
|
111
|
+
| Provider credentials and authentication | Acceptance and evidence policy |
|
|
112
|
+
| Native tools and task execution | Candidate lineage and freshness |
|
|
113
|
+
| Conversation/session state | Bizar-owned session supervision |
|
|
114
|
+
| Agent lifecycle and native isolation | Integration admission and resource ownership |
|
|
115
|
+
| Approval and project policy | Operator projections, dashboard, and mobile control surfaces |
|
|
140
116
|
|
|
141
|
-
|
|
142
|
-
omp plugin link /path/to/bizaromp
|
|
143
|
-
```
|
|
117
|
+
This boundary is a core design constraint. Bizar does not emulate OMP's task loop, shadow its credential store, or introduce a second scheduler.
|
|
144
118
|
|
|
145
|
-
|
|
119
|
+
## Engineering workflow
|
|
146
120
|
|
|
147
|
-
|
|
148
|
-
bizar-omp install-doctor
|
|
149
|
-
omp plugin list
|
|
150
|
-
omp plugin doctor
|
|
151
|
-
```
|
|
121
|
+
<img src="docs/assets/bizar-omp-workflow.svg" alt="BizarOMP workflow: plan, run, verify, integrate" width="100%" />
|
|
152
122
|
|
|
153
|
-
|
|
123
|
+
The main OMP conversation acts as the Bizar orchestrator. Give it the outcome and constraints; Bizar selects the smallest workflow tier that can safely prove the change.
|
|
154
124
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
125
|
+
| Tier | Intended scope | Typical proof |
|
|
126
|
+
| --- | --- | --- |
|
|
127
|
+
| Focused | Small, local, understood changes | Targeted check, diff review, smoke test |
|
|
128
|
+
| Bounded | Contained behavior changes and small features | Explicit acceptance plus focused tests |
|
|
129
|
+
| Full | Security, migrations, concurrency, architecture, cross-cutting work | Planning, isolated implementation, review, fresh evidence, serialized integration |
|
|
158
130
|
|
|
159
|
-
|
|
131
|
+
The tier is based on effect scope and risk rather than how difficult the reasoning feels. A small credential or concurrency change can require the full path; a complex but isolated investigation can remain bounded.
|
|
160
132
|
|
|
161
|
-
|
|
162
|
-
|
|
133
|
+
Start and inspect a managed workflow inside OMP:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
/bizar run <objective>
|
|
137
|
+
/bizar status
|
|
138
|
+
/bizar evidence
|
|
139
|
+
/bizar inspect
|
|
140
|
+
/bizar recipe <objective>
|
|
141
|
+
/bizar capabilities
|
|
142
|
+
/bizar cancel [reason]
|
|
163
143
|
```
|
|
164
144
|
|
|
165
|
-
|
|
145
|
+
The corresponding LLM tools include `bizar_workflow`, `bizar_verify`, `bizar_evidence`, `bizar_integrate`, `bizar_inspect`, `bizar_recipe_preview`, `bizar_capabilities`, and `bizar_apply_model_roles`.
|
|
146
|
+
|
|
147
|
+
A stale check, changed candidate, unresolved blocker, or unknown native capability is not silently converted into success.
|
|
166
148
|
|
|
167
|
-
|
|
149
|
+
## Durable sessions with `omb`
|
|
168
150
|
|
|
169
|
-
|
|
151
|
+
`omb` is the operator entry point. Unknown `omb` arguments are passed through to OMP, so normal OMP usage remains available: `omb --resume` reopens a conversation and `omb --export` writes a handoff, and both are OMP's own options rather than `omb`'s.
|
|
170
152
|
|
|
171
153
|
```sh
|
|
172
154
|
omb
|
|
155
|
+
omb "fix the failing test"
|
|
156
|
+
omb --resume
|
|
173
157
|
```
|
|
174
158
|
|
|
175
|
-
`omb` starts OMP inside a Bizar-owned
|
|
159
|
+
When durable hosting is available, `omb` starts OMP inside a Bizar-owned multiplexer session. Closing the terminal detaches the client without terminating the host. Running `omb` again in the same project reconnects to the most relevant live session.
|
|
176
160
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Use a task-specific session when you want an explicit name:
|
|
161
|
+
Create or select explicit sessions:
|
|
180
162
|
|
|
181
163
|
```sh
|
|
182
164
|
omb new "Investigate the API timeout"
|
|
183
165
|
omb --session api-retries
|
|
184
166
|
```
|
|
185
167
|
|
|
186
|
-
|
|
168
|
+
OMP still writes its native journal. Bizar tracks the mapping and enforces one active writer for the same owned conversation so reconnect, dashboard, and mobile control do not silently create competing writers.
|
|
187
169
|
|
|
188
|
-
###
|
|
170
|
+
### Session hub
|
|
189
171
|
|
|
190
|
-
|
|
172
|
+
```sh
|
|
173
|
+
omb agents
|
|
174
|
+
omb a
|
|
175
|
+
omb agents --new
|
|
176
|
+
omb hub
|
|
177
|
+
```
|
|
191
178
|
|
|
192
|
-
|
|
193
|
-
| --- | --- | --- |
|
|
194
|
-
| Focused | A typo, small documentation edit, or narrow local fix | Targeted check, diff review, or smoke test |
|
|
195
|
-
| Bounded | A contained behavior change or small feature | Acceptance criteria and focused tests |
|
|
196
|
-
| Full | Security, architecture, migrations, concurrency, or cross-cutting work | Planning, isolation, review, fresh evidence, and serialized integration |
|
|
179
|
+
The hub provides:
|
|
197
180
|
|
|
198
|
-
|
|
181
|
+
- current-directory and all-project scopes;
|
|
182
|
+
- active, stopped, and combined session filters;
|
|
183
|
+
- attach, continue, rename, delete, refresh, settings, and new-session actions;
|
|
184
|
+
- recursive project discovery from a configured project root;
|
|
185
|
+
- privacy-safe activity summaries derived from Bizar's session view;
|
|
186
|
+
- optional mouse input and tray integration.
|
|
199
187
|
|
|
200
|
-
|
|
188
|
+
The session state reflects journal activity and host liveness rather than tmux attachment alone. A detached session can continue to be `working`.
|
|
201
189
|
|
|
202
|
-
|
|
190
|
+
For scripts and integrations:
|
|
203
191
|
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
/bizar evidence List recorded checks and evidence
|
|
208
|
-
/bizar inspect Explain blockers and evidence lineage
|
|
209
|
-
/bizar recipe <objective> Preview an inspectable recipe
|
|
210
|
-
/bizar capabilities Show native qualification boundaries
|
|
211
|
-
/bizar cancel [reason] Cancel the active workflow
|
|
192
|
+
```sh
|
|
193
|
+
omb sessions --json
|
|
194
|
+
omb help sessions
|
|
212
195
|
```
|
|
213
196
|
|
|
214
|
-
|
|
197
|
+
## Browser dashboard
|
|
215
198
|
|
|
216
|
-
|
|
199
|
+
Start or open the local dashboard:
|
|
217
200
|
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
/bizar-dashboard Print a single-use local dashboard link
|
|
223
|
-
/bizar-dashboard open Open the dashboard in the default browser
|
|
224
|
-
/bizar-dashboard stop Stop the dashboard daemon
|
|
201
|
+
```sh
|
|
202
|
+
omb dashboard
|
|
203
|
+
omb dashboard --open
|
|
204
|
+
omb dashboard --json
|
|
225
205
|
```
|
|
226
206
|
|
|
227
|
-
|
|
207
|
+
The dashboard is a self-contained local operator UI backed by the Bizar daemon. It provides session selection, structured conversation history, bounded live console capture, prompt sending, terminal attach, lifecycle controls, model/thinking/permission defaults for newly created sessions, and OMP/provider settings surfaces.
|
|
228
208
|
|
|
229
|
-
|
|
209
|
+
Security properties are intentionally narrow:
|
|
230
210
|
|
|
231
|
-
|
|
211
|
+
- the dashboard binds to `127.0.0.1`;
|
|
212
|
+
- access uses a single-use code with a short expiry;
|
|
213
|
+
- the exchanged token stays in browser session memory;
|
|
214
|
+
- provider secrets remain write-only;
|
|
215
|
+
- session-list payloads exclude environment values, raw prompts, pane commands, process IDs, credentials, and terminal history;
|
|
216
|
+
- console capture is authenticated, bounded, and control-sequence stripped;
|
|
217
|
+
- mutations are serialized and ownership-checked.
|
|
232
218
|
|
|
233
|
-
|
|
219
|
+
Daemon lifecycle:
|
|
234
220
|
|
|
235
221
|
```sh
|
|
236
|
-
omb
|
|
237
|
-
omb
|
|
238
|
-
omb
|
|
222
|
+
omb daemon start
|
|
223
|
+
omb daemon status
|
|
224
|
+
omb daemon restart
|
|
225
|
+
omb daemon stop
|
|
239
226
|
```
|
|
240
227
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
- A `Cwd`/`All` scope row and an `Active`/`Stopped`/`Both` state row in the header, and matching filters in the plain-text view.
|
|
244
|
-
- One full-width, workspace-grouped session list with a compact selected-session strip.
|
|
245
|
-
- Attach, continue, rename, delete, refresh, settings, help, and reconnect controls.
|
|
246
|
-
- A new-session selector opened with `n`.
|
|
247
|
-
- Recursive search inside the configured Project directory root, parent navigation, recent paths, autocomplete, and direct absolute paths.
|
|
248
|
-
- Optional task text and an explicit session name.
|
|
249
|
-
- Privacy-safe activity summaries derived from the session journal. Prompts, thinking text, shell commands, tool output, credentials, and raw terminal history are not rendered.
|
|
250
|
-
- Optional native tray controls for opening the hub, creating a session, attaching a named session, stopping the daemon, and quitting the tray.
|
|
251
|
-
|
|
252
|
-
### Hub controls
|
|
253
|
-
|
|
254
|
-
| Key | Action |
|
|
255
|
-
| --- | --- |
|
|
256
|
-
| `Tab` | Switch the list between this directory (`Cwd`) and every project (`All`) |
|
|
257
|
-
| `f` | Cycle the state filter between `Active`, `Stopped`, and `Both` |
|
|
258
|
-
| `Enter` | Attach to the selected live session, or continue a stopped one by restarting its host |
|
|
259
|
-
| `n` | Open the full new-session menu |
|
|
260
|
-
| `e` | Rename the selected session inline |
|
|
261
|
-
| `d` | Delete the selected Bizar session |
|
|
262
|
-
| `s` | Open settings |
|
|
263
|
-
| `r` | Refresh without moving selection or scroll |
|
|
264
|
-
| `?` | Open help |
|
|
265
|
-
| `q` | Exit the hub |
|
|
266
|
-
|
|
267
|
-
Mouse clicks select sessions and a second click opens a live one. Mouse scrolling moves through the session list while the hub is open. The hub enables terminal SGR mouse reporting only for its own lifetime. Mouse behavior inside an attached OMP session follows the session's OMP and multiplexer settings.
|
|
228
|
+
If daemon ownership cannot be verified, Bizar reports that state as unknown and refuses unsafe takeover rather than treating an uncertain lock as stopped.
|
|
268
229
|
|
|
269
|
-
|
|
230
|
+
## Android companion
|
|
270
231
|
|
|
271
|
-
|
|
232
|
+
The integrated mobile workspace lives in [mobile/](mobile/README.md). It contains:
|
|
272
233
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
| `waiting` | The agent finished its turn and is waiting for input, whether or not a client is attached. |
|
|
277
|
-
| `connected` | A client is attached and no structured activity has been journaled yet. |
|
|
278
|
-
| `disconnected` | The host is live and unattached, and the journal gives no evidence either way. |
|
|
279
|
-
| `stopped` | No host is observed and the journal is silent. |
|
|
234
|
+
- `apps/mobile` — React Native Android client;
|
|
235
|
+
- `packages/host` — loopback host bridge supervising the installed OMP runtime;
|
|
236
|
+
- `packages/protocol` — versioned shared transport and capability contracts.
|
|
280
237
|
|
|
281
|
-
|
|
238
|
+
The architecture keeps OMP on the user's machine:
|
|
282
239
|
|
|
283
|
-
|
|
240
|
+
```text
|
|
241
|
+
Android app
|
|
242
|
+
│ HTTPS + authenticated WebSocket
|
|
243
|
+
▼
|
|
244
|
+
Cloudflare edge
|
|
245
|
+
│ outbound Cloudflare Tunnel
|
|
246
|
+
▼
|
|
247
|
+
127.0.0.1 Bizar mobile host
|
|
248
|
+
│ supervised JSONL / native control
|
|
249
|
+
▼
|
|
250
|
+
installed OMP
|
|
251
|
+
```
|
|
284
252
|
|
|
285
|
-
|
|
253
|
+
Pair a device:
|
|
286
254
|
|
|
287
255
|
```sh
|
|
288
|
-
omb
|
|
289
|
-
omb tray status
|
|
290
|
-
omb tray stop
|
|
256
|
+
omb pair
|
|
291
257
|
```
|
|
292
258
|
|
|
293
|
-
|
|
259
|
+
Mobile uses the same desktop OMB session inventory. Existing desktop-owned sessions are controlled through the qualified native paths rather than by opening the same OMP journal with a second writer.
|
|
294
260
|
|
|
295
|
-
|
|
261
|
+
Anonymous Cloudflare Quick Tunnels are supported as ephemeral development endpoints. Named tunnels and custom hostnames are the persistent mode. Provider credentials stay on the host.
|
|
296
262
|
|
|
297
|
-
|
|
263
|
+
Mobile source-development commands:
|
|
298
264
|
|
|
299
265
|
```sh
|
|
300
|
-
omb
|
|
301
|
-
omb
|
|
302
|
-
omb
|
|
303
|
-
omb
|
|
266
|
+
omb mobile workspace install
|
|
267
|
+
omb mobile workspace check
|
|
268
|
+
omb mobile app start
|
|
269
|
+
omb mobile app android
|
|
270
|
+
omb mobile app android:release
|
|
304
271
|
```
|
|
305
272
|
|
|
306
|
-
|
|
273
|
+
The mobile workspace has its own pnpm lockfile and is intentionally excluded from the npm package's `files` allowlist. See [mobile/README.md](mobile/README.md) for architecture, security boundaries, and build requirements.
|
|
307
274
|
|
|
308
|
-
|
|
309
|
-
omb dashboard # print the local URL
|
|
310
|
-
omb dashboard --open # print and open it in the default browser
|
|
311
|
-
omb dashboard --json # emit { url, port, pid, code }
|
|
312
|
-
omb dashboard stop # stop the daemon; tmux sessions keep running
|
|
313
|
-
```
|
|
275
|
+
## Native agents and model roles
|
|
314
276
|
|
|
315
|
-
|
|
277
|
+
Bizar installs native specialist definitions rather than inventing a private worker protocol.
|
|
316
278
|
|
|
317
|
-
|
|
279
|
+
| Specialist | Purpose |
|
|
280
|
+
| --- | --- |
|
|
281
|
+
| Architect | System boundaries, interfaces, and cross-cutting design |
|
|
282
|
+
| Planner | Scope, dependencies, sequencing, and acceptance |
|
|
283
|
+
| Researcher | Evidence-grounded investigation |
|
|
284
|
+
| Implementer | Focused implementation in the assigned workspace |
|
|
285
|
+
| Reviewer | Independent correctness review |
|
|
286
|
+
| Security reviewer | Threat- and trust-boundary review |
|
|
287
|
+
| Verifier | Reproducible validation and evidence |
|
|
288
|
+
| Documentation | User and maintainer documentation |
|
|
318
289
|
|
|
319
|
-
|
|
290
|
+
Concrete models remain an OMP concern. Bizar role mappings are selectors over OMP's live catalog and preserve operator-owned roles and settings.
|
|
320
291
|
|
|
321
|
-
|
|
292
|
+
Useful commands:
|
|
322
293
|
|
|
323
|
-
|
|
294
|
+
```text
|
|
295
|
+
/bizar-models
|
|
296
|
+
/bizar-models preview
|
|
297
|
+
/bizar-models health
|
|
298
|
+
```
|
|
324
299
|
|
|
325
|
-
|
|
300
|
+
`/bizar-models preview` shows the proposed mapping without writing settings. Applying a mapping validates selectors against OMP's live catalog and writes the Bizar mapping atomically rather than partially mutating it.
|
|
326
301
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
omb
|
|
331
|
-
omb
|
|
332
|
-
|
|
333
|
-
omb stop --idle # only sessions with no client and no work in flight
|
|
334
|
-
omb stop --daemon # only the daemon (alias: --dashboard)
|
|
335
|
-
omb stop --tray # only the tray
|
|
336
|
-
omb stop --force # also stop sessions a client is attached to
|
|
337
|
-
omb stop --dry-run # report what would stop without stopping it
|
|
338
|
-
omb stop --json # { command, dryRun, stopped, started, skipped,
|
|
339
|
-
# planned, failed, resources }
|
|
302
|
+
## `omb` command reference
|
|
303
|
+
|
|
304
|
+
```text
|
|
305
|
+
omb help
|
|
306
|
+
omb help <command>
|
|
307
|
+
omb help --json
|
|
340
308
|
```
|
|
341
309
|
|
|
342
|
-
|
|
310
|
+
| Command | Purpose |
|
|
311
|
+
| --- | --- |
|
|
312
|
+
| `omb [omp args]` | Run or attach OMP with durable Bizar session handling |
|
|
313
|
+
| `omb agents` / `omb a` | Interactive cross-project session hub |
|
|
314
|
+
| `omb sessions` / `omb s` | Session inventory, including machine-readable output |
|
|
315
|
+
| `omb dashboard` | Start/open the local browser dashboard |
|
|
316
|
+
| `omb daemon` | Manage the detached loopback daemon |
|
|
317
|
+
| `omb tray` | Manage the optional native tray |
|
|
318
|
+
| `omb pair` | Pair the Android companion with this host |
|
|
319
|
+
| `omb mobile` | Manage mobile host and source workspace operations |
|
|
320
|
+
| `omb stop` | Stop selected or all Bizar-owned runtime resources |
|
|
321
|
+
| `omb restart` | Restart the Bizar runtime services |
|
|
322
|
+
| `omb update` | Update the global Bizar package and enabled OMP plugin |
|
|
323
|
+
| `omb help` | Show command help and the public dispatch surface |
|
|
343
324
|
|
|
344
|
-
|
|
325
|
+
Use `omb help <command>` for the authoritative options of each command instead of relying on copied flag lists in external notes.
|
|
345
326
|
|
|
346
|
-
|
|
327
|
+
## Update, diagnose, and remove
|
|
347
328
|
|
|
348
|
-
|
|
329
|
+
Inspect the installation:
|
|
349
330
|
|
|
350
331
|
```sh
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
omb restart --json # { command, dryRun, stopped, started, skipped,
|
|
355
|
-
# planned, failed, resources, url }
|
|
332
|
+
bizar-omp install-doctor
|
|
333
|
+
omp plugin list
|
|
334
|
+
omp plugin doctor
|
|
356
335
|
```
|
|
357
336
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
`omb restart` reports exactly one row per resource — each Bizar-owned tmux session, the daemon, the tray, and the dashboard. A row's `state` is the state observed before the command acted, and its `action` is what the restart did with that resource overall: `started` when the resource was stopped and started again (reason `stopped, then started`), `stopped` when it ended stopped (a session, or a tray that settings no longer run), `skipped` when there was nothing to do, and `failed` on a failure. A stop that failed leaves that resource's row `failed` even when the resource was started again, and the exit code is nonzero; the daemon and the tray are still started, so the runtime is left usable.
|
|
361
|
-
|
|
362
|
-
`omb restart --dry-run` uses the same one-row-per-resource shape, including the dashboard row, with action `planned` and reason `stop, then start`; a tray that settings do not enable is `skipped` instead. In `--json`, `url` is always present: the freshly minted dashboard access link, or `null` when no link was minted, which is a dry run or a dashboard that failed to start.
|
|
363
|
-
|
|
364
|
-
`omb help` lists the commands, and `omb help <command>` prints that command's own usage; `--help` works on every command too.
|
|
337
|
+
Check or update Bizar:
|
|
365
338
|
|
|
366
339
|
```sh
|
|
367
|
-
omb
|
|
368
|
-
omb
|
|
369
|
-
omb
|
|
340
|
+
omb update --check
|
|
341
|
+
omb update --dry-run
|
|
342
|
+
omb update
|
|
370
343
|
```
|
|
371
344
|
|
|
372
|
-
`omb
|
|
345
|
+
`omb update` updates Bizar itself. It does not silently upgrade OMP; use OMP's own update path for the runtime.
|
|
373
346
|
|
|
374
|
-
|
|
347
|
+
Remove the Bizar integration:
|
|
375
348
|
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
- The `bizar-omp` orientation and workflow skills.
|
|
381
|
-
- Native rules, prompts, tools, evidence schemas, and the OMP-native development reference skill.
|
|
349
|
+
```sh
|
|
350
|
+
bizar-omp uninstall
|
|
351
|
+
npm uninstall --global @polderlabs/bizar-omp
|
|
352
|
+
```
|
|
382
353
|
|
|
383
|
-
|
|
354
|
+
Install/uninstall operations use an owner lease and a recovery receipt. Bizar only restores a setting when it still matches the value Bizar previously applied; later operator edits are preserved.
|
|
384
355
|
|
|
385
356
|
## Safety and ownership boundaries
|
|
386
357
|
|
|
387
|
-
|
|
388
|
-
- Credentials, API keys, `.env` contents, and private control links are excluded from logs, commits, and evidence bundles.
|
|
389
|
-
- OMP keeps ownership of credentials, providers, model selections, approval policies, tool policies, and project overrides.
|
|
390
|
-
- Managed worker changes stay isolated and require explicit parent integration. Bizar never silently applies worker patches.
|
|
391
|
-
- Git worktree cleanup is preview-first, ownership-aware, and non-forced. Ignored or uncertain content blocks cleanup.
|
|
392
|
-
- A journal has at most one writer. A host that resumes a different conversation probes the target for a competing writer, then moves its own generation binding and journal manifest together; if either cannot be written, the host is left deliberately unrecoverable rather than still bound to the conversation it left, and a dead pane refuses to respawn instead of resuming the wrong one. The probe is point-in-time — OMP emits no cancellation event for a switch that does not commit, so ownership is re-established on the confirmed switch rather than held across that gap.
|
|
393
|
-
- The agents hub never presents an unanswered multiplexer scan as an empty session list. A refused scan keeps the last confirmed rows and marks the view degraded; a refused scan at startup is reported rather than opening an empty hub.
|
|
394
|
-
- Managed-workflow refusals name the run, its phase, and the cancel that releases it. A run left mid-flight otherwise blocks every `task` call and every non-allowlisted tool for the rest of the session with no in-band way out.
|
|
395
|
-
- Install only in projects and environments you trust. Review `setup --dry-run` and `bizar-omp install-doctor` before making changes.
|
|
396
|
-
|
|
397
|
-
### Qualification boundary
|
|
358
|
+
BizarOMP is infrastructure around an agent runtime, so its boundaries are explicit:
|
|
398
359
|
|
|
399
|
-
|
|
360
|
+
- Bizar extension code is trusted in-process code. It is not an operating-system sandbox.
|
|
361
|
+
- OMP remains the source of truth for providers, credentials, models, approval policy, tools, and conversation state.
|
|
362
|
+
- Managed worker output is not silently integrated. Candidate identity, evidence, and admission state remain explicit.
|
|
363
|
+
- Verification evidence is tied to the candidate it observed; changed candidates invalidate stale proof.
|
|
364
|
+
- Bizar-owned Git cleanup is non-forced and ownership-aware. Uncertain or ignored content blocks automatic cleanup.
|
|
365
|
+
- Session journals are single-writer resources. Unknown ownership blocks mutation instead of being guessed away.
|
|
366
|
+
- Dashboard and mobile projections intentionally expose less than the local terminal runtime.
|
|
367
|
+
- Credentials, API keys, `.env` contents, and private control links are excluded from normal workflow logs and evidence bundles.
|
|
368
|
+
- Mobile remote control does not move provider secrets to the phone.
|
|
369
|
+
- Unsupported native execution paths are reported as capability boundaries rather than being presented as universally managed.
|
|
400
370
|
|
|
401
|
-
|
|
371
|
+
Read [docs/releases/support-matrix.md](docs/releases/support-matrix.md) for the current qualification boundary.
|
|
402
372
|
|
|
403
373
|
## Compatibility
|
|
404
374
|
|
|
405
|
-
|
|
375
|
+
Current source-tree package: `@polderlabs/bizar-omp@0.8.1`. Latest published release: [0.8.1](https://github.com/PolderLabs/BizarHarness-OMP/releases/tag/v0.8.1).
|
|
376
|
+
|
|
377
|
+
| Component | Qualified state |
|
|
406
378
|
| --- | --- |
|
|
407
|
-
|
|
|
408
|
-
|
|
|
409
|
-
|
|
|
410
|
-
|
|
|
379
|
+
| BizarOMP source | 0.8.1 |
|
|
380
|
+
| Latest published release | 0.8.1 |
|
|
381
|
+
| OMP | 18.6.1 at release commit `2a2c6dcbbb558c0f8145f67f28b3370984f2bf60` |
|
|
382
|
+
| OMP regression baseline | 18.4.4 remains regression-qualified in the current support matrix |
|
|
383
|
+
| OMP accepted versions | 18.2.4, 18.2.5, 18.2.6, 18.2.7, 18.2.8, 18.2.11, 18.3.0, 18.3.2, 18.4.1, 18.4.2, 18.4.4 and 18.4.8 remain qualified alongside the 18.6.1 baseline |
|
|
384
|
+
| Node.js | 22.x and 24.x in CI |
|
|
385
|
+
| Bun | 1.3.14 compatibility job; package requires >= 1.3.14 |
|
|
386
|
+
| Durable session backend | tmux on Linux/macOS; psmux on Windows |
|
|
387
|
+
| License | MIT |
|
|
411
388
|
|
|
412
|
-
Upstream OMP changes require a new
|
|
389
|
+
The compatibility receipt is committed at [compatibility-receipt.json](compatibility-receipt.json). Upstream OMP changes require a new contract run and compatibility baseline; Bizar does not broaden a version range to hide an unqualified runtime.
|
|
413
390
|
|
|
414
|
-
## Development
|
|
391
|
+
## Development
|
|
392
|
+
|
|
393
|
+
Install dependencies and run the canonical repository gate:
|
|
415
394
|
|
|
416
395
|
```sh
|
|
417
396
|
npm ci
|
|
418
|
-
|
|
419
|
-
npm test
|
|
420
|
-
make verify
|
|
397
|
+
make check
|
|
421
398
|
```
|
|
422
399
|
|
|
423
|
-
`make
|
|
400
|
+
`make check` covers typechecking, tests, package verification, generated-document checks, and secret scanning.
|
|
401
|
+
|
|
402
|
+
Individual package checks:
|
|
424
403
|
|
|
425
404
|
```sh
|
|
426
405
|
npm run build
|
|
@@ -428,45 +407,48 @@ npm run verify:package
|
|
|
428
407
|
npm run pack:check
|
|
429
408
|
```
|
|
430
409
|
|
|
431
|
-
|
|
410
|
+
OMP source qualification, when the target OMP source package is available:
|
|
432
411
|
|
|
433
412
|
```sh
|
|
434
413
|
npm run verify:omp
|
|
435
414
|
npm run verify:omp:registry
|
|
436
415
|
```
|
|
437
416
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
The Android app, shared protocol, and mobile host are maintained together in the
|
|
441
|
-
isolated [mobile workspace](https://github.com/PolderLabs/BizarHarness-OMP/tree/main/mobile/README.md).
|
|
442
|
-
Its pnpm lockfile and build
|
|
443
|
-
configuration stay separate from Bizar's npm package so React Native tooling
|
|
444
|
-
does not affect the CLI package or its release contents.
|
|
445
|
-
|
|
446
|
-
Mobile development commands require pnpm 11 and the Android SDK/JDK for device
|
|
447
|
-
builds. They are intended for a Bizar source checkout. The host implementation
|
|
448
|
-
is an internal module and all operator commands are under `omb mobile`.
|
|
449
|
-
Bizar installs `omb` as the operator command and leaves `omp` as the native OMP
|
|
450
|
-
executable. Older installations that wrapped `omp` are restored during the next
|
|
451
|
-
Bizar install.
|
|
452
|
-
|
|
453
|
-
From the Bizar repository root, mobile workspace operations are also under
|
|
454
|
-
`omb mobile`:
|
|
417
|
+
The Android workspace is intentionally isolated from the npm package and uses pnpm 11 plus the Android SDK/JDK for device builds:
|
|
455
418
|
|
|
456
419
|
```sh
|
|
457
420
|
omb mobile workspace install
|
|
458
421
|
omb mobile workspace check
|
|
459
|
-
omb mobile app start
|
|
460
422
|
```
|
|
461
423
|
|
|
462
|
-
|
|
463
|
-
guide, then run `omb mobile app android` for a debug install or
|
|
464
|
-
`omb mobile app android:release` for a standalone APK. Build the internal host
|
|
465
|
-
with `omb mobile build`, then use `omb pair`, `omb mobile devices` or
|
|
466
|
-
`omb mobile tunnel` from the same checkout. Pairing and the mobile gateway are
|
|
467
|
-
supervised by the OMB daemon.
|
|
424
|
+
## Repository map
|
|
468
425
|
|
|
469
|
-
|
|
426
|
+
| Path | Purpose |
|
|
427
|
+
| --- | --- |
|
|
428
|
+
| [src/](src/) | Extension, workflow engine, evidence, OMP integration, CLI, daemon, dashboard, and runtime code |
|
|
429
|
+
| [agents/](agents/) | Native Bizar specialist definitions |
|
|
430
|
+
| [skills/](skills/) | Bizar and OMP-native agent skills |
|
|
431
|
+
| [rules/](rules/) | Runtime and workflow rules |
|
|
432
|
+
| [prompts/](prompts/) | Prompt assets used by the extension |
|
|
433
|
+
| [schemas/](schemas/) | Typed evidence and workflow schemas |
|
|
434
|
+
| [tests/](tests/) | Unit, integration, contract, runtime, ownership, dashboard, and compatibility tests |
|
|
435
|
+
| [mobile/](mobile/) | Android app, mobile host, shared protocol, docs, and mobile test suites |
|
|
436
|
+
| [docs/](docs/) | Architecture, compatibility, development, security, decisions, and release records |
|
|
437
|
+
| [audits/](audits/) | Structured historical repository audits and evidence |
|
|
438
|
+
| [compatibility-receipt.json](compatibility-receipt.json) | Current source/runtime qualification receipt |
|
|
439
|
+
|
|
440
|
+
## Documentation
|
|
441
|
+
|
|
442
|
+
Start with these references:
|
|
443
|
+
|
|
444
|
+
- [DESIGN.md](DESIGN.md) — dashboard/mobile product and interface contract.
|
|
445
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — contributor workflow and release conventions.
|
|
446
|
+
- [docs/releases/support-matrix.md](docs/releases/support-matrix.md) — current qualification boundary.
|
|
447
|
+
- [docs/releases/0.8.0.md](docs/releases/0.8.0.md) — latest published release note.
|
|
448
|
+
- [docs/compatibility/](docs/compatibility/) — OMP compatibility records.
|
|
449
|
+
- [docs/security/](docs/security/) — security reviews, recovery notes, and threat-oriented audits.
|
|
450
|
+
- [mobile/README.md](mobile/README.md) — mobile architecture, pairing, transport, and development.
|
|
451
|
+
- [AGENTS.md](AGENTS.md) — repository instructions for development agents.
|
|
470
452
|
|
|
471
453
|
## License
|
|
472
454
|
|