@openlife/cli 1.7.3

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 (394) hide show
  1. package/INSTALL.md +266 -0
  2. package/LICENSE +21 -0
  3. package/README.md +142 -0
  4. package/bin/openlife.js +3 -0
  5. package/dist/admin_panel_server.js +66 -0
  6. package/dist/cli/AgentManager.js +109 -0
  7. package/dist/cli/AutonomousInstaller.js +134 -0
  8. package/dist/cli/DreamOrganizer.js +88 -0
  9. package/dist/cli/HostInstaller.js +426 -0
  10. package/dist/cli/InstallBanner.js +16 -0
  11. package/dist/cli/InstallFlow.js +256 -0
  12. package/dist/cli/InstallHeadless.js +47 -0
  13. package/dist/cli/InstallModules.js +148 -0
  14. package/dist/cli/InstallStateStore.js +75 -0
  15. package/dist/cli/InstallWizard.js +364 -0
  16. package/dist/cli/ProfileManager.js +163 -0
  17. package/dist/cli/SystemInstaller.js +89 -0
  18. package/dist/cli/WorldClassCommands.js +208 -0
  19. package/dist/design/DesignMdImporter.js +82 -0
  20. package/dist/design/DesignMdMode.js +93 -0
  21. package/dist/design/DesignMdRegistry.js +67 -0
  22. package/dist/index.js +2575 -0
  23. package/dist/memory/ConversationMemory.js +33 -0
  24. package/dist/memory/LocalMemoryProvider.js +86 -0
  25. package/dist/memory/Mem0Provider.js +16 -0
  26. package/dist/memory/MemoryNamespacePolicy.js +27 -0
  27. package/dist/memory/MemoryOrchestrator.js +65 -0
  28. package/dist/memory/MemoryPromotionFlow.js +32 -0
  29. package/dist/memory/MemoryProvider.js +2 -0
  30. package/dist/memory/MemoryProviderRegistry.js +27 -0
  31. package/dist/memory/MemoryRetentionPolicy.js +60 -0
  32. package/dist/memory/MempalaceProvider.js +72 -0
  33. package/dist/memory/OmniMemory.js +106 -0
  34. package/dist/memory/RedisAgentMemoryProvider.js +16 -0
  35. package/dist/memory/SessionManager.js +86 -0
  36. package/dist/memory/ZepGraphitiProvider.js +16 -0
  37. package/dist/orchestrator/AgentRegistry.js +56 -0
  38. package/dist/orchestrator/AgentScoring.js +82 -0
  39. package/dist/orchestrator/AgentTeam.js +22 -0
  40. package/dist/orchestrator/ArbitrationAgent.js +43 -0
  41. package/dist/orchestrator/ArbitrationScorecard.js +17 -0
  42. package/dist/orchestrator/AssetPromotionEngine.js +65 -0
  43. package/dist/orchestrator/AssetReuseRouter.js +63 -0
  44. package/dist/orchestrator/BenchmarkEngine.js +75 -0
  45. package/dist/orchestrator/Brain.js +298 -0
  46. package/dist/orchestrator/CadenceEngine.js +76 -0
  47. package/dist/orchestrator/CapabilityRouter.js +36 -0
  48. package/dist/orchestrator/CommandLanguage.js +27 -0
  49. package/dist/orchestrator/CommandRouter.js +70 -0
  50. package/dist/orchestrator/ConsequenceForecaster.js +286 -0
  51. package/dist/orchestrator/CronManager.js +286 -0
  52. package/dist/orchestrator/DynamicAgentBuilder.js +48 -0
  53. package/dist/orchestrator/DynamicAgentExecutor.js +15 -0
  54. package/dist/orchestrator/EnterpriseAgenticCore.js +276 -0
  55. package/dist/orchestrator/ExecutionBoard.js +86 -0
  56. package/dist/orchestrator/ExecutionIntent.js +13 -0
  57. package/dist/orchestrator/ExecutionModePolicy.js +48 -0
  58. package/dist/orchestrator/ExecutionRouter.js +9 -0
  59. package/dist/orchestrator/ExecutionState.js +20 -0
  60. package/dist/orchestrator/ExecutorHealth.js +86 -0
  61. package/dist/orchestrator/ExternalCatalogRegistry.js +83 -0
  62. package/dist/orchestrator/Gatekeeper.js +414 -0
  63. package/dist/orchestrator/Gateway.js +508 -0
  64. package/dist/orchestrator/GovernanceConsentStore.js +66 -0
  65. package/dist/orchestrator/GovernanceLayer.js +179 -0
  66. package/dist/orchestrator/GovernancePolicyStore.js +53 -0
  67. package/dist/orchestrator/GovernanceScopeLedger.js +134 -0
  68. package/dist/orchestrator/GovernanceScopePolicy.js +67 -0
  69. package/dist/orchestrator/IntentClassifier.js +45 -0
  70. package/dist/orchestrator/JobLifecycle.js +91 -0
  71. package/dist/orchestrator/LearningRouter.js +24 -0
  72. package/dist/orchestrator/MediaManager.js +92 -0
  73. package/dist/orchestrator/MemoryCuratorAgent.js +41 -0
  74. package/dist/orchestrator/MissionState.js +155 -0
  75. package/dist/orchestrator/ModelManager.js +84 -0
  76. package/dist/orchestrator/OperatingSystem.js +71 -0
  77. package/dist/orchestrator/OperationalMemoryStore.js +94 -0
  78. package/dist/orchestrator/OptimizationLoop.js +72 -0
  79. package/dist/orchestrator/OrchestrationLoop.js +905 -0
  80. package/dist/orchestrator/OrgStructure.js +88 -0
  81. package/dist/orchestrator/OutcomeSimulator.js +46 -0
  82. package/dist/orchestrator/ParallelOrchestrationLoop.js +36 -0
  83. package/dist/orchestrator/PerformanceScorecard.js +105 -0
  84. package/dist/orchestrator/PlannerAgent.js +46 -0
  85. package/dist/orchestrator/ProcessSandbox.js +129 -0
  86. package/dist/orchestrator/PromotionPipeline.js +74 -0
  87. package/dist/orchestrator/PromotionReviewGate.js +11 -0
  88. package/dist/orchestrator/QueueScheduler.js +260 -0
  89. package/dist/orchestrator/ReleaseGate.js +36 -0
  90. package/dist/orchestrator/ReleaseWorkflow.js +68 -0
  91. package/dist/orchestrator/RemotePublisher.js +139 -0
  92. package/dist/orchestrator/ReuseEngine.js +89 -0
  93. package/dist/orchestrator/ReviewerAgent.js +49 -0
  94. package/dist/orchestrator/RoleHandoff.js +65 -0
  95. package/dist/orchestrator/RuntimeHealthMonitor.js +143 -0
  96. package/dist/orchestrator/RuntimePolicy.js +105 -0
  97. package/dist/orchestrator/RuntimeProbe.js +97 -0
  98. package/dist/orchestrator/RuntimeRegistry.js +73 -0
  99. package/dist/orchestrator/SandboxPolicy.js +22 -0
  100. package/dist/orchestrator/SecurityDownloadGuard.js +169 -0
  101. package/dist/orchestrator/SecurityEventStore.js +58 -0
  102. package/dist/orchestrator/ServiceCompletionPolicy.js +36 -0
  103. package/dist/orchestrator/ServiceState.js +195 -0
  104. package/dist/orchestrator/SkillCreator.js +404 -0
  105. package/dist/orchestrator/SkillLearningLoop.js +57 -0
  106. package/dist/orchestrator/SkillManager.js +75 -0
  107. package/dist/orchestrator/SkillNetwork.js +29 -0
  108. package/dist/orchestrator/SkillRegistryV2.js +28 -0
  109. package/dist/orchestrator/SkillScoring.js +70 -0
  110. package/dist/orchestrator/SquadAutoCreator.js +64 -0
  111. package/dist/orchestrator/SquadCreator.js +727 -0
  112. package/dist/orchestrator/SquadRegistry.js +28 -0
  113. package/dist/orchestrator/SquadRouter.js +33 -0
  114. package/dist/orchestrator/SquadScoring.js +70 -0
  115. package/dist/orchestrator/SubagentLifecycle.js +90 -0
  116. package/dist/orchestrator/SynthesizerAgent.js +48 -0
  117. package/dist/orchestrator/SystemDoctor.js +224 -0
  118. package/dist/orchestrator/TaskExecutor.js +422 -0
  119. package/dist/orchestrator/TeammateBoard.js +61 -0
  120. package/dist/orchestrator/TestHarness.js +184 -0
  121. package/dist/orchestrator/VoiceManager.js +203 -0
  122. package/dist/orchestrator/VoiceRouter.js +89 -0
  123. package/dist/orchestrator/capability/CapabilityGenesisEngine.js +278 -0
  124. package/dist/orchestrator/capability/CapabilityPackParser.js +223 -0
  125. package/dist/orchestrator/capability/CapabilityPackSchema.js +62 -0
  126. package/dist/orchestrator/capability/CapabilityPackState.js +163 -0
  127. package/dist/orchestrator/providers/AgentProvider.js +2 -0
  128. package/dist/orchestrator/providers/CapabilityProvider.js +12 -0
  129. package/dist/orchestrator/providers/CloudAgentProvider.js +55 -0
  130. package/dist/orchestrator/providers/CloudSkillProvider.js +55 -0
  131. package/dist/orchestrator/providers/CloudSquadProvider.js +55 -0
  132. package/dist/orchestrator/providers/CompositeAgentProvider.js +16 -0
  133. package/dist/orchestrator/providers/CompositeCapabilityProvider.js +25 -0
  134. package/dist/orchestrator/providers/CompositeSkillProvider.js +16 -0
  135. package/dist/orchestrator/providers/CompositeSquadProvider.js +16 -0
  136. package/dist/orchestrator/providers/CompositeWorkflowProvider.js +46 -0
  137. package/dist/orchestrator/providers/FileAgentProvider.js +105 -0
  138. package/dist/orchestrator/providers/FileCapabilityProvider.js +106 -0
  139. package/dist/orchestrator/providers/FileSkillProvider.js +65 -0
  140. package/dist/orchestrator/providers/FileSquadProvider.js +69 -0
  141. package/dist/orchestrator/providers/FileWorkflowProvider.js +103 -0
  142. package/dist/orchestrator/providers/SkillProvider.js +2 -0
  143. package/dist/orchestrator/providers/SquadProvider.js +2 -0
  144. package/dist/orchestrator/toolset/ToolsetGuard.js +69 -0
  145. package/dist/orchestrator/toolset/ToolsetRegistry.js +65 -0
  146. package/dist/orchestrator/toolset/ToolsetSchema.js +21 -0
  147. package/dist/orchestrator/util/AtomicWriter.js +204 -0
  148. package/dist/orchestrator/util/DistributedLock.js +232 -0
  149. package/dist/orchestrator/util/TemplateRenderer.js +87 -0
  150. package/dist/orchestrator/util/WatchdogHeartbeat.js +116 -0
  151. package/dist/orchestrator/workflow/ConditionParser.js +232 -0
  152. package/dist/orchestrator/workflow/WorkflowEngine.js +379 -0
  153. package/dist/orchestrator/workflow/WorkflowParser.js +368 -0
  154. package/dist/orchestrator/workflow/WorkflowSchema.js +65 -0
  155. package/dist/orchestrator/workflow/WorkflowState.js +11 -0
  156. package/dist/reversa/ReversaAgent.js +134 -0
  157. package/dist/reversa/ReversaContracts.js +62 -0
  158. package/dist/reversa/ReversaExecutors.js +65 -0
  159. package/dist/skills/SkillRegistry.js +71 -0
  160. package/dist/squads/SquadManager.js +87 -0
  161. package/dist/test_admin_teams_networks.js +54 -0
  162. package/dist/test_agent_team_skill_network.js +15 -0
  163. package/dist/test_aiobuilder_cli_parity.js +169 -0
  164. package/dist/test_ask_exit.js +73 -0
  165. package/dist/test_atomic_writer.js +209 -0
  166. package/dist/test_autonomous_soak.js +141 -0
  167. package/dist/test_benchmark_engine.js +41 -0
  168. package/dist/test_brain_error_diagnostics.js +51 -0
  169. package/dist/test_brain_fallback_chain.js +93 -0
  170. package/dist/test_capability_genesis_engine.js +225 -0
  171. package/dist/test_capability_pack_schema.js +214 -0
  172. package/dist/test_catalog_quality.js +150 -0
  173. package/dist/test_cli_crud_roundtrip.js +154 -0
  174. package/dist/test_cli_diagnostics.js +131 -0
  175. package/dist/test_cli_doc_parity.js +126 -0
  176. package/dist/test_cli_help_surface.js +106 -0
  177. package/dist/test_cli_service_commands.js +83 -0
  178. package/dist/test_consequence_forecast_brain.js +165 -0
  179. package/dist/test_consequence_forecaster.js +24 -0
  180. package/dist/test_conversation_memory.js +36 -0
  181. package/dist/test_create_entities.js +54 -0
  182. package/dist/test_creator_placeholders_completed.js +177 -0
  183. package/dist/test_cron_manager.js +123 -0
  184. package/dist/test_daemon_sigterm.js +72 -0
  185. package/dist/test_deep_research_capability.js +87 -0
  186. package/dist/test_designmd_import_registry.js +16 -0
  187. package/dist/test_designmd_mode.js +50 -0
  188. package/dist/test_designmd_mode_workspace.js +13 -0
  189. package/dist/test_dist_templates_layout.js +135 -0
  190. package/dist/test_distributed_lock.js +201 -0
  191. package/dist/test_distribution_installability.js +67 -0
  192. package/dist/test_doctor_sandbox_check.js +44 -0
  193. package/dist/test_dream_organizer.js +25 -0
  194. package/dist/test_dual_mode.js +15 -0
  195. package/dist/test_enterprise_agentic_core.js +128 -0
  196. package/dist/test_forecast_brain_wiring.js +87 -0
  197. package/dist/test_gateway_telegram_guardrails.js +52 -0
  198. package/dist/test_governance.js +34 -0
  199. package/dist/test_governance_advanced.js +75 -0
  200. package/dist/test_governance_scope_ledger.js +147 -0
  201. package/dist/test_governance_v13_policies.js +44 -0
  202. package/dist/test_guided_creator_cli.js +100 -0
  203. package/dist/test_host_install_e2e.js +324 -0
  204. package/dist/test_host_installer.js +259 -0
  205. package/dist/test_host_installers_gemini_codex.js +95 -0
  206. package/dist/test_host_uninstaller.js +295 -0
  207. package/dist/test_install_flow.js +70 -0
  208. package/dist/test_install_flow_host_validation.js +143 -0
  209. package/dist/test_install_wizard.js +272 -0
  210. package/dist/test_integration_gemini_live.js +95 -0
  211. package/dist/test_integration_http_trigger_live.js +154 -0
  212. package/dist/test_integration_telegram_live.js +102 -0
  213. package/dist/test_job_lifecycle.js +16 -0
  214. package/dist/test_memory_orchestrator.js +33 -0
  215. package/dist/test_memory_promotion.js +36 -0
  216. package/dist/test_memory_retention.js +37 -0
  217. package/dist/test_mission_checkpoint.js +204 -0
  218. package/dist/test_multi_host_docs_parity.js +125 -0
  219. package/dist/test_openlife_auto_creator_routing.js +69 -0
  220. package/dist/test_openlife_evolution_surface.js +77 -0
  221. package/dist/test_openlife_gatekeeper_routing.js +15 -0
  222. package/dist/test_openlife_routing_surface.js +27 -0
  223. package/dist/test_openlife_runtime_source_truth.js +25 -0
  224. package/dist/test_operating_system.js +45 -0
  225. package/dist/test_optimization_loop.js +38 -0
  226. package/dist/test_orchestration_assets_lifecycle.js +78 -0
  227. package/dist/test_outcome_simulator.js +38 -0
  228. package/dist/test_performance_latency.js +215 -0
  229. package/dist/test_performance_scorecard.js +38 -0
  230. package/dist/test_phase1_check_exit.js +103 -0
  231. package/dist/test_phase6_board.js +31 -0
  232. package/dist/test_phase6_cadence.js +29 -0
  233. package/dist/test_phase6_ops.js +37 -0
  234. package/dist/test_post_mission_evaluation.js +190 -0
  235. package/dist/test_process_sandbox.js +88 -0
  236. package/dist/test_profile_toolset_mcp.js +125 -0
  237. package/dist/test_queue_scheduler.js +239 -0
  238. package/dist/test_release_gate.js +23 -0
  239. package/dist/test_remote_publish.js +193 -0
  240. package/dist/test_reversa_contracts_e2e.js +48 -0
  241. package/dist/test_reversa_export_and_strict.js +51 -0
  242. package/dist/test_reversa_full_execution.js +12 -0
  243. package/dist/test_reversa_lite.js +9 -0
  244. package/dist/test_royal_stack_golden.js +179 -0
  245. package/dist/test_runtime_health_backoff.js +154 -0
  246. package/dist/test_runtime_policy.js +26 -0
  247. package/dist/test_runtime_probe.js +19 -0
  248. package/dist/test_runtime_profile_oauth_only.js +262 -0
  249. package/dist/test_runtime_registry.js +11 -0
  250. package/dist/test_security_download_and_scan.js +103 -0
  251. package/dist/test_security_download_guard.js +14 -0
  252. package/dist/test_service_command_surface.js +12 -0
  253. package/dist/test_service_completion_policy.js +32 -0
  254. package/dist/test_service_guardrails_delete.js +12 -0
  255. package/dist/test_service_mode_explicit_only.js +174 -0
  256. package/dist/test_sources_import_ref.js +46 -0
  257. package/dist/test_sources_scaffold.js +43 -0
  258. package/dist/test_squad_skill_creator.js +305 -0
  259. package/dist/test_squad_skill_design_llm.js +176 -0
  260. package/dist/test_subsystems_org_state.js +271 -0
  261. package/dist/test_subsystems_promotion_memory_assets.js +343 -0
  262. package/dist/test_subsystems_routing_governance.js +234 -0
  263. package/dist/test_task_executor_sandbox_optin.js +127 -0
  264. package/dist/test_teammate_learning.js +15 -0
  265. package/dist/test_telegram_delete_guardrail.js +21 -0
  266. package/dist/test_toolset_enforcement.js +188 -0
  267. package/dist/test_trigger_basic_auth.js +112 -0
  268. package/dist/test_util/doc_parity.js +120 -0
  269. package/dist/test_v15_e2e_integration.js +207 -0
  270. package/dist/test_watchdog_heartbeat.js +152 -0
  271. package/dist/test_workflow_condition_parser.js +63 -0
  272. package/dist/test_workflow_e2e.js +240 -0
  273. package/dist/test_workflow_engine.js +330 -0
  274. package/dist/test_workflow_parser.js +245 -0
  275. package/dist/test_workflow_schema_backward_compat.js +197 -0
  276. package/dist-templates/README.md +91 -0
  277. package/dist-templates/claude-code/agents/openlife-atlas.md +52 -0
  278. package/dist-templates/claude-code/agents/openlife-forge.md +42 -0
  279. package/dist-templates/claude-code/agents/openlife-genesis.md +59 -0
  280. package/dist-templates/claude-code/agents/openlife-lyra.md +40 -0
  281. package/dist-templates/claude-code/agents/openlife-maestro.md +45 -0
  282. package/dist-templates/claude-code/commands/openlife/ask.md +14 -0
  283. package/dist-templates/claude-code/commands/openlife/doctor.md +19 -0
  284. package/dist-templates/claude-code/commands/openlife/dream.md +20 -0
  285. package/dist-templates/claude-code/commands/openlife/status.md +14 -0
  286. package/dist-templates/claude-code/mcp/openlife-orchestrator.json +46 -0
  287. package/dist-templates/codex/README.md +7 -0
  288. package/dist-templates/codex/agents/openlife-atlas.md +52 -0
  289. package/dist-templates/codex/agents/openlife-forge.md +42 -0
  290. package/dist-templates/codex/agents/openlife-genesis.md +59 -0
  291. package/dist-templates/codex/agents/openlife-lyra.md +40 -0
  292. package/dist-templates/codex/agents/openlife-maestro.md +45 -0
  293. package/dist-templates/codex/commands/openlife/ask.md +14 -0
  294. package/dist-templates/codex/commands/openlife/doctor.md +19 -0
  295. package/dist-templates/codex/commands/openlife/dream.md +20 -0
  296. package/dist-templates/codex/commands/openlife/status.md +14 -0
  297. package/dist-templates/codex/mcp/openlife-orchestrator.json +46 -0
  298. package/dist-templates/gemini-cli/README.md +8 -0
  299. package/dist-templates/gemini-cli/agents/openlife-atlas.md +52 -0
  300. package/dist-templates/gemini-cli/agents/openlife-forge.md +42 -0
  301. package/dist-templates/gemini-cli/agents/openlife-genesis.md +59 -0
  302. package/dist-templates/gemini-cli/agents/openlife-lyra.md +40 -0
  303. package/dist-templates/gemini-cli/agents/openlife-maestro.md +45 -0
  304. package/dist-templates/gemini-cli/commands/openlife/ask.md +14 -0
  305. package/dist-templates/gemini-cli/commands/openlife/doctor.md +19 -0
  306. package/dist-templates/gemini-cli/commands/openlife/dream.md +20 -0
  307. package/dist-templates/gemini-cli/commands/openlife/status.md +14 -0
  308. package/dist-templates/gemini-cli/mcp/openlife-orchestrator.json +46 -0
  309. package/dist-templates/skill-template/README.md +34 -0
  310. package/dist-templates/skill-template/SKILL.md.template +59 -0
  311. package/dist-templates/squad-template/README.md +82 -0
  312. package/dist-templates/squad-template/SQUAD.md.template +51 -0
  313. package/dist-templates/squad-template/agent-template.md +51 -0
  314. package/dist-templates/squad-template/checklist-template.md +25 -0
  315. package/dist-templates/squad-template/task-template.md +36 -0
  316. package/dist-templates/workflows/PORTED_WORKFLOWS.md +60 -0
  317. package/dist-templates/workflows/brownfield-discovery.yaml +137 -0
  318. package/dist-templates/workflows/greenfield-fullstack.yaml +132 -0
  319. package/dist-templates/workflows/qa-loop.yaml +125 -0
  320. package/dist-templates/workflows/story-development-cycle.yaml +80 -0
  321. package/docs/CHANGELOG_FEATURE_ROLLOUT_DESIGNMD.md +43 -0
  322. package/docs/EXTERNAL_SOURCES_AND_SECURITY_GUARD.md +33 -0
  323. package/docs/OPENLIFE_AUDIT_2026-05-06.md +170 -0
  324. package/docs/OPENLIFE_CONSOLIDATED_PLAN_2026-05-06.md +299 -0
  325. package/docs/OPENLIFE_DUAL_MODE_IMPLEMENTATION_PLAN.md +205 -0
  326. package/docs/OPENLIFE_EVOLUTION_SURFACE_2026-05-07.md +53 -0
  327. package/docs/OPENLIFE_SKILLS_IMPORT_2026-05-07.json +223 -0
  328. package/docs/OPENLIFE_SQUADS_IMPORT_2026-05-07.json +184 -0
  329. package/docs/PAPERCLIP_OPENLIFE_INVESTIGATION.md +85 -0
  330. package/docs/README.md +28 -0
  331. package/docs/RELEASE_ORGANIZATION_PLAN.md +164 -0
  332. package/docs/audit/CLI-EXECUTION-RESULTS.md +113 -0
  333. package/docs/audit/CLI-MATRIX.md +556 -0
  334. package/docs/audit/DOC-PARITY-GAPS.md +351 -0
  335. package/docs/audit/ORCHESTRATOR-MATRIX.md +136 -0
  336. package/docs/audit/TEST-COVERAGE-GAPS.md +334 -0
  337. package/docs/audit/integrations/SKIPPED.md +101 -0
  338. package/docs/autonomous-install.md +79 -0
  339. package/docs/capability-genesis.md +137 -0
  340. package/docs/capability-pack-schema.md +157 -0
  341. package/docs/commands.md +82 -0
  342. package/docs/deep-research-capability.md +114 -0
  343. package/docs/development/typescript-conventions.md +95 -0
  344. package/docs/host-installers.md +68 -0
  345. package/docs/install/aiobuilder.md +70 -0
  346. package/docs/install/claude-code.md +83 -0
  347. package/docs/install/codex.md +64 -0
  348. package/docs/install/gemini-cli.md +64 -0
  349. package/docs/install/runtime-profiles.md +83 -0
  350. package/docs/openlife-agent-os-blueprint.md +114 -0
  351. package/docs/openlife-install-backlog.md +115 -0
  352. package/docs/openlife-install-spec.md +306 -0
  353. package/docs/operations/CLOUD_CUTOVER_AUDIT.md +37 -0
  354. package/docs/operations/PHASE_PROGRESS_CONTINUATION.md +24 -0
  355. package/docs/performance-benchmarks.md +83 -0
  356. package/docs/planning/v1.3-capability-genesis.md +157 -0
  357. package/docs/plans/2026-05-05-admin-interface-professional-dark-premium-plan.md +84 -0
  358. package/docs/plans/2026-05-05-openlife-autonomous-domain-marketplace-masterplan.md +122 -0
  359. package/docs/quickstart.md +60 -0
  360. package/docs/release-process.md +236 -0
  361. package/docs/roadmap/OPENLIFE_MASTER_PLAN_CLOUD_V3.md +97 -0
  362. package/docs/sandboxing-research.md +117 -0
  363. package/docs/stories/epic-feature-audit/1.1.story.md +84 -0
  364. package/docs/stories/epic-feature-audit/1.2.story.md +102 -0
  365. package/docs/stories/epic-feature-audit/1.3.story.md +93 -0
  366. package/docs/stories/epic-feature-audit/1.5.story.md +121 -0
  367. package/docs/stories/epic-feature-audit/1.6.story.md +80 -0
  368. package/docs/stories/epic-feature-completeness/2.1.story.md +70 -0
  369. package/docs/stories/epic-feature-completeness/2.2.story.md +49 -0
  370. package/docs/stories/epic-feature-completeness/2.3.story.md +74 -0
  371. package/docs/stories/epic-feature-completeness/2.4.story.md +71 -0
  372. package/docs/stories/epic-feature-completeness/3.1.story.md +56 -0
  373. package/docs/stories/epic-feature-completeness/3.2.story.md +80 -0
  374. package/docs/stories/epic-feature-completeness/3.3.story.md +68 -0
  375. package/docs/stories/epic-feature-completeness/3.4.story.md +71 -0
  376. package/docs/stories/epic-feature-completeness/3.5.story.md +72 -0
  377. package/docs/stories/epic-feature-completeness/3.6.story.md +69 -0
  378. package/docs/stories/epic-feature-completeness/3.7.story.md +68 -0
  379. package/docs/stories/epic-feature-completeness/3.8.story.md +57 -0
  380. package/docs/toolset-enforcement.md +122 -0
  381. package/docs/v1.4-changelog.md +159 -0
  382. package/docs/v1.5-changelog.md +106 -0
  383. package/docs/v1.5-roadmap.md +121 -0
  384. package/docs/v1.6-changelog.md +67 -0
  385. package/docs/v1.6-roadmap.md +89 -0
  386. package/docs/v1.7-changelog.md +98 -0
  387. package/docs/workflow-schema.md +177 -0
  388. package/package.json +177 -0
  389. package/scripts/clean-test-pollution.js +61 -0
  390. package/scripts/openlife-agent-start.sh +6 -0
  391. package/scripts/openlife-agent.service.example +13 -0
  392. package/scripts/openlife-agent.supervisord.conf.example +8 -0
  393. package/scripts/openlife-autonomous-install.sh +29 -0
  394. package/scripts/postinstall-check.sh +37 -0
@@ -0,0 +1,67 @@
1
+ # OpenLife v1.6 — Changelog
2
+
3
+ **Branch:** `feat/v1.6-sandbox-rollout`
4
+ **Predecessor:** v1.5.0 (tagged 2026-05-13)
5
+
6
+ v1.6 is the **operational consolidation** milestone — promotes v1.5's
7
+ research-track `ProcessSandbox` into real production sites and continues
8
+ the `any`-budget tightening trajectory.
9
+
10
+ ## What landed by epic
11
+
12
+ | Sprint | Epic | Stories | Commits |
13
+ |---|---|---|---|
14
+ | 1 | 18 — Sandbox rollout | 18.1 / 18.2 | `8834aaa`, `96248f2` |
15
+ | 2 | 19 — Quality | 19.1 | `3d6dc32` |
16
+ | 3 (cap) | — | C.1 (this doc) | _this commit_ |
17
+
18
+ ### Epic 18 — Sandbox rollout (Sprint 1)
19
+
20
+ | Story | Commit | Surface |
21
+ |---|---|---|
22
+ | 18.1 | `8834aaa` | `SystemDoctor.checkProcessSandbox` — doctor now spawns a tiny `node -e` via the wrapper and reports Node major version + enforcement state + applied-flag count. Low-risk production wire-in. |
23
+ | 18.2 | `96248f2` | `TaskExecutor.runShellCommand` opt-in routing via `OPENLIFE_PROCESS_SANDBOX=on`. Default OFF (same opt-in stance v1.4 took for toolset enforcement). For `/bin/bash` this is a pass-through wrapper today; v1.7 will route node-script steps through it with real `--permission` scoping. |
24
+
25
+ ### Epic 19 — Quality (Sprint 2)
26
+
27
+ | Story | Commit | Surface |
28
+ |---|---|---|
29
+ | 19.1 | `3d6dc32` | Production `any` count 109 → 83 across Gatekeeper (9→0), TestHarness (8→0), VoiceManager (5→0), admin_panel_server (4→0). CI lint budget tightened 115 → 90. |
30
+
31
+ ## Calendar-gated deferrals (still pending)
32
+
33
+ - **Story 13.5 — Toolset enforcement default-ON flip.** Requires
34
+ ≥1 week of v1.4 soak + ≥1 tagged v1.4 maintenance release. v1.4.0
35
+ was tagged 2026-05-13; the earliest land date is 2026-05-20 after a
36
+ v1.4.1 cut. Will ship on its own dedicated branch when ready.
37
+
38
+ ## Locked decisions
39
+
40
+ 1. **`OPENLIFE_PROCESS_SANDBOX` stays opt-in in v1.6.** v1.7 will
41
+ reconsider the default after sandbox-specific soak.
42
+ 2. **No new env vars introduced in this milestone.** Story 18.2's
43
+ `OPENLIFE_PROCESS_SANDBOX` was promoted from v1.5 research-track
44
+ into production wiring; the variable name was reserved in
45
+ `docs/sandboxing-research.md`.
46
+
47
+ ## Tests added
48
+
49
+ | Test | Stories covered |
50
+ |---|---|
51
+ | `test_doctor_sandbox_check.ts` | 18.1 |
52
+ | `test_task_executor_sandbox_optin.ts` | 18.2 |
53
+
54
+ `test:all` now runs 101 markers (up from 99 at v1.5.0).
55
+
56
+ ## Honest scorecard delta vs v1.5
57
+
58
+ | Dimension | v1.5 | v1.6 |
59
+ |---|---|---|
60
+ | Code quality | 9.8 | 9.9 (any 172 → 83 over four milestones) |
61
+ | Test infra | 10.0 | 10.0 (+2 integration probes) |
62
+ | Documentation | 10.0 | 10.0 (changelog + roadmap) |
63
+ | Feature completeness | 10.0 | 10.0 (sandbox now wired) |
64
+
65
+ The change is incremental — that was the v1.6 thesis. Story 13.5
66
+ remains the one big operational lever that's calendar-gated; it will
67
+ move the score again when it lands.
@@ -0,0 +1,89 @@
1
+ # OpenLife v1.6 — Roadmap
2
+
3
+ **Branch:** `feat/v1.6-sandbox-rollout`
4
+ **Predecessor:** v1.5.0 (tagged 2026-05-13)
5
+
6
+ v1.6 is the **operational consolidation** milestone — promoting v1.5's
7
+ research outputs into real production wiring and closing the one
8
+ calendar-gated v1.4 deferral.
9
+
10
+ ## The 4 deferred items left from v1.5
11
+
12
+ | # | Item | Owner story | Calendar gate? |
13
+ |---|---|---|---|
14
+ | 1 | Wire `ProcessSandbox` into a non-critical site (doctor) | 18.1 | No — ready now |
15
+ | 2 | Opt-in `OPENLIFE_PROCESS_SANDBOX=on` for `TaskExecutor.runShellCommand` | 18.2 | No — ready now |
16
+ | 3 | Toolset enforcement default-ON flip | 13.5 | **YES** — 1 week of v1.4 soak + 1 maintenance release |
17
+ | 4 | Continue `any` budget tightening toward v1.4-plan target of 70 | 19.1 | No — ready now |
18
+ | 5 | Distributed multi-host scheduler | 20.x | Own epic; may slip to v1.7 |
19
+
20
+ ## Epic breakdown
21
+
22
+ ### Epic 18 — Sandbox rollout (Sprint 1)
23
+
24
+ - **18.1 — Wire `ProcessSandbox` into `doctor` script execution.** The
25
+ doctor command runs a handful of node-based health probes. Routing
26
+ those through `ProcessSandbox` validates the wrapper in a low-risk
27
+ production site and produces real telemetry about Node-permission
28
+ behaviour on operator machines.
29
+
30
+ - **18.2 — Opt-in shell-command sandboxing.** New env flag
31
+ `OPENLIFE_PROCESS_SANDBOX=on` routes `TaskExecutor.runShellCommand`
32
+ through `ProcessSandbox` with a default-allow scope of `cwd + .artifacts`.
33
+ Default OFF in v1.6 — same opt-in stance as toolset enforcement had in v1.4.
34
+
35
+ ### Epic 13.5 (calendar-gated) — Toolset enforcement default flip (Sprint 2)
36
+
37
+ - **13.5 — Flip default of `OPENLIFE_TOOLSET_ENFORCEMENT` from OFF to ON.**
38
+ Lands on its own atomic commit so any post-flip regression can be
39
+ bisected cleanly. The opt-OUT path becomes `OPENLIFE_TOOLSET_ENFORCEMENT=off`.
40
+ Pre-flip check: at least one tagged maintenance release into v1.4
41
+ (target: v1.4.1 if any post-release issues surface) AND ≥1 calendar
42
+ week of soak.
43
+
44
+ ### Epic 19 — Quality (Sprint 3)
45
+
46
+ - **19.1 — `any` budget toward <90.** v1.5 landed at 109. Remaining
47
+ concentrations live in CLI option handlers and a handful of
48
+ provider/route code paths. Target: under 90 in prod code; CI lint
49
+ budget steps to 95.
50
+
51
+ ### Epic 20 — Multi-host scheduler (Sprint 4, P3, may slip to v1.7)
52
+
53
+ - **20.x — Distributed scheduler.** Big enough to warrant its own
54
+ roadmap doc. v1.6 may only ship the planning artifact; the
55
+ implementation lives in v1.7.
56
+
57
+ ### Cap (Sprint 5)
58
+
59
+ - **C.1 docs/v1.6-changelog.md** + 1-2 reference docs for the new
60
+ surfaces.
61
+ - **C.2 final `test:all`** + perf baseline lock.
62
+ - **C.3 PR ready + merge + tag v1.6.0** (toolset flip is the most
63
+ operationally significant change of v1.6, so the tag means "default
64
+ enforcement on").
65
+
66
+ ## Locked decisions
67
+
68
+ 1. **`OPENLIFE_PROCESS_SANDBOX` defaults OFF in v1.6.** Same opt-in
69
+ stance toolset enforcement had in v1.4. Will flip to ON in v1.7 only
70
+ after sandbox-specific soak.
71
+ 2. **Story 13.5 commits separately on this branch** with its own
72
+ atomic message so the toolset-default-flip can be reverted without
73
+ losing the sandbox-rollout work.
74
+
75
+ ## Definition of Done
76
+
77
+ | Check | Method |
78
+ |---|---|
79
+ | `npm run build` clean | After each story |
80
+ | `npm run test:all` green | After each story; CI on every push |
81
+ | Perf regression check | `test_performance_latency.ts` vs `ci/perf-baseline.json` (≤+30% P95) |
82
+ | `any` budget | CI lint job — 95 by end of v1.6 (from 115 in v1.5) |
83
+ | Sandbox enforcement soak | v1.7 only flips after ≥1 v1.6 maintenance release |
84
+ | Toolset enforcement default-ON | v1.4.1 tagged + ≥7 days since v1.4.0 |
85
+
86
+ ## Commit / push policy
87
+
88
+ Same as v1.4 / v1.5. One atomic commit per story; pushes authorized
89
+ for this branch.
@@ -0,0 +1,98 @@
1
+ # OpenLife v1.7 — Changelog
2
+
3
+ **Branch:** `feat/v1.7-enforcement-at-scale`
4
+ **Predecessor:** v1.6.0 (tagged 2026-05-13)
5
+
6
+ v1.7 is the **enforcement-at-scale** milestone. It extends opt-in
7
+ toolset enforcement from 2 categories to 13, wires the
8
+ `forecastWithBrain` method that shipped in v1.5 but was never reached,
9
+ fixes a measurement bug that inflated every prior `any`-budget claim,
10
+ and ships the consolidated release-process runbook used since v1.2.
11
+
12
+ Story 20.1 (toolset enforcement default-ON flip) remains
13
+ calendar-gated and lands on its own.
14
+
15
+ ## What landed by story
16
+
17
+ | Story | Commit | Surface |
18
+ |---|---|---|
19
+ | 20.4 | `c7a8258` | `OrchestrationLoop.run` now branches on `OPENLIFE_BRAIN_FORECAST=on` and awaits `ConsequenceForecaster.forecastWithBrain`. Brain verdict / amplifiers / rationale surfaced into the attempt trace. New wiring guard at `src/test_forecast_brain_wiring.ts` catches the specific "shipped but unwired" regression that happened between v1.5 and v1.6. |
20
+ | R.3 | `e819db0` | `docs/release-process.md` — the per-story-atomic-commit + tag-on-merge pattern used for v1.2 → v1.6, plus the worktree-based maintenance-cut procedure exercised for `v1.4.1`. |
21
+ | 20.3 | `b04dee8` | Production `any` driven to **0**. Fixed the CI lint grep bug (see below). Type narrowing across 11 files: catch sites moved to `unknown` + `instanceof Error`; explicit interface annotations replaced 4 `as any` casts; doc comments rephrased to avoid regex false-positives. CI budget reset from 90 (inflated) to 5 (honest). |
22
+ | 20.2 | `ca59111` | `assertToolsetAllowed` hooked at 11 more production code paths covering: memory (`OmniMemory.saveFact`), tts (`VoiceManager.generateSpeech`), cron (`CronManager.create`), mcp (`ExternalCatalogRegistry.importAndFetch`), skills (`SkillManager.create`), workflows (`WorkflowEngine.run`), squads (`SquadCreator.create`), web (`SecurityDownloadGuard.downloadAndScan`), file (`HostInstaller.install`), vision (`Gateway.processImageForTest`), gateway (`Gateway.start`). Combined with v1.4's terminal + delegation hooks, **13 of 15** ToolsetCategory values now have production hooks. `browser` and `image_gen` remain unhooked (no production code path today) and fail closed at the registry layer. |
23
+
24
+ ## Measurement correction — the `any` count was never 83
25
+
26
+ Found during Story 20.3. The CI lint guard in `.github/workflows/lint.yml`
27
+ ran:
28
+
29
+ ```bash
30
+ grep -rEnh ':[[:space:]]*any\b|<any>|as any' src/ --include='*.ts' | grep -v 'test_'
31
+ ```
32
+
33
+ The `-h` flag suppresses the filename prefix from grep's output, which
34
+ made the downstream `grep -v 'test_'` operate on **line content**
35
+ instead of file paths. Every `(t: any) =>` or `find((x: any) => …)`
36
+ match in `src/test_*.ts` slipped through and counted as production.
37
+
38
+ | Claim in prior changelogs | Real production count |
39
+ |---|---|
40
+ | v1.4: any 172 → 70 target | ~30 (rest were test-file matches) |
41
+ | v1.5: any 172 → 109 | ~20 |
42
+ | v1.6: any 109 → 83 | 12-14 |
43
+ | **v1.7 (after Story 20.3): 0** | 0 |
44
+
45
+ The prior changelogs are not retroactively edited (that would be
46
+ history rewriting). They describe what was measured against the
47
+ broken filter and remain in the historical record. From v1.7 onward
48
+ the CI budget is `OPENLIFE_ANY_BUDGET=5` against a filename-aware
49
+ grep.
50
+
51
+ ## Calendar-gated deferrals
52
+
53
+ - **Story 20.1 — Toolset enforcement default-ON flip.** Requires
54
+ ≥1 week of v1.4 soak **and** a v1.4.1 maintenance cut. The cut
55
+ shipped today (`v1.4.1`, commit `6fb796d`). Earliest flip date:
56
+ 2026-05-20. Will ship on its own dedicated commit when the
57
+ observation window closes without regressions.
58
+
59
+ ## Locked decisions
60
+
61
+ 1. **`OPENLIFE_BRAIN_FORECAST` stays opt-in** in v1.7. The Brain-driven
62
+ path is reachable for the first time, but default behavior remains
63
+ the synchronous heuristic forecast. A future milestone will
64
+ reconsider the default after observation.
65
+ 2. **`browser` and `image_gen` toolsets stay unhooked at the call
66
+ site** — the registry-side `isAllowed()` still returns the right
67
+ answer; production hooks will land when concrete features for
68
+ these categories ship (they do not exist today).
69
+ 3. **No retroactive edits to v1.4-v1.6 changelogs.** The measurement
70
+ correction is documented in this file; older numbers stand as
71
+ historical record.
72
+
73
+ ## Tests added
74
+
75
+ | Test | Stories covered |
76
+ |---|---|
77
+ | `test_forecast_brain_wiring.ts` | 20.4 |
78
+ | extended `test_toolset_enforcement.ts` Scenario 4 | 20.2 (13 categories) |
79
+
80
+ `test:all` runs **102 markers** (up from 101 at v1.6.0).
81
+
82
+ ## Honest scorecard delta vs v1.6
83
+
84
+ | Dimension | v1.6 | v1.7 | Comment |
85
+ |---|---|---|---|
86
+ | Architecture | 10.0 | **10.0** | — |
87
+ | Test infra | 10.0 | **10.0** | +2 markers |
88
+ | Documentation | 10.0 | **10.0** | release-process.md + this changelog |
89
+ | Code quality | 9.9 | **10.0** | any → 0 (real); CI guard now honest |
90
+ | Feature completeness | 10.0 | **10.0** | forecastWithBrain reachable |
91
+ | Asset catalog | 9.7 | **9.7** | RemotePublisher unchanged; registry still pending |
92
+ | Governance | 10.0 | **10.0** | — |
93
+ | Distribution | 10.0 | **10.0** | — |
94
+
95
+ **Weighted projection: ~9.98 / 10 → A+.** The remaining 0.02 gap is
96
+ Asset catalog (registry decision = product, not code). Story 20.1 +
97
+ 21.x are the remaining levers; both gated on calendar / soak windows
98
+ rather than implementation work.
@@ -0,0 +1,177 @@
1
+ # Workflow Schema — v2
2
+
3
+ > Source: `src/orchestrator/workflow/WorkflowSchema.ts`
4
+ > Parser: `src/orchestrator/workflow/WorkflowParser.ts`
5
+ > Engine: `src/orchestrator/workflow/WorkflowEngine.ts`
6
+
7
+ Workflows are YAML-declared executable sequences. v1.3 extends the v1.2
8
+ schema with 15 optional Hermes-mandated fields. **All v1.2 YAMLs parse
9
+ unchanged via the v2 parser** (asserted by
10
+ `test_workflow_schema_backward_compat.ts`).
11
+
12
+ ## v1.2 baseline (still required)
13
+
14
+ ```yaml
15
+ workflow:
16
+ id: my-workflow
17
+ name: My Workflow
18
+ type: custom # greenfield | brownfield | story-cycle | qa-loop | custom
19
+ version: "1.0"
20
+ sequence:
21
+ - id: step-1
22
+ agent: dev
23
+ action: build-feature
24
+ ```
25
+
26
+ ## v1.3 extensions (all optional)
27
+
28
+ ```yaml
29
+ workflow:
30
+ id: research-workflow
31
+ name: Research Workflow
32
+ type: custom
33
+ version: "1.0"
34
+
35
+ # ── lifecycle ──
36
+ status: tested # draft | tested | active | deprecated
37
+ mode: task # task (default) | service (must opt-in)
38
+
39
+ # ── trigger surface ──
40
+ triggers: [manual, cron, webhook, event]
41
+
42
+ # ── intent ──
43
+ objective: "produce verifiable research with cited sources"
44
+ success_criteria:
45
+ - { id: cites-all-claims, description: "all claims cite a source" }
46
+ - { id: contradiction-considered, description: ">=3 contradicting sources" }
47
+
48
+ # ── I/O contract ──
49
+ inputs:
50
+ - { id: brief, type: string, required: true }
51
+ outputs:
52
+ - { id: report, type: string, description: "path to final report" }
53
+
54
+ # ── context ──
55
+ required_context:
56
+ - "docs/research-policy.md"
57
+
58
+ # ── catalog refs ──
59
+ squads: [research-squad]
60
+ skills: [source-credibility-scoring]
61
+
62
+ # ── tool gating ──
63
+ tools:
64
+ allowed: [file, web, memory]
65
+ forbidden: [terminal]
66
+
67
+ # ── governance tags ──
68
+ policies: [no-uncited-claims]
69
+
70
+ # ── boundary validation ──
71
+ validation:
72
+ - { id: report-exists, description: "report path must exist", kind: artifact_exists }
73
+
74
+ # ── evidence ──
75
+ evidence: ["report.md", "sources.json"]
76
+
77
+ # ── failure / retry ──
78
+ failure_handling:
79
+ on_step_failure: retry # abort | continue | retry
80
+ max_retries: 2
81
+
82
+ # ── audit ──
83
+ audit_events: ["workflow.completed", "policy.violation"]
84
+
85
+ # ── learning ──
86
+ learning_rules:
87
+ - { id: store-success, trigger: on_success, description: "..." }
88
+
89
+ # ── existing sequence ──
90
+ sequence:
91
+ - id: step-1
92
+ agent: research-lead
93
+ action: plan
94
+ ```
95
+
96
+ ## Mode contract — explicit service only
97
+
98
+ - `mode: 'task'` (or omitted) — `WorkflowEngine.run()` works as normal.
99
+ - `mode: 'service'` — `WorkflowEngine.run()` THROWS unless caller passes
100
+ `{ allowServiceMode: true }`.
101
+
102
+ ```ts
103
+ // Caller must opt in:
104
+ await engine.run(serviceWorkflow, ctx, { allowServiceMode: true });
105
+
106
+ // Silent promotion is refused with stable code:
107
+ // 'service_mode_requires_explicit_opt_in'
108
+ ```
109
+
110
+ `ServiceState.promoteTaskToService()` enforces the same contract for
111
+ ad-hoc promotions:
112
+
113
+ ```ts
114
+ serviceStore.promoteTaskToService(missionState, 'svc-id', objective, {
115
+ actor: 'rafa', // required, not 'system'/'auto'
116
+ consentScope: 'task_promotion', // required
117
+ reason: 'long-running research',
118
+ });
119
+ // Stable error codes:
120
+ // 'task_promotion_requires_human_actor'
121
+ // 'task_promotion_requires_consent_scope'
122
+ ```
123
+
124
+ ## Stable error codes (parser)
125
+
126
+ v1.2 codes (still emitted):
127
+ `workflow_invalid_yaml`, `workflow_invalid_schema`, `workflow_missing_root`,
128
+ `workflow_missing_required_field`, `workflow_invalid_type`,
129
+ `workflow_duplicate_step_id`, `workflow_circular_requires`,
130
+ `workflow_unknown_requires`, `workflow_agent_and_squad`,
131
+ `workflow_neither_agent_nor_squad`.
132
+
133
+ v1.3 additions:
134
+ - `workflow_invalid_mode` — mode not in {task, service}
135
+ - `workflow_invalid_tools_policy` — tools.allowed/restricted/forbidden not arrays
136
+ - `workflow_invalid_triggers` — triggers not array OR contains unknown name
137
+ - `workflow_invalid_success_criteria` — entry missing {id, description}
138
+
139
+ ## Step-level fields (unchanged)
140
+
141
+ ```yaml
142
+ - id: <unique>
143
+ agent: <name> | squad: <name> # exactly one
144
+ action: <action-name>
145
+ task: <task-file.md> # optional, looked up in templates
146
+ creates: [<artifact>, ...]
147
+ updates: [<artifact>, ...]
148
+ requires: <step-id-or-artifact> # dependency
149
+ duration_estimate: "30-60 min"
150
+ condition: <boolean-literal> # v1.2 supports only literal flags
151
+ optional: true | false
152
+ elicit: true | false # pauses run with status=awaiting_input
153
+ idempotent: true | false # safe to re-execute on resume
154
+ notes: |
155
+ Free-text operator notes carried into the run log.
156
+ ```
157
+
158
+ ## What's NOT in v1.3
159
+
160
+ - **Expression-language `condition`** — still literal boolean flag only.
161
+ v1.4 introduces a tiny expression parser.
162
+ - **Cross-workflow `requires`** — references must stay within the same
163
+ workflow.
164
+ - **`on_step_failure: parallel`** — only sequential retry/abort/continue.
165
+
166
+ ## Migration checklist (v1.2 → v1.3 YAMLs)
167
+
168
+ - ✓ No changes required. All fields are additive.
169
+ - ✓ Adopt `mode: 'service'` only when you're ready for the explicit-opt-in contract.
170
+ - ✓ Adopt `tools:` policy when your operators want runtime gating.
171
+
172
+ ## Test references
173
+
174
+ - `test_workflow_parser.ts` — v1.2 parser regression
175
+ - `test_workflow_schema_backward_compat.ts` — v1.3 schema additions + v1.2 fixtures
176
+ - `test_workflow_engine.ts` — engine integration
177
+ - `test_service_mode_explicit_only.ts` — mode contract
package/package.json ADDED
@@ -0,0 +1,177 @@
1
+ {
2
+ "name": "@openlife/cli",
3
+ "version": "1.7.3",
4
+ "description": "OPEN-LIFE Córtex Orquestrador Dual-Core",
5
+ "main": "dist/index.js",
6
+ "files": [
7
+ "dist",
8
+ "bin",
9
+ "scripts",
10
+ "docs",
11
+ "dist-templates",
12
+ "LICENSE",
13
+ "README.md",
14
+ "INSTALL.md",
15
+ "package.json"
16
+ ],
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/GOOODZ/openlife-core.git"
20
+ },
21
+ "homepage": "https://github.com/GOOODZ/openlife-core",
22
+ "bugs": {
23
+ "url": "https://github.com/GOOODZ/openlife-core/issues"
24
+ },
25
+ "bin": {
26
+ "openlife": "./bin/openlife.js"
27
+ },
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "start": "node dist/index.js start --daemon",
31
+ "dev": "ts-node src/index.ts",
32
+ "admin": "ts-node src/admin_panel_server.ts",
33
+ "phase1-check": "node dist/index.js phase1-check",
34
+ "postinstall": "bash ./scripts/postinstall-check.sh",
35
+ "test:distribution": "npm run build && node dist/test_distribution_installability.js",
36
+ "test:orchestration": "npm run build && node dist/test_orchestration_assets_lifecycle.js",
37
+ "test:runtime-source": "npm run build && node dist/test_openlife_runtime_source_truth.js",
38
+ "test:evolution-surface": "npm run build && node dist/test_openlife_evolution_surface.js",
39
+ "test:routing-surface": "npm run build && node dist/test_openlife_routing_surface.js",
40
+ "test:auto-creator-routing": "npm run build && node dist/test_openlife_auto_creator_routing.js",
41
+ "test:gatekeeper-routing": "npm run build && node dist/test_openlife_gatekeeper_routing.js",
42
+ "test:enterprise-agentic": "npm run build && node dist/test_enterprise_agentic_core.js",
43
+ "test:admin-teams-networks": "npm run build && node dist/test_admin_teams_networks.js",
44
+ "test:agent-team-skill-network": "npm run build && node dist/test_agent_team_skill_network.js",
45
+ "test:benchmark-engine": "npm run build && node dist/test_benchmark_engine.js",
46
+ "test:cli-service-commands": "npm run build && node dist/test_cli_service_commands.js",
47
+ "test:consequence-forecaster": "npm run build && node dist/test_consequence_forecaster.js",
48
+ "test:conversation-memory": "npm run build && node dist/test_conversation_memory.js",
49
+ "test:create-entities": "npm run build && node dist/test_create_entities.js",
50
+ "test:designmd-import-registry": "npm run build && node dist/test_designmd_import_registry.js",
51
+ "test:designmd-mode": "npm run build && node dist/test_designmd_mode.js",
52
+ "test:designmd-mode-workspace": "npm run build && node dist/test_designmd_mode_workspace.js",
53
+ "test:dream-organizer": "npm run build && node dist/test_dream_organizer.js",
54
+ "test:dual-mode": "npm run build && node dist/test_dual_mode.js",
55
+ "test:governance": "npm run build && node dist/test_governance.js",
56
+ "test:governance-advanced": "npm run build && node dist/test_governance_advanced.js",
57
+ "test:install-flow": "npm run build && node dist/test_install_flow.js",
58
+ "test:job-lifecycle": "npm run build && node dist/test_job_lifecycle.js",
59
+ "test:memory-orchestrator": "npm run build && node dist/test_memory_orchestrator.js",
60
+ "test:memory-promotion": "npm run build && node dist/test_memory_promotion.js",
61
+ "test:memory-retention": "npm run build && node dist/test_memory_retention.js",
62
+ "test:operating-system": "npm run build && node dist/test_operating_system.js",
63
+ "test:optimization-loop": "npm run build && node dist/test_optimization_loop.js",
64
+ "test:outcome-simulator": "npm run build && node dist/test_outcome_simulator.js",
65
+ "test:performance-scorecard": "npm run build && node dist/test_performance_scorecard.js",
66
+ "test:phase6-board": "npm run build && node dist/test_phase6_board.js",
67
+ "test:phase6-cadence": "npm run build && node dist/test_phase6_cadence.js",
68
+ "test:phase6-ops": "npm run build && node dist/test_phase6_ops.js",
69
+ "test:release-gate": "npm run build && node dist/test_release_gate.js",
70
+ "test:reversa-contracts-e2e": "npm run build && node dist/test_reversa_contracts_e2e.js",
71
+ "test:reversa-export-and-strict": "npm run build && node dist/test_reversa_export_and_strict.js",
72
+ "test:reversa-full-execution": "npm run build && node dist/test_reversa_full_execution.js",
73
+ "test:reversa-lite": "npm run build && node dist/test_reversa_lite.js",
74
+ "test:runtime-policy": "npm run build && node dist/test_runtime_policy.js",
75
+ "test:runtime-probe": "npm run build && node dist/test_runtime_probe.js",
76
+ "test:runtime-registry": "npm run build && node dist/test_runtime_registry.js",
77
+ "test:security-download-guard": "npm run build && node dist/test_security_download_guard.js",
78
+ "test:service-command-surface": "npm run build && node dist/test_service_command_surface.js",
79
+ "test:service-completion-policy": "npm run build && node dist/test_service_completion_policy.js",
80
+ "test:service-guardrails-delete": "npm run build && node dist/test_service_guardrails_delete.js",
81
+ "test:sources-import-ref": "npm run build && node dist/test_sources_import_ref.js",
82
+ "test:sources-scaffold": "npm run build && node dist/test_sources_scaffold.js",
83
+ "test:teammate-learning": "npm run build && node dist/test_teammate_learning.js",
84
+ "test:telegram-delete-guardrail": "npm run build && node dist/test_telegram_delete_guardrail.js",
85
+ "test:daemon-sigterm": "npm run build && node dist/test_daemon_sigterm.js",
86
+ "test:ask-exit": "npm run build && node dist/test_ask_exit.js",
87
+ "test:brain-error-diagnostics": "npm run build && node dist/test_brain_error_diagnostics.js",
88
+ "test:cli-doc-parity": "npm run build && node dist/test_cli_doc_parity.js",
89
+ "test:trigger-basic-auth": "npm run build && node dist/test_trigger_basic_auth.js",
90
+ "test:brain-fallback-chain": "npm run build && node dist/test_brain_fallback_chain.js",
91
+ "test:cli-help-surface": "npm run build && node dist/test_cli_help_surface.js",
92
+ "test:cli-diagnostics": "npm run build && node dist/test_cli_diagnostics.js",
93
+ "test:cli-crud-roundtrip": "npm run build && node dist/test_cli_crud_roundtrip.js",
94
+ "test:subsystems-routing-governance": "npm run build && node dist/test_subsystems_routing_governance.js",
95
+ "test:subsystems-org-state": "npm run build && node dist/test_subsystems_org_state.js",
96
+ "test:subsystems-promotion-memory-assets": "npm run build && node dist/test_subsystems_promotion_memory_assets.js",
97
+ "test:integration-gemini": "npm run build && node dist/test_integration_gemini_live.js",
98
+ "test:integration-telegram": "npm run build && node dist/test_integration_telegram_live.js",
99
+ "test:integration-http": "npm run build && node dist/test_integration_http_trigger_live.js",
100
+ "test:integrations": "npm run build && node dist/test_integration_gemini_live.js && node dist/test_integration_http_trigger_live.js && node dist/test_integration_telegram_live.js",
101
+ "test:phase1-check-exit": "npm run build && node dist/test_phase1_check_exit.js",
102
+ "test:install-flow-host-validation": "npm run build && node dist/test_install_flow_host_validation.js",
103
+ "test:dist-templates-layout": "npm run build && node dist/test_dist_templates_layout.js",
104
+ "test:host-installer": "npm run build && node dist/test_host_installer.js",
105
+ "test:host-uninstaller": "npm run build && node dist/test_host_uninstaller.js",
106
+ "test:install-wizard": "npm run build && node dist/test_install_wizard.js",
107
+ "test:multi-host-docs-parity": "npm run build && node dist/test_multi_host_docs_parity.js",
108
+ "test:host-install-e2e": "npm run build && node dist/test_host_install_e2e.js",
109
+ "test:runtime-profile-oauth-only": "npm run build && node dist/test_runtime_profile_oauth_only.js",
110
+ "test:atomic-writer": "npm run build && node dist/test_atomic_writer.js",
111
+ "test:mission-checkpoint": "npm run build && node dist/test_mission_checkpoint.js",
112
+ "test:workflow-parser": "npm run build && node dist/test_workflow_parser.js",
113
+ "test:workflow-engine": "npm run build && node dist/test_workflow_engine.js",
114
+ "test:workflow-e2e": "npm run build && node dist/test_workflow_e2e.js",
115
+ "test:distributed-lock": "npm run build && node dist/test_distributed_lock.js",
116
+ "test:watchdog-heartbeat": "npm run build && node dist/test_watchdog_heartbeat.js",
117
+ "test:runtime-health-backoff": "npm run build && node dist/test_runtime_health_backoff.js",
118
+ "test:queue-scheduler": "npm run build && node dist/test_queue_scheduler.js",
119
+ "test:squad-skill-creator": "npm run build && node dist/test_squad_skill_creator.js",
120
+ "test:aiobuilder-cli-parity": "npm run build && node dist/test_aiobuilder_cli_parity.js",
121
+ "test:catalog-quality": "npm run build && node dist/test_catalog_quality.js",
122
+ "test:royal-stack-golden": "npm run build && node dist/test_royal_stack_golden.js",
123
+ "test:soak": "npm run build && node dist/test_autonomous_soak.js",
124
+ "test:capability-pack-schema": "npm run build && node dist/test_capability_pack_schema.js",
125
+ "test:capability-genesis-engine": "npm run build && node dist/test_capability_genesis_engine.js",
126
+ "test:workflow-schema-backward-compat": "npm run build && node dist/test_workflow_schema_backward_compat.js",
127
+ "test:service-mode-explicit-only": "npm run build && node dist/test_service_mode_explicit_only.js",
128
+ "test:deep-research-capability": "npm run build && node dist/test_deep_research_capability.js",
129
+ "test:guided-creator-cli": "npm run build && node dist/test_guided_creator_cli.js",
130
+ "test:governance-v13-policies": "npm run build && node dist/test_governance_v13_policies.js",
131
+ "test:gateway-telegram-guardrails": "npm run build && node dist/test_gateway_telegram_guardrails.js",
132
+ "test:cron-manager": "npm run build && node dist/test_cron_manager.js",
133
+ "test:profile-toolset-mcp": "npm run build && node dist/test_profile_toolset_mcp.js",
134
+ "test:squad-skill-design-llm": "npm run build && node dist/test_squad_skill_design_llm.js",
135
+ "test:workflow-condition-parser": "npm run build && node dist/test_workflow_condition_parser.js",
136
+ "test:security-download-and-scan": "npm run build && node dist/test_security_download_and_scan.js",
137
+ "test:host-installers-gemini-codex": "npm run build && node dist/test_host_installers_gemini_codex.js",
138
+ "test:toolset-enforcement": "npm run build && node dist/test_toolset_enforcement.js",
139
+ "test:creator-placeholders-completed": "npm run build && node dist/test_creator_placeholders_completed.js",
140
+ "test:performance-latency": "npm run build && node dist/test_performance_latency.js",
141
+ "test:post-mission-evaluation": "npm run build && node dist/test_post_mission_evaluation.js",
142
+ "test:governance-scope-ledger": "npm run build && node dist/test_governance_scope_ledger.js",
143
+ "test:consequence-forecast-brain": "npm run build && node dist/test_consequence_forecast_brain.js",
144
+ "test:remote-publish": "npm run build && node dist/test_remote_publish.js",
145
+ "test:process-sandbox": "npm run build && node dist/test_process_sandbox.js",
146
+ "test:v15-e2e-integration": "npm run build && node dist/test_v15_e2e_integration.js",
147
+ "test:doctor-sandbox-check": "npm run build && node dist/test_doctor_sandbox_check.js",
148
+ "test:task-executor-sandbox-optin": "npm run build && node dist/test_task_executor_sandbox_optin.js",
149
+ "test:forecast-brain-wiring": "npm run build && node dist/test_forecast_brain_wiring.js",
150
+ "pretest:all": "node scripts/clean-test-pollution.js",
151
+ "test:all": "npm run build && node dist/test_distribution_installability.js && node dist/test_orchestration_assets_lifecycle.js && node dist/test_openlife_runtime_source_truth.js && node dist/test_openlife_evolution_surface.js && node dist/test_openlife_routing_surface.js && node dist/test_openlife_auto_creator_routing.js && node dist/test_openlife_gatekeeper_routing.js && node dist/test_enterprise_agentic_core.js && node dist/test_admin_teams_networks.js && node dist/test_agent_team_skill_network.js && node dist/test_benchmark_engine.js && node dist/test_cli_service_commands.js && node dist/test_consequence_forecaster.js && node dist/test_conversation_memory.js && node dist/test_create_entities.js && node dist/test_designmd_import_registry.js && node dist/test_designmd_mode.js && node dist/test_designmd_mode_workspace.js && node dist/test_dream_organizer.js && node dist/test_dual_mode.js && node dist/test_governance.js && node dist/test_governance_advanced.js && node dist/test_install_flow.js && node dist/test_job_lifecycle.js && node dist/test_memory_orchestrator.js && node dist/test_memory_promotion.js && node dist/test_memory_retention.js && node dist/test_operating_system.js && node dist/test_optimization_loop.js && node dist/test_outcome_simulator.js && node dist/test_performance_scorecard.js && node dist/test_phase6_board.js && node dist/test_phase6_cadence.js && node dist/test_phase6_ops.js && node dist/test_release_gate.js && node dist/test_reversa_contracts_e2e.js && node dist/test_reversa_export_and_strict.js && node dist/test_reversa_full_execution.js && node dist/test_reversa_lite.js && node dist/test_runtime_policy.js && node dist/test_runtime_probe.js && node dist/test_runtime_registry.js && node dist/test_security_download_guard.js && node dist/test_service_command_surface.js && node dist/test_service_completion_policy.js && node dist/test_service_guardrails_delete.js && node dist/test_sources_import_ref.js && node dist/test_sources_scaffold.js && node dist/test_teammate_learning.js && node dist/test_telegram_delete_guardrail.js && node dist/test_daemon_sigterm.js && node dist/test_ask_exit.js && node dist/test_brain_error_diagnostics.js && node dist/test_cli_doc_parity.js && node dist/test_trigger_basic_auth.js && node dist/test_brain_fallback_chain.js && node dist/test_cli_help_surface.js && node dist/test_cli_diagnostics.js && node dist/test_cli_crud_roundtrip.js && node dist/test_subsystems_routing_governance.js && node dist/test_subsystems_org_state.js && node dist/test_subsystems_promotion_memory_assets.js && node dist/test_phase1_check_exit.js && node dist/test_install_flow_host_validation.js && node dist/test_dist_templates_layout.js && node dist/test_host_installer.js && node dist/test_host_uninstaller.js && node dist/test_install_wizard.js && node dist/test_multi_host_docs_parity.js && node dist/test_host_install_e2e.js && node dist/test_runtime_profile_oauth_only.js && node dist/test_atomic_writer.js && node dist/test_mission_checkpoint.js && node dist/test_workflow_parser.js && node dist/test_workflow_engine.js && node dist/test_workflow_e2e.js && node dist/test_distributed_lock.js && node dist/test_watchdog_heartbeat.js && node dist/test_runtime_health_backoff.js && node dist/test_queue_scheduler.js && node dist/test_squad_skill_creator.js && node dist/test_aiobuilder_cli_parity.js && node dist/test_catalog_quality.js && node dist/test_royal_stack_golden.js && node dist/test_capability_pack_schema.js && node dist/test_capability_genesis_engine.js && node dist/test_workflow_schema_backward_compat.js && node dist/test_service_mode_explicit_only.js && node dist/test_deep_research_capability.js && node dist/test_guided_creator_cli.js && node dist/test_governance_v13_policies.js && node dist/test_gateway_telegram_guardrails.js && node dist/test_cron_manager.js && node dist/test_profile_toolset_mcp.js && node dist/test_squad_skill_design_llm.js && node dist/test_workflow_condition_parser.js && node dist/test_security_download_and_scan.js && node dist/test_host_installers_gemini_codex.js && node dist/test_toolset_enforcement.js && node dist/test_creator_placeholders_completed.js && node dist/test_performance_latency.js && node dist/test_post_mission_evaluation.js && node dist/test_governance_scope_ledger.js && node dist/test_consequence_forecast_brain.js && node dist/test_remote_publish.js && node dist/test_process_sandbox.js && node dist/test_v15_e2e_integration.js && node dist/test_doctor_sandbox_check.js && node dist/test_task_executor_sandbox_optin.js && node dist/test_forecast_brain_wiring.js",
152
+ "prepublishOnly": "npm run test:all"
153
+ },
154
+ "dependencies": {
155
+ "@anthropic-ai/sdk": "^0.86.1",
156
+ "@google/generative-ai": "^0.24.1",
157
+ "axios": "^1.15.0",
158
+ "commander": "^11.1.0",
159
+ "dotenv": "^16.3.1",
160
+ "express": "^5.2.1",
161
+ "fluent-ffmpeg": "^2.1.3",
162
+ "js-yaml": "^4.1.1",
163
+ "openai": "^6.33.0",
164
+ "telegraf": "^4.15.0",
165
+ "zod": "^3.22.4"
166
+ },
167
+ "devDependencies": {
168
+ "@types/express": "^5.0.6",
169
+ "@types/fluent-ffmpeg": "^2.1.28",
170
+ "@types/js-yaml": "^4.0.9",
171
+ "@types/node": "^20.10.0",
172
+ "ts-node": "^10.9.1",
173
+ "typescript": "^5.3.2"
174
+ },
175
+ "author": "Rafa Leão / Dani",
176
+ "license": "MIT"
177
+ }