@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
@@ -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