@openlife/cli 1.7.4 → 1.7.6

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 (71) 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/dist/cli/InstallModules.js +37 -0
  6. package/dist/cli/InstallWizard.js +46 -8
  7. package/dist/index.js +11 -0
  8. package/dist/test_install_wizard.js +86 -21
  9. package/docs/getting-started.md +137 -0
  10. package/package.json +11 -2
  11. package/docs/CHANGELOG_FEATURE_ROLLOUT_DESIGNMD.md +0 -43
  12. package/docs/EXTERNAL_SOURCES_AND_SECURITY_GUARD.md +0 -33
  13. package/docs/OPENLIFE_AUDIT_2026-05-06.md +0 -170
  14. package/docs/OPENLIFE_CONSOLIDATED_PLAN_2026-05-06.md +0 -299
  15. package/docs/OPENLIFE_DUAL_MODE_IMPLEMENTATION_PLAN.md +0 -205
  16. package/docs/OPENLIFE_EVOLUTION_SURFACE_2026-05-07.md +0 -53
  17. package/docs/OPENLIFE_SKILLS_IMPORT_2026-05-07.json +0 -223
  18. package/docs/OPENLIFE_SQUADS_IMPORT_2026-05-07.json +0 -184
  19. package/docs/PAPERCLIP_OPENLIFE_INVESTIGATION.md +0 -85
  20. package/docs/RELEASE_ORGANIZATION_PLAN.md +0 -164
  21. package/docs/audit/CLI-EXECUTION-RESULTS.md +0 -113
  22. package/docs/audit/CLI-MATRIX.md +0 -556
  23. package/docs/audit/DOC-PARITY-GAPS.md +0 -351
  24. package/docs/audit/ORCHESTRATOR-MATRIX.md +0 -136
  25. package/docs/audit/TEST-COVERAGE-GAPS.md +0 -334
  26. package/docs/audit/integrations/SKIPPED.md +0 -101
  27. package/docs/autonomous-install.md +0 -79
  28. package/docs/capability-genesis.md +0 -137
  29. package/docs/capability-pack-schema.md +0 -157
  30. package/docs/commands.md +0 -82
  31. package/docs/deep-research-capability.md +0 -114
  32. package/docs/development/typescript-conventions.md +0 -95
  33. package/docs/host-installers.md +0 -68
  34. package/docs/install/aiobuilder.md +0 -70
  35. package/docs/install/claude-code.md +0 -83
  36. package/docs/install/codex.md +0 -64
  37. package/docs/install/gemini-cli.md +0 -64
  38. package/docs/install/runtime-profiles.md +0 -83
  39. package/docs/openlife-agent-os-blueprint.md +0 -114
  40. package/docs/openlife-install-backlog.md +0 -115
  41. package/docs/openlife-install-spec.md +0 -306
  42. package/docs/operations/CLOUD_CUTOVER_AUDIT.md +0 -37
  43. package/docs/operations/PHASE_PROGRESS_CONTINUATION.md +0 -24
  44. package/docs/performance-benchmarks.md +0 -83
  45. package/docs/planning/v1.3-capability-genesis.md +0 -157
  46. package/docs/plans/2026-05-05-admin-interface-professional-dark-premium-plan.md +0 -84
  47. package/docs/plans/2026-05-05-openlife-autonomous-domain-marketplace-masterplan.md +0 -122
  48. package/docs/roadmap/OPENLIFE_MASTER_PLAN_CLOUD_V3.md +0 -97
  49. package/docs/sandboxing-research.md +0 -117
  50. package/docs/stories/epic-feature-audit/1.1.story.md +0 -84
  51. package/docs/stories/epic-feature-audit/1.2.story.md +0 -102
  52. package/docs/stories/epic-feature-audit/1.3.story.md +0 -93
  53. package/docs/stories/epic-feature-audit/1.5.story.md +0 -121
  54. package/docs/stories/epic-feature-audit/1.6.story.md +0 -80
  55. package/docs/stories/epic-feature-completeness/2.1.story.md +0 -70
  56. package/docs/stories/epic-feature-completeness/2.2.story.md +0 -49
  57. package/docs/stories/epic-feature-completeness/2.3.story.md +0 -74
  58. package/docs/stories/epic-feature-completeness/2.4.story.md +0 -71
  59. package/docs/stories/epic-feature-completeness/3.1.story.md +0 -56
  60. package/docs/stories/epic-feature-completeness/3.2.story.md +0 -80
  61. package/docs/stories/epic-feature-completeness/3.3.story.md +0 -68
  62. package/docs/stories/epic-feature-completeness/3.4.story.md +0 -71
  63. package/docs/stories/epic-feature-completeness/3.5.story.md +0 -72
  64. package/docs/stories/epic-feature-completeness/3.6.story.md +0 -69
  65. package/docs/stories/epic-feature-completeness/3.7.story.md +0 -68
  66. package/docs/stories/epic-feature-completeness/3.8.story.md +0 -57
  67. package/docs/v1.4-changelog.md +0 -159
  68. package/docs/v1.5-changelog.md +0 -106
  69. package/docs/v1.5-roadmap.md +0 -121
  70. package/docs/v1.6-changelog.md +0 -67
  71. 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