@trac3er/oh-my-god 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/omg/AGENTS.fragment.md +5 -0
- package/.agents/skills/omg/algorithms/SKILL.md +11 -0
- package/.agents/skills/omg/algorithms/openai.yaml +11 -0
- package/.agents/skills/omg/api-twin/SKILL.md +11 -0
- package/.agents/skills/omg/api-twin/openai.yaml +12 -0
- package/.agents/skills/omg/codex-mcp.toml +4 -0
- package/.agents/skills/omg/control-plane/SKILL.md +11 -0
- package/.agents/skills/omg/control-plane/openai.yaml +14 -0
- package/.agents/skills/omg/data-lineage/SKILL.md +11 -0
- package/.agents/skills/omg/data-lineage/openai.yaml +12 -0
- package/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
- package/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
- package/.agents/skills/omg/eval-gate/SKILL.md +11 -0
- package/.agents/skills/omg/eval-gate/openai.yaml +12 -0
- package/.agents/skills/omg/health/SKILL.md +11 -0
- package/.agents/skills/omg/health/openai.yaml +11 -0
- package/.agents/skills/omg/hook-governor/SKILL.md +11 -0
- package/.agents/skills/omg/hook-governor/openai.yaml +11 -0
- package/.agents/skills/omg/incident-replay/SKILL.md +11 -0
- package/.agents/skills/omg/incident-replay/openai.yaml +12 -0
- package/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
- package/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
- package/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
- package/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
- package/.agents/skills/omg/preflight/SKILL.md +11 -0
- package/.agents/skills/omg/preflight/openai.yaml +12 -0
- package/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
- package/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
- package/.agents/skills/omg/robotics/SKILL.md +11 -0
- package/.agents/skills/omg/robotics/openai.yaml +11 -0
- package/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
- package/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
- package/.agents/skills/omg/security-check/SKILL.md +11 -0
- package/.agents/skills/omg/security-check/openai.yaml +13 -0
- package/.agents/skills/omg/tracebank/SKILL.md +11 -0
- package/.agents/skills/omg/tracebank/openai.yaml +12 -0
- package/.agents/skills/omg/vision/SKILL.md +11 -0
- package/.agents/skills/omg/vision/openai.yaml +11 -0
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/.claude-plugin/scripts/uninstall.sh +2 -2
- package/.mcp.json +20 -4
- package/CHANGELOG.md +10 -0
- package/OMG-setup.sh +9 -3
- package/OMG_COMPAT_CONTRACT.md +92 -0
- package/README.md +24 -4
- package/SECURITY.md +6 -0
- package/commands/OMG:api-twin.md +22 -0
- package/commands/OMG:preflight.md +26 -0
- package/commands/OMG:security-check.md +28 -0
- package/commands/__init__.py +1 -0
- package/control_plane/__init__.py +2 -0
- package/control_plane/openapi.yaml +228 -0
- package/control_plane/server.py +123 -0
- package/control_plane/service.py +185 -0
- package/dist/enterprise/bundle/.agents/skills/omg/AGENTS.fragment.md +5 -0
- package/dist/enterprise/bundle/.agents/skills/omg/algorithms/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/algorithms/openai.yaml +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/api-twin/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/api-twin/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/codex-mcp.toml +4 -0
- package/dist/enterprise/bundle/.agents/skills/omg/control-plane/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/control-plane/openai.yaml +14 -0
- package/dist/enterprise/bundle/.agents/skills/omg/data-lineage/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/data-lineage/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/eval-gate/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/eval-gate/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/health/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/health/openai.yaml +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/hook-governor/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/hook-governor/openai.yaml +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/incident-replay/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/incident-replay/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
- package/dist/enterprise/bundle/.agents/skills/omg/preflight/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/preflight/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/robotics/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/robotics/openai.yaml +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/security-check/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/security-check/openai.yaml +13 -0
- package/dist/enterprise/bundle/.agents/skills/omg/tracebank/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/tracebank/openai.yaml +12 -0
- package/dist/enterprise/bundle/.agents/skills/omg/vision/SKILL.md +11 -0
- package/dist/enterprise/bundle/.agents/skills/omg/vision/openai.yaml +11 -0
- package/dist/enterprise/bundle/.claude-plugin/marketplace.json +36 -0
- package/dist/enterprise/bundle/.claude-plugin/plugin.json +23 -0
- package/dist/enterprise/bundle/.mcp.json +40 -0
- package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +92 -0
- package/dist/enterprise/bundle/registry/bundles/algorithms.yaml +45 -0
- package/dist/enterprise/bundle/registry/bundles/api-twin.yaml +48 -0
- package/dist/enterprise/bundle/registry/bundles/control-plane.yaml +61 -0
- package/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +47 -0
- package/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +47 -0
- package/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +47 -0
- package/dist/enterprise/bundle/registry/bundles/health.yaml +45 -0
- package/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +97 -0
- package/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +47 -0
- package/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +48 -0
- package/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +53 -0
- package/dist/enterprise/bundle/registry/bundles/preflight.yaml +48 -0
- package/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +49 -0
- package/dist/enterprise/bundle/registry/bundles/robotics.yaml +45 -0
- package/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +54 -0
- package/dist/enterprise/bundle/registry/bundles/security-check.yaml +50 -0
- package/dist/enterprise/bundle/registry/bundles/tracebank.yaml +47 -0
- package/dist/enterprise/bundle/registry/bundles/vision.yaml +45 -0
- package/dist/enterprise/bundle/registry/omg-capability.schema.json +80 -0
- package/dist/enterprise/bundle/settings.json +381 -0
- package/dist/enterprise/manifest.json +255 -0
- package/dist/public/bundle/.agents/skills/omg/AGENTS.fragment.md +5 -0
- package/dist/public/bundle/.agents/skills/omg/algorithms/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/algorithms/openai.yaml +11 -0
- package/dist/public/bundle/.agents/skills/omg/api-twin/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/api-twin/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/codex-mcp.toml +4 -0
- package/dist/public/bundle/.agents/skills/omg/control-plane/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/control-plane/openai.yaml +14 -0
- package/dist/public/bundle/.agents/skills/omg/data-lineage/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/data-lineage/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/eval-gate/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/eval-gate/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/health/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/health/openai.yaml +11 -0
- package/dist/public/bundle/.agents/skills/omg/hook-governor/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/hook-governor/openai.yaml +11 -0
- package/dist/public/bundle/.agents/skills/omg/incident-replay/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/incident-replay/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
- package/dist/public/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
- package/dist/public/bundle/.agents/skills/omg/preflight/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/preflight/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/robotics/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/robotics/openai.yaml +11 -0
- package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/security-check/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/security-check/openai.yaml +13 -0
- package/dist/public/bundle/.agents/skills/omg/tracebank/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/tracebank/openai.yaml +12 -0
- package/dist/public/bundle/.agents/skills/omg/vision/SKILL.md +11 -0
- package/dist/public/bundle/.agents/skills/omg/vision/openai.yaml +11 -0
- package/dist/public/bundle/.claude-plugin/marketplace.json +36 -0
- package/dist/public/bundle/.claude-plugin/plugin.json +23 -0
- package/dist/public/bundle/.mcp.json +40 -0
- package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +92 -0
- package/dist/public/bundle/registry/bundles/algorithms.yaml +45 -0
- package/dist/public/bundle/registry/bundles/api-twin.yaml +48 -0
- package/dist/public/bundle/registry/bundles/control-plane.yaml +61 -0
- package/dist/public/bundle/registry/bundles/data-lineage.yaml +47 -0
- package/dist/public/bundle/registry/bundles/delta-classifier.yaml +47 -0
- package/dist/public/bundle/registry/bundles/eval-gate.yaml +47 -0
- package/dist/public/bundle/registry/bundles/health.yaml +45 -0
- package/dist/public/bundle/registry/bundles/hook-governor.yaml +97 -0
- package/dist/public/bundle/registry/bundles/incident-replay.yaml +47 -0
- package/dist/public/bundle/registry/bundles/lsp-pack.yaml +48 -0
- package/dist/public/bundle/registry/bundles/mcp-fabric.yaml +53 -0
- package/dist/public/bundle/registry/bundles/preflight.yaml +48 -0
- package/dist/public/bundle/registry/bundles/remote-supervisor.yaml +49 -0
- package/dist/public/bundle/registry/bundles/robotics.yaml +45 -0
- package/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +54 -0
- package/dist/public/bundle/registry/bundles/security-check.yaml +50 -0
- package/dist/public/bundle/registry/bundles/tracebank.yaml +47 -0
- package/dist/public/bundle/registry/bundles/vision.yaml +45 -0
- package/dist/public/bundle/registry/omg-capability.schema.json +80 -0
- package/dist/public/bundle/settings.json +379 -0
- package/dist/public/manifest.json +255 -0
- package/docs/assets/omg-hud.svg +32 -0
- package/docs/install/claude-code.md +31 -0
- package/docs/install/codex.md +29 -0
- package/docs/migration/native-adoption.md +57 -0
- package/docs/proof.md +55 -0
- package/docs/release-checklist.md +38 -0
- package/docs/transcripts/crazy.md +17 -0
- package/docs/transcripts/setup.md +25 -0
- package/hooks/policy_engine.py +38 -7
- package/hooks/post-write.py +1 -1
- package/hooks/prompt-enhancer.py +1 -1
- package/hooks/security_validators.py +75 -0
- package/hooks/setup_wizard.py +43 -8
- package/hooks/shadow_manager.py +28 -2
- package/package.json +1 -1
- package/plugins/README.md +3 -1
- package/plugins/__init__.py +1 -0
- package/plugins/advanced/commands/OMG:deep-plan.md +1 -1
- package/plugins/advanced/commands/OMG:security-review.md +10 -113
- package/plugins/advanced/commands/OMG:ship.md +1 -1
- package/plugins/advanced/plugin.json +1 -10
- package/plugins/core/plugin.json +25 -2
- package/pyproject.toml +38 -2
- package/registry/__init__.py +1 -0
- package/registry/bundles/algorithms.yaml +45 -0
- package/registry/bundles/api-twin.yaml +48 -0
- package/registry/bundles/control-plane.yaml +61 -0
- package/registry/bundles/data-lineage.yaml +47 -0
- package/registry/bundles/delta-classifier.yaml +47 -0
- package/registry/bundles/eval-gate.yaml +47 -0
- package/registry/bundles/health.yaml +45 -0
- package/registry/bundles/hook-governor.yaml +97 -0
- package/registry/bundles/incident-replay.yaml +47 -0
- package/registry/bundles/lsp-pack.yaml +48 -0
- package/registry/bundles/mcp-fabric.yaml +53 -0
- package/registry/bundles/preflight.yaml +48 -0
- package/registry/bundles/remote-supervisor.yaml +49 -0
- package/registry/bundles/robotics.yaml +45 -0
- package/registry/bundles/secure-worktree-pipeline.yaml +54 -0
- package/registry/bundles/security-check.yaml +50 -0
- package/registry/bundles/tracebank.yaml +47 -0
- package/registry/bundles/vision.yaml +45 -0
- package/registry/omg-capability.schema.json +80 -0
- package/registry/verify_artifact.py +90 -0
- package/runtime/adapters/claude.py +3 -0
- package/runtime/adapters/gpt.py +3 -0
- package/runtime/adapters/local.py +3 -0
- package/runtime/adoption.py +1 -1
- package/runtime/api_twin.py +179 -0
- package/runtime/asset_loader.py +62 -0
- package/runtime/compat.py +24 -3
- package/runtime/contract_compiler.py +847 -0
- package/runtime/data_lineage.py +73 -0
- package/runtime/delta_classifier.py +81 -0
- package/runtime/domain_packs.py +46 -0
- package/runtime/ecosystem.py +1 -1
- package/runtime/eval_gate.py +50 -0
- package/runtime/guide_assert.py +45 -0
- package/runtime/incident_replay.py +47 -0
- package/runtime/mcp_config_writers.py +147 -30
- package/runtime/mcp_memory_server.py +1 -1
- package/runtime/omg_compat_contract_snapshot.json +9 -8
- package/runtime/omg_contract_snapshot.json +9 -8
- package/runtime/omg_mcp_server.py +207 -0
- package/runtime/preflight.py +73 -0
- package/runtime/providers/codex_provider.py +2 -12
- package/runtime/providers/gemini_provider.py +2 -21
- package/runtime/providers/kimi_provider.py +2 -21
- package/runtime/remote_supervisor.py +64 -0
- package/runtime/runtime_profile.py +61 -0
- package/runtime/security_check.py +464 -0
- package/runtime/subagent_dispatcher.py +117 -10
- package/runtime/team_router.py +3 -1
- package/runtime/tracebank.py +53 -0
- package/runtime/untrusted_content.py +102 -0
- package/scripts/omg.py +360 -2
- package/settings.json +81 -18
- package/tools/python_repl.py +33 -3
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
id: api-twin
|
|
2
|
+
kind: simulation
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG API Twin
|
|
5
|
+
description: Versioned endpoint cassette replay with latency, drift, and cost reporting.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/api_twin.py
|
|
12
|
+
- commands/OMG:api-twin.md
|
|
13
|
+
invocation_policy:
|
|
14
|
+
user_invocable: true
|
|
15
|
+
model_invocable: true
|
|
16
|
+
allow_implicit_invocation: false
|
|
17
|
+
tool_policy:
|
|
18
|
+
side_effect_level: medium
|
|
19
|
+
allowed_tools:
|
|
20
|
+
claude:
|
|
21
|
+
- Read
|
|
22
|
+
- Bash(python3:*)
|
|
23
|
+
codex:
|
|
24
|
+
- Read
|
|
25
|
+
- Bash(python3:*)
|
|
26
|
+
lifecycle_hooks:
|
|
27
|
+
native:
|
|
28
|
+
- PostToolUse
|
|
29
|
+
emulated:
|
|
30
|
+
- TaskCompleted
|
|
31
|
+
mcp_contract:
|
|
32
|
+
servers:
|
|
33
|
+
- omg-control
|
|
34
|
+
lsp_contract:
|
|
35
|
+
languages:
|
|
36
|
+
- python
|
|
37
|
+
evidence_outputs:
|
|
38
|
+
artifacts:
|
|
39
|
+
- .omg/state/api_twin.json
|
|
40
|
+
execution_contract:
|
|
41
|
+
modes:
|
|
42
|
+
- embedded
|
|
43
|
+
- local_supervisor
|
|
44
|
+
channel_overrides:
|
|
45
|
+
public:
|
|
46
|
+
fidelity: validated
|
|
47
|
+
enterprise:
|
|
48
|
+
fidelity: policy-required
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
id: control-plane
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Control Plane
|
|
5
|
+
description: Canonical production control plane bundle for Claude and Codex.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- OMG_COMPAT_CONTRACT.md
|
|
12
|
+
- docs/release-checklist.md
|
|
13
|
+
invocation_policy:
|
|
14
|
+
user_invocable: true
|
|
15
|
+
model_invocable: false
|
|
16
|
+
allow_implicit_invocation: false
|
|
17
|
+
tool_policy:
|
|
18
|
+
side_effect_level: medium
|
|
19
|
+
allowed_tools:
|
|
20
|
+
claude:
|
|
21
|
+
- Read
|
|
22
|
+
- Grep
|
|
23
|
+
- Bash(python3:*)
|
|
24
|
+
codex:
|
|
25
|
+
- Read
|
|
26
|
+
- Grep
|
|
27
|
+
- Bash(python3:*)
|
|
28
|
+
lifecycle_hooks:
|
|
29
|
+
native:
|
|
30
|
+
- SessionStart
|
|
31
|
+
- PreToolUse
|
|
32
|
+
- PostToolUse
|
|
33
|
+
emulated:
|
|
34
|
+
- PreCompact
|
|
35
|
+
- WorktreeCreate
|
|
36
|
+
- WorktreeRemove
|
|
37
|
+
mcp_contract:
|
|
38
|
+
servers:
|
|
39
|
+
- omg-control
|
|
40
|
+
- omg-memory
|
|
41
|
+
prompts:
|
|
42
|
+
- omg_contract_summary
|
|
43
|
+
resources:
|
|
44
|
+
- resource://omg/contract
|
|
45
|
+
- resource://omg/release-checklist
|
|
46
|
+
lsp_contract:
|
|
47
|
+
languages:
|
|
48
|
+
- python
|
|
49
|
+
- typescript
|
|
50
|
+
evidence_outputs:
|
|
51
|
+
artifacts:
|
|
52
|
+
- .omg/evidence/control-plane-compile.json
|
|
53
|
+
execution_contract:
|
|
54
|
+
modes:
|
|
55
|
+
- embedded
|
|
56
|
+
- local_supervisor
|
|
57
|
+
channel_overrides:
|
|
58
|
+
public:
|
|
59
|
+
posture: self-serve
|
|
60
|
+
enterprise:
|
|
61
|
+
posture: managed
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
id: data-lineage
|
|
2
|
+
kind: provenance
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Data Lineage
|
|
5
|
+
description: Provenance and privacy tracking for traces, fixtures, examples, and synthetic artifacts.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/data_lineage.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: true
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: medium
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
- Bash(python3:*)
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
- Bash(python3:*)
|
|
25
|
+
lifecycle_hooks:
|
|
26
|
+
native:
|
|
27
|
+
- PostToolUse
|
|
28
|
+
emulated:
|
|
29
|
+
- TaskCompleted
|
|
30
|
+
mcp_contract:
|
|
31
|
+
servers:
|
|
32
|
+
- omg-control
|
|
33
|
+
lsp_contract:
|
|
34
|
+
languages:
|
|
35
|
+
- python
|
|
36
|
+
evidence_outputs:
|
|
37
|
+
artifacts:
|
|
38
|
+
- .omg/lineage/*.json
|
|
39
|
+
execution_contract:
|
|
40
|
+
modes:
|
|
41
|
+
- embedded
|
|
42
|
+
- local_supervisor
|
|
43
|
+
channel_overrides:
|
|
44
|
+
public:
|
|
45
|
+
provenance: required
|
|
46
|
+
enterprise:
|
|
47
|
+
provenance: required
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
id: delta-classifier
|
|
2
|
+
kind: routing
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Delta Classifier
|
|
5
|
+
description: Change classifier that attaches risk-aware checks, approvals, and packs.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/delta_classifier.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: true
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: low
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
- Grep
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
- Grep
|
|
25
|
+
lifecycle_hooks:
|
|
26
|
+
native:
|
|
27
|
+
- SessionStart
|
|
28
|
+
emulated:
|
|
29
|
+
- TaskCompleted
|
|
30
|
+
mcp_contract:
|
|
31
|
+
servers:
|
|
32
|
+
- omg-control
|
|
33
|
+
lsp_contract:
|
|
34
|
+
languages:
|
|
35
|
+
- python
|
|
36
|
+
evidence_outputs:
|
|
37
|
+
artifacts:
|
|
38
|
+
- .omg/tracebank/events.jsonl
|
|
39
|
+
execution_contract:
|
|
40
|
+
modes:
|
|
41
|
+
- embedded
|
|
42
|
+
- local_supervisor
|
|
43
|
+
channel_overrides:
|
|
44
|
+
public:
|
|
45
|
+
classification: advisory
|
|
46
|
+
enterprise:
|
|
47
|
+
classification: required
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
id: eval-gate
|
|
2
|
+
kind: evaluation
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Eval Gate
|
|
5
|
+
description: Reproducible evaluation gate that blocks regressions before release.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/eval_gate.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: false
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: medium
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
- Bash(python3:*)
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
- Bash(python3:*)
|
|
25
|
+
lifecycle_hooks:
|
|
26
|
+
native:
|
|
27
|
+
- PostToolUse
|
|
28
|
+
emulated:
|
|
29
|
+
- TaskCompleted
|
|
30
|
+
mcp_contract:
|
|
31
|
+
servers:
|
|
32
|
+
- omg-control
|
|
33
|
+
lsp_contract:
|
|
34
|
+
languages:
|
|
35
|
+
- python
|
|
36
|
+
evidence_outputs:
|
|
37
|
+
artifacts:
|
|
38
|
+
- .omg/evals/latest.json
|
|
39
|
+
execution_contract:
|
|
40
|
+
modes:
|
|
41
|
+
- embedded
|
|
42
|
+
- local_supervisor
|
|
43
|
+
channel_overrides:
|
|
44
|
+
public:
|
|
45
|
+
regressions: block
|
|
46
|
+
enterprise:
|
|
47
|
+
regressions: block
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
id: health
|
|
2
|
+
kind: domain-pack
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Health Pack
|
|
5
|
+
description: Health-sensitive approvals, provenance, and replay attachments.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/domain_packs.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: false
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: high
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
codex:
|
|
22
|
+
- Read
|
|
23
|
+
lifecycle_hooks:
|
|
24
|
+
native:
|
|
25
|
+
- PostToolUse
|
|
26
|
+
emulated:
|
|
27
|
+
- TaskCompleted
|
|
28
|
+
mcp_contract:
|
|
29
|
+
servers:
|
|
30
|
+
- omg-control
|
|
31
|
+
lsp_contract:
|
|
32
|
+
languages:
|
|
33
|
+
- python
|
|
34
|
+
evidence_outputs:
|
|
35
|
+
artifacts:
|
|
36
|
+
- .omg/lineage/*.json
|
|
37
|
+
execution_contract:
|
|
38
|
+
modes:
|
|
39
|
+
- embedded
|
|
40
|
+
- local_supervisor
|
|
41
|
+
channel_overrides:
|
|
42
|
+
public:
|
|
43
|
+
approvals: required
|
|
44
|
+
enterprise:
|
|
45
|
+
approvals: enforced
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
id: hook-governor
|
|
2
|
+
kind: governance
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Hook Governor
|
|
5
|
+
description: Canonical hook ordering, policy reinjection, and protected-path governance.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- settings.json
|
|
12
|
+
- hooks/pre-compact.py
|
|
13
|
+
invocation_policy:
|
|
14
|
+
user_invocable: false
|
|
15
|
+
model_invocable: false
|
|
16
|
+
allow_implicit_invocation: true
|
|
17
|
+
tool_policy:
|
|
18
|
+
side_effect_level: low
|
|
19
|
+
allowed_tools:
|
|
20
|
+
claude:
|
|
21
|
+
- Read
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
lifecycle_hooks:
|
|
25
|
+
native:
|
|
26
|
+
- SessionStart
|
|
27
|
+
- SessionEnd
|
|
28
|
+
- PreToolUse
|
|
29
|
+
- PostToolUse
|
|
30
|
+
- PostToolUseFailure
|
|
31
|
+
- Stop
|
|
32
|
+
emulated:
|
|
33
|
+
- PreCompact
|
|
34
|
+
- ConfigChange
|
|
35
|
+
- WorktreeCreate
|
|
36
|
+
- WorktreeRemove
|
|
37
|
+
- SubagentStart
|
|
38
|
+
- SubagentStop
|
|
39
|
+
- TaskCompleted
|
|
40
|
+
compiled_hooks:
|
|
41
|
+
SessionStart:
|
|
42
|
+
- command: python3 "$HOME/.claude/hooks/session-start.py"
|
|
43
|
+
timeout: 10
|
|
44
|
+
SessionEnd:
|
|
45
|
+
- command: python3 "$HOME/.claude/hooks/session-end-capture.py"
|
|
46
|
+
PreToolUse:
|
|
47
|
+
- matcher: Bash
|
|
48
|
+
command: python3 "$HOME/.claude/hooks/firewall.py"
|
|
49
|
+
timeout: 10
|
|
50
|
+
- matcher: Read|Write|Edit|MultiEdit
|
|
51
|
+
command: python3 "$HOME/.claude/hooks/secret-guard.py"
|
|
52
|
+
timeout: 10
|
|
53
|
+
- matcher: ""
|
|
54
|
+
command: python3 "$HOME/.claude/hooks/pre-tool-inject.py"
|
|
55
|
+
PostToolUse:
|
|
56
|
+
- matcher: Bash
|
|
57
|
+
command: python3 "$HOME/.claude/hooks/circuit-breaker.py"
|
|
58
|
+
timeout: 10
|
|
59
|
+
- matcher: Write|Edit|MultiEdit
|
|
60
|
+
command: python3 "$HOME/.claude/hooks/tool-ledger.py"
|
|
61
|
+
timeout: 10
|
|
62
|
+
- matcher: Write|Edit|MultiEdit
|
|
63
|
+
command: python3 "$HOME/.claude/hooks/test_generator_hook.py"
|
|
64
|
+
timeout: 10
|
|
65
|
+
- matcher: ""
|
|
66
|
+
command: python3 "$HOME/.claude/hooks/budget_governor.py"
|
|
67
|
+
timeout: 10
|
|
68
|
+
PostToolUseFailure:
|
|
69
|
+
- command: python3 "$HOME/.claude/hooks/post-tool-failure.py"
|
|
70
|
+
Stop:
|
|
71
|
+
- matcher: ""
|
|
72
|
+
command: python3 "$HOME/.claude/hooks/stop_dispatcher.py"
|
|
73
|
+
timeout: 90
|
|
74
|
+
mcp_contract:
|
|
75
|
+
servers:
|
|
76
|
+
- omg-control
|
|
77
|
+
lsp_contract:
|
|
78
|
+
languages:
|
|
79
|
+
- python
|
|
80
|
+
evidence_outputs:
|
|
81
|
+
artifacts:
|
|
82
|
+
- .omg/state/ledger/tool-ledger.jsonl
|
|
83
|
+
execution_contract:
|
|
84
|
+
modes:
|
|
85
|
+
- embedded
|
|
86
|
+
- local_supervisor
|
|
87
|
+
channel_overrides:
|
|
88
|
+
public:
|
|
89
|
+
protected_paths:
|
|
90
|
+
- .omg/**
|
|
91
|
+
- .agents/**
|
|
92
|
+
enterprise:
|
|
93
|
+
protected_paths:
|
|
94
|
+
- .omg/**
|
|
95
|
+
- .agents/**
|
|
96
|
+
- .claude/**
|
|
97
|
+
- .codex/**
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
id: incident-replay
|
|
2
|
+
kind: debugging
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Incident Replay
|
|
5
|
+
description: Replayable bug packs built from logs, failing tests, traces, and diffs.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/incident_replay.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: false
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: medium
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
- Bash(python3:*)
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
- Bash(python3:*)
|
|
25
|
+
lifecycle_hooks:
|
|
26
|
+
native:
|
|
27
|
+
- PostToolUse
|
|
28
|
+
emulated:
|
|
29
|
+
- TaskCompleted
|
|
30
|
+
mcp_contract:
|
|
31
|
+
servers:
|
|
32
|
+
- omg-control
|
|
33
|
+
lsp_contract:
|
|
34
|
+
languages:
|
|
35
|
+
- python
|
|
36
|
+
evidence_outputs:
|
|
37
|
+
artifacts:
|
|
38
|
+
- .omg/incidents/*.json
|
|
39
|
+
execution_contract:
|
|
40
|
+
modes:
|
|
41
|
+
- embedded
|
|
42
|
+
- local_supervisor
|
|
43
|
+
channel_overrides:
|
|
44
|
+
public:
|
|
45
|
+
replay: available
|
|
46
|
+
enterprise:
|
|
47
|
+
replay: required
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
id: lsp-pack
|
|
2
|
+
kind: diagnostics
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG LSP Pack
|
|
5
|
+
description: Optional LSP-backed diagnostics and navigation bundle for production verification.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- config/lsp_languages.yaml
|
|
12
|
+
- tools/lsp_operations.py
|
|
13
|
+
invocation_policy:
|
|
14
|
+
user_invocable: true
|
|
15
|
+
model_invocable: true
|
|
16
|
+
allow_implicit_invocation: false
|
|
17
|
+
tool_policy:
|
|
18
|
+
side_effect_level: low
|
|
19
|
+
allowed_tools:
|
|
20
|
+
claude:
|
|
21
|
+
- Read
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
lifecycle_hooks:
|
|
25
|
+
native:
|
|
26
|
+
- PostToolUse
|
|
27
|
+
emulated:
|
|
28
|
+
- TaskCompleted
|
|
29
|
+
mcp_contract:
|
|
30
|
+
servers:
|
|
31
|
+
- omg-control
|
|
32
|
+
lsp_contract:
|
|
33
|
+
languages:
|
|
34
|
+
- python
|
|
35
|
+
- javascript
|
|
36
|
+
- typescript
|
|
37
|
+
evidence_outputs:
|
|
38
|
+
artifacts:
|
|
39
|
+
- .omg/evidence/lsp-diagnostics.json
|
|
40
|
+
execution_contract:
|
|
41
|
+
modes:
|
|
42
|
+
- embedded
|
|
43
|
+
- local_supervisor
|
|
44
|
+
channel_overrides:
|
|
45
|
+
public:
|
|
46
|
+
diagnostics: advisory
|
|
47
|
+
enterprise:
|
|
48
|
+
diagnostics: required
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
id: mcp-fabric
|
|
2
|
+
kind: mcp
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG MCP Fabric
|
|
5
|
+
description: Tools, prompts, resources, and server instructions for the OMG control plane.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/omg_mcp_server.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: false
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: false
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: medium
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
- Bash(python3:*)
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
- Bash(python3:*)
|
|
25
|
+
lifecycle_hooks:
|
|
26
|
+
native:
|
|
27
|
+
- SessionStart
|
|
28
|
+
emulated:
|
|
29
|
+
- TaskCompleted
|
|
30
|
+
mcp_contract:
|
|
31
|
+
servers:
|
|
32
|
+
- omg-control
|
|
33
|
+
- omg-memory
|
|
34
|
+
prompts:
|
|
35
|
+
- omg_contract_summary
|
|
36
|
+
resources:
|
|
37
|
+
- resource://omg/contract
|
|
38
|
+
- resource://omg/release-checklist
|
|
39
|
+
lsp_contract:
|
|
40
|
+
languages:
|
|
41
|
+
- python
|
|
42
|
+
evidence_outputs:
|
|
43
|
+
artifacts:
|
|
44
|
+
- .omg/evidence/mcp-fabric.json
|
|
45
|
+
execution_contract:
|
|
46
|
+
modes:
|
|
47
|
+
- embedded
|
|
48
|
+
- local_supervisor
|
|
49
|
+
channel_overrides:
|
|
50
|
+
public:
|
|
51
|
+
transport: stdio
|
|
52
|
+
enterprise:
|
|
53
|
+
transport: stdio
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
id: preflight
|
|
2
|
+
kind: routing
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Preflight
|
|
5
|
+
description: Repo-aware route selection based on diff, manifests, and classified risk.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/preflight.py
|
|
12
|
+
- runtime/delta_classifier.py
|
|
13
|
+
invocation_policy:
|
|
14
|
+
user_invocable: true
|
|
15
|
+
model_invocable: true
|
|
16
|
+
allow_implicit_invocation: true
|
|
17
|
+
tool_policy:
|
|
18
|
+
side_effect_level: low
|
|
19
|
+
allowed_tools:
|
|
20
|
+
claude:
|
|
21
|
+
- Read
|
|
22
|
+
- Grep
|
|
23
|
+
codex:
|
|
24
|
+
- Read
|
|
25
|
+
- Grep
|
|
26
|
+
lifecycle_hooks:
|
|
27
|
+
native:
|
|
28
|
+
- SessionStart
|
|
29
|
+
emulated:
|
|
30
|
+
- TaskCompleted
|
|
31
|
+
mcp_contract:
|
|
32
|
+
servers:
|
|
33
|
+
- omg-control
|
|
34
|
+
lsp_contract:
|
|
35
|
+
languages:
|
|
36
|
+
- python
|
|
37
|
+
evidence_outputs:
|
|
38
|
+
artifacts:
|
|
39
|
+
- .omg/tracebank/events.jsonl
|
|
40
|
+
execution_contract:
|
|
41
|
+
modes:
|
|
42
|
+
- embedded
|
|
43
|
+
- local_supervisor
|
|
44
|
+
channel_overrides:
|
|
45
|
+
public:
|
|
46
|
+
routing: advisory
|
|
47
|
+
enterprise:
|
|
48
|
+
routing: enforced
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
id: remote-supervisor
|
|
2
|
+
kind: orchestration
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Remote Supervisor
|
|
5
|
+
description: Local-only authenticated supervisor sessions for worker orchestration.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/remote_supervisor.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: false
|
|
15
|
+
allow_implicit_invocation: false
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: high
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
- Bash(python3:*)
|
|
22
|
+
codex:
|
|
23
|
+
- Read
|
|
24
|
+
- Bash(python3:*)
|
|
25
|
+
lifecycle_hooks:
|
|
26
|
+
native:
|
|
27
|
+
- SessionStart
|
|
28
|
+
- Stop
|
|
29
|
+
emulated:
|
|
30
|
+
- SubagentStart
|
|
31
|
+
- SubagentStop
|
|
32
|
+
- TaskCompleted
|
|
33
|
+
mcp_contract:
|
|
34
|
+
servers:
|
|
35
|
+
- omg-control
|
|
36
|
+
lsp_contract:
|
|
37
|
+
languages:
|
|
38
|
+
- python
|
|
39
|
+
evidence_outputs:
|
|
40
|
+
artifacts:
|
|
41
|
+
- .omg/supervisor/sessions/*.json
|
|
42
|
+
execution_contract:
|
|
43
|
+
modes:
|
|
44
|
+
- local_supervisor
|
|
45
|
+
channel_overrides:
|
|
46
|
+
public:
|
|
47
|
+
remote: disabled
|
|
48
|
+
enterprise:
|
|
49
|
+
remote: disabled
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
id: robotics
|
|
2
|
+
kind: domain-pack
|
|
3
|
+
version: 2.0.5
|
|
4
|
+
title: OMG Robotics Pack
|
|
5
|
+
description: Robotics safety policy, replay, and evaluation attachments.
|
|
6
|
+
hosts:
|
|
7
|
+
- claude
|
|
8
|
+
- codex
|
|
9
|
+
assets:
|
|
10
|
+
references:
|
|
11
|
+
- runtime/domain_packs.py
|
|
12
|
+
invocation_policy:
|
|
13
|
+
user_invocable: true
|
|
14
|
+
model_invocable: true
|
|
15
|
+
allow_implicit_invocation: false
|
|
16
|
+
tool_policy:
|
|
17
|
+
side_effect_level: high
|
|
18
|
+
allowed_tools:
|
|
19
|
+
claude:
|
|
20
|
+
- Read
|
|
21
|
+
codex:
|
|
22
|
+
- Read
|
|
23
|
+
lifecycle_hooks:
|
|
24
|
+
native:
|
|
25
|
+
- PostToolUse
|
|
26
|
+
emulated:
|
|
27
|
+
- TaskCompleted
|
|
28
|
+
mcp_contract:
|
|
29
|
+
servers:
|
|
30
|
+
- omg-control
|
|
31
|
+
lsp_contract:
|
|
32
|
+
languages:
|
|
33
|
+
- python
|
|
34
|
+
evidence_outputs:
|
|
35
|
+
artifacts:
|
|
36
|
+
- .omg/incidents/*.json
|
|
37
|
+
execution_contract:
|
|
38
|
+
modes:
|
|
39
|
+
- embedded
|
|
40
|
+
- local_supervisor
|
|
41
|
+
channel_overrides:
|
|
42
|
+
public:
|
|
43
|
+
approvals: required
|
|
44
|
+
enterprise:
|
|
45
|
+
approvals: enforced
|