@trac3er/oh-my-god 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +8 -8
- package/.claude-plugin/plugin.json +5 -4
- package/.claude-plugin/scripts/uninstall.sh +74 -3
- package/.claude-plugin/scripts/update.sh +78 -3
- package/.coveragerc +26 -0
- package/.mcp.json +4 -4
- package/CHANGELOG.md +14 -0
- package/CODE_OF_CONDUCT.md +27 -0
- package/CONTRIBUTING.md +62 -0
- package/OMG-setup.sh +1201 -355
- package/README.md +77 -56
- package/SECURITY.md +25 -0
- package/agents/__init__.py +1 -0
- package/agents/model_roles.py +196 -0
- package/agents/omg-architect-mode.md +3 -5
- package/agents/omg-backend-engineer.md +3 -5
- package/agents/omg-database-engineer.md +3 -5
- package/agents/omg-frontend-designer.md +4 -5
- package/agents/omg-implement-mode.md +4 -5
- package/agents/omg-infra-engineer.md +3 -5
- package/agents/omg-research-mode.md +4 -6
- package/agents/omg-security-auditor.md +3 -5
- package/agents/omg-testing-engineer.md +3 -5
- package/build/lib/yaml.py +321 -0
- package/commands/OMG:ai-commit.md +101 -14
- package/commands/OMG:arch.md +302 -19
- package/commands/OMG:ccg.md +12 -7
- package/commands/OMG:compat.md +25 -17
- package/commands/OMG:cost.md +173 -13
- package/commands/OMG:crazy.md +1 -1
- package/commands/OMG:create-agent.md +170 -20
- package/commands/OMG:deps.md +235 -17
- package/commands/OMG:domain-init.md +1 -1
- package/commands/OMG:escalate.md +41 -12
- package/commands/OMG:health-check.md +37 -13
- package/commands/OMG:init.md +122 -14
- package/commands/OMG:project-init.md +1 -1
- package/commands/OMG:session-branch.md +76 -9
- package/commands/OMG:session-fork.md +42 -5
- package/commands/OMG:session-merge.md +124 -8
- package/commands/OMG:setup.md +69 -12
- package/commands/OMG:stats.md +215 -14
- package/commands/OMG:teams.md +19 -10
- package/config/lsp_languages.yaml +8 -0
- package/hooks/__init__.py +0 -0
- package/hooks/_agent_registry.py +423 -0
- package/hooks/_analytics.py +291 -0
- package/hooks/_budget.py +31 -0
- package/hooks/_common.py +569 -0
- package/hooks/_compression_optimizer.py +119 -0
- package/hooks/_cost_ledger.py +176 -0
- package/hooks/_learnings.py +126 -0
- package/hooks/_memory.py +103 -0
- package/hooks/_protected_context.py +150 -0
- package/hooks/_token_counter.py +221 -0
- package/hooks/branch_manager.py +236 -0
- package/hooks/budget_governor.py +232 -0
- package/hooks/circuit-breaker.py +270 -0
- package/hooks/compression_feedback.py +254 -0
- package/hooks/config-guard.py +216 -0
- package/hooks/context_pressure.py +53 -0
- package/hooks/credential_store.py +1020 -0
- package/hooks/fetch-rate-limits.py +212 -0
- package/hooks/firewall.py +48 -0
- package/hooks/hashline-formatter-bridge.py +224 -0
- package/hooks/hashline-injector.py +273 -0
- package/hooks/hashline-validator.py +216 -0
- package/hooks/idle-detector.py +95 -0
- package/hooks/intentgate-keyword-detector.py +188 -0
- package/hooks/magic-keyword-router.py +195 -0
- package/hooks/policy_engine.py +505 -0
- package/hooks/post-tool-failure.py +19 -0
- package/hooks/post-write.py +219 -0
- package/hooks/post_write.py +46 -0
- package/hooks/pre-compact.py +398 -0
- package/hooks/pre-tool-inject.py +98 -0
- package/hooks/prompt-enhancer.py +672 -0
- package/hooks/quality-runner.py +191 -0
- package/hooks/query.py +512 -0
- package/hooks/secret-guard.py +61 -0
- package/hooks/secret_audit.py +144 -0
- package/hooks/session-end-capture.py +137 -0
- package/hooks/session-start.py +277 -0
- package/hooks/setup_wizard.py +582 -0
- package/hooks/shadow_manager.py +297 -0
- package/hooks/state_migration.py +225 -0
- package/hooks/stop-gate.py +7 -0
- package/hooks/stop_dispatcher.py +945 -0
- package/hooks/test-validator.py +361 -0
- package/hooks/test_generator_hook.py +123 -0
- package/hooks/todo-state-tracker.py +114 -0
- package/hooks/tool-ledger.py +149 -0
- package/hooks/trust_review.py +585 -0
- package/hud/omg-hud.mjs +31 -1
- package/lab/__init__.py +1 -0
- package/lab/pipeline.py +75 -0
- package/lab/policies.py +52 -0
- package/package.json +7 -18
- package/plugins/README.md +33 -61
- package/plugins/advanced/commands/OMG:deep-plan.md +3 -3
- package/plugins/advanced/commands/OMG:learn.md +1 -1
- package/plugins/advanced/commands/OMG:security-review.md +3 -3
- package/plugins/advanced/commands/OMG:ship.md +1 -1
- package/plugins/advanced/plugin.json +1 -1
- package/plugins/core/plugin.json +8 -3
- package/plugins/dephealth/__init__.py +0 -0
- package/plugins/dephealth/cve_scanner.py +188 -0
- package/plugins/dephealth/license_checker.py +135 -0
- package/plugins/dephealth/manifest_detector.py +423 -0
- package/plugins/dephealth/vuln_analyzer.py +169 -0
- package/plugins/testgen/__init__.py +0 -0
- package/plugins/testgen/codamosa_engine.py +402 -0
- package/plugins/testgen/edge_case_synthesizer.py +184 -0
- package/plugins/testgen/framework_detector.py +271 -0
- package/plugins/testgen/skeleton_generator.py +219 -0
- package/plugins/viz/__init__.py +0 -0
- package/plugins/viz/ast_parser.py +139 -0
- package/plugins/viz/diagram_generator.py +192 -0
- package/plugins/viz/graph_builder.py +444 -0
- package/plugins/viz/native_parsers.py +259 -0
- package/plugins/viz/regex_parser.py +112 -0
- package/pyproject.toml +81 -0
- package/rules/contextual/write-verify.md +2 -2
- package/rules/core/00-truth.md +1 -1
- package/rules/core/01-surgical.md +1 -1
- package/rules/core/02-circuit-breaker.md +2 -2
- package/rules/core/03-ensemble.md +3 -3
- package/rules/core/04-testing.md +3 -3
- package/runtime/__init__.py +32 -0
- package/runtime/adapters/__init__.py +13 -0
- package/runtime/adapters/claude.py +60 -0
- package/runtime/adapters/gpt.py +53 -0
- package/runtime/adapters/local.py +53 -0
- package/runtime/adoption.py +212 -0
- package/runtime/business_workflow.py +220 -0
- package/runtime/cli_provider.py +85 -0
- package/runtime/compat.py +1299 -0
- package/runtime/custom_agent_loader.py +366 -0
- package/runtime/dispatcher.py +47 -0
- package/runtime/ecosystem.py +371 -0
- package/runtime/legacy_compat.py +7 -0
- package/runtime/mcp_config_writers.py +115 -0
- package/runtime/mcp_lifecycle.py +153 -0
- package/runtime/mcp_memory_server.py +135 -0
- package/runtime/memory_parsers/__init__.py +0 -0
- package/runtime/memory_parsers/chatgpt_parser.py +257 -0
- package/runtime/memory_parsers/claude_import.py +107 -0
- package/runtime/memory_parsers/export.py +97 -0
- package/runtime/memory_parsers/gemini_import.py +91 -0
- package/runtime/memory_parsers/kimi_import.py +91 -0
- package/runtime/memory_store.py +215 -0
- package/runtime/omc_compat.py +7 -0
- package/runtime/providers/__init__.py +0 -0
- package/runtime/providers/codex_provider.py +112 -0
- package/runtime/providers/gemini_provider.py +128 -0
- package/runtime/providers/kimi_provider.py +151 -0
- package/runtime/providers/opencode_provider.py +144 -0
- package/runtime/subagent_dispatcher.py +362 -0
- package/runtime/team_router.py +1167 -0
- package/runtime/tmux_session_manager.py +169 -0
- package/scripts/check-omg-compat-contract-snapshot.py +137 -0
- package/scripts/check-omg-contract-snapshot.py +12 -0
- package/scripts/check-omg-public-ready.py +193 -0
- package/scripts/check-omg-standalone-clean.py +103 -0
- package/scripts/legacy_to_omg_migrate.py +29 -0
- package/scripts/migrate-legacy.py +464 -0
- package/scripts/omc_to_omg_migrate.py +12 -0
- package/scripts/omg.py +492 -0
- package/scripts/settings-merge.py +283 -0
- package/scripts/verify-standalone.sh +8 -4
- package/settings.json +126 -29
- package/templates/profile.yaml +1 -1
- package/tools/__init__.py +2 -0
- package/tools/browser_consent.py +289 -0
- package/tools/browser_stealth.py +481 -0
- package/tools/browser_tool.py +448 -0
- package/tools/changelog_generator.py +347 -0
- package/tools/commit_splitter.py +746 -0
- package/tools/config_discovery.py +151 -0
- package/tools/config_merger.py +449 -0
- package/tools/dashboard_generator.py +300 -0
- package/tools/git_inspector.py +298 -0
- package/tools/lsp_client.py +275 -0
- package/tools/lsp_discovery.py +231 -0
- package/tools/lsp_operations.py +392 -0
- package/tools/pr_generator.py +404 -0
- package/tools/python_repl.py +656 -0
- package/tools/python_sandbox.py +609 -0
- package/tools/search_providers/__init__.py +77 -0
- package/tools/search_providers/brave.py +115 -0
- package/tools/search_providers/exa.py +116 -0
- package/tools/search_providers/jina.py +104 -0
- package/tools/search_providers/perplexity.py +139 -0
- package/tools/search_providers/synthetic.py +74 -0
- package/tools/session_snapshot.py +736 -0
- package/tools/ssh_manager.py +912 -0
- package/tools/theme_engine.py +294 -0
- package/tools/theme_selector.py +137 -0
- package/tools/web_search.py +622 -0
- package/yaml.py +321 -0
- package/.claude-plugin/scripts/install.sh +0 -9
- package/bun.lock +0 -23
- package/bunfig.toml +0 -3
- package/hooks/_budget.ts +0 -1
- package/hooks/_common.ts +0 -63
- package/hooks/circuit-breaker.ts +0 -101
- package/hooks/config-guard.ts +0 -4
- package/hooks/firewall.ts +0 -20
- package/hooks/policy_engine.ts +0 -156
- package/hooks/post-tool-failure.ts +0 -22
- package/hooks/post-write.ts +0 -4
- package/hooks/pre-tool-inject.ts +0 -4
- package/hooks/prompt-enhancer.ts +0 -46
- package/hooks/quality-runner.ts +0 -24
- package/hooks/secret-guard.ts +0 -4
- package/hooks/session-end-capture.ts +0 -19
- package/hooks/session-start.ts +0 -19
- package/hooks/shadow_manager.ts +0 -81
- package/hooks/stop-gate.ts +0 -22
- package/hooks/stop_dispatcher.ts +0 -147
- package/hooks/test-generator-hook.ts +0 -4
- package/hooks/tool-ledger.ts +0 -27
- package/hooks/trust_review.ts +0 -175
- package/lab/pipeline.ts +0 -75
- package/lab/policies.ts +0 -68
- package/runtime/common.ts +0 -111
- package/runtime/compat.ts +0 -174
- package/runtime/dispatcher.ts +0 -25
- package/runtime/ecosystem.ts +0 -186
- package/runtime/provider_bootstrap.ts +0 -99
- package/runtime/provider_smoke.ts +0 -34
- package/runtime/release_readiness.ts +0 -186
- package/runtime/team_router.ts +0 -144
- package/scripts/check-omg-compat-contract-snapshot.ts +0 -20
- package/scripts/check-omg-standalone-clean.ts +0 -12
- package/scripts/check-runtime-clean.ts +0 -94
- package/scripts/omg.ts +0 -352
- package/scripts/settings-merge.ts +0 -93
- package/tools/commit_splitter.ts +0 -23
- package/tools/git_inspector.ts +0 -18
- package/tools/session_snapshot.ts +0 -47
- package/trac3er-oh-my-god-2.0.0.tgz +0 -0
- package/tsconfig.json +0 -15
package/commands/OMG:stats.md
CHANGED
|
@@ -1,24 +1,225 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Display session analytics, tool usage trends, file
|
|
3
|
-
allowed-tools: Read, Bash(
|
|
2
|
+
description: "Display session analytics, tool usage trends, file heatmaps, and failure patterns."
|
|
3
|
+
allowed-tools: Read, Bash(python*:*), Grep
|
|
4
4
|
argument-hint: "[weekly|files|failures|dashboard]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# /OMG:stats
|
|
7
|
+
# /OMG:stats — Session Analytics
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Display session analytics, tool usage trends, file heatmaps, and failure patterns.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Usage
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
```
|
|
14
|
+
/OMG:stats
|
|
15
|
+
/OMG:stats weekly
|
|
16
|
+
/OMG:stats files
|
|
17
|
+
/OMG:stats failures
|
|
18
|
+
/OMG:stats dashboard
|
|
19
|
+
```
|
|
16
20
|
|
|
17
|
-
##
|
|
21
|
+
## Sub-Commands
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
- failure hotspots emitted by `hooks/circuit-breaker.ts`
|
|
21
|
-
- file-level activity recorded by hook ledgers
|
|
22
|
-
- dashboard artifacts under `.omg/state/`
|
|
23
|
+
### `/OMG:stats` (default)
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
Show current session summary: duration, tool calls, success rate, cost, and test runs.
|
|
26
|
+
|
|
27
|
+
```python
|
|
28
|
+
from hooks.query import get_session_summary
|
|
29
|
+
|
|
30
|
+
summary = get_session_summary(".")
|
|
31
|
+
duration_m = summary["duration"] // 60
|
|
32
|
+
duration_s = summary["duration"] % 60
|
|
33
|
+
print(f"Duration: {duration_m}m {duration_s}s")
|
|
34
|
+
print(f"Tool calls: {summary['tool_calls']}")
|
|
35
|
+
print(f"Success rate: {summary['success_rate']:.1%}")
|
|
36
|
+
print(f"Files modified: {summary['files_modified']}")
|
|
37
|
+
print(f"Tests run: {summary['tests_run']}")
|
|
38
|
+
print(f"Tokens used: {summary['tokens_used']:,}")
|
|
39
|
+
print(f"Cost: ${summary['cost_usd']:.4f}")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### `/OMG:stats weekly`
|
|
43
|
+
|
|
44
|
+
Show last 7 days trend analysis by aggregating tool stats and escalation effectiveness.
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
from hooks.query import get_tool_stats, get_escalation_effectiveness
|
|
48
|
+
|
|
49
|
+
tools = get_tool_stats(".")
|
|
50
|
+
escalations = get_escalation_effectiveness(".")
|
|
51
|
+
|
|
52
|
+
# Per-tool breakdown
|
|
53
|
+
for tool, stats in sorted(tools.items(), key=lambda x: x[1]["count"], reverse=True):
|
|
54
|
+
print(f" {tool}: {stats['count']} calls, {stats['success_rate']:.0%} success, {stats['avg_tokens']:.0f} avg tokens")
|
|
55
|
+
|
|
56
|
+
# Escalation summary
|
|
57
|
+
print(f"\nEscalations: {escalations['escalations']} total, {escalations['resolved']} resolved, {escalations['unresolved']} unresolved")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### `/OMG:stats files`
|
|
61
|
+
|
|
62
|
+
Show file-level heatmap of the most read, written, and edited files.
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
from hooks.query import get_file_heatmap
|
|
66
|
+
|
|
67
|
+
heatmap = get_file_heatmap(".")
|
|
68
|
+
|
|
69
|
+
# Sort by total interactions (reads + writes + edits)
|
|
70
|
+
ranked = sorted(
|
|
71
|
+
heatmap.items(),
|
|
72
|
+
key=lambda x: x[1]["reads"] + x[1]["writes"] + x[1]["edits"],
|
|
73
|
+
reverse=True,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
print(f"{'File':<50} {'Reads':>6} {'Writes':>7} {'Edits':>6}")
|
|
77
|
+
print("-" * 73)
|
|
78
|
+
for path, counts in ranked[:20]:
|
|
79
|
+
total = counts["reads"] + counts["writes"] + counts["edits"]
|
|
80
|
+
print(f"{path:<50} {counts['reads']:>6} {counts['writes']:>7} {counts['edits']:>6}")
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### `/OMG:stats failures`
|
|
84
|
+
|
|
85
|
+
Show top failure patterns and their resolution status.
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
from hooks.query import get_failure_hotspots, get_escalation_effectiveness
|
|
89
|
+
|
|
90
|
+
hotspots = get_failure_hotspots(".")
|
|
91
|
+
escalations = get_escalation_effectiveness(".")
|
|
92
|
+
|
|
93
|
+
for pattern, details in sorted(hotspots.items(), key=lambda x: x[1]["count"], reverse=True):
|
|
94
|
+
status = "ESCALATED" if details["escalated"] else "active"
|
|
95
|
+
print(f" [{status}] {pattern}: {details['count']} failures")
|
|
96
|
+
for err in details["last_3_errors"]:
|
|
97
|
+
print(f" - {err[:100]}")
|
|
98
|
+
|
|
99
|
+
print(f"\nResolution: {escalations['resolved']}/{escalations['escalations']} escalations resolved")
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### `/OMG:stats dashboard`
|
|
103
|
+
|
|
104
|
+
Generate a self-contained HTML dashboard at `.omg/state/dashboard.html`.
|
|
105
|
+
|
|
106
|
+
The dashboard includes:
|
|
107
|
+
- Session summary cards (duration, tool calls, cost, success rate)
|
|
108
|
+
- Tool usage bar chart (via CDN Chart.js)
|
|
109
|
+
- File heatmap table (top 20 files by interaction count)
|
|
110
|
+
- Failure pattern list with escalation status
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
import json
|
|
114
|
+
import os
|
|
115
|
+
from hooks.query import (
|
|
116
|
+
get_session_summary,
|
|
117
|
+
get_tool_stats,
|
|
118
|
+
get_file_heatmap,
|
|
119
|
+
get_failure_hotspots,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
summary = get_session_summary(".")
|
|
123
|
+
tools = get_tool_stats(".")
|
|
124
|
+
heatmap = get_file_heatmap(".")
|
|
125
|
+
failures = get_failure_hotspots(".")
|
|
126
|
+
|
|
127
|
+
dashboard_data = {
|
|
128
|
+
"summary": summary,
|
|
129
|
+
"tools": tools,
|
|
130
|
+
"heatmap": dict(sorted(
|
|
131
|
+
heatmap.items(),
|
|
132
|
+
key=lambda x: x[1]["reads"] + x[1]["writes"] + x[1]["edits"],
|
|
133
|
+
reverse=True,
|
|
134
|
+
)[:20]),
|
|
135
|
+
"failures": failures,
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
# Write self-contained HTML with embedded Chart.js
|
|
139
|
+
output_path = os.path.join(".omg", "state", "dashboard.html")
|
|
140
|
+
os.makedirs(os.path.dirname(output_path), exist_ok=True)
|
|
141
|
+
# ... (HTML template with CDN Chart.js and embedded JSON data)
|
|
142
|
+
print(f"Dashboard written to {output_path}")
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Feature Flag
|
|
146
|
+
|
|
147
|
+
- **Flag name**: `OMG_SESSION_ANALYTICS_ENABLED`
|
|
148
|
+
- **Default**: `False` (disabled)
|
|
149
|
+
- **Enable**: `export OMG_SESSION_ANALYTICS_ENABLED=1`
|
|
150
|
+
|
|
151
|
+
Or set in `settings.json`:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"_omg": {
|
|
156
|
+
"features": {
|
|
157
|
+
"SESSION_ANALYTICS": true
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Output Example
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
============================================================
|
|
167
|
+
OMG Session Analytics — Summary
|
|
168
|
+
============================================================
|
|
169
|
+
|
|
170
|
+
Duration: 23m 47s
|
|
171
|
+
Tool calls: 142
|
|
172
|
+
Success rate: 94.4%
|
|
173
|
+
Files modified: 18
|
|
174
|
+
Tests run: 6
|
|
175
|
+
Tokens used: 287,450
|
|
176
|
+
Cost: $1.1142
|
|
177
|
+
|
|
178
|
+
Top Tools:
|
|
179
|
+
Bash: 58 calls, 95% success, 1,240 avg tokens
|
|
180
|
+
Read: 34 calls, 100% success, 890 avg tokens
|
|
181
|
+
Edit: 22 calls, 91% success, 1,100 avg tokens
|
|
182
|
+
Write: 16 calls, 100% success, 950 avg tokens
|
|
183
|
+
Grep: 12 calls, 100% success, 320 avg tokens
|
|
184
|
+
|
|
185
|
+
Failure Hotspots:
|
|
186
|
+
[ESCALATED] hooks/budget_governor.py: 4 failures
|
|
187
|
+
[active] tests/test_integration.py: 2 failures
|
|
188
|
+
|
|
189
|
+
Escalations: 1 total, 0 resolved, 1 unresolved
|
|
190
|
+
|
|
191
|
+
============================================================
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Safety
|
|
195
|
+
|
|
196
|
+
- **Read-only**: All sub-commands only read from existing ledger/tracker files
|
|
197
|
+
- **Feature-gated**: Requires `SESSION_ANALYTICS` flag enabled
|
|
198
|
+
- **No mutations**: Never modifies ledger data, failure tracker, or working memory
|
|
199
|
+
- **Crash-isolated**: All query operations exit 0 on failure (via query.py internals)
|
|
200
|
+
- **Dashboard**: Writes only to `.omg/state/dashboard.html` (inside managed state directory)
|
|
201
|
+
|
|
202
|
+
## API
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
from hooks.query import (
|
|
206
|
+
get_session_summary,
|
|
207
|
+
get_tool_stats,
|
|
208
|
+
get_failure_hotspots,
|
|
209
|
+
get_escalation_effectiveness,
|
|
210
|
+
get_file_heatmap,
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
# Current session summary
|
|
214
|
+
summary = get_session_summary(".")
|
|
215
|
+
|
|
216
|
+
# Per-tool statistics
|
|
217
|
+
tools = get_tool_stats(".")
|
|
218
|
+
|
|
219
|
+
# Failure patterns and escalation status
|
|
220
|
+
failures = get_failure_hotspots(".")
|
|
221
|
+
escalations = get_escalation_effectiveness(".")
|
|
222
|
+
|
|
223
|
+
# File interaction heatmap
|
|
224
|
+
heatmap = get_file_heatmap(".")
|
|
225
|
+
```
|
package/commands/OMG:teams.md
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: OMG internal team routing (standalone
|
|
3
|
-
allowed-tools: Read, Grep, Glob, Bash(git:*), Bash(rg:*), Bash(find:*), Bash(cat:*), Bash(
|
|
2
|
+
description: OMG internal team routing (standalone). Standalone team routing.
|
|
3
|
+
allowed-tools: Read, Grep, Glob, Bash(git:*), Bash(rg:*), Bash(find:*), Bash(cat:*), Bash(python3:*)
|
|
4
4
|
argument-hint: "[codex|gemini|ccg|auto] 'problem statement'"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# /OMG:teams
|
|
7
|
+
# /OMG:teams — Standalone Internal Router
|
|
8
8
|
|
|
9
|
-
Use OMG's internal router
|
|
9
|
+
Use OMG's internal router using internal routing.
|
|
10
10
|
|
|
11
11
|
## Input contract
|
|
12
|
-
|
|
13
12
|
- target: `auto|codex|gemini|ccg`
|
|
14
13
|
- problem: clear issue statement
|
|
15
14
|
- context: optional constraints
|
|
@@ -17,14 +16,24 @@ Use OMG's internal router through the Bun CLI.
|
|
|
17
16
|
- expected_outcome: optional acceptance target
|
|
18
17
|
|
|
19
18
|
## Execution
|
|
19
|
+
Use internal CLI router:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
OMG_CLI="${OMG_CLI_PATH:-$HOME/.claude/omg-runtime/scripts/omg.py}"
|
|
23
|
+
if [ ! -f "$OMG_CLI" ] && [ -f "scripts/omg.py" ]; then OMG_CLI="scripts/omg.py"; fi
|
|
24
|
+
python3 "$OMG_CLI" teams --target auto --problem "[problem]"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
For explicit target:
|
|
20
28
|
|
|
21
29
|
```bash
|
|
22
|
-
|
|
23
|
-
if [ ! -f "$OMG_CLI" ] && [ -f "scripts/omg.ts" ]; then OMG_CLI="scripts/omg.ts"; fi
|
|
24
|
-
bun "$OMG_CLI" teams --target auto --problem "[problem]"
|
|
25
|
-
bun "$OMG_CLI" teams --target codex --problem "[problem]"
|
|
30
|
+
python3 "$OMG_CLI" teams --target codex --problem "[problem]"
|
|
26
31
|
```
|
|
27
32
|
|
|
28
33
|
## Output schema
|
|
34
|
+
`TeamDispatchResult { status, findings[], actions[], evidence{} }`
|
|
29
35
|
|
|
30
|
-
|
|
36
|
+
## Full-power sub-agent protocol
|
|
37
|
+
- For non-trivial tasks, launch multiple sub-agents in parallel (`run_in_background=true`) for independent tracks.
|
|
38
|
+
- Collect all task outputs before responding (`background_output` per task id).
|
|
39
|
+
- Run a `sequential-thinking` merge step to produce one dependency-ordered execution plan.
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
# Each entry specifies server command, discovery paths, and capabilities
|
|
4
4
|
|
|
5
5
|
languages:
|
|
6
|
+
- name: python
|
|
7
|
+
extensions: [.py]
|
|
8
|
+
server_command: [pylsp]
|
|
9
|
+
server_name: pylsp
|
|
10
|
+
discovery_paths: [.venv/bin/pylsp, ~/.local/bin/pylsp, /usr/local/bin/pylsp]
|
|
11
|
+
format_on_write: true
|
|
12
|
+
diagnostics_on_edit: true
|
|
13
|
+
|
|
6
14
|
- name: typescript
|
|
7
15
|
extensions: [.ts]
|
|
8
16
|
server_command: [typescript-language-server, --stdio]
|
|
File without changes
|