@openlife/cli 1.7.3 → 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.
- package/CHANGELOG.md +186 -0
- package/CODE_OF_CONDUCT.md +31 -0
- package/CONTRIBUTING.md +133 -0
- package/README.md +25 -9
- package/dist/index.js +10 -1
- package/package.json +10 -2
- package/docs/CHANGELOG_FEATURE_ROLLOUT_DESIGNMD.md +0 -43
- package/docs/EXTERNAL_SOURCES_AND_SECURITY_GUARD.md +0 -33
- package/docs/OPENLIFE_AUDIT_2026-05-06.md +0 -170
- package/docs/OPENLIFE_CONSOLIDATED_PLAN_2026-05-06.md +0 -299
- package/docs/OPENLIFE_DUAL_MODE_IMPLEMENTATION_PLAN.md +0 -205
- package/docs/OPENLIFE_EVOLUTION_SURFACE_2026-05-07.md +0 -53
- package/docs/OPENLIFE_SKILLS_IMPORT_2026-05-07.json +0 -223
- package/docs/OPENLIFE_SQUADS_IMPORT_2026-05-07.json +0 -184
- package/docs/PAPERCLIP_OPENLIFE_INVESTIGATION.md +0 -85
- package/docs/RELEASE_ORGANIZATION_PLAN.md +0 -164
- package/docs/audit/CLI-EXECUTION-RESULTS.md +0 -113
- package/docs/audit/CLI-MATRIX.md +0 -556
- package/docs/audit/DOC-PARITY-GAPS.md +0 -351
- package/docs/audit/ORCHESTRATOR-MATRIX.md +0 -136
- package/docs/audit/TEST-COVERAGE-GAPS.md +0 -334
- package/docs/audit/integrations/SKIPPED.md +0 -101
- package/docs/autonomous-install.md +0 -79
- package/docs/capability-genesis.md +0 -137
- package/docs/capability-pack-schema.md +0 -157
- package/docs/commands.md +0 -82
- package/docs/deep-research-capability.md +0 -114
- package/docs/development/typescript-conventions.md +0 -95
- package/docs/host-installers.md +0 -68
- package/docs/install/aiobuilder.md +0 -70
- package/docs/install/claude-code.md +0 -83
- package/docs/install/codex.md +0 -64
- package/docs/install/gemini-cli.md +0 -64
- package/docs/install/runtime-profiles.md +0 -83
- package/docs/openlife-agent-os-blueprint.md +0 -114
- package/docs/openlife-install-backlog.md +0 -115
- package/docs/openlife-install-spec.md +0 -306
- package/docs/operations/CLOUD_CUTOVER_AUDIT.md +0 -37
- package/docs/operations/PHASE_PROGRESS_CONTINUATION.md +0 -24
- package/docs/performance-benchmarks.md +0 -83
- package/docs/planning/v1.3-capability-genesis.md +0 -157
- package/docs/plans/2026-05-05-admin-interface-professional-dark-premium-plan.md +0 -84
- package/docs/plans/2026-05-05-openlife-autonomous-domain-marketplace-masterplan.md +0 -122
- package/docs/roadmap/OPENLIFE_MASTER_PLAN_CLOUD_V3.md +0 -97
- package/docs/sandboxing-research.md +0 -117
- package/docs/stories/epic-feature-audit/1.1.story.md +0 -84
- package/docs/stories/epic-feature-audit/1.2.story.md +0 -102
- package/docs/stories/epic-feature-audit/1.3.story.md +0 -93
- package/docs/stories/epic-feature-audit/1.5.story.md +0 -121
- package/docs/stories/epic-feature-audit/1.6.story.md +0 -80
- package/docs/stories/epic-feature-completeness/2.1.story.md +0 -70
- package/docs/stories/epic-feature-completeness/2.2.story.md +0 -49
- package/docs/stories/epic-feature-completeness/2.3.story.md +0 -74
- package/docs/stories/epic-feature-completeness/2.4.story.md +0 -71
- package/docs/stories/epic-feature-completeness/3.1.story.md +0 -56
- package/docs/stories/epic-feature-completeness/3.2.story.md +0 -80
- package/docs/stories/epic-feature-completeness/3.3.story.md +0 -68
- package/docs/stories/epic-feature-completeness/3.4.story.md +0 -71
- package/docs/stories/epic-feature-completeness/3.5.story.md +0 -72
- package/docs/stories/epic-feature-completeness/3.6.story.md +0 -69
- package/docs/stories/epic-feature-completeness/3.7.story.md +0 -68
- package/docs/stories/epic-feature-completeness/3.8.story.md +0 -57
- package/docs/v1.4-changelog.md +0 -159
- package/docs/v1.5-changelog.md +0 -106
- package/docs/v1.5-roadmap.md +0 -121
- package/docs/v1.6-changelog.md +0 -67
- package/docs/v1.6-roadmap.md +0 -89
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# OpenLife Evolution Surface — 2026-05-07
|
|
2
|
-
|
|
3
|
-
## O que foi consolidado
|
|
4
|
-
|
|
5
|
-
- O runtime agora lê o catálogo canônico do repo (`.catalog`) e não depende de leitura direta do Obsidian/LARA.
|
|
6
|
-
- Foram espelhados agentes de referência de `LARA/Agentes` para `.catalog/agents/<id>/AGENT.md`.
|
|
7
|
-
- O catálogo passou a conter mais de 300 agentes disponíveis no runtime.
|
|
8
|
-
- Tokens/segredos detectados no material espelhado foram redigidos antes de commit.
|
|
9
|
-
|
|
10
|
-
## Comandos adicionados/fortalecidos
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
openlife catalog doctor
|
|
14
|
-
openlife catalog list
|
|
15
|
-
openlife service list
|
|
16
|
-
openlife service create <serviceId> --objective "..."
|
|
17
|
-
openlife task list
|
|
18
|
-
openlife task run "objetivo" --service <serviceId>
|
|
19
|
-
openlife swarm run "objetivo"
|
|
20
|
-
openlife aiobuilder create-agent <id>
|
|
21
|
-
openlife aiobuilder create-squad <id>
|
|
22
|
-
openlife aiobuilder validate-catalog
|
|
23
|
-
openlife smoke railway
|
|
24
|
-
openlife smoke telegram
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Garantias
|
|
28
|
-
|
|
29
|
-
- `openlife catalog doctor` exige pelo menos 300 agentes.
|
|
30
|
-
- `openlife agents list` deve retornar fonte em `.catalog/agents`.
|
|
31
|
-
- `openlife swarm run` gera `.openlife/swarm-last-run.json`.
|
|
32
|
-
- `openlife aiobuilder validate-catalog` valida que o AIOBUILDER tem catálogo suficiente para operar.
|
|
33
|
-
- `openlife smoke railway` valida endpoint HTTP de produção sem expor segredos.
|
|
34
|
-
- `openlife smoke telegram` usa `getMe` e só retorna metadados seguros do bot.
|
|
35
|
-
|
|
36
|
-
## Teste de regressão
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
npm run test:evolution-surface
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Esse teste cobre:
|
|
43
|
-
|
|
44
|
-
- catálogo com 300+ agentes;
|
|
45
|
-
- runtime agents vindo de `.catalog`;
|
|
46
|
-
- swarm artifact;
|
|
47
|
-
- AIOBUILDER catalog validation;
|
|
48
|
-
- service create/list;
|
|
49
|
-
- task run com serviço associado.
|
|
50
|
-
|
|
51
|
-
## Observação arquitetural
|
|
52
|
-
|
|
53
|
-
`LARA/Agentes` e `LARA/OPEN-LIFE` permanecem referência estratégica/histórica. O runtime operacional do OpenLife deve usar `.catalog` local/cloud como fonte canônica.
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"imported": [
|
|
3
|
-
{
|
|
4
|
-
"id": "1password",
|
|
5
|
-
"source": "1password.md"
|
|
6
|
-
},
|
|
7
|
-
{
|
|
8
|
-
"id": "apple-notes",
|
|
9
|
-
"source": "apple-notes.md"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"id": "apple-reminders",
|
|
13
|
-
"source": "apple-reminders.md"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"id": "bear-notes",
|
|
17
|
-
"source": "bear-notes.md"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"id": "blogwatcher",
|
|
21
|
-
"source": "blogwatcher.md"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": "blucli",
|
|
25
|
-
"source": "blucli.md"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"id": "bluebubbles",
|
|
29
|
-
"source": "bluebubbles.md"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"id": "browser-use",
|
|
33
|
-
"source": "browser-use.md"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"id": "camsnap",
|
|
37
|
-
"source": "camsnap.md"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"id": "canvas",
|
|
41
|
-
"source": "canvas.md"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": "clawhub",
|
|
45
|
-
"source": "clawhub.md"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"id": "coding-agent",
|
|
49
|
-
"source": "coding-agent.md"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"id": "discord",
|
|
53
|
-
"source": "discord.md"
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": "eightctl",
|
|
57
|
-
"source": "eightctl.md"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"id": "gemini",
|
|
61
|
-
"source": "gemini.md"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"id": "gh-issues",
|
|
65
|
-
"source": "gh-issues.md"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": "gifgrep",
|
|
69
|
-
"source": "gifgrep.md"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"id": "github",
|
|
73
|
-
"source": "github.md"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"id": "gog",
|
|
77
|
-
"source": "gog.md"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"id": "goplaces",
|
|
81
|
-
"source": "goplaces.md"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"id": "healthcheck",
|
|
85
|
-
"source": "healthcheck.md"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"id": "himalaya",
|
|
89
|
-
"source": "himalaya.md"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"id": "imsg",
|
|
93
|
-
"source": "imsg.md"
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"id": "mcporter",
|
|
97
|
-
"source": "mcporter.md"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"id": "model-usage",
|
|
101
|
-
"source": "model-usage.md"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"id": "nano-banana-pro",
|
|
105
|
-
"source": "nano-banana-pro.md"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"id": "nano-pdf",
|
|
109
|
-
"source": "nano-pdf.md"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"id": "node-connect",
|
|
113
|
-
"source": "node-connect.md"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"id": "notion",
|
|
117
|
-
"source": "notion.md"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"id": "obsidian",
|
|
121
|
-
"source": "obsidian.md"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"id": "openai-image-gen",
|
|
125
|
-
"source": "openai-image-gen.md"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"id": "openai-whisper-api",
|
|
129
|
-
"source": "openai-whisper-api.md"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"id": "openai-whisper",
|
|
133
|
-
"source": "openai-whisper.md"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"id": "openhue",
|
|
137
|
-
"source": "openhue.md"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"id": "oracle",
|
|
141
|
-
"source": "oracle.md"
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"id": "ordercli",
|
|
145
|
-
"source": "ordercli.md"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"id": "peekaboo",
|
|
149
|
-
"source": "peekaboo.md"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"id": "sag",
|
|
153
|
-
"source": "sag.md"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"id": "session-logs",
|
|
157
|
-
"source": "session-logs.md"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"id": "sherpa-onnx-tts",
|
|
161
|
-
"source": "sherpa-onnx-tts.md"
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"id": "skill-creator",
|
|
165
|
-
"source": "skill-creator.md"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"id": "slack",
|
|
169
|
-
"source": "slack.md"
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"id": "songsee",
|
|
173
|
-
"source": "songsee.md"
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
"id": "sonoscli",
|
|
177
|
-
"source": "sonoscli.md"
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"id": "spotify-player",
|
|
181
|
-
"source": "spotify-player.md"
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
"id": "summarize",
|
|
185
|
-
"source": "summarize.md"
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"id": "things-mac",
|
|
189
|
-
"source": "things-mac.md"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"id": "tmux",
|
|
193
|
-
"source": "tmux.md"
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
"id": "trello",
|
|
197
|
-
"source": "trello.md"
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"id": "video-frames",
|
|
201
|
-
"source": "video-frames.md"
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"id": "voice-call",
|
|
205
|
-
"source": "voice-call.md"
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"id": "wacli",
|
|
209
|
-
"source": "wacli.md"
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
"id": "weather",
|
|
213
|
-
"source": "weather.md"
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"id": "xurl",
|
|
217
|
-
"source": "xurl.md"
|
|
218
|
-
}
|
|
219
|
-
],
|
|
220
|
-
"skipped": [
|
|
221
|
-
"_Índice de Skills.md"
|
|
222
|
-
]
|
|
223
|
-
}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"imported": [
|
|
3
|
-
{
|
|
4
|
-
"id": "00-governance-advisory-board",
|
|
5
|
-
"source": "00-governance/advisory-board.md"
|
|
6
|
-
},
|
|
7
|
-
{
|
|
8
|
-
"id": "00-governance-c-level-squad",
|
|
9
|
-
"source": "00-governance/c-level-squad.md"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"id": "00-governance-capital-ai-canon-v1-livros-e-grandes-mentes",
|
|
13
|
-
"source": "00-governance/capital-ai/Capital AI - Canon V1 — Livros e Grandes Mentes.md"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"id": "00-governance-capital-ai-definicao-canonica",
|
|
17
|
-
"source": "00-governance/capital-ai/Capital AI - Definição Canônica.md"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"id": "00-governance-capital-ai",
|
|
21
|
-
"source": "00-governance/capital-ai/capital-ai.md"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": "00-governance-conselho",
|
|
25
|
-
"source": "00-governance/conselho.md"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"id": "00-governance-host-quest",
|
|
29
|
-
"source": "00-governance/host-quest.md"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"id": "00-governance-project-ops-squad",
|
|
33
|
-
"source": "00-governance/project-ops-squad.md"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"id": "00-governance-scrap-master",
|
|
37
|
-
"source": "00-governance/scrap-master.md"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"id": "01-meta-framework-aiobuilder-funcionalidades-inspiradas-em-claude-code",
|
|
41
|
-
"source": "01-meta-framework/AIOBUILDER - Funcionalidades inspiradas em Claude Code.md"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": "01-meta-framework-ai-builder",
|
|
45
|
-
"source": "01-meta-framework/ai-builder.md"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"id": "01-meta-framework-swarm-tree-orchestration",
|
|
49
|
-
"source": "01-meta-framework/swarm-tree-orchestration.md"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"id": "02-product-growth-ads-xpower",
|
|
53
|
-
"source": "02-product-growth/ads-xpower.md"
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": "02-product-growth-awards",
|
|
57
|
-
"source": "02-product-growth/awards.md"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"id": "02-product-growth-brand-squad",
|
|
61
|
-
"source": "02-product-growth/brand-squad.md"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"id": "02-product-growth-copy-squad",
|
|
65
|
-
"source": "02-product-growth/copy-squad.md"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": "02-product-growth-design-squad",
|
|
69
|
-
"source": "02-product-growth/design-squad.md"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"id": "02-product-growth-fabrica-ads",
|
|
73
|
-
"source": "02-product-growth/fabrica-ads.md"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"id": "02-product-growth-fabrica-imortais-backup",
|
|
77
|
-
"source": "02-product-growth/fabrica-imortais-backup.md"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"id": "02-product-growth-hormozi-squad",
|
|
81
|
-
"source": "02-product-growth/hormozi-squad.md"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"id": "02-product-growth-movement",
|
|
85
|
-
"source": "02-product-growth/movement.md"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"id": "02-product-growth-saas-onboarding-activator",
|
|
89
|
-
"source": "02-product-growth/saas-onboarding-activator.md"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"id": "02-product-growth-sales-squad",
|
|
93
|
-
"source": "02-product-growth/sales-squad.md"
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"id": "02-product-growth-storytelling",
|
|
97
|
-
"source": "02-product-growth/storytelling.md"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"id": "02-product-growth-traffic-masters",
|
|
101
|
-
"source": "02-product-growth/traffic-masters.md"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"id": "02-product-growth-ultimate-landingpage",
|
|
105
|
-
"source": "02-product-growth/ultimate-landingpage.md"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"id": "03-engineering-quality-automated-code-review-squad",
|
|
109
|
-
"source": "03-engineering-quality/automated-code-review-squad.md"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"id": "03-engineering-quality-cloudflare-mini",
|
|
113
|
-
"source": "03-engineering-quality/cloudflare-mini.md"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"id": "03-engineering-quality-seguranca",
|
|
117
|
-
"source": "03-engineering-quality/seguranca.md"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"id": "04-data-security-cybersecurity",
|
|
121
|
-
"source": "04-data-security/cybersecurity.md"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"id": "04-data-security-data-quality-guardian",
|
|
125
|
-
"source": "04-data-security/data-quality-guardian.md"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"id": "04-data-security-data-squad",
|
|
129
|
-
"source": "04-data-security/data-squad.md"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"id": "04-data-security-incident-response-squad",
|
|
133
|
-
"source": "04-data-security/incident-response-squad.md"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"id": "04-data-security-soc-alert-triage",
|
|
137
|
-
"source": "04-data-security/soc-alert-triage.md"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"id": "05-domain-specialists-adaptive-tutor-k12",
|
|
141
|
-
"source": "05-domain-specialists/adaptive-tutor-k12.md"
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"id": "05-domain-specialists-ambient-clinical-scribe",
|
|
145
|
-
"source": "05-domain-specialists/ambient-clinical-scribe.md"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"id": "05-domain-specialists-bibliotecaria",
|
|
149
|
-
"source": "05-domain-specialists/bibliotecaria.md"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"id": "05-domain-specialists-contract-review-squad",
|
|
153
|
-
"source": "05-domain-specialists/contract-review-squad.md"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"id": "05-domain-specialists-crypto-token-forge",
|
|
157
|
-
"source": "05-domain-specialists/crypto-token-forge.md"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"id": "05-domain-specialists-legaltech",
|
|
161
|
-
"source": "05-domain-specialists/legaltech.md"
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"id": "05-domain-specialists-resume-screener-squad",
|
|
165
|
-
"source": "05-domain-specialists/resume-screener-squad.md"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"id": "mirofish-mirofish-squad",
|
|
169
|
-
"source": "mirofish/MiroFish Squad.md"
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"id": "mirofish-intel-mirofish-intel",
|
|
173
|
-
"source": "mirofish-intel/MiroFish Intel.md"
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
"id": "openlife-auto-criar-pipeline-de-revis-o-jur-dica-para-contratos-1777092830690",
|
|
177
|
-
"source": "openlife-auto/criar-pipeline-de-revis-o-jur-dica-para-contratos-1777092830690.md"
|
|
178
|
-
}
|
|
179
|
-
],
|
|
180
|
-
"skipped": [
|
|
181
|
-
"_standards.md",
|
|
182
|
-
"_Índice de Squads.md"
|
|
183
|
-
]
|
|
184
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# Paperclip → OpenLife Investigation (v0)
|
|
2
|
-
|
|
3
|
-
## Source analyzed
|
|
4
|
-
- Repo: https://github.com/paperclipai/paperclip
|
|
5
|
-
- Local clone: `/mnt/d/VSCODDE-DEV/openlife-core-main/research/paperclip`
|
|
6
|
-
- HEAD: `edbb670c`
|
|
7
|
-
|
|
8
|
-
## Core concept (important for OpenLife)
|
|
9
|
-
Paperclip treats **tasks/issues as execution units**, but the platform itself is a **company/service control plane** with:
|
|
10
|
-
- goal ancestry
|
|
11
|
-
n- governance + approvals
|
|
12
|
-
- budget hard-stops
|
|
13
|
-
- heartbeat scheduling
|
|
14
|
-
- org chart and roles
|
|
15
|
-
- immutable activity/audit trail
|
|
16
|
-
|
|
17
|
-
This matches your direction: OpenLife should not stop at mission/task; it should run **service-level operations** continuously.
|
|
18
|
-
|
|
19
|
-
## What to borrow directly
|
|
20
|
-
1. **Service-level objective lineage**
|
|
21
|
-
- Every mission/task must attach to a persistent service objective.
|
|
22
|
-
2. **Control-plane semantics**
|
|
23
|
-
- Atomic checkout, explicit owner, lifecycle locks, recoverable runs.
|
|
24
|
-
3. **Governance as first-class**
|
|
25
|
-
- Approval gates and policy outcomes as durable records.
|
|
26
|
-
4. **Cost/budget guardrails**
|
|
27
|
-
- Per-service budget + hard stop + escalation.
|
|
28
|
-
5. **Heartbeat execution model**
|
|
29
|
-
- Continuous operation by scheduled wakeups and event triggers.
|
|
30
|
-
6. **Activity/event ledger**
|
|
31
|
-
- Every mutation becomes an auditable event.
|
|
32
|
-
|
|
33
|
-
## OpenLife gap today (observed)
|
|
34
|
-
- Mission-centric persistence exists.
|
|
35
|
-
- New consequence thought trace exists.
|
|
36
|
-
- Missing: a persistent **ServiceState aggregate** across many missions.
|
|
37
|
-
|
|
38
|
-
## Proposed OpenLife vNext data model (minimal)
|
|
39
|
-
|
|
40
|
-
```ts
|
|
41
|
-
ServiceState {
|
|
42
|
-
serviceId: string;
|
|
43
|
-
objective: string;
|
|
44
|
-
status: 'active'|'paused'|'degraded'|'archived';
|
|
45
|
-
riskProfile: 'low'|'medium'|'high';
|
|
46
|
-
|
|
47
|
-
slo: {
|
|
48
|
-
latencyP95Ms?: number;
|
|
49
|
-
successRateMin?: number;
|
|
50
|
-
safetyIncidentMax?: number;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
kpis: {
|
|
54
|
-
completionRate?: number;
|
|
55
|
-
avgCycleTimeMs?: number;
|
|
56
|
-
governanceBlockRate?: number;
|
|
57
|
-
fallbackRate?: number;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
budget: {
|
|
61
|
-
monthlyLimitCents?: number;
|
|
62
|
-
spentCents?: number;
|
|
63
|
-
hardStop: boolean;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
missionIds: string[];
|
|
67
|
-
latestThoughtTracePath?: string;
|
|
68
|
-
createdAt: string;
|
|
69
|
-
updatedAt: string;
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Implementation phases
|
|
74
|
-
1. Introduce `ServiceState` + `ServiceStateStore` (JSON first, DB later).
|
|
75
|
-
2. Bind each mission to a `serviceId` and append missionId to service aggregate.
|
|
76
|
-
3. Add service event log (`service-events/<serviceId>.jsonl`).
|
|
77
|
-
4. Add runtime gate: mission execution checks `service.status` + budget + governance.
|
|
78
|
-
5. Add `openlife service status <serviceId>` CLI/Telegram command.
|
|
79
|
-
|
|
80
|
-
## Success criterion
|
|
81
|
-
OpenLife can answer at any time:
|
|
82
|
-
- Which services are healthy/degraded?
|
|
83
|
-
- Which missions are currently executing per service?
|
|
84
|
-
- Which governance/cost gates blocked progress?
|
|
85
|
-
- What is the current service-level risk and SLO posture?
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
# OpenLife — Plano de Organização, Commits Atômicos e Release
|
|
2
|
-
|
|
3
|
-
## Objetivo
|
|
4
|
-
Organizar as mudanças atuais em lotes atômicos, com validação incremental e smoke test final.
|
|
5
|
-
|
|
6
|
-
## Estratégia de Branch
|
|
7
|
-
- Branch recomendada: `feat/reversa-designmd-full-openlife`
|
|
8
|
-
- Regra: 1 commit por bloco funcional coeso.
|
|
9
|
-
|
|
10
|
-
## Lote 1 — Core dual-mode + governança
|
|
11
|
-
**Escopo**
|
|
12
|
-
- `src/orchestrator/ExecutionIntent.ts`
|
|
13
|
-
- `src/orchestrator/ExecutionRouter.ts`
|
|
14
|
-
- `src/orchestrator/MissionState.ts`
|
|
15
|
-
- `src/orchestrator/OrchestrationLoop.ts`
|
|
16
|
-
- `src/orchestrator/Gatekeeper.ts`
|
|
17
|
-
- `src/orchestrator/GovernanceLayer.ts`
|
|
18
|
-
- `src/test_dual_mode.ts`
|
|
19
|
-
- `src/test_service_guardrails_delete.ts`
|
|
20
|
-
- `src/test_telegram_delete_guardrail.ts`
|
|
21
|
-
|
|
22
|
-
**Commit**
|
|
23
|
-
- `feat(core): dual-mode task/service + destructive guardrails`
|
|
24
|
-
|
|
25
|
-
**Validação**
|
|
26
|
-
- `npm run build`
|
|
27
|
-
- `node dist/test_dual_mode.js`
|
|
28
|
-
- `node dist/test_service_guardrails_delete.js`
|
|
29
|
-
- `node dist/test_telegram_delete_guardrail.js`
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Lote 2 — Lifecycle de jobs + runtime registry
|
|
34
|
-
**Escopo**
|
|
35
|
-
- `src/orchestrator/JobLifecycle.ts`
|
|
36
|
-
- `src/orchestrator/RuntimeRegistry.ts`
|
|
37
|
-
- `src/test_job_lifecycle.ts`
|
|
38
|
-
- `src/test_runtime_registry.ts`
|
|
39
|
-
|
|
40
|
-
**Commit**
|
|
41
|
-
- `feat(runtime): job lifecycle + runtime registry baseline`
|
|
42
|
-
|
|
43
|
-
**Validação**
|
|
44
|
-
- `npm run build`
|
|
45
|
-
- `node dist/test_job_lifecycle.js`
|
|
46
|
-
- `node dist/test_runtime_registry.js`
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Lote 3 — Service state, CLI surface e operações
|
|
51
|
-
**Escopo**
|
|
52
|
-
- `src/orchestrator/ServiceState.ts`
|
|
53
|
-
- `src/index.ts` (comandos service/task/job/runtime)
|
|
54
|
-
- `src/test_service_command_surface.ts`
|
|
55
|
-
- `src/test_cli_service_commands.ts`
|
|
56
|
-
|
|
57
|
-
**Commit**
|
|
58
|
-
- `feat(cli): service/task/job/runtime command surface`
|
|
59
|
-
|
|
60
|
-
**Validação**
|
|
61
|
-
- `npm run build`
|
|
62
|
-
- `node dist/test_service_command_surface.js`
|
|
63
|
-
- `node dist/test_cli_service_commands.js`
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Lote 4 — Teammates + learning loop
|
|
68
|
-
**Escopo**
|
|
69
|
-
- `src/orchestrator/TeammateBoard.ts`
|
|
70
|
-
- `src/orchestrator/SkillLearningLoop.ts`
|
|
71
|
-
- `src/test_teammate_learning.ts`
|
|
72
|
-
|
|
73
|
-
**Commit**
|
|
74
|
-
- `feat(ops): teammate board + governed learning loop baseline`
|
|
75
|
-
|
|
76
|
-
**Validação**
|
|
77
|
-
- `npm run build`
|
|
78
|
-
- `node dist/test_teammate_learning.js`
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Lote 5 — Reversa full + contracts
|
|
83
|
-
**Escopo**
|
|
84
|
-
- `src/reversa/ReversaExecutors.ts`
|
|
85
|
-
- `src/reversa/ReversaContracts.ts`
|
|
86
|
-
- `src/reversa/ReversaAgent.ts`
|
|
87
|
-
- `src/test_reversa_lite.ts`
|
|
88
|
-
- `src/test_reversa_full_execution.ts`
|
|
89
|
-
- `src/test_reversa_contracts_e2e.ts`
|
|
90
|
-
|
|
91
|
-
**Commit**
|
|
92
|
-
- `feat(reversa): full phase executors + contract validation + final contracts`
|
|
93
|
-
|
|
94
|
-
**Validação**
|
|
95
|
-
- `npm run build`
|
|
96
|
-
- `node dist/test_reversa_lite.js`
|
|
97
|
-
- `node dist/test_reversa_full_execution.js`
|
|
98
|
-
- `node dist/test_reversa_contracts_e2e.js`
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## Lote 6 — DesignMD import/registry/mode + AIOBUILDER strict
|
|
103
|
-
**Escopo**
|
|
104
|
-
- `vendor/awesome-design-md/**`
|
|
105
|
-
- `src/design/DesignMdImporter.ts`
|
|
106
|
-
- `src/design/DesignMdRegistry.ts`
|
|
107
|
-
- `src/design/DesignMdMode.ts`
|
|
108
|
-
- `src/index.ts` (comandos designmd/reversa export-json/aiobuilder strict)
|
|
109
|
-
- `src/test_designmd_import_registry.ts`
|
|
110
|
-
- `src/test_designmd_mode.ts`
|
|
111
|
-
- `src/test_designmd_mode_workspace.ts`
|
|
112
|
-
- `src/test_reversa_export_and_strict.ts`
|
|
113
|
-
|
|
114
|
-
**Commit**
|
|
115
|
-
- `feat(designmd): vendor import + registry/mode + aiobuilder strict contracts`
|
|
116
|
-
|
|
117
|
-
**Validação**
|
|
118
|
-
- `npm run build`
|
|
119
|
-
- `node dist/test_designmd_import_registry.js`
|
|
120
|
-
- `node dist/test_designmd_mode.js`
|
|
121
|
-
- `node dist/test_designmd_mode_workspace.js`
|
|
122
|
-
- `node dist/test_reversa_export_and_strict.js`
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Lote 7 — Documentação
|
|
127
|
-
**Escopo**
|
|
128
|
-
- `docs/CHANGELOG_FEATURE_ROLLOUT_DESIGNMD.md`
|
|
129
|
-
- `docs/OPENLIFE_DUAL_MODE_IMPLEMENTATION_PLAN.md`
|
|
130
|
-
- `docs/PAPERCLIP_OPENLIFE_INVESTIGATION.md`
|
|
131
|
-
- `docs/RELEASE_ORGANIZATION_PLAN.md`
|
|
132
|
-
|
|
133
|
-
**Commit**
|
|
134
|
-
- `docs: rollout changelog + dual-mode/reversa/designmd plans`
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Smoke test final (único comando)
|
|
139
|
-
```bash
|
|
140
|
-
npm run build && \
|
|
141
|
-
node dist/test_dual_mode.js && \
|
|
142
|
-
node dist/test_service_guardrails_delete.js && \
|
|
143
|
-
node dist/test_telegram_delete_guardrail.js && \
|
|
144
|
-
node dist/test_job_lifecycle.js && \
|
|
145
|
-
node dist/test_runtime_registry.js && \
|
|
146
|
-
node dist/test_service_command_surface.js && \
|
|
147
|
-
node dist/test_cli_service_commands.js && \
|
|
148
|
-
node dist/test_teammate_learning.js && \
|
|
149
|
-
node dist/test_reversa_lite.js && \
|
|
150
|
-
node dist/test_reversa_full_execution.js && \
|
|
151
|
-
node dist/test_reversa_contracts_e2e.js && \
|
|
152
|
-
node dist/test_designmd_import_registry.js && \
|
|
153
|
-
node dist/test_designmd_mode.js && \
|
|
154
|
-
node dist/test_designmd_mode_workspace.js && \
|
|
155
|
-
node dist/test_reversa_export_and_strict.js
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Checklist de release interno
|
|
159
|
-
- [ ] Todos os lotes com build/testes verdes
|
|
160
|
-
- [ ] `openlife reversa run-all --note "pre-release"` executado
|
|
161
|
-
- [ ] `openlife reversa export-json` gerado
|
|
162
|
-
- [ ] `openlife aiobuilder generate-ui dashboard --strict-contracts` OK
|
|
163
|
-
- [ ] Revisão de artefatos em `.reversa/` e `.artifacts/workspaces/default/`
|
|
164
|
-
- [ ] Aprovação final do Rafa antes de push/deploy
|