@hilbras/omninode 2.0.0-alpha.2 → 2.0.0-alpha.21
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 +124 -249
- package/dist/cli/chunk-BTJDQTWH.js +722 -0
- package/dist/cli/chunk-BTJDQTWH.js.map +1 -0
- package/dist/cli/index.js +2852 -1206
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/providers-KPW3FURD.js +36 -0
- package/dist/cli/providers-KPW3FURD.js.map +1 -0
- package/dist/index.d.ts +1201 -153
- package/dist/index.js +2309 -470
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@hilbras/omninode)
|
|
6
6
|
[](https://www.npmjs.com/package/@hilbras/omninode)
|
|
7
7
|
[](LICENSE)
|
|
8
|
-
[](docs/ROADMAP_V2.md)
|
|
9
9
|
|
|
10
10
|
**OmniNode** is a provider-agnostic multi-AI orchestration platform. It coordinates
|
|
11
11
|
CLI-based AI agents, AI providers, persistent memory, roles, reports and planning
|
|
@@ -18,297 +18,172 @@ existing intelligence; it does not try to become another model.
|
|
|
18
18
|
|
|
19
19
|
## Status
|
|
20
20
|
|
|
21
|
-
**
|
|
22
|
-
|
|
23
|
-
the
|
|
24
|
-
full loop from §28 runs in one command —
|
|
25
|
-
`User → project context → memory → research agents → reports → aggregation →
|
|
26
|
-
planner → plan → execution → result` — with audit logging, error recovery and
|
|
27
|
-
production hardening (see [docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.md)
|
|
28
|
-
for the plan and [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the design).
|
|
21
|
+
**v1.0.0 is feature complete. v2.0.0 — the reliability and interoperability
|
|
22
|
+
release — is in progress**, shipping as tagged prereleases (`v2.0.0-alpha.N`).
|
|
29
23
|
|
|
30
|
-
###
|
|
31
|
-
|
|
32
|
-
- All local stores now build on one shared `JsonFileStore` (atomic writes,
|
|
33
|
-
serialized read-modify-write, schema-versioned files, corruption tolerance)
|
|
34
|
-
with a `ProjectStores` facade.
|
|
35
|
-
- Dependency direction corrected (adapters no longer import engine modules).
|
|
36
|
-
- API surface stabilized and guarded: [API_STABILITY.md](docs/API_STABILITY.md),
|
|
37
|
-
[API.md](docs/API.md), [DEPRECATIONS.md](docs/DEPRECATIONS.md).
|
|
38
|
-
|
|
39
|
-
### What's in v1.0
|
|
24
|
+
### v1.0.0 delivered
|
|
40
25
|
|
|
41
26
|
| Capability | Where |
|
|
42
27
|
| --- | --- |
|
|
43
|
-
| Provider abstraction, custom providers, model discovery | `src/providers
|
|
44
|
-
| OmniHilbras integration (optional) | `src/providers/omnihilbras
|
|
45
|
-
| CLI agents (stdin/arg/protocol), agent registry | `src/agents/` |
|
|
46
|
-
| Roles,
|
|
47
|
-
| Pipelines
|
|
48
|
-
| Multi-AI
|
|
49
|
-
| Planner
|
|
50
|
-
| Remembera
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- `TaskStore` interface with a local-first JSON implementation in
|
|
84
|
-
`.omninode/tasks.json` (atomic writes; swap in any backend)
|
|
85
|
-
- **Pipeline engine** (`src/pipelines/`):
|
|
86
|
-
- Pipelines defined in `omninode.yaml` under `project.pipelines`, validated
|
|
87
|
-
before every run (duplicate ids, unknown dependencies, cycles, missing
|
|
88
|
-
agents)
|
|
89
|
-
- Sequential execution by definition order; explicit `depends_on` unlocks
|
|
90
|
-
parallel branches, and research steps fan out to several agents in
|
|
91
|
-
parallel (§15)
|
|
92
|
-
- Step kinds: `research` (multi-agent fan-out), `collect`, `analyze`,
|
|
93
|
-
`plan` (calls a model as `provider:model-id` via the chat layer),
|
|
94
|
-
`execute`/`custom` (hand-off to an execution agent)
|
|
95
|
-
- Failure handling: retries per step, `on-success`/`on-failure`/`always`
|
|
96
|
-
conditions, combined context threaded downstream; every task runs through
|
|
97
|
-
the TaskEngine and every run is persisted to `.omninode/pipelines.json`
|
|
98
|
-
- **Multi-AI report system** (`src/reports/`):
|
|
99
|
-
- Report collection from finished tasks — structured protocol reports pass
|
|
100
|
-
through; plain text output is normalized via deterministic extraction
|
|
101
|
-
(findings/recommendations/evidence sections, severity guessing)
|
|
102
|
-
- Persistence in `.omninode/reports.json` with full source attribution
|
|
103
|
-
- Aggregation (§17): duplicate/similar findings merged via deterministic
|
|
104
|
-
token-set similarity, sources preserved, highest severity kept
|
|
105
|
-
- Combined reports generated automatically at the end of every pipeline run
|
|
106
|
-
- **Memory** (`src/memory/`): the §20 loop — before a task runs, relevant
|
|
107
|
-
memory is gathered and injected into the agent's context; after it finishes,
|
|
108
|
-
the outcome is recorded back. High/critical findings are promoted to
|
|
109
|
-
project-level "known problems". Opt in via a `memory:` config section:
|
|
110
|
-
- `provider: local` (default) — JSON file at `.omninode/memory.json` with
|
|
111
|
-
deterministic keyword/tag relevance scoring, zero dependencies
|
|
112
|
-
- `provider: remembera` — the preferred Hilbras memory integration over
|
|
113
|
-
HTTP (base URL + `api_key_env_var`); strictly optional, like every
|
|
114
|
-
Hilbras component
|
|
115
|
-
- Memory failures are best-effort: logged, never fatal to a task
|
|
116
|
-
- **Planner layer** (`src/planner/`):
|
|
117
|
-
- Typed plan schema (`Plan` with ordered steps, targets, acceptance
|
|
118
|
-
criteria, risks, and finding traceability via `sourceFindings`)
|
|
119
|
-
- Planner context builder: objective + role + combined findings with
|
|
120
|
-
sources + relevant memory + research context
|
|
121
|
-
- `ModelPlanner` — asks a chat model (`provider:model-id`) for JSON matching
|
|
122
|
-
the plan contract; unparseable output degrades gracefully to the heuristic
|
|
123
|
-
fallback
|
|
124
|
-
- `HeuristicPlanner` — deterministic, offline plan from recommendations and
|
|
125
|
-
significant findings (also the fallback)
|
|
126
|
-
- Plans persist to `.omninode/plans.json`; pipeline runs record `planId`
|
|
127
|
-
- Configure with `planner: { kind: model | heuristic, model, instruction }`
|
|
128
|
-
— never hardcoded to any provider
|
|
129
|
-
- **End-to-end workflow** (§28, §27 Phase 9):
|
|
130
|
-
- One-command execution via the top-level `run` alias (`omninode run <pipeline> "<objective>"`)
|
|
131
|
-
- `omninode status` — full project state overview: providers, agents,
|
|
132
|
-
roles, pipelines, task/run/report/plan counts, memory provider + entries
|
|
133
|
-
- Pipeline runs persist their objective and a final `resultSummary` (§28 "Result")
|
|
134
|
-
- Error recovery: `task retry [--run]` (reset a failed/cancelled task) and
|
|
135
|
-
`pipeline retry <run-id>` (re-run a recorded failed run as a new run)
|
|
136
|
-
- Full integration test (`tests/e2e.test.ts`) drives the entire §28 workflow
|
|
137
|
-
through the real CLI against a local gateway
|
|
138
|
-
- Typed error hierarchy (`src/errors/`)
|
|
139
|
-
- Leveled logger with pluggable sink (`src/logger/`)
|
|
140
|
-
- Configuration system: `omninode.yaml` with `${ENV_VAR}` expansion and strict
|
|
141
|
-
validation (`src/config/`)
|
|
142
|
-
- CLI: `init`, `provider add/list/test`, `models`, `agent list`, `role list`,
|
|
143
|
-
and honest stubs for the phase-dependent commands (`src/cli/`)
|
|
144
|
-
- Test infrastructure (Vitest) and CI (GitHub Actions)
|
|
145
|
-
|
|
146
|
-
## Requirements
|
|
147
|
-
|
|
148
|
-
- Node.js >= 20
|
|
149
|
-
|
|
150
|
-
## Quick start (from source)
|
|
28
|
+
| Provider abstraction, custom providers, model discovery | [`src/providers/`](src/providers) |
|
|
29
|
+
| OmniHilbras integration (optional) | `src/providers/omnihilbras` |
|
|
30
|
+
| CLI agents (stdin / arg / protocol modes), agent registry | [`src/agents/`](src/agents) |
|
|
31
|
+
| Roles, tasks with lifecycle and retry | `src/roles`, [`src/tasks/`](src/tasks) |
|
|
32
|
+
| Pipelines: DAG scheduling, fan-out research, conditions, retries | [`src/pipelines/`](src/pipelines) |
|
|
33
|
+
| Multi-AI reports with aggregation and conflict detection | [`src/reports/`](src/reports) |
|
|
34
|
+
| Planner (model-backed with heuristic fallback) | [`src/planner/`](src/planner) |
|
|
35
|
+
| Memory (local + Remembera) wired into the task loop | [`src/memory/`](src/memory) |
|
|
36
|
+
| End-to-end workflow in one command | `omninode run <pipeline> "<objective>"` |
|
|
37
|
+
| Audit log, security model, examples, Docker runtime | [`src/audit/`](src/audit), [docs/SECURITY.md](docs/SECURITY.md) |
|
|
38
|
+
|
|
39
|
+
### v2.0.0 progress (21 of 24 phases)
|
|
40
|
+
|
|
41
|
+
| # | Phase | Outcome |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| 1 | Architecture & API stabilization | shared persistence base, guarded public API, deprecation policy |
|
|
44
|
+
| 2 | Execution reliability | `unknown` ≠ `failed`, attempts, execution identity, timeouts |
|
|
45
|
+
| 3 | Agent Protocol v2 | versioned, correlated envelopes, malformed input never crashes |
|
|
46
|
+
| 4 | Agent adapter hardening | process-tree cleanup, env policies, output limits, cwd confinement |
|
|
47
|
+
| 5 | Pipeline lifecycle | cancellation, partial/unknown propagation, interrupted-run detection |
|
|
48
|
+
| 6 | Provider infrastructure | model metadata, `connect`/`getModel`, normalized error kinds |
|
|
49
|
+
| 7 | OmniHilbras v2 | gateway metadata, streaming, enforced separation |
|
|
50
|
+
| 8 | Memory v2 | formal contract, categories, budgeted retrieval, `required` policy |
|
|
51
|
+
| 9 | Report system v2 | validated reports, typed evidence, provenance |
|
|
52
|
+
| 10 | Aggregation | agreements, conflicts (both positions preserved), confidence |
|
|
53
|
+
| 11 | Planner v2 | full input, plan validation, structured errors, provider-agnostic |
|
|
54
|
+
| 12 | Persistence | atomic writes, corruption quarantine, schema v2 + migration |
|
|
55
|
+
| 13 | Security hardening | inline-secret refusal, static guards, `security audit` |
|
|
56
|
+
| 14 | Audit & observability | correlated events, JSON logs, `inspect` diagnostics |
|
|
57
|
+
| 15 | CLI v2 | exit codes, `config` group, `pipeline create`, `--json` |
|
|
58
|
+
| 16 | Configuration v2 | precedence, profiles, `OMNINODE_*`, diagnostics |
|
|
59
|
+
| 17 | Testing expansion | explicit failure matrix + regression tests |
|
|
60
|
+
| 18 | Documentation overhaul | complete document set, rewritten README |
|
|
61
|
+
| 19 | API & package quality | curated public surface with CI guards, boundary validation, verified package contents |
|
|
62
|
+
| 20 | Performance & resources | bounded reports/context/audit log, concurrency limits, released handles |
|
|
63
|
+
| 21 | Developer experience | predictable scripts, local dev guide, verified extension guides |
|
|
64
|
+
| 22–24 | CI/CD hardening · migration tooling · final hardening | next: CI/CD |
|
|
65
|
+
|
|
66
|
+
The roadmap is [docs/ROADMAP_V2.md](docs/ROADMAP_V2.md); the completed v1 plan is
|
|
67
|
+
[docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.md).
|
|
151
68
|
|
|
152
|
-
|
|
153
|
-
npm install
|
|
154
|
-
npm run build
|
|
155
|
-
node dist/cli/index.js --help
|
|
69
|
+
## Documentation
|
|
156
70
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
71
|
+
| Document | What it covers |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| [Configuration](docs/CONFIGURATION.md) | source precedence, profiles, secrets, diagnostics |
|
|
74
|
+
| [CLI](docs/CLI.md) | command groups, output modes, exit codes, recipes |
|
|
75
|
+
| [Agents](docs/AGENTS.md) | registering agents, input modes, process handling, native adapters |
|
|
76
|
+
| [Pipelines](docs/PIPELINES.md) | pipeline definitions, step kinds, scheduling, results |
|
|
77
|
+
| [Agent Protocol v2](docs/PROTOCOL.md) | the interoperability spec external agents implement |
|
|
78
|
+
| [Providers](docs/PROVIDERS.md) | the provider contract, metadata, error normalization |
|
|
79
|
+
| [Memory](docs/MEMORY.md) | the memory contract, categories, retrieval, migration |
|
|
80
|
+
| [Reports](docs/REPORTS.md) | report schema, validation, aggregation, conflicts |
|
|
81
|
+
| [Persistence](docs/PERSISTENCE.md) | storage interfaces, durability, corruption, migration |
|
|
82
|
+
| [Security](docs/SECURITY.md) | secrets, process execution, trust model, sandbox boundary |
|
|
83
|
+
| [Testing](docs/TESTING.md) | the failure matrix and regression-test discipline |
|
|
84
|
+
| [Troubleshooting](docs/TROUBLESHOOTING.md) | symptom → cause → fix |
|
|
85
|
+
| [Migration](docs/MIGRATION.md) | v1 → v2 (compat, storage, config, protocol) |
|
|
86
|
+
| [Contributing](docs/CONTRIBUTING.md) · [Development](docs/DEVELOPMENT.md) · [Extending](docs/EXTENDING.md) | setup, scripts, local workflow, extension guides |
|
|
87
|
+
| [Architecture](docs/ARCHITECTURE.md) | module map, workflow, execution states, audit |
|
|
88
|
+
| [API](docs/API.md) · [API stability](docs/API_STABILITY.md) · [Deprecations](docs/DEPRECATIONS.md) | the public surface and its guarantees |
|
|
89
|
+
| [CHANGELOG](CHANGELOG.md) · [v1 plan](docs/DEVELOPMENT_PLAN.md) · [v2 roadmap](docs/ROADMAP_V2.md) | history and plans |
|
|
160
90
|
|
|
161
|
-
|
|
91
|
+
## Roadmap
|
|
162
92
|
|
|
163
|
-
|
|
164
|
-
|
|
93
|
+
The v1 plan (phases 0–11) is complete and shipped as **v1.0.0** — see
|
|
94
|
+
[docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.md). The v2 roadmap
|
|
95
|
+
(24 phases) is in progress — see [docs/ROADMAP_V2.md](docs/ROADMAP_V2.md):
|
|
165
96
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
97
|
+
| Version | Milestone |
|
|
98
|
+
| --- | --- |
|
|
99
|
+
| v0.1.0 – v0.10.0 | Foundation → end-to-end workflow |
|
|
100
|
+
| **v1.0.0** | Production Release (v1 plan complete) |
|
|
101
|
+
| **v2.0.0-alpha.N** | Reliability & interoperability line (phases 1–18 shipped) |
|
|
102
|
+
| v2.0.0 | Phases 19–24: package quality, performance, DX, CI/CD, migration tooling, final hardening |
|
|
170
103
|
|
|
171
|
-
|
|
172
|
-
omninode models
|
|
173
|
-
omninode models my-gateway --capability chat
|
|
104
|
+
Install prereleases with:
|
|
174
105
|
|
|
175
|
-
|
|
176
|
-
|
|
106
|
+
```bash
|
|
107
|
+
npm install -g @hilbras/omninode@next
|
|
177
108
|
```
|
|
178
109
|
|
|
179
|
-
|
|
180
|
-
|
|
110
|
+
Core architectural rule: OmniNode must run successfully with **zero Hilbras
|
|
111
|
+
dependencies**. OmniHilbras and Remembera make it more powerful, but neither is
|
|
112
|
+
required for the core engine.
|
|
113
|
+
|
|
114
|
+
## Install
|
|
181
115
|
|
|
182
116
|
```bash
|
|
183
|
-
|
|
184
|
-
|
|
117
|
+
npm install -g @hilbras/omninode # stable (v1.0.0)
|
|
118
|
+
npm install -g @hilbras/omninode@next # v2 prereleases
|
|
185
119
|
```
|
|
186
120
|
|
|
187
|
-
|
|
121
|
+
Or as a library: `npm install @hilbras/omninode`. Node.js 20+.
|
|
122
|
+
|
|
123
|
+
Prefer a container? `docker build -t omninode .` then
|
|
124
|
+
`docker run --rm -v "$PWD:/work" -w /work omninode run my-pipeline "audit the repo"`.
|
|
125
|
+
|
|
126
|
+
## Quick start
|
|
188
127
|
|
|
189
128
|
```bash
|
|
190
|
-
omninode
|
|
191
|
-
omninode
|
|
192
|
-
|
|
193
|
-
omninode
|
|
129
|
+
omninode init # writes omninode.yaml
|
|
130
|
+
omninode provider add --name my-gateway \
|
|
131
|
+
--base-url https://api.example.com/v1 --api-key-env-var MY_API_KEY
|
|
132
|
+
omninode agent add --name researcher --command some-agent --input-mode stdin
|
|
194
133
|
```
|
|
195
134
|
|
|
196
|
-
|
|
135
|
+
Describe the work as a pipeline — in `omninode.yaml`:
|
|
197
136
|
|
|
198
137
|
```yaml
|
|
199
138
|
project:
|
|
139
|
+
memory:
|
|
140
|
+
provider: local # or: remembera
|
|
141
|
+
planner:
|
|
142
|
+
kind: model
|
|
143
|
+
model: my-gateway:chatgpt
|
|
200
144
|
pipelines:
|
|
201
145
|
- id: repo-audit
|
|
202
146
|
steps:
|
|
203
|
-
- id: research
|
|
147
|
+
- id: research # independent analyses, run in parallel
|
|
204
148
|
kind: research
|
|
205
|
-
agents: [
|
|
206
|
-
- id: plan
|
|
149
|
+
agents: [researcher, second-opinion]
|
|
150
|
+
- id: plan # findings + memory → typed implementation plan
|
|
207
151
|
kind: plan
|
|
208
|
-
|
|
209
|
-
- id: execute
|
|
152
|
+
- id: execute # hand the plan to an execution agent
|
|
210
153
|
kind: execute
|
|
211
|
-
agent:
|
|
154
|
+
agent: researcher
|
|
212
155
|
```
|
|
213
156
|
|
|
214
|
-
|
|
215
|
-
omninode pipeline run repo-audit "Audit the authentication module"
|
|
216
|
-
omninode report combined # the aggregated intelligence of that run
|
|
217
|
-
omninode report show combined-xxx # grouped findings with per-source attribution
|
|
218
|
-
omninode plan show plan-xxx # the implementation plan the planner produced
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
The planner layer (§18) turns combined intelligence into an ordered,
|
|
222
|
-
actionable implementation plan. Configure it once:
|
|
223
|
-
|
|
224
|
-
```yaml
|
|
225
|
-
project:
|
|
226
|
-
planner:
|
|
227
|
-
kind: model # or heuristic for offline planning
|
|
228
|
-
model: my-gateway:chatgpt
|
|
229
|
-
```
|
|
157
|
+
…then run the whole loop in one command:
|
|
230
158
|
|
|
231
159
|
```bash
|
|
232
|
-
omninode
|
|
233
|
-
omninode status
|
|
234
|
-
omninode run repo-audit "Audit the authentication module" # the whole workflow
|
|
235
|
-
omninode pipeline retry run-xxxx # recover a failed run
|
|
236
|
-
omninode task retry task-yyyy --run # recover a failed task
|
|
160
|
+
omninode run repo-audit "Audit the authentication module"
|
|
237
161
|
```
|
|
238
162
|
|
|
239
|
-
Persistent memory (§19–§20) — opt in with `memory: { provider: local }` or
|
|
240
|
-
`provider: remembera` in `omninode.yaml`:
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
omninode memory status # provider + entry counts
|
|
244
|
-
omninode memory query "authentication jwt" # what the agents will see
|
|
245
|
-
omninode memory write "Decision: use rotating JWT secrets" --scope project --tags architecture
|
|
246
163
|
```
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
1. **Credentials never live in the file.** Reference environment variables with
|
|
256
|
-
`api_key_env_var: MY_API_KEY`; `${VAR}` / `${VAR:-fallback}` references anywhere
|
|
257
|
-
in the file are expanded at load time and unset variables abort loading.
|
|
258
|
-
2. **Unknown keys are rejected.** Typos fail loudly instead of being ignored.
|
|
259
|
-
|
|
260
|
-
## Development
|
|
261
|
-
|
|
262
|
-
```bash
|
|
263
|
-
npm run build # bundle with tsup (library + CLI)
|
|
264
|
-
npm test # run tests once
|
|
265
|
-
npm run test:watch # watch mode
|
|
266
|
-
npm run lint # eslint
|
|
267
|
-
npm run typecheck # tsc --noEmit
|
|
268
|
-
npm run format # prettier
|
|
164
|
+
[research] completed
|
|
165
|
+
[plan] completed
|
|
166
|
+
[execute] completed
|
|
167
|
+
reports: 2 structured report(s)
|
|
168
|
+
combined report: combined-m4f2
|
|
169
|
+
plan: plan-a91
|
|
170
|
+
result: Fixed JWT verification and added regression tests.
|
|
171
|
+
Pipeline completed. Run id: run-a91
|
|
269
172
|
```
|
|
270
173
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
Phases 0–11 are laid out in [docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.md):
|
|
274
|
-
|
|
275
|
-
| Version | Milestone |
|
|
276
|
-
| --- | --- |
|
|
277
|
-
| v0.1.0 | Foundation |
|
|
278
|
-
| v0.2.0 | Provider System |
|
|
279
|
-
| v0.3.0 | OmniHilbras Integration (optional, like every provider) |
|
|
280
|
-
| v0.4.0 | Agent System |
|
|
281
|
-
| v0.5.0 | Roles & Tasks |
|
|
282
|
-
| v0.6.0 | Pipeline Engine |
|
|
283
|
-
| v0.7.0 | Multi-AI Reports |
|
|
284
|
-
| v0.8.0 | Remembera / Memory |
|
|
285
|
-
| v0.9.0 | Planner |
|
|
286
|
-
| v0.10.0 | End-to-End Workflow (current) |
|
|
287
|
-
| **v1.0.0** | **Production Release — Phases 10 + 11 (current, final)** |
|
|
288
|
-
|
|
289
|
-
Core architectural rule: OmniNode must run successfully with **zero Hilbras
|
|
290
|
-
dependencies**. OmniHilbras and Remembera make it more powerful, but neither is
|
|
291
|
-
required for the core engine.
|
|
292
|
-
|
|
293
|
-
## Documentation
|
|
294
|
-
|
|
295
|
-
- [Development plan](docs/DEVELOPMENT_PLAN.md) — the full 12-phase roadmap
|
|
296
|
-
- [Architecture](docs/ARCHITECTURE.md) — module map, workflow, local state
|
|
297
|
-
- [Security model](docs/SECURITY.md) — secrets, process execution, env isolation, audit log
|
|
298
|
-
- [API stability policy](docs/API_STABILITY.md) and [public API inventory](docs/API.md)
|
|
299
|
-
- [Deprecations](docs/DEPRECATIONS.md) · [Changelog](CHANGELOG.md) · [v2 roadmap](docs/ROADMAP_V2.md)
|
|
300
|
-
- [Example project](examples/demo/) — a runnable end-to-end demo (`./demo.sh`)
|
|
301
|
-
|
|
302
|
-
Prefer a container? `docker build -t omninode .` then
|
|
303
|
-
`docker run --rm -v "$PWD:/work" -w /work omninode run my-pipeline "audit the repo"`.
|
|
304
|
-
|
|
305
|
-
## Install
|
|
174
|
+
Inspect what happened, in text or JSON:
|
|
306
175
|
|
|
307
176
|
```bash
|
|
308
|
-
|
|
177
|
+
omninode pipeline inspect run-a91
|
|
178
|
+
omninode report combined
|
|
179
|
+
omninode plan show plan-a91
|
|
180
|
+
omninode task inspect task-… --json | jq .
|
|
181
|
+
omninode audit -n 50
|
|
309
182
|
```
|
|
310
183
|
|
|
311
|
-
|
|
184
|
+
Prefer to start from something runnable? [`examples/demo/`](examples/demo/)
|
|
185
|
+
contains a complete project and `./demo.sh` that exercises the full loop with
|
|
186
|
+
agents that need no external tools.
|
|
312
187
|
|
|
313
188
|
## Connecting OmniHilbras
|
|
314
189
|
|