@trac3er/oh-my-god 2.0.8 → 2.0.9

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 (118) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.gemini/settings.json +11 -0
  4. package/.kimi/mcp.json +11 -0
  5. package/CHANGELOG.md +10 -0
  6. package/OMG-setup.sh +1 -1
  7. package/OMG_COMPAT_CONTRACT.md +10 -4
  8. package/README.md +1 -0
  9. package/build/lib/commands/OMG:forge.md +92 -0
  10. package/build/lib/commands/OMG:mode.md +13 -13
  11. package/build/lib/commands/OMG:session-branch.md +17 -1
  12. package/build/lib/commands/OMG:session-fork.md +5 -1
  13. package/build/lib/commands/OMG:session-merge.md +5 -1
  14. package/build/lib/control_plane/server.py +4 -0
  15. package/build/lib/control_plane/service.py +55 -0
  16. package/build/lib/hooks/setup_wizard.py +21 -1
  17. package/build/lib/hooks/shadow_manager.py +25 -2
  18. package/build/lib/hooks/state_migration.py +3 -0
  19. package/build/lib/plugins/dephealth/cve_scanner.py +91 -0
  20. package/build/lib/plugins/dephealth/vuln_analyzer.py +7 -0
  21. package/build/lib/registry/omg-capability.schema.json +83 -1
  22. package/build/lib/runtime/adoption.py +12 -4
  23. package/build/lib/runtime/artifact_parsers.py +161 -0
  24. package/build/lib/runtime/background_verification.py +48 -0
  25. package/build/lib/runtime/claim_judge.py +184 -7
  26. package/build/lib/runtime/contract_compiler.py +118 -9
  27. package/build/lib/runtime/evidence_query.py +203 -0
  28. package/build/lib/runtime/omg_mcp_server.py +19 -0
  29. package/build/lib/runtime/playwright_adapter.py +39 -0
  30. package/build/lib/runtime/proof_chain.py +136 -8
  31. package/build/lib/runtime/proof_gate.py +102 -0
  32. package/build/lib/runtime/providers/gemini_provider.py +7 -0
  33. package/build/lib/runtime/providers/kimi_provider.py +7 -0
  34. package/build/lib/runtime/repro_pack.py +292 -0
  35. package/build/lib/runtime/runtime_profile.py +87 -15
  36. package/build/lib/runtime/security_check.py +86 -3
  37. package/build/lib/runtime/test_intent_lock.py +47 -0
  38. package/build/lib/runtime/tracebank.py +33 -3
  39. package/build/lib/runtime/verification_loop.py +73 -0
  40. package/commands/OMG:forge.md +92 -0
  41. package/commands/OMG:mode.md +13 -13
  42. package/commands/OMG:session-branch.md +17 -1
  43. package/commands/OMG:session-fork.md +5 -1
  44. package/commands/OMG:session-merge.md +5 -1
  45. package/control_plane/server.py +4 -0
  46. package/control_plane/service.py +55 -0
  47. package/dist/enterprise/bundle/.gemini/settings.json +11 -0
  48. package/dist/enterprise/bundle/.kimi/mcp.json +11 -0
  49. package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +9 -3
  50. package/dist/enterprise/bundle/registry/omg-capability.schema.json +83 -1
  51. package/dist/enterprise/bundle/settings.json +1 -0
  52. package/dist/enterprise/manifest.json +17 -3
  53. package/dist/public/bundle/.agents/skills/omg/incident-replay/SKILL.md +1 -1
  54. package/dist/public/bundle/.agents/skills/omg/incident-replay/openai.yaml +1 -1
  55. package/dist/public/bundle/.agents/skills/omg/lsp-pack/SKILL.md +1 -1
  56. package/dist/public/bundle/.agents/skills/omg/lsp-pack/openai.yaml +1 -1
  57. package/dist/public/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +1 -1
  58. package/dist/public/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +1 -1
  59. package/dist/public/bundle/.agents/skills/omg/plan-council/SKILL.md +1 -1
  60. package/dist/public/bundle/.agents/skills/omg/plan-council/openai.yaml +1 -1
  61. package/dist/public/bundle/.agents/skills/omg/preflight/SKILL.md +1 -1
  62. package/dist/public/bundle/.agents/skills/omg/preflight/openai.yaml +1 -1
  63. package/dist/public/bundle/.agents/skills/omg/proof-gate/SKILL.md +1 -1
  64. package/dist/public/bundle/.agents/skills/omg/proof-gate/openai.yaml +1 -1
  65. package/dist/public/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +1 -1
  66. package/dist/public/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +1 -1
  67. package/dist/public/bundle/.agents/skills/omg/robotics/SKILL.md +1 -1
  68. package/dist/public/bundle/.agents/skills/omg/robotics/openai.yaml +1 -1
  69. package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +1 -1
  70. package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +1 -1
  71. package/dist/public/bundle/.agents/skills/omg/security-check/SKILL.md +1 -1
  72. package/dist/public/bundle/.agents/skills/omg/security-check/openai.yaml +1 -1
  73. package/dist/public/bundle/.agents/skills/omg/test-intent-lock/SKILL.md +1 -1
  74. package/dist/public/bundle/.agents/skills/omg/test-intent-lock/openai.yaml +1 -1
  75. package/dist/public/bundle/.agents/skills/omg/tracebank/SKILL.md +1 -1
  76. package/dist/public/bundle/.agents/skills/omg/tracebank/openai.yaml +1 -1
  77. package/dist/public/bundle/.agents/skills/omg/vision/SKILL.md +1 -1
  78. package/dist/public/bundle/.agents/skills/omg/vision/openai.yaml +1 -1
  79. package/dist/public/bundle/.gemini/settings.json +11 -0
  80. package/dist/public/bundle/.kimi/mcp.json +11 -0
  81. package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +9 -3
  82. package/dist/public/bundle/registry/omg-capability.schema.json +83 -1
  83. package/dist/public/bundle/settings.json +2 -1
  84. package/dist/public/manifest.json +43 -29
  85. package/docs/proof.md +1 -0
  86. package/hooks/setup_wizard.py +21 -1
  87. package/hooks/shadow_manager.py +25 -2
  88. package/hooks/state_migration.py +3 -0
  89. package/hud/omg-hud.mjs +66 -3
  90. package/package.json +1 -1
  91. package/plugins/advanced/plugin.json +1 -1
  92. package/plugins/core/plugin.json +1 -1
  93. package/plugins/dephealth/cve_scanner.py +91 -0
  94. package/plugins/dephealth/vuln_analyzer.py +7 -0
  95. package/pyproject.toml +1 -1
  96. package/registry/omg-capability.schema.json +83 -1
  97. package/runtime/adoption.py +13 -5
  98. package/runtime/artifact_parsers.py +161 -0
  99. package/runtime/background_verification.py +48 -0
  100. package/runtime/claim_judge.py +184 -7
  101. package/runtime/contract_compiler.py +118 -9
  102. package/runtime/evidence_query.py +203 -0
  103. package/runtime/omg_mcp_server.py +19 -0
  104. package/runtime/playwright_adapter.py +39 -0
  105. package/runtime/proof_chain.py +136 -8
  106. package/runtime/proof_gate.py +102 -0
  107. package/runtime/providers/gemini_provider.py +7 -0
  108. package/runtime/providers/kimi_provider.py +7 -0
  109. package/runtime/repro_pack.py +292 -0
  110. package/runtime/runtime_profile.py +87 -15
  111. package/runtime/security_check.py +86 -3
  112. package/runtime/test_intent_lock.py +47 -0
  113. package/runtime/tracebank.py +33 -3
  114. package/runtime/verification_loop.py +73 -0
  115. package/scripts/omg.py +30 -3
  116. package/settings.json +4 -3
  117. package/tools/python_sandbox.py +9 -6
  118. package/tools/session_snapshot.py +146 -40
@@ -2,7 +2,7 @@ name: omg-plan-council
2
2
  description: "Canonical council-style planning bundle for explicit, evidence-backed deep plans."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: plan-council
7
7
  title: "OMG Plan Council"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Repo-aware route selection based on diff, manifests, and classifie
5
5
 
6
6
  # OMG Preflight
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/tracebank/events.jsonl`
@@ -2,7 +2,7 @@ name: omg-preflight
2
2
  description: "Repo-aware route selection based on diff, manifests, and classified risk."
3
3
  allow_implicit_invocation: true
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: preflight
7
7
  title: "OMG Preflight"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Structured release proof gate that binds claims to required eviden
5
5
 
6
6
  # OMG Proof Gate
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/evidence/proof-gate-*.json`
@@ -2,7 +2,7 @@ name: omg-proof-gate
2
2
  description: "Structured release proof gate that binds claims to required evidence artifacts and trace links."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: proof-gate
7
7
  title: "OMG Proof Gate"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Local-only authenticated supervisor sessions for worker orchestrat
5
5
 
6
6
  # OMG Remote Supervisor
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/supervisor/sessions/*.json`
@@ -2,7 +2,7 @@ name: omg-remote-supervisor
2
2
  description: "Local-only authenticated supervisor sessions for worker orchestration."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: remote-supervisor
7
7
  title: "OMG Remote Supervisor"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Robotics safety policy, replay, and evaluation attachments."
5
5
 
6
6
  # OMG Robotics Pack
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/incidents/*.json`
@@ -2,7 +2,7 @@ name: omg-robotics
2
2
  description: "Robotics safety policy, replay, and evaluation attachments."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: robotics
7
7
  title: "OMG Robotics Pack"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Ephemeral worktree execution and supervisor-safe worker dispatch f
5
5
 
6
6
  # OMG Secure Worktree Pipeline
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `automation, ephemeral_worktree, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/evidence/subagents/*.json`
@@ -2,7 +2,7 @@ name: omg-secure-worktree-pipeline
2
2
  description: "Ephemeral worktree execution and supervisor-safe worker dispatch for production jobs."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: secure-worktree-pipeline
7
7
  title: "OMG Secure Worktree Pipeline"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Canonical security audit bundle with provenance, trust scoring, an
5
5
 
6
6
  # OMG Security Check
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/evidence/security-check-*.json`
@@ -2,7 +2,7 @@ name: omg-security-check
2
2
  description: "Canonical security audit bundle with provenance, trust scoring, and deterministic evidence."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: security-check
7
7
  title: "OMG Security Check"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Structured test-delta guard that blocks weakened tests unless expl
5
5
 
6
6
  # OMG Test Intent Lock
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/evidence/test-intent-lock-*.json`
@@ -2,7 +2,7 @@ name: omg-test-intent-lock
2
2
  description: "Structured test-delta guard that blocks weakened tests unless explicit override evidence is present."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: test-intent-lock
7
7
  title: "OMG Test Intent Lock"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Structured plan-to-patch-to-verify trace capture for OMG routes."
5
5
 
6
6
  # OMG Tracebank
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/tracebank/events.jsonl`
@@ -2,7 +2,7 @@ name: omg-tracebank
2
2
  description: "Structured plan-to-patch-to-verify trace capture for OMG routes."
3
3
  allow_implicit_invocation: true
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: tracebank
7
7
  title: "OMG Tracebank"
8
8
  mcp_servers:
@@ -5,7 +5,7 @@ description: "Vision-specific lineage, drift, and replay attachments."
5
5
 
6
6
  # OMG Vision Pack
7
7
 
8
- - Channel: `public`
8
+ - Channel: `enterprise`
9
9
  - Execution modes: `embedded, local_supervisor`
10
10
  - MCP servers: `omg-control`
11
11
  - Evidence outputs: `.omg/lineage/*.json`
@@ -2,7 +2,7 @@ name: omg-vision
2
2
  description: "Vision-specific lineage, drift, and replay attachments."
3
3
  allow_implicit_invocation: false
4
4
  metadata:
5
- channel: public
5
+ channel: enterprise
6
6
  bundle_id: vision
7
7
  title: "OMG Vision Pack"
8
8
  mcp_servers:
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "omg-control": {
4
+ "command": "python3",
5
+ "args": [
6
+ "-m",
7
+ "runtime.omg_mcp_server"
8
+ ]
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "omg-control": {
4
+ "command": "python3",
5
+ "args": [
6
+ "-m",
7
+ "runtime.omg_mcp_server"
8
+ ]
9
+ }
10
+ }
11
+ }
@@ -4,6 +4,8 @@ version: 2.0.8
4
4
  canonical_hosts:
5
5
  - claude
6
6
  - codex
7
+ - gemini
8
+ - kimi
7
9
  status: active
8
10
  ---
9
11
 
@@ -13,10 +15,14 @@ status: active
13
15
 
14
16
  ## provider_tiers
15
17
 
16
- OMG distinguishes between canonical hosts and compatibility providers.
18
+ OMG defines four canonical hosts and their host-rule contracts.
17
19
 
18
- - **Canonical Hosts**: `claude` and `codex`. These are the primary targets for bundle compilation, native hook integration, and production-grade state management.
19
- - **Compatibility Providers**: `gemini` and `kimi`. These are supported via routing providers that emulate host behavior and bridge MCP configurations. They are not targets for direct bundle compilation or normative contract enforcement.
20
+ - `claude`: requires `compilation_targets`, `hooks`, `subagents`, and `skills`.
21
+ - `codex`: requires `compilation_targets`, `skills`, `agents_fragments`, `rules`, and `automations`.
22
+ - `gemini`: requires `compilation_targets`, `mcp`, `skills`, and `automations`.
23
+ - `kimi`: requires `compilation_targets`, `mcp`, `skills`, and `automations`.
24
+
25
+ Gemini and Kimi are canonical hosts for contract validation and policy declaration. Their contracts do not require Claude/Codex hook semantics.
20
26
 
21
27
  ## metadata
22
28
 
@@ -43,7 +43,9 @@
43
43
  "type": "string",
44
44
  "enum": [
45
45
  "claude",
46
- "codex"
46
+ "codex",
47
+ "gemini",
48
+ "kimi"
47
49
  ]
48
50
  },
49
51
  "minItems": 1
@@ -281,6 +283,86 @@
281
283
  }
282
284
  },
283
285
  "additionalProperties": true
286
+ },
287
+ "gemini": {
288
+ "type": "object",
289
+ "required": [
290
+ "compilation_targets",
291
+ "mcp",
292
+ "skills",
293
+ "automations"
294
+ ],
295
+ "properties": {
296
+ "compilation_targets": {
297
+ "type": "array",
298
+ "minItems": 1,
299
+ "items": {
300
+ "type": "string"
301
+ }
302
+ },
303
+ "mcp": {
304
+ "type": "array",
305
+ "minItems": 1,
306
+ "items": {
307
+ "type": "string"
308
+ }
309
+ },
310
+ "skills": {
311
+ "type": "array",
312
+ "minItems": 1,
313
+ "items": {
314
+ "type": "string"
315
+ }
316
+ },
317
+ "automations": {
318
+ "type": "array",
319
+ "minItems": 1,
320
+ "items": {
321
+ "type": "string"
322
+ }
323
+ }
324
+ },
325
+ "additionalProperties": true
326
+ },
327
+ "kimi": {
328
+ "type": "object",
329
+ "required": [
330
+ "compilation_targets",
331
+ "mcp",
332
+ "skills",
333
+ "automations"
334
+ ],
335
+ "properties": {
336
+ "compilation_targets": {
337
+ "type": "array",
338
+ "minItems": 1,
339
+ "items": {
340
+ "type": "string"
341
+ }
342
+ },
343
+ "mcp": {
344
+ "type": "array",
345
+ "minItems": 1,
346
+ "items": {
347
+ "type": "string"
348
+ }
349
+ },
350
+ "skills": {
351
+ "type": "array",
352
+ "minItems": 1,
353
+ "items": {
354
+ "type": "string"
355
+ }
356
+ },
357
+ "automations": {
358
+ "type": "array",
359
+ "minItems": 1,
360
+ "items": {
361
+ "type": "string"
362
+ }
363
+ }
364
+ },
365
+ "additionalProperties": true
284
366
  }
285
367
  },
286
368
  "additionalProperties": true
@@ -308,6 +308,7 @@
308
308
  "_omg": {
309
309
  "_version": "2.0.8",
310
310
  "preset": "safe",
311
+ "omgMode": "focused",
311
312
  "default_mode": "ulw+ralph",
312
313
  "vision_auto": true,
313
314
  "false_fix_detection": true,
@@ -360,7 +361,7 @@
360
361
  },
361
362
  "generated": {
362
363
  "contract_version": "2.0.8",
363
- "channel": "public",
364
+ "channel": "enterprise",
364
365
  "required_bundles": [
365
366
  "control-plane",
366
367
  "plan-council",
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "schema": "OmgCompiledArtifactManifest",
3
3
  "channel": "public",
4
+ "hosts": [
5
+ "claude",
6
+ "codex",
7
+ "gemini",
8
+ "kimi"
9
+ ],
4
10
  "contract_version": "2.0.8",
5
11
  "artifacts": [
6
12
  {
@@ -89,107 +95,107 @@
89
95
  },
90
96
  {
91
97
  "path": "bundle/.agents/skills/omg/incident-replay/SKILL.md",
92
- "sha256": "fe4538481bed5a924e9b2155bb84b5d36863a9c380014d7e5ec6185dbff0fb49"
98
+ "sha256": "017df90e8fccb74e128b5075526ef1b2ad159673dd9f5de49750ceeb08ebe8c5"
93
99
  },
94
100
  {
95
101
  "path": "bundle/.agents/skills/omg/incident-replay/openai.yaml",
96
- "sha256": "6685c86104f4257514dd25d3102baaba309020120bce925e6f40f6e5f43713f0"
102
+ "sha256": "f4ec374aef096a7806d6e099185dd891e84b8a73db8059970ef398434e867ff4"
97
103
  },
98
104
  {
99
105
  "path": "bundle/.agents/skills/omg/lsp-pack/SKILL.md",
100
- "sha256": "86890c6671441f8687ad7d71dedd7d61574c42aa6e109aa8dd6ceb4b6a139879"
106
+ "sha256": "d5c6773fa614fe6747f205283a82374b2167d1d9b32e7fd75f429072fadb8a3a"
101
107
  },
102
108
  {
103
109
  "path": "bundle/.agents/skills/omg/lsp-pack/openai.yaml",
104
- "sha256": "14000aec9cc9ff630b7354ae101cc43ed90c4e1ecd0fa719013741ca14598142"
110
+ "sha256": "6e99216f7b228e300a16ac3cbe4ae4fcbba6082b622387e6087b76a6cb76d3dc"
105
111
  },
106
112
  {
107
113
  "path": "bundle/.agents/skills/omg/mcp-fabric/SKILL.md",
108
- "sha256": "e741baf4fa5f09957fe37349b79fe6831afe0352eefa945f3e53514ea313bc36"
114
+ "sha256": "fc17847f79397dba144ddbb40a8ad3207494c3a7f0b2dde1dc55dce2e5b117a9"
109
115
  },
110
116
  {
111
117
  "path": "bundle/.agents/skills/omg/mcp-fabric/openai.yaml",
112
- "sha256": "18dc35b4d6fb598b572ec933153e80de5449be9e07ef07178e4f875e39a8915c"
118
+ "sha256": "2165ff298b110ef7fb6c42b6b539f8397b8772218de3fa2b8c2332fdd8db6d48"
113
119
  },
114
120
  {
115
121
  "path": "bundle/.agents/skills/omg/plan-council/SKILL.md",
116
- "sha256": "0c7e92cebcfbb22a4f267008b97947ae80f880906a5593e0bdc1baa60bb6c054"
122
+ "sha256": "f6fa96029e14e71b2d89c84f4312a68e25528b584ecf871c1cf3779e944ba0fc"
117
123
  },
118
124
  {
119
125
  "path": "bundle/.agents/skills/omg/plan-council/openai.yaml",
120
- "sha256": "fee8d5ce4acc9cc03f5de73701bf0cfd866de7acaa1ff4c3cb518a47c1399a26"
126
+ "sha256": "3afa688f970eb964620431b9638f7d290700f878add7ae999442df9c4dbb4f67"
121
127
  },
122
128
  {
123
129
  "path": "bundle/.agents/skills/omg/preflight/SKILL.md",
124
- "sha256": "1f7783ff53f59a4368f1ec7746faa3f1a66805312291851f43ae2fe6a7d58f30"
130
+ "sha256": "f9876277a0b836a3bcbe6e8b140368a85447658820974e09bec2fb1795fb0307"
125
131
  },
126
132
  {
127
133
  "path": "bundle/.agents/skills/omg/preflight/openai.yaml",
128
- "sha256": "1074dff95ae9f6951cdd9bb3d6b5c4add7d6a688b0ceed3d79d365dff42bfca6"
134
+ "sha256": "97945c1a557703c41b53c68797ab9b5a38f8d69e1a9af45ed427bee7e37f589c"
129
135
  },
130
136
  {
131
137
  "path": "bundle/.agents/skills/omg/proof-gate/SKILL.md",
132
- "sha256": "9f6c58e6c8c8c967cfa276e7efe06d1cce8d964ffd0ce8e131794496614ec759"
138
+ "sha256": "c421002fb132dcad1f02f69dca7f10e36e7d66e15c3a79b2531193eaea88253b"
133
139
  },
134
140
  {
135
141
  "path": "bundle/.agents/skills/omg/proof-gate/openai.yaml",
136
- "sha256": "5e9cac6f19099fc3ed6492551484570cabcba8b479cdee254721c05be296780d"
142
+ "sha256": "b38d5daf13301e7428565cd95a2af42d4ff3368d3394814fe11b50ee673e9ee6"
137
143
  },
138
144
  {
139
145
  "path": "bundle/.agents/skills/omg/remote-supervisor/SKILL.md",
140
- "sha256": "506988d9eb379dad027ad1dd0087e81f12594faed16a91dbda021975de28e19f"
146
+ "sha256": "05be2c248fc0eee2a3db70c0ddeba32b25881b3cc914ce16b719292add77b0c3"
141
147
  },
142
148
  {
143
149
  "path": "bundle/.agents/skills/omg/remote-supervisor/openai.yaml",
144
- "sha256": "f4a87ea5ed5759c073adbdc9704d7bf75b16ba5ba3e5ceaa3c926c44e6d84dd2"
150
+ "sha256": "e7f8a7c1f099c76d0aafc95b535e10a1c07e591a5db09a67ecccedc0ebd68c26"
145
151
  },
146
152
  {
147
153
  "path": "bundle/.agents/skills/omg/robotics/SKILL.md",
148
- "sha256": "fa191d7d7662321fa48cd1bbd25af59282c95d396ee959fd65fa873db4aa53c3"
154
+ "sha256": "1a54e7292d39aaced9f296bcdc65cc86b41dfa41d95f063582e1dc249ffb48c5"
149
155
  },
150
156
  {
151
157
  "path": "bundle/.agents/skills/omg/robotics/openai.yaml",
152
- "sha256": "d6c28424bbcf9457da1fa5a0aff3952a5aca8a6e66257b633962c58e3e365f5c"
158
+ "sha256": "8d6b6539867cb4080c4502d3325f9f32954290ace6bbc2bb20e9acbf619b61a5"
153
159
  },
154
160
  {
155
161
  "path": "bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md",
156
- "sha256": "1eebd557d77cc084161c3ffe11ed3a9ea5d78caa65b1021a992ac8b835fc6a0d"
162
+ "sha256": "a11292d0122844f7c185e21943d3a39ef3213cf5348f40f006c8fdc8b62f252f"
157
163
  },
158
164
  {
159
165
  "path": "bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml",
160
- "sha256": "1f82a05b2fcad17c126e34541c995dedf3ed242fa499539ab693cc60a0d41c77"
166
+ "sha256": "c766a383969893fd29fcd1da712e29e0422709a7b9f665e53e1ca8187c2bd207"
161
167
  },
162
168
  {
163
169
  "path": "bundle/.agents/skills/omg/security-check/SKILL.md",
164
- "sha256": "5d2131c7d93780b139917149017ffa696ea17da403506ab6077aff4e4a52e69a"
170
+ "sha256": "30cc33d0b6c3d7d4c968f917121bcea3d696be80c3896da2635a63a01c4afa91"
165
171
  },
166
172
  {
167
173
  "path": "bundle/.agents/skills/omg/security-check/openai.yaml",
168
- "sha256": "cf06bd8b852ad6c4694d8aeadd05ae4c9b63d32fa5cee085152683c65a3343e5"
174
+ "sha256": "9c47e9fa2ddcb341fa75d4307c5e36e0b928b06fdb28bd7b69ca6cb5941f6b77"
169
175
  },
170
176
  {
171
177
  "path": "bundle/.agents/skills/omg/test-intent-lock/SKILL.md",
172
- "sha256": "ec04b427841b40bc390db1403d52933c24c26b7d3cabb762e39ccc508f33127a"
178
+ "sha256": "98eca9c53d5228dddd218c29914aab8af5d94eb4ad19ed54e9947af4e53f959c"
173
179
  },
174
180
  {
175
181
  "path": "bundle/.agents/skills/omg/test-intent-lock/openai.yaml",
176
- "sha256": "57ee74b4a518afb6d524038fb461f20892f295c7bae74f223acfe51a8f645199"
182
+ "sha256": "62934b4eef9e0bd516d7db4864cf178e8367d47c7b5a5f9f883427c633e416fa"
177
183
  },
178
184
  {
179
185
  "path": "bundle/.agents/skills/omg/tracebank/SKILL.md",
180
- "sha256": "c4ba5cbe7acca1be333f376f27f800482c1080eb8e95b34744313f1d64a84fcd"
186
+ "sha256": "5bac45273cd62373fb4387f8e64a63c4fb69f984a44ee79938be2273b5913b03"
181
187
  },
182
188
  {
183
189
  "path": "bundle/.agents/skills/omg/tracebank/openai.yaml",
184
- "sha256": "556e2ec3ac5a8e1b9bd40ecb7a744e85b49e34c5af899101070e7e72c9f45621"
190
+ "sha256": "5896ef1980b5a13171756eb27f317d3b32b7d084133552f1d11dfea12d8742ab"
185
191
  },
186
192
  {
187
193
  "path": "bundle/.agents/skills/omg/vision/SKILL.md",
188
- "sha256": "a96b2fce777f5d9e6895c83b8d5d6eba98d5383d1c54f60a877ed22ec6a79011"
194
+ "sha256": "9cd5405640edc6e80a8110234f59f6aeb197ececa37a145619d30083ee2263d4"
189
195
  },
190
196
  {
191
197
  "path": "bundle/.agents/skills/omg/vision/openai.yaml",
192
- "sha256": "ea3b553bed57095f44103c154315e2f6017e1767708339a8760fb3a735d15075"
198
+ "sha256": "8a6f4e40c91ffff3686af47f6902043cf090df7afc530b052f1344efe9cc8e0a"
193
199
  },
194
200
  {
195
201
  "path": "bundle/.claude-plugin/marketplace.json",
@@ -199,13 +205,21 @@
199
205
  "path": "bundle/.claude-plugin/plugin.json",
200
206
  "sha256": "fe7531e0527d288413151433ee5daa3106383442024d5dad072373f8f26d57d1"
201
207
  },
208
+ {
209
+ "path": "bundle/.gemini/settings.json",
210
+ "sha256": "14208140297f635cc5155cfe063c9b8a6193a3d0a264e0686cf3b80789208f27"
211
+ },
212
+ {
213
+ "path": "bundle/.kimi/mcp.json",
214
+ "sha256": "14208140297f635cc5155cfe063c9b8a6193a3d0a264e0686cf3b80789208f27"
215
+ },
202
216
  {
203
217
  "path": "bundle/.mcp.json",
204
218
  "sha256": "e16897732dbd20ba7f47e5c0513b146a8d847454c8c13aa9e0a6031e5a498fa4"
205
219
  },
206
220
  {
207
221
  "path": "bundle/OMG_COMPAT_CONTRACT.md",
208
- "sha256": "4c628cf93698b051e183db0ddaa80dbdac7a3667071d048cba0f25419271e28d"
222
+ "sha256": "706b57c51e105bc6654b457596df9332e8c1f73703596fe248bd24c2ae3a59e9"
209
223
  },
210
224
  {
211
225
  "path": "bundle/plugins/advanced/commands/OMG:code-review.md",
@@ -341,11 +355,11 @@
341
355
  },
342
356
  {
343
357
  "path": "bundle/registry/omg-capability.schema.json",
344
- "sha256": "486751cecb434c5f169189528ebe5c7ddddadcb0549abdd59f09e7b10844aba1"
358
+ "sha256": "a9076f09cd9a12ba769c2b05f80a24195ac851b9ad2b817efa41d6143765c513"
345
359
  },
346
360
  {
347
361
  "path": "bundle/settings.json",
348
- "sha256": "b9bb5303b8d0495cd9ef9933e5fef44b083587e745c7065be2007e197fde8f4b"
362
+ "sha256": "7213d38cb5fd0699482120e1e5a2e50b3386f05bbf8e45b48c9007365058388b"
349
363
  }
350
364
  ]
351
365
  }
package/docs/proof.md CHANGED
@@ -35,6 +35,7 @@ OMG keeps verification visible instead of burying it in implementation details.
35
35
  - Native setup writes `.omg/state/adoption-report.json`
36
36
  - Native setup writes `.omg/state/cli-config.yaml`
37
37
  - `OMG-only` and `coexist` are both covered in setup tests
38
+ - Canonical modes: `chill`, `focused`, `exploratory`
38
39
  - OMC, OMX, and Superpowers references stay limited to compatibility and adoption guidance
39
40
 
40
41
  ## HUD Artifact
@@ -12,7 +12,7 @@ from typing import Any, cast
12
12
 
13
13
  import yaml
14
14
 
15
- from _common import get_feature_flag
15
+ from hooks._common import get_feature_flag
16
16
 
17
17
  # Ensure project root is on sys.path for runtime imports
18
18
  _PROJECT_ROOT = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), ".."))
@@ -36,8 +36,10 @@ import runtime.providers.codex_provider # noqa: E402, F401
36
36
  import runtime.providers.gemini_provider # noqa: E402, F401
37
37
  import runtime.providers.kimi_provider # noqa: E402, F401
38
38
  from runtime.adoption import ( # noqa: E402
39
+ CANONICAL_MODE_NAMES,
39
40
  CANONICAL_VERSION,
40
41
  build_adoption_report,
42
+ get_mode_profile,
41
43
  get_preset_features,
42
44
  resolve_preset,
43
45
  write_adoption_report,
@@ -416,6 +418,17 @@ def check_auth() -> dict[str, Any]:
416
418
  _HTTP_MEMORY_MIN_LEVEL: int = _PRESET_LEVEL["interop"]
417
419
 
418
420
 
421
+ def get_mode_choices() -> list[str]:
422
+ return list(CANONICAL_MODE_NAMES)
423
+
424
+
425
+ def select_setup_mode(mode: str | None) -> str:
426
+ candidate = (mode or "").strip().lower()
427
+ if candidate in CANONICAL_MODE_NAMES:
428
+ return candidate
429
+ return "focused"
430
+
431
+
419
432
  def configure_mcp(
420
433
  project_dir: str,
421
434
  detected_clis: dict[str, Any],
@@ -599,6 +612,7 @@ def run_setup_wizard(
599
612
  non_interactive: bool = False,
600
613
  *,
601
614
  mode: str | None = None,
615
+ setup_mode: str | None = None,
602
616
  adopt: str = "auto",
603
617
  preset: str | None = None,
604
618
  ) -> dict[str, Any]:
@@ -622,6 +636,7 @@ def run_setup_wizard(
622
636
  }
623
637
 
624
638
  selected_preset = resolve_preset(preset or ("balanced" if non_interactive else "safe"))
639
+ selected_setup_mode = select_setup_mode(setup_mode)
625
640
  adoption = build_adoption_report(
626
641
  project_dir,
627
642
  requested_mode=mode,
@@ -638,6 +653,11 @@ def run_setup_wizard(
638
653
 
639
654
  return {
640
655
  "status": "complete",
656
+ "setup_mode": {
657
+ "choices": get_mode_choices(),
658
+ "selected": selected_setup_mode,
659
+ "profile": get_mode_profile(selected_setup_mode),
660
+ },
641
661
  "clis_detected": clis,
642
662
  "auth_status": auth,
643
663
  "mcp_configured": mcp,