@openlife/cli 1.7.4 → 1.7.5

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/CODE_OF_CONDUCT.md +31 -0
  3. package/CONTRIBUTING.md +133 -0
  4. package/README.md +25 -9
  5. package/package.json +10 -2
  6. package/docs/CHANGELOG_FEATURE_ROLLOUT_DESIGNMD.md +0 -43
  7. package/docs/EXTERNAL_SOURCES_AND_SECURITY_GUARD.md +0 -33
  8. package/docs/OPENLIFE_AUDIT_2026-05-06.md +0 -170
  9. package/docs/OPENLIFE_CONSOLIDATED_PLAN_2026-05-06.md +0 -299
  10. package/docs/OPENLIFE_DUAL_MODE_IMPLEMENTATION_PLAN.md +0 -205
  11. package/docs/OPENLIFE_EVOLUTION_SURFACE_2026-05-07.md +0 -53
  12. package/docs/OPENLIFE_SKILLS_IMPORT_2026-05-07.json +0 -223
  13. package/docs/OPENLIFE_SQUADS_IMPORT_2026-05-07.json +0 -184
  14. package/docs/PAPERCLIP_OPENLIFE_INVESTIGATION.md +0 -85
  15. package/docs/RELEASE_ORGANIZATION_PLAN.md +0 -164
  16. package/docs/audit/CLI-EXECUTION-RESULTS.md +0 -113
  17. package/docs/audit/CLI-MATRIX.md +0 -556
  18. package/docs/audit/DOC-PARITY-GAPS.md +0 -351
  19. package/docs/audit/ORCHESTRATOR-MATRIX.md +0 -136
  20. package/docs/audit/TEST-COVERAGE-GAPS.md +0 -334
  21. package/docs/audit/integrations/SKIPPED.md +0 -101
  22. package/docs/autonomous-install.md +0 -79
  23. package/docs/capability-genesis.md +0 -137
  24. package/docs/capability-pack-schema.md +0 -157
  25. package/docs/commands.md +0 -82
  26. package/docs/deep-research-capability.md +0 -114
  27. package/docs/development/typescript-conventions.md +0 -95
  28. package/docs/host-installers.md +0 -68
  29. package/docs/install/aiobuilder.md +0 -70
  30. package/docs/install/claude-code.md +0 -83
  31. package/docs/install/codex.md +0 -64
  32. package/docs/install/gemini-cli.md +0 -64
  33. package/docs/install/runtime-profiles.md +0 -83
  34. package/docs/openlife-agent-os-blueprint.md +0 -114
  35. package/docs/openlife-install-backlog.md +0 -115
  36. package/docs/openlife-install-spec.md +0 -306
  37. package/docs/operations/CLOUD_CUTOVER_AUDIT.md +0 -37
  38. package/docs/operations/PHASE_PROGRESS_CONTINUATION.md +0 -24
  39. package/docs/performance-benchmarks.md +0 -83
  40. package/docs/planning/v1.3-capability-genesis.md +0 -157
  41. package/docs/plans/2026-05-05-admin-interface-professional-dark-premium-plan.md +0 -84
  42. package/docs/plans/2026-05-05-openlife-autonomous-domain-marketplace-masterplan.md +0 -122
  43. package/docs/roadmap/OPENLIFE_MASTER_PLAN_CLOUD_V3.md +0 -97
  44. package/docs/sandboxing-research.md +0 -117
  45. package/docs/stories/epic-feature-audit/1.1.story.md +0 -84
  46. package/docs/stories/epic-feature-audit/1.2.story.md +0 -102
  47. package/docs/stories/epic-feature-audit/1.3.story.md +0 -93
  48. package/docs/stories/epic-feature-audit/1.5.story.md +0 -121
  49. package/docs/stories/epic-feature-audit/1.6.story.md +0 -80
  50. package/docs/stories/epic-feature-completeness/2.1.story.md +0 -70
  51. package/docs/stories/epic-feature-completeness/2.2.story.md +0 -49
  52. package/docs/stories/epic-feature-completeness/2.3.story.md +0 -74
  53. package/docs/stories/epic-feature-completeness/2.4.story.md +0 -71
  54. package/docs/stories/epic-feature-completeness/3.1.story.md +0 -56
  55. package/docs/stories/epic-feature-completeness/3.2.story.md +0 -80
  56. package/docs/stories/epic-feature-completeness/3.3.story.md +0 -68
  57. package/docs/stories/epic-feature-completeness/3.4.story.md +0 -71
  58. package/docs/stories/epic-feature-completeness/3.5.story.md +0 -72
  59. package/docs/stories/epic-feature-completeness/3.6.story.md +0 -69
  60. package/docs/stories/epic-feature-completeness/3.7.story.md +0 -68
  61. package/docs/stories/epic-feature-completeness/3.8.story.md +0 -57
  62. package/docs/v1.4-changelog.md +0 -159
  63. package/docs/v1.5-changelog.md +0 -106
  64. package/docs/v1.5-roadmap.md +0 -121
  65. package/docs/v1.6-changelog.md +0 -67
  66. package/docs/v1.6-roadmap.md +0 -89
package/CHANGELOG.md ADDED
@@ -0,0 +1,186 @@
1
+ # Changelog
2
+
3
+ All notable changes to OpenLife CLI (`@openlife/cli`) are documented here.
4
+ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
+ Project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ Detailed per-milestone notes (story-level breakdown, commit map, scorecard
8
+ deltas) live in `docs/v<N>-changelog.md`.
9
+
10
+ ## [Unreleased]
11
+
12
+ Hit-10 sprint in progress — see plan for M2→M6 (docs hygiene, first-run
13
+ wizard, observability, aiobuilder depth, self-update).
14
+
15
+ ---
16
+
17
+ ## [1.7.4] — 2026-05-14
18
+
19
+ ### Fixed
20
+ - `openlife --version` now reads dynamically from `package.json` instead
21
+ of a hardcoded `1.0.0`. After install, the reported version matches
22
+ the npm tag.
23
+
24
+ ## [1.7.3] — 2026-05-14
25
+
26
+ ### Added
27
+ - `LICENSE` (MIT) at repository root and registered in `package.json`
28
+ `files[]` so the tarball ships it.
29
+ - `.npmignore` to enforce exclusions over `files[]` whitelist when
30
+ needed.
31
+
32
+ ### Changed
33
+ - Cleaned external dev-kit branding (AIOX, GSD, AIOS) from every
34
+ user-facing surface: 33 catalog files scrubbed, 8 unused legacy
35
+ catalog entries removed, source comments and test function names
36
+ generalized, `dist-templates/workflows/AIOX_PORT_NOTES.md` renamed
37
+ to `PORTED_WORKFLOWS.md`.
38
+ - `.planning/` and `CLAUDE.md` untracked and `.gitignore`'d — they
39
+ remain on disk for the maintainer but never ship publicly.
40
+ - Compact, OpenLife-only `CLAUDE.md` content (local-only).
41
+
42
+ ### Removed
43
+ - 7 unused `aios-*` agents + 1 squad from `.catalog/` (imported mirrors
44
+ with zero runtime consumers).
45
+ - Internal strategy/study docs moved out of public `docs/`.
46
+
47
+ ## [1.7.2] — 2026-05-14
48
+
49
+ ### Changed
50
+ - Package renamed from `@open-life/cli` → `@openlife/cli` to match
51
+ the existing npm organization (`openlife`). No code/behavior change.
52
+
53
+ ## [1.7.1] — 2026-05-13
54
+
55
+ ### Fixed
56
+ - `SystemDoctor` graceful downgrade when running on Node 20+ builds
57
+ that lack `--permission` flag support (e.g. CI runners). Sandbox
58
+ enforcement check no longer false-fails on unsupported runtimes.
59
+
60
+ ## [1.7.0] — 2026-05-13 — "Enforcement at scale"
61
+
62
+ See `docs/v1.7-changelog.md` for full per-story breakdown.
63
+
64
+ ### Added
65
+ - Toolset enforcement coverage expanded from 2 to **13 categories**
66
+ (memory, tts, cron, mcp, skills, workflows, squads, web, file,
67
+ vision, gateway, plus terminal and delegation from v1.4). Behind
68
+ `OPENLIFE_TOOLSET_ENFORCEMENT=on` (default still off, calendar-gated
69
+ flip in 20.1).
70
+ - `OrchestrationLoop` now branches on `OPENLIFE_BRAIN_FORECAST=on` to
71
+ reach `ConsequenceForecaster.forecastWithBrain()` (shipped v1.5,
72
+ unwired until now). Brain verdict / risk amplifiers / opportunity
73
+ factors surfaced into the attempt trace.
74
+ - `test_forecast_brain_wiring.ts` regression guard catches the
75
+ "shipped but unwired" class of bug.
76
+ - Consolidated `docs/release-process.md` runbook.
77
+
78
+ ### Fixed
79
+ - CI lint `any`-budget grep filter (`-h` flag was stripping filenames,
80
+ causing test-file matches to count as production). Production `any`
81
+ count driven to **0** against a filename-aware grep.
82
+
83
+ ### Note on prior measurement
84
+ The v1.4–v1.6 `any` counts (172, 109, 83) reflected the broken filter
85
+ and were inflated. Real production counts were ~30, ~20, 12–14.
86
+ Historical changelogs are not retroactively edited; the correction is
87
+ documented in `docs/v1.7-changelog.md`.
88
+
89
+ ## [1.6.0] — 2026-05-13 — "Sandbox rollout"
90
+
91
+ See `docs/v1.6-changelog.md`.
92
+
93
+ ### Added
94
+ - `ProcessSandbox` (Story 18.1): Node 20+ `--permission` flag-based
95
+ process sandboxing. First production wire-in via `openlife doctor`
96
+ with graceful downgrade when unsupported.
97
+ - `TaskExecutor` opt-in sandbox (Story 18.2) via
98
+ `OPENLIFE_SANDBOX_TASK_EXEC=on`.
99
+ - Distributed lock primitive for multi-process queue coordination.
100
+
101
+ ### Changed
102
+ - `RuntimeHealthMonitor` exponential backoff (10s base → 1h cap) with
103
+ 10-failure budget per 1h window.
104
+
105
+ ## [1.5.0] — 2026-05-13 — "Evaluation + remote publishing"
106
+
107
+ See `docs/v1.5-changelog.md` and `docs/v1.5-roadmap.md`.
108
+
109
+ ### Added
110
+ - Brain-driven post-mission evaluation (Story 13.1) — automatic
111
+ `quality / governance / actionability` scoring via `eval judge`
112
+ command, results in `.openlife/evaluations/`.
113
+ - SHA-chained governance scope ledger (Story 14.2):
114
+ `.openlife/governance-ledger.jsonl` with tamper detection via chain
115
+ walk. PII protection by hashing goals before persistence.
116
+ - Remote asset publishing over HTTPS (Story 14.1) —
117
+ `RemotePublisher` + signed manifests for catalog distribution.
118
+ - `ConsequenceForecaster.forecastWithBrain()` API (wiring in v1.7).
119
+ - Type safety improvements: structured Telegram API parsing, event
120
+ iteration typing.
121
+
122
+ ## [1.4.0] / [1.4.1] — 2026-05-12/13 — "Path to 10/10"
123
+
124
+ See `docs/v1.4-changelog.md`.
125
+
126
+ ### Added (consolidation milestone — no new pillars)
127
+ - Intelligence wiring: `Brain.isAnyProviderAvailable()` opt-in,
128
+ `SquadCreator/SkillCreator.designWithBrain()`, post-mission memory
129
+ consolidation hook.
130
+ - Real I/O: `SecurityDownloadGuard.downloadAndScan()` with size cap +
131
+ filename-pattern scanning; `HostInstaller` real implementations for
132
+ Gemini CLI and Codex (no longer stubs); seeded
133
+ `dist-templates/{gemini-cli,codex}/`.
134
+ - Toolset enforcement kernel: `assertToolsetAllowed()` at
135
+ `TaskExecutor` and `Brain` CLI sites (terminal + delegation
136
+ categories).
137
+ - Workflow condition parser: tokenize → recursive-descent → evaluate
138
+ pipeline supporting `AND/OR/NOT/==/!=` + parens + dotted identifiers.
139
+ - CI + perf telemetry: `npm run test:performance-latency`,
140
+ `.github/workflows/{test,build,lint}.yml`.
141
+
142
+ ### v1.4.1 — Maintenance cut
143
+ - Backport-eligible bug fixes for v1.4 line.
144
+
145
+ ## [1.3.0] — 2026-05-12 — "Agent OS Integration"
146
+
147
+ ### Added
148
+ - 5 blueprint docs covering Agent OS integration architecture.
149
+ - Service Mode contract caller fixes (required `actor` parameter).
150
+ - v1.3 placeholder commands now have real implementations.
151
+ - Capability Pack schema + Capability Genesis Engine — turns free-text
152
+ briefs into draft capability packs (Stories 1.1, 2.1–2.4, 3.1–3.3).
153
+
154
+ ## [1.2.0] — 2026-05-12 — "Royal Stack"
155
+
156
+ ### Added
157
+ - Workflow engine: `WorkflowSchema` + `WorkflowParser` +
158
+ `WorkflowEngine` with atomic state persistence and phase-step
159
+ execution model (Story 4.1).
160
+ - 4 ported workflows shipped in `dist-templates/workflows/`:
161
+ `story-development-cycle`, `greenfield-fullstack`,
162
+ `brownfield-discovery`, `qa-loop` (Story 4.4).
163
+ - Squad + Skill creators with interactive UX and Brain-driven design
164
+ modes (Stories 5.1–5.5).
165
+ - Atomic writer + mission checkpoint API (Stories 6.1–6.2).
166
+ - Runtime reliability: heartbeat, watchdog, distributed lock,
167
+ exponential backoff health monitor.
168
+ - `aiobuilder` CLI surface with 16 sub-commands (`mode`, `create-agent`,
169
+ `create-squad`, `build-skill`, `generate-ui`, `discover`, `plan`,
170
+ `build`, `test`, `preview`, `release`, `infra`, `score`, `evolve`,
171
+ `ship`, `chat`, `canonize`, `create-capability`).
172
+
173
+ ---
174
+
175
+ [Unreleased]: https://github.com/GOOODZ/openlife-core/compare/v1.7.4...HEAD
176
+ [1.7.4]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.7.4
177
+ [1.7.3]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.7.3
178
+ [1.7.2]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.7.2
179
+ [1.7.1]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.7.1
180
+ [1.7.0]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.7.0
181
+ [1.6.0]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.6.0
182
+ [1.5.0]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.5.0
183
+ [1.4.1]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.4.1
184
+ [1.4.0]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.4.0
185
+ [1.3.0]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.3.0
186
+ [1.2.0]: https://github.com/GOOODZ/openlife-core/releases/tag/v1.2.0
@@ -0,0 +1,31 @@
1
+ # Code of Conduct
2
+
3
+ This project welcomes contributions from anyone willing to engage
4
+ constructively. To keep collaboration productive and respectful, all
5
+ participants are expected to:
6
+
7
+ - Communicate professionally and assume good faith.
8
+ - Focus discussion on ideas, code, and project goals.
9
+ - Accept constructive feedback gracefully and offer it the same way.
10
+ - Respect differing viewpoints and experience levels.
11
+ - Help maintain a focused, useful technical environment.
12
+
13
+ ## Scope
14
+
15
+ This Code of Conduct applies to all project spaces — issues, pull
16
+ requests, discussions, and any public communication associated with
17
+ OpenLife CLI.
18
+
19
+ ## Reporting
20
+
21
+ If a concern arises, please contact the maintainer privately by opening
22
+ a confidential issue or via email at the address listed in
23
+ `package.json`. Reports will be reviewed and addressed by the
24
+ maintainer.
25
+
26
+ ## Enforcement
27
+
28
+ The maintainer is responsible for clarifying acceptable behavior and
29
+ may take appropriate corrective action for participation that disrupts
30
+ the project, including edits to or removal of contributions and, where
31
+ necessary, blocking continued participation.
@@ -0,0 +1,133 @@
1
+ # Contributing to OpenLife CLI
2
+
3
+ Thanks for your interest in improving OpenLife. This document covers the
4
+ dev setup, test discipline, commit conventions, and PR process used in
5
+ this project.
6
+
7
+ ## Quick start (dev setup)
8
+
9
+ ```bash
10
+ git clone https://github.com/GOOODZ/openlife-core.git
11
+ cd openlife-core
12
+ npm install # postinstall runs scripts/postinstall-check.sh
13
+ npm run build # tsc → dist/
14
+ node bin/openlife.js --help # verify the CLI loads
15
+ ```
16
+
17
+ For interactive development without rebuilding each time:
18
+
19
+ ```bash
20
+ npm run dev # ts-node src/index.ts
21
+ ```
22
+
23
+ ## Test discipline
24
+
25
+ OpenLife does **not** use Jest. Each test is a standalone executable in
26
+ `src/test_*.ts` that the `test:*` script in `package.json` compiles and
27
+ runs directly. Tests `throw` or `process.exit(1)` on failure; success
28
+ prints a summary line ending with `TEST_<NAME>_OK`.
29
+
30
+ Run the full canonical suite before committing:
31
+
32
+ ```bash
33
+ npm run test:all
34
+ ```
35
+
36
+ Run an individual test:
37
+
38
+ ```bash
39
+ npm run test:workflow-parser
40
+ # or ad-hoc without script:
41
+ npm run build && node dist/test_<name>.js
42
+ ```
43
+
44
+ `prepublishOnly` runs `test:all` automatically — publish will block on
45
+ the suite. Add new tests by:
46
+
47
+ 1. Create `src/test_<feature>.ts` following the existing pattern (use a
48
+ neighboring test file as template).
49
+ 2. Add a matching `test:<feature>` script in `package.json`.
50
+ 3. If the test is canonical, append it to the `test:all` chain.
51
+
52
+ ## Commit conventions
53
+
54
+ - Use [Conventional Commits](https://www.conventionalcommits.org/):
55
+ `feat:`, `fix:`, `docs:`, `chore:`, `refactor:`, `test:`, `ci:`,
56
+ `style:`, `perf:`, `build:`.
57
+ - Reference the story or issue: `feat(workflow): add idempotent flag (Story 4.2, v1.2)`.
58
+ - Keep commits atomic — one logical change per commit. Pre-commit
59
+ validation runs `npm run test:all` indirectly via prepublish gate.
60
+
61
+ ## TypeScript conventions
62
+
63
+ - **Strict mode** is enforced (`tsconfig.json` has `"strict": true`).
64
+ Production code must not use `any` — `unknown` + type narrowing is the
65
+ idiomatic alternative. Test files may use `(x as any)` as a test seam.
66
+ - **Lazy imports** for heavy classes inside `src/index.ts` Commander
67
+ handlers — never move `Gateway`, `Brain`, `TestHarness`,
68
+ `OrchestrationLoop`, etc. to module scope. They are inside
69
+ `.action(...)` via `require(...)` so that deterministic commands
70
+ (`--help`, `plugin`, tests) stay fast.
71
+ - **Error contract for CLI handlers**: return JSON via
72
+ `JSON.stringify(...)` with `{ ok: false, error: '<snake_case_code>',
73
+ ... }`. Use `process.exitCode = 1` (not `process.exit(1)`) for
74
+ failures in handlers.
75
+ - **Provider pattern**: new asset sources follow `Composite{X}Provider`
76
+ → `File{X}Provider` / `Cloud{X}Provider` in
77
+ `src/orchestrator/providers/`.
78
+ - **No external dev-kit paths at runtime** — runtime must not import
79
+ from `~/.hermes`, Obsidian vaults, or local-only dev-kit dirs.
80
+
81
+ ## Pull request process
82
+
83
+ 1. Fork the repository or create a feature branch (`feat/<short-name>`
84
+ or `fix/<short-name>`).
85
+ 2. Make atomic commits with conventional commit messages.
86
+ 3. Ensure `npm run test:all` passes locally.
87
+ 4. Run `npm run build` to confirm clean TypeScript compilation.
88
+ 5. Open a PR against `main`. Include in the description:
89
+ - **Summary** of the change (1-3 bullets).
90
+ - **Tests added/changed** with file paths.
91
+ - **Risk assessment** for any runtime-behavior change.
92
+ 6. CI (`.github/workflows/test.yml`, `build.yml`, `lint.yml`) must pass.
93
+ 7. A maintainer will review and merge. **Push to `main` and
94
+ `gh pr merge` are restricted to the maintainer** to keep the release
95
+ pipeline deterministic.
96
+
97
+ ## Filing issues
98
+
99
+ Use the templates in `.github/ISSUE_TEMPLATE/`:
100
+
101
+ - **Bug report** — for unexpected behavior, crashes, or regressions.
102
+ - **Feature request** — for new capabilities or enhancements.
103
+ - **Question** — for usage questions that don't fit the above.
104
+
105
+ Include OS, Node version, OpenLife version (`openlife --version`),
106
+ reproduction steps, and expected vs actual behavior.
107
+
108
+ ## Where to put new code
109
+
110
+ | Adding... | Lives in... |
111
+ |---|---|
112
+ | Commander command | `src/index.ts` (near related commands, reuse banner sections) |
113
+ | Orchestrator class | `src/orchestrator/<ClassName>.ts` |
114
+ | CLI installer/wizard | `src/cli/<ClassName>.ts` |
115
+ | Memory provider | `src/memory/<Name>Provider.ts` + register in `MemoryProviderRegistry.ts` |
116
+ | Asset provider | `src/orchestrator/providers/{File,Cloud,Composite}<X>Provider.ts` |
117
+ | Reversa contract/executor | `src/reversa/Reversa<Name>.ts` |
118
+ | Test | `src/test_<feature>.ts` + matching `test:<feature>` script |
119
+
120
+ ## Code of Conduct
121
+
122
+ This project adheres to a Contributor Covenant. See
123
+ [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md). By participating, you agree
124
+ to abide by its terms.
125
+
126
+ ## License
127
+
128
+ By contributing, you agree that your contributions will be licensed
129
+ under the [MIT License](./LICENSE).
130
+
131
+ ## Questions
132
+
133
+ Open a question issue or check `docs/getting-started.md` (coming soon).
package/README.md CHANGED
@@ -1,19 +1,18 @@
1
1
  # OpenLife CLI
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@openlife/cli.svg)](https://www.npmjs.com/package/@openlife/cli)
4
+ [![Build](https://github.com/GOOODZ/openlife-core/actions/workflows/test.yml/badge.svg)](https://github.com/GOOODZ/openlife-core/actions/workflows/test.yml)
5
+ [![License: MIT](https://img.shields.io/npm/l/@openlife/cli.svg)](./LICENSE)
6
+ [![Node](https://img.shields.io/node/v/@openlife/cli.svg)](https://nodejs.org)
7
+ [![npm downloads](https://img.shields.io/npm/dm/@openlife/cli.svg)](https://www.npmjs.com/package/@openlife/cli)
8
+
3
9
  OpenLife é um CLI/framework de orquestração com dois modos principais:
4
10
 
5
11
  - **CLI framework**: uso local por terminal, automações e comandos de operador.
6
12
  - **Agente autônomo**: runtime contínuo com daemon, Telegram e governança.
7
13
 
8
- > OpenLife é separado do Hermes. Hermes pode ajudar a operar/desenvolver OpenLife, mas o runtime do OpenLife não deve depender de `~/.hermes` nem de pastas do Obsidian.
9
-
10
- ## Fonte executável canônica
11
-
12
- - Código/dev: `D:\VSCODDE-DEV\openlife-core-main`
13
- - WSL: `/mnt/d/VSCODDE-DEV/openlife-core-main`
14
- - GitHub: `https://github.com/GOOODZ/openlife-core`
15
-
16
- Obsidian (`OPENLIFE_PRODUCTION` e `LARA/OPEN-LIFE`) é camada estratégica/documental. Catálogos runtime devem viver no repo/cloud, por exemplo:
14
+ OpenLife é um produto standalone. Catálogos runtime vivem no repositório
15
+ e não dependem de dev-kits externos ou pastas de terceiros.
17
16
 
18
17
  ```txt
19
18
  .catalog/agents/
@@ -22,6 +21,23 @@ Obsidian (`OPENLIFE_PRODUCTION` e `LARA/OPEN-LIFE`) é camada estratégica/docum
22
21
  .catalog/mcps/
23
22
  ```
24
23
 
24
+ ## Quickstart
25
+
26
+ ```bash
27
+ npm install -g @openlife/cli
28
+ openlife init # wizard interativo com banner, chaves, OAuth, Telegram
29
+ openlife ask "hello, what can you do?"
30
+ ```
31
+
32
+ Mais detalhes em [INSTALL.md](INSTALL.md) e [docs/getting-started.md](docs/getting-started.md).
33
+
34
+ ## Repositório
35
+
36
+ - GitHub: <https://github.com/GOOODZ/openlife-core>
37
+ - npm: <https://www.npmjs.com/package/@openlife/cli>
38
+ - Issues: <https://github.com/GOOODZ/openlife-core/issues>
39
+ - Changelog: [CHANGELOG.md](CHANGELOG.md)
40
+
25
41
  ## Quick Start
26
42
 
27
43
  ### Caminho recomendado — wizard interativo
package/package.json CHANGED
@@ -1,17 +1,25 @@
1
1
  {
2
2
  "name": "@openlife/cli",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "OPEN-LIFE Córtex Orquestrador Dual-Core",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist",
8
8
  "bin",
9
9
  "scripts",
10
- "docs",
11
10
  "dist-templates",
11
+ "docs/README.md",
12
+ "docs/quickstart.md",
13
+ "docs/workflow-schema.md",
14
+ "docs/toolset-enforcement.md",
15
+ "docs/release-process.md",
16
+ "docs/v1.7-changelog.md",
17
+ "CHANGELOG.md",
12
18
  "LICENSE",
13
19
  "README.md",
14
20
  "INSTALL.md",
21
+ "CONTRIBUTING.md",
22
+ "CODE_OF_CONDUCT.md",
15
23
  "package.json"
16
24
  ],
17
25
  "repository": {
@@ -1,43 +0,0 @@
1
- # OpenLife Feature Rollout Changelog (Dual Mode + Reversa + DesignMD)
2
-
3
- ## Completed in this cycle
4
-
5
- ### Core execution
6
- - Dual mode persisted in mission lifecycle (`task` default, `service` explicit)
7
- - Formal job lifecycle with events (`enqueued/claimed/started/completed/failed/blocked`)
8
- - Destructive guardrails enforced (delete/remove/erase requires explicit consent)
9
-
10
- ### Service operations
11
- - CLI operations: `service status/pause/resume/events`
12
- - Task introspection: `task status`
13
- - Budget hard-stop -> service paused + event log
14
-
15
- ### Workspace foundations
16
- - Workspace-aware artifacts path under `.artifacts/workspaces/<workspaceId>/...`
17
- - Service state/events now namespaced by workspace
18
-
19
- ### Runtime and orchestration
20
- - Runtime registry probe/list baseline
21
- - Teammate board baseline (owner/status/blockers/comments)
22
- - Learning loop baseline (governed skill candidates)
23
-
24
- ### Reversa and DesignMD
25
- - Reversa state now supports mode metadata (`default` | `designmd`)
26
- - New mode setter in Reversa (`setMode`)
27
- - New `DesignMdMode` manager to apply/design profile and write root `DESIGN.md`
28
- - CLI surface:
29
- - `reversa mode --set <default|designmd> --profile <id>`
30
- - `designmd status`
31
- - `designmd apply <profileId> <source> <title> <designPath>`
32
- - `aiobuilder mode --set <default|designmd> --profile <id>`
33
-
34
- ## Validation status
35
- - TypeScript build: passing
36
- - Automated tests passing for dual mode, guardrails, lifecycle, runtime, reversa-lite, service CLI, teammate/learning
37
-
38
- ## Next integration step (pending your references/models)
39
- 1. Add importer for Awesome DESIGN.md catalog profile manifests
40
- 2. Add profile templates bundle under `design/profiles/`
41
- 3. Wire Reversa generation phase to enforce active DesignMD profile tokens
42
- 4. Wire AIOBUILDER scaffolding prompts to DesignMD profile context
43
- 5. Add regression tests for DesignMD profile switching and output consistency
@@ -1,33 +0,0 @@
1
- # OpenLife External Sources & Security Guard
2
-
3
- ## New source catalog commands
4
- - `openlife sources list`
5
- - `openlife sources guard-check <url>`
6
- - `openlife sources scaffold <type> <id> --notes "..."`
7
-
8
- ## Autonomous creation baselines (local)
9
- - `openlife agents create <id> --role <role> --notes "..."`
10
- - `openlife squads create <id> --domain <domain> --notes "..."`
11
- - `openlife skills create <id> --notes "..."`
12
- - `openlife mcp create <id> --transport <stdio|http> --entry "..."`
13
-
14
- Created artifacts:
15
- - `.catalog/agents/<id>/AGENT.md`
16
- - `.catalog/squads/<id>/SQUAD.md`
17
- - `.catalog/skills/<id>/SKILL.md`
18
- - `.catalog/mcps/<id>/mcp.json`
19
-
20
- ## Default reference sources configured
21
- - https://skills.sh/
22
- - https://clawhub.ai/
23
- - https://mcpmarket.com/
24
- - https://mcpservers.org/
25
- - https://github.com/ (import-allowed with guard)
26
-
27
- ## Cybersecurity guard (mandatory pre-download)
28
- 1. Validate source URL trust.
29
- 2. Scan file list / extracted directory for blocked patterns.
30
- 3. Reject package when blocked files are present.
31
-
32
- Active enforcement:
33
- - `designmd import` runs guard before import and blocks when malicious patterns exist.
@@ -1,170 +0,0 @@
1
- # OpenLife — Auditoria Geral (2026-05-06)
2
-
3
- ## Escopo
4
-
5
- Auditoria executada em `D:\\VSCODDE-DEV\\openlife-core-main` (`/mnt/d/VSCODDE-DEV/openlife-core-main`).
6
-
7
- Sem ações destrutivas, sem commit/push/deploy.
8
-
9
- ## Estado geral
10
-
11
- - Repo correto: `https://github.com/GOOODZ/openlife-core.git`
12
- - Branch: `main`
13
- - Build TypeScript: OK
14
- - CLI principal: operacional via `node bin/openlife.js`
15
- - Testes oficiais de package:
16
- - `npm run test:distribution`: OK
17
- - `npm run test:orchestration`: OK
18
- - Skill `design-extractor`: instalada e reconhecida pelo OpenLife runtime.
19
-
20
- ## Correções aplicadas após a auditoria
21
-
22
- - Runtime-source truth corrigido: `agents list` e `squads list` agora usam `.catalog/agents` e `.catalog/squads` por padrão.
23
- - `FileAgentProvider` e `FileSquadProvider` aceitam estrutura recursiva `.catalog/<tipo>/<id>/AGENT.md|SQUAD.md`.
24
- - `phase1-check` não falha mais falsamente quando a fixture de imagem não existe; o check multimodal vira skip explícito.
25
- - README atualizado para comandos reais (`install`, `system setup`, `up`, `start --daemon`, `chat`).
26
- - `npm audit fix` aplicado para `axios`/`follow-redirects`; resta apenas advisory moderado de `@anthropic-ai/sdk` com fix breaking.
27
- - `postinstall-check.sh` atualizado para npm moderno (`npm prefix -g`).
28
- - Adicionados `test:runtime-source` e `test:all`.
29
- - Material extra de referência encontrado em `LARA/OPEN-LIFE`; continua tratado como estratégia/documentação, não runtime.
30
-
31
- ## Achados críticos remanescentes
32
-
33
- ### 1. Railway último deploy falhou
34
-
35
- `railway status` aponta:
36
-
37
- - Project: `openlife-01`
38
- - Environment: `production`
39
- - Service: `openlife-01`
40
-
41
- Último deploy listado: `FAILED` (`efaa3b3f-97b4-4012-a4a2-d6f2f826dec6`).
42
-
43
- Logs via CLI não retornaram conteúdo útil nesta auditoria.
44
-
45
- Recomendação: investigar pelo Railway UI ou redeploy controlado somente com aprovação explícita.
46
-
47
- ### 3. `phase1-check` falha em gateway-image
48
-
49
- Resultado:
50
-
51
- - `gateway-image`: falha por imagem de teste ausente em `.temp_images`.
52
-
53
- Recomendação: criar fixture estável de imagem de teste ou tornar o check opcional/skip explícito quando fixture não existir.
54
-
55
- ### 4. Vulnerabilidades npm
56
-
57
- `npm audit --omit=dev` reportou:
58
-
59
- - `axios`: high
60
- - `follow-redirects`: moderate
61
- - `@anthropic-ai/sdk`: moderate, fix com breaking change
62
-
63
- Recomendação: aplicar `npm audit fix` para axios/follow-redirects e avaliar upgrade controlado do Anthropic SDK.
64
-
65
- ## Achados importantes
66
-
67
- ### 5. README tem drift de comandos
68
-
69
- README documenta:
70
-
71
- - `openlife agent start`
72
-
73
- Mas o CLI atual não lista comando `agent`; o caminho real é:
74
-
75
- - `openlife start --daemon`
76
- - `openlife up`
77
-
78
- Recomendação: atualizar README/INSTALL/docs/commands para superfície real.
79
-
80
- ### 6. Doctor textual `system doctor` mostra Anthropic ausente como ❌
81
-
82
- Mesmo com `OPENLIFE_RUNTIME_PROFILE=oauth-only`, o comando textual `system doctor` ainda imprime `❌ env:ANTHROPIC_API_KEY`.
83
-
84
- O doctor universal (`openlife doctor`) classifica corretamente como `severity: info`.
85
-
86
- Recomendação: alinhar `system doctor` com severidade do doctor universal para não assustar operador.
87
-
88
- ### 7. Railway variables parecem incompletas vs local
89
-
90
- Railway mostrou `GEMINI_API_KEY`, `TELEGRAM_BOT_TOKEN`, Nixpacks commands e Railway vars. Não apareceram no recorte:
91
-
92
- - `OPENLIFE_TELEGRAM_ALLOWED_USER_ID`
93
- - `OPENLIFE_RUNTIME_PROFILE`
94
- - `OPENLIFE_ALLOWED_LLM_EXECUTORS`
95
- - `OPENAI_API_KEY`
96
-
97
- Recomendação: validar vars de produção antes de redeploy/start.
98
-
99
- ### 8. Não há daemon OpenLife local rodando
100
-
101
- Processos locais não mostram `openlife.js start --daemon`; só `telegram-proxy.js`.
102
-
103
- Recomendação: se a operação local for desejada, iniciar com `openlife up` após confirmar single-poller e token correto.
104
-
105
- ## Pontos positivos
106
-
107
- - `npm run build`: OK
108
- - `node bin/openlife.js --help`: OK
109
- - `node bin/openlife.js status`: OK
110
- - `node bin/openlife.js doctor`: JSON com severidade e sem blocker de Anthropic no perfil oauth-only
111
- - Telegram token local valida com `getMe` para `@openlife_master_bot`
112
- - MCP real detecta `mcporter`, `claude`, `codex`
113
- - Inventário determinístico existe:
114
- - 323 agentes
115
- - 47 squads
116
- - 71 skills
117
- - `design-extractor` aparece em `skills list` via `/home/rafaleao/skills/design-extractor/SKILL.md`
118
- - Segurança de delete tem testes dedicados.
119
- - `Procfile` e `NIXPACKS_START_CMD` usam `node dist/index.js start --daemon`.
120
-
121
- ## Plano de ação recomendado
122
-
123
- ### P0 — Estabilização operacional
124
-
125
- 1. Remover dependência runtime de Obsidian/LARA para agents/squads.
126
- 2. Corrigir Railway vars e investigar último deploy falho.
127
- 3. Atualizar README/INSTALL para comandos reais (`install`, `up`, `start --daemon`).
128
- 4. Corrigir `phase1-check gateway-image` com fixture ou skip controlado.
129
-
130
- ### P1 — Segurança e governança
131
-
132
- 1. Rodar upgrade controlado de `axios`/`follow-redirects`.
133
- 2. Avaliar upgrade do `@anthropic-ai/sdk` sem reintroduzir Anthropic obrigatório.
134
- 3. Trocar `execSync(curl ... token ...)` por `fetch`/axios sem interpolar token em shell em `InstallModules.ts`.
135
- 4. Garantir que Railway usa `OPENLIFE_TELEGRAM_ALLOWED_USER_ID`.
136
-
137
- ### P2 — Produto/UX
138
-
139
- 1. Consolidar doctor único com severidade clara.
140
- 2. Criar comando `openlife audit` ou `system audit`.
141
- 3. Criar `media route-status` como alias de status, pois `media status` falha.
142
- 4. Documentar separação Hermes vs OpenLife no README principal.
143
-
144
- ### P3 — Qualidade contínua
145
-
146
- 1. Criar script `test:all` para os 44 testes `src/test_*.ts`.
147
- 2. Separar testes mutantes dos testes puros.
148
- 3. Criar CI com build + audit + testes essenciais.
149
- 4. Adicionar smoke Railway pós-deploy.
150
-
151
- ## Comandos usados
152
-
153
- ```bash
154
- npm run build
155
- node bin/openlife.js --help
156
- node bin/openlife.js system status
157
- OPENLIFE_RUNTIME_PROFILE=oauth-only node bin/openlife.js system doctor
158
- node bin/openlife.js doctor
159
- node bin/openlife.js status
160
- node bin/openlife.js agents list
161
- node bin/openlife.js squads list
162
- node bin/openlife.js skills list
163
- node bin/openlife.js mcp status --real
164
- node bin/openlife.js phase1-check
165
- npm run test:distribution
166
- npm run test:orchestration
167
- npm audit --omit=dev
168
- railway status
169
- railway deployment list
170
- ```