@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.
- package/CHANGELOG.md +186 -0
- package/CODE_OF_CONDUCT.md +31 -0
- package/CONTRIBUTING.md +133 -0
- package/README.md +25 -9
- 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,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
|