aiwg 2026.5.7 → 2026.5.8
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/README.md +6 -6
- package/agentic/code/addons/aiwg-fleet/behaviors/quiet-bot/BEHAVIOR.md +62 -0
- package/agentic/code/addons/aiwg-fleet/behaviors/quiet-business-bot/BEHAVIOR.md +76 -0
- package/agentic/code/addons/aiwg-fleet/docs/provider-activation.md +48 -0
- package/agentic/code/addons/aiwg-fleet/manifest.json +42 -0
- package/agentic/code/addons/aiwg-utils/docs/overview.md +24 -3
- package/agentic/code/addons/aiwg-utils/docs/rules-reference.md +106 -3
- package/agentic/code/addons/aiwg-utils/manifest.json +4 -0
- package/agentic/code/addons/aiwg-utils/rules/RULES-INDEX.md +25 -2
- package/agentic/code/addons/aiwg-utils/rules/context-budget.md +13 -0
- package/agentic/code/addons/aiwg-utils/rules/escalation-discipline.md +197 -0
- package/agentic/code/addons/aiwg-utils/rules/quiet-mode.md +121 -0
- package/agentic/code/addons/aiwg-utils/rules/respect-repo-access-manifest.md +56 -0
- package/agentic/code/addons/aiwg-utils/rules/subagent-scoping.md +38 -0
- package/agentic/code/addons/aiwg-utils/rules/tool-quota.md +189 -0
- package/agentic/code/addons/aiwg-utils/skills/aiwg-status/SKILL.md +14 -6
- package/agentic/code/addons/aiwg-utils/skills/aiwg-utils-quickref/SKILL.md +15 -3
- package/agentic/code/addons/rlm/rules/rlm-context-management.md +12 -0
- package/agentic/code/addons/rlm/skills/rlm-batch/SKILL.md +11 -3
- package/agentic/code/frameworks/media-marketing-kit/config/models.json +19 -7
- package/agentic/code/frameworks/research-complete/skills/corpus-index-build/SKILL.md +29 -4
- package/agentic/code/frameworks/research-complete/skills/corpus-index-build/build.py +700 -0
- package/agentic/code/frameworks/sdlc-complete/commands/issue-audit.md +62 -0
- package/agentic/code/frameworks/sdlc-complete/commands/manifest.json +1 -0
- package/agentic/code/frameworks/sdlc-complete/config/models-v2.json +4 -1
- package/agentic/code/frameworks/sdlc-complete/config/models.json +19 -7
- package/agentic/code/frameworks/sdlc-complete/skills/issue-audit/SKILL.md +218 -0
- package/agentic/code/frameworks/sdlc-complete/skills/manifest.json +5 -0
- package/agentic/code/providers/capability-matrix.yaml +78 -8
- package/bin/aiwg.mjs +44 -3
- package/dist/src/a2a/agent-card.d.ts.map +1 -1
- package/dist/src/a2a/agent-card.js +26 -7
- package/dist/src/a2a/agent-card.js.map +1 -1
- package/dist/src/a2a/client.d.ts.map +1 -1
- package/dist/src/a2a/client.js +57 -19
- package/dist/src/a2a/client.js.map +1 -1
- package/dist/src/a2a/types.d.ts.map +1 -1
- package/dist/src/a2a/types.js +1 -0
- package/dist/src/a2a/types.js.map +1 -1
- package/dist/src/artifacts/cli.d.ts.map +1 -1
- package/dist/src/artifacts/cli.js +28 -0
- package/dist/src/artifacts/cli.js.map +1 -1
- package/dist/src/artifacts/index-builder.d.ts.map +1 -1
- package/dist/src/artifacts/index-builder.js +15 -4
- package/dist/src/artifacts/index-builder.js.map +1 -1
- package/dist/src/artifacts/query-engine.d.ts.map +1 -1
- package/dist/src/artifacts/query-engine.js +61 -2
- package/dist/src/artifacts/query-engine.js.map +1 -1
- package/dist/src/cli/handlers/agentcard.d.ts +3 -2
- package/dist/src/cli/handlers/agentcard.d.ts.map +1 -1
- package/dist/src/cli/handlers/agentcard.js +3 -2
- package/dist/src/cli/handlers/agentcard.js.map +1 -1
- package/dist/src/cli/handlers/execution-mode.d.ts +8 -0
- package/dist/src/cli/handlers/execution-mode.d.ts.map +1 -0
- package/dist/src/cli/handlers/execution-mode.js +100 -0
- package/dist/src/cli/handlers/execution-mode.js.map +1 -0
- package/dist/src/cli/handlers/index.d.ts +4 -2
- package/dist/src/cli/handlers/index.d.ts.map +1 -1
- package/dist/src/cli/handlers/index.js +9 -2
- package/dist/src/cli/handlers/index.js.map +1 -1
- package/dist/src/cli/handlers/init.d.ts.map +1 -1
- package/dist/src/cli/handlers/init.js +4 -0
- package/dist/src/cli/handlers/init.js.map +1 -1
- package/dist/src/cli/handlers/mc.d.ts.map +1 -1
- package/dist/src/cli/handlers/mc.js +41 -83
- package/dist/src/cli/handlers/mc.js.map +1 -1
- package/dist/src/cli/handlers/ralph-launcher.d.ts +12 -0
- package/dist/src/cli/handlers/ralph-launcher.d.ts.map +1 -1
- package/dist/src/cli/handlers/ralph-launcher.js +40 -0
- package/dist/src/cli/handlers/ralph-launcher.js.map +1 -1
- package/dist/src/cli/handlers/refresh.d.ts.map +1 -1
- package/dist/src/cli/handlers/refresh.js +24 -1
- package/dist/src/cli/handlers/refresh.js.map +1 -1
- package/dist/src/cli/handlers/regenerate.d.ts.map +1 -1
- package/dist/src/cli/handlers/regenerate.js +7 -1
- package/dist/src/cli/handlers/regenerate.js.map +1 -1
- package/dist/src/cli/handlers/repo-access.d.ts +4 -0
- package/dist/src/cli/handlers/repo-access.d.ts.map +1 -0
- package/dist/src/cli/handlers/repo-access.js +88 -0
- package/dist/src/cli/handlers/repo-access.js.map +1 -0
- package/dist/src/cli/handlers/serve.d.ts.map +1 -1
- package/dist/src/cli/handlers/serve.js +14 -0
- package/dist/src/cli/handlers/serve.js.map +1 -1
- package/dist/src/cli/handlers/skill-lint.d.ts +12 -0
- package/dist/src/cli/handlers/skill-lint.d.ts.map +1 -1
- package/dist/src/cli/handlers/skill-lint.js +42 -0
- package/dist/src/cli/handlers/skill-lint.js.map +1 -1
- package/dist/src/cli/handlers/steward.d.ts.map +1 -1
- package/dist/src/cli/handlers/steward.js +32 -7
- package/dist/src/cli/handlers/steward.js.map +1 -1
- package/dist/src/cli/handlers/use.d.ts.map +1 -1
- package/dist/src/cli/handlers/use.js +4 -1
- package/dist/src/cli/handlers/use.js.map +1 -1
- package/dist/src/config/aiwg-config.d.ts +76 -0
- package/dist/src/config/aiwg-config.d.ts.map +1 -1
- package/dist/src/config/aiwg-config.js +72 -0
- package/dist/src/config/aiwg-config.js.map +1 -1
- package/dist/src/config/cli.js +89 -1
- package/dist/src/config/cli.js.map +1 -1
- package/dist/src/extensions/commands/definitions.d.ts +1 -0
- package/dist/src/extensions/commands/definitions.d.ts.map +1 -1
- package/dist/src/extensions/commands/definitions.js +40 -2
- package/dist/src/extensions/commands/definitions.js.map +1 -1
- package/dist/src/extensions/managed-marker.d.ts +12 -0
- package/dist/src/extensions/managed-marker.d.ts.map +1 -1
- package/dist/src/extensions/managed-marker.js +16 -0
- package/dist/src/extensions/managed-marker.js.map +1 -1
- package/dist/src/extensions/project-local-doctor.d.ts.map +1 -1
- package/dist/src/extensions/project-local-doctor.js +8 -7
- package/dist/src/extensions/project-local-doctor.js.map +1 -1
- package/dist/src/features/catalog.d.ts +2 -2
- package/dist/src/features/catalog.js +2 -2
- package/dist/src/models/index.d.ts +2 -1
- package/dist/src/models/index.d.ts.map +1 -1
- package/dist/src/models/index.js +2 -0
- package/dist/src/models/index.js.map +1 -1
- package/dist/src/models/router.d.ts +13 -0
- package/dist/src/models/router.d.ts.map +1 -0
- package/dist/src/models/router.js +70 -0
- package/dist/src/models/router.js.map +1 -0
- package/dist/src/models/types.d.ts +35 -0
- package/dist/src/models/types.d.ts.map +1 -1
- package/dist/src/policy/repo-access.d.ts +29 -0
- package/dist/src/policy/repo-access.d.ts.map +1 -0
- package/dist/src/policy/repo-access.js +145 -0
- package/dist/src/policy/repo-access.js.map +1 -0
- package/dist/src/providers/capability-matrix.d.ts +41 -1
- package/dist/src/providers/capability-matrix.d.ts.map +1 -1
- package/dist/src/providers/capability-matrix.js +88 -0
- package/dist/src/providers/capability-matrix.js.map +1 -1
- package/dist/src/rlm/cli.d.ts +21 -0
- package/dist/src/rlm/cli.d.ts.map +1 -1
- package/dist/src/rlm/cli.js +73 -4
- package/dist/src/rlm/cli.js.map +1 -1
- package/dist/src/serve/a2a-terminal-observer.d.ts +21 -0
- package/dist/src/serve/a2a-terminal-observer.d.ts.map +1 -0
- package/dist/src/serve/a2a-terminal-observer.js +120 -0
- package/dist/src/serve/a2a-terminal-observer.js.map +1 -0
- package/dist/src/serve/agent-router.d.ts.map +1 -1
- package/dist/src/serve/agent-router.js +9 -0
- package/dist/src/serve/agent-router.js.map +1 -1
- package/dist/src/serve/dispatch-router.d.ts +5 -1
- package/dist/src/serve/dispatch-router.d.ts.map +1 -1
- package/dist/src/serve/dispatch-router.js +13 -2
- package/dist/src/serve/dispatch-router.js.map +1 -1
- package/dist/src/serve/executor-registry.d.ts +4 -0
- package/dist/src/serve/executor-registry.d.ts.map +1 -1
- package/dist/src/serve/executor-registry.js +12 -1
- package/dist/src/serve/executor-registry.js.map +1 -1
- package/dist/src/serve/pty-bridge.d.ts.map +1 -1
- package/dist/src/serve/pty-bridge.js +7 -1
- package/dist/src/serve/pty-bridge.js.map +1 -1
- package/dist/src/skills/adapters/openclaw.d.ts.map +1 -1
- package/dist/src/skills/adapters/openclaw.js +53 -16
- package/dist/src/skills/adapters/openclaw.js.map +1 -1
- package/dist/src/skills/run.d.ts.map +1 -1
- package/dist/src/skills/run.js +2 -1
- package/dist/src/skills/run.js.map +1 -1
- package/dist/src/smiths/context-pipeline/aiwg-md.d.ts.map +1 -1
- package/dist/src/smiths/context-pipeline/aiwg-md.js +19 -10
- package/dist/src/smiths/context-pipeline/aiwg-md.js.map +1 -1
- package/dist/src/smiths/context-pipeline/finalization.d.ts +14 -0
- package/dist/src/smiths/context-pipeline/finalization.d.ts.map +1 -0
- package/dist/src/smiths/context-pipeline/finalization.js +103 -0
- package/dist/src/smiths/context-pipeline/finalization.js.map +1 -0
- package/dist/src/smiths/context-pipeline/generator.d.ts +2 -2
- package/dist/src/smiths/context-pipeline/generator.d.ts.map +1 -1
- package/dist/src/smiths/context-pipeline/generator.js +17 -2
- package/dist/src/smiths/context-pipeline/generator.js.map +1 -1
- package/dist/src/smiths/context-pipeline/index.d.ts +1 -0
- package/dist/src/smiths/context-pipeline/index.d.ts.map +1 -1
- package/dist/src/smiths/context-pipeline/index.js +1 -0
- package/dist/src/smiths/context-pipeline/index.js.map +1 -1
- package/dist/src/smiths/context-pipeline/parallelism-section.d.ts +35 -0
- package/dist/src/smiths/context-pipeline/parallelism-section.d.ts.map +1 -0
- package/dist/src/smiths/context-pipeline/parallelism-section.js +94 -0
- package/dist/src/smiths/context-pipeline/parallelism-section.js.map +1 -0
- package/dist/src/smiths/context-pipeline/provider-policy.d.ts +2 -2
- package/dist/src/smiths/context-pipeline/provider-policy.d.ts.map +1 -1
- package/dist/src/smiths/context-pipeline/provider-policy.js +2 -1
- package/dist/src/smiths/context-pipeline/provider-policy.js.map +1 -1
- package/dist/src/smiths/context-pipeline/types.d.ts +2 -0
- package/dist/src/smiths/context-pipeline/types.d.ts.map +1 -1
- package/dist/src/smiths/context-pipeline/types.js.map +1 -1
- package/package.json +15 -4
- package/tools/_resolve-impl.mjs +74 -0
- package/tools/agents/deploy-agents.mjs +14 -1
- package/tools/agents/providers/base.mjs +143 -0
- package/tools/agents/providers/openclaw.mjs +26 -2
- package/tools/cli/doctor.mjs +62 -9
- package/tools/cli/update.mjs +4 -4
- package/tools/cli/validate-writing.mjs +3 -17
- package/tools/cli/version.mjs +3 -3
- package/tools/cli/workspace-status.mjs +439 -114
- package/tools/daemon/web-server.mjs +13 -0
- package/tools/plugin/plugin-installer-cli.mjs +2 -18
- package/tools/plugin/plugin-status-cli.mjs +2 -18
- package/tools/plugin/plugin-uninstaller-cli.mjs +2 -18
- package/tools/scripts/record-sandbox-api.mjs +164 -0
- package/tools/writing/writing-validator.mjs +6 -21
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# AIWG
|
|
4
4
|
|
|
5
|
-
**Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and
|
|
5
|
+
**Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms**
|
|
6
6
|
|
|
7
|
-
200+ agents, 67+ CLI commands,
|
|
7
|
+
200+ agents, 67+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks + training marketplace plugin, 27 addons. SDLC workflows, digital forensics, research management, marketing operations, media curation, ops infrastructure, knowledge base, and fine-tuning dataset curation — all deployable with one command.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
npm i -g aiwg # install globally
|
|
@@ -15,11 +15,11 @@ aiwg use sdlc # deploy SDLC framework
|
|
|
15
15
|
[](https://www.npmjs.com/package/aiwg)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](https://github.com/jmagly/aiwg/stargazers)
|
|
18
|
-
[](https://nodejs.org)
|
|
19
19
|
[](https://www.typescriptlang.org)
|
|
20
|
-
[](#-platform-support)
|
|
21
21
|
|
|
22
|
-
[**Get Started**](#quick-start) · [**Features**](#what-you-get) · [**Agents**](#agents
|
|
22
|
+
[**Get Started**](#quick-start) · [**Features**](#what-you-get) · [**Agents**](#agents) · [**CLI Reference**](docs/cli-reference.md) · [**Documentation**](#documentation) · [**Community**](#community--support)
|
|
23
23
|
|
|
24
24
|
[](https://discord.gg/BuAusFMxdA)
|
|
25
25
|
[](https://t.me/+oJg9w2lE6A5lOGFh)
|
|
@@ -1712,7 +1712,7 @@ Full research background, citations, and methodology: [docs/research/](docs/rese
|
|
|
1712
1712
|
|
|
1713
1713
|
- **[Quick Start Guide](docs/quickstart.md)** — Install and deploy in minutes
|
|
1714
1714
|
- **[Prerequisites](docs/getting-started/prerequisites.md)** — Node.js, AI platforms, OS support
|
|
1715
|
-
- **[CLI Reference](docs/cli-reference.md)** —
|
|
1715
|
+
- **[CLI Reference](docs/cli-reference.md)** — 67+ commands with examples
|
|
1716
1716
|
|
|
1717
1717
|
### Customize
|
|
1718
1718
|
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quiet-bot
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Mention-only group chat behavior for budget-sensitive bot fleets.
|
|
5
|
+
platforms:
|
|
6
|
+
- openclaw
|
|
7
|
+
metadata:
|
|
8
|
+
triggers:
|
|
9
|
+
- on_message_received
|
|
10
|
+
- chat-message
|
|
11
|
+
scope: daemon
|
|
12
|
+
mode: prompt
|
|
13
|
+
policy:
|
|
14
|
+
group_chat:
|
|
15
|
+
respond_only_if:
|
|
16
|
+
- mentioned: true
|
|
17
|
+
- reply_to_self: true
|
|
18
|
+
- direct_command:
|
|
19
|
+
- /help
|
|
20
|
+
- /status
|
|
21
|
+
dm:
|
|
22
|
+
respond: always
|
|
23
|
+
multi_bot:
|
|
24
|
+
yield_to: other-bots-mentioned-by-name
|
|
25
|
+
proactive_chatter: false
|
|
26
|
+
cost_guard:
|
|
27
|
+
summarize_before_long_task: true
|
|
28
|
+
manifest:
|
|
29
|
+
category: fleet
|
|
30
|
+
related_issues:
|
|
31
|
+
- 1189
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
# Quiet Bot
|
|
35
|
+
|
|
36
|
+
You are operating in quiet-bot mode. Your default stance is to stay silent unless the message is clearly addressed to you.
|
|
37
|
+
|
|
38
|
+
## Group Chat Policy
|
|
39
|
+
|
|
40
|
+
Respond in a group only when at least one condition is true:
|
|
41
|
+
|
|
42
|
+
- You are explicitly mentioned by configured bot name, username, or direct alias.
|
|
43
|
+
- The message is a reply to one of your previous messages.
|
|
44
|
+
- The message is a direct command you own, such as `/help` or `/status`.
|
|
45
|
+
|
|
46
|
+
Do not answer general group chatter, side conversations, or questions addressed to another bot. In multi-bot groups, yield when another bot is specifically named.
|
|
47
|
+
|
|
48
|
+
## Direct Message Policy
|
|
49
|
+
|
|
50
|
+
Respond normally in direct messages, while still applying `tool-quota` and `escalation-discipline` for expensive work.
|
|
51
|
+
|
|
52
|
+
## Cost Guard
|
|
53
|
+
|
|
54
|
+
Before starting any long task from a chat message:
|
|
55
|
+
|
|
56
|
+
1. Summarize the bounded task you believe was requested.
|
|
57
|
+
2. State whether tool calls, model escalation, or external fetches are needed.
|
|
58
|
+
3. Ask for confirmation when the task would exceed the bot's default quiet reply.
|
|
59
|
+
|
|
60
|
+
## Refusal Shape
|
|
61
|
+
|
|
62
|
+
When a message is not addressed to you, do not send a refusal. Silence is the correct behavior.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quiet-business-bot
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Strict business-domain variant of quiet-bot for Quickbooksbot-style deployments.
|
|
5
|
+
platforms:
|
|
6
|
+
- openclaw
|
|
7
|
+
metadata:
|
|
8
|
+
triggers:
|
|
9
|
+
- on_message_received
|
|
10
|
+
- chat-message
|
|
11
|
+
scope: daemon
|
|
12
|
+
mode: prompt
|
|
13
|
+
policy:
|
|
14
|
+
group_chat:
|
|
15
|
+
respond_only_if:
|
|
16
|
+
- mentioned: true
|
|
17
|
+
- reply_to_self: true
|
|
18
|
+
- direct_command:
|
|
19
|
+
- /help
|
|
20
|
+
- /status
|
|
21
|
+
dm:
|
|
22
|
+
respond: domain_only
|
|
23
|
+
domain:
|
|
24
|
+
mode: strict
|
|
25
|
+
examples:
|
|
26
|
+
- accounting
|
|
27
|
+
- bookkeeping
|
|
28
|
+
- invoices
|
|
29
|
+
- reconciliation
|
|
30
|
+
- expenses
|
|
31
|
+
- reports
|
|
32
|
+
proactive_chatter: false
|
|
33
|
+
cost_guard:
|
|
34
|
+
summarize_before_long_task: true
|
|
35
|
+
manifest:
|
|
36
|
+
category: fleet
|
|
37
|
+
related_issues:
|
|
38
|
+
- 1189
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# Quiet Business Bot
|
|
42
|
+
|
|
43
|
+
You are operating in quiet-business-bot mode. You follow quiet-bot group-chat rules and also restrict responses to your configured business domain.
|
|
44
|
+
|
|
45
|
+
## Domain Policy
|
|
46
|
+
|
|
47
|
+
Answer only when the request is both addressed to you and within your business domain. For a Quickbooksbot-style deployment, the domain includes accounting, bookkeeping, invoices, reconciliation, expenses, exports, reports, and status checks.
|
|
48
|
+
|
|
49
|
+
Decline or stay silent on general chat:
|
|
50
|
+
|
|
51
|
+
- In a group, stay silent unless directly addressed.
|
|
52
|
+
- In a direct message, briefly decline non-domain requests and point the user to the right bot or human owner when known.
|
|
53
|
+
|
|
54
|
+
## Quickbooksbot Example
|
|
55
|
+
|
|
56
|
+
Respond:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
@quickbooksbot why is March reconciliation off?
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Do not respond:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
What does everyone think about the new office layout?
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Direct-message decline:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
I only handle bookkeeping and QuickBooks-related requests. Ask the workspace bot for general help.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Cost Guard
|
|
75
|
+
|
|
76
|
+
For domain requests that require exports, ledger scans, tool calls, or model escalation, summarize the bounded task and ask for confirmation before spending beyond the default reply.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# AIWG Fleet Provider Activation
|
|
2
|
+
|
|
3
|
+
The `aiwg-fleet` addon ships stock quiet-mode behavior bundles for small-plan bot fleets.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
aiwg use aiwg-fleet --provider openclaw
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
OpenClaw receives native behavior bundles under `~/.openclaw/behaviors/`. Other providers should install `aiwg-utils` and use the `quiet-mode` prompt-level rule until they have native behavior hooks.
|
|
12
|
+
|
|
13
|
+
## Provider Table
|
|
14
|
+
|
|
15
|
+
| Provider | Activation Pattern |
|
|
16
|
+
|----------|--------------------|
|
|
17
|
+
| OpenClaw | Native behaviors: `quiet-bot` and `quiet-business-bot` deploy to `~/.openclaw/behaviors/` |
|
|
18
|
+
| Claude Code | Fallback rule via `aiwg use aiwg-utils --provider claude` |
|
|
19
|
+
| Warp | Fallback rule via `aiwg use aiwg-utils --provider warp` |
|
|
20
|
+
| Copilot | Fallback rule via `aiwg use aiwg-utils --provider copilot` |
|
|
21
|
+
| Cursor | Fallback rule via `aiwg use aiwg-utils --provider cursor` |
|
|
22
|
+
| Windsurf | Fallback rule via `aiwg use aiwg-utils --provider windsurf` |
|
|
23
|
+
| OpenCode | Fallback rule via `aiwg use aiwg-utils --provider opencode` |
|
|
24
|
+
| Factory | Fallback rule via `aiwg use aiwg-utils --provider factory` |
|
|
25
|
+
| Codex | Fallback rule via `aiwg use aiwg-utils --provider codex` |
|
|
26
|
+
|
|
27
|
+
## Worked Examples
|
|
28
|
+
|
|
29
|
+
### Quickbooksbot
|
|
30
|
+
|
|
31
|
+
Use `quiet-business-bot`.
|
|
32
|
+
|
|
33
|
+
- DMs: answer only bookkeeping, QuickBooks, invoice, expense, reconciliation, export, and report requests.
|
|
34
|
+
- Groups: answer only when mentioned, replied to, or called by a direct command.
|
|
35
|
+
- Expensive work: summarize and confirm before tool-heavy analysis or model escalation.
|
|
36
|
+
|
|
37
|
+
### InfsolClaw
|
|
38
|
+
|
|
39
|
+
Use `quiet-bot`.
|
|
40
|
+
|
|
41
|
+
- DMs: answer normal work requests.
|
|
42
|
+
- Groups: mention-only participation.
|
|
43
|
+
- Multi-bot rooms: yield when another bot is named.
|
|
44
|
+
- Long work: summarize the bounded task before using tools or escalation.
|
|
45
|
+
|
|
46
|
+
## Out of Scope
|
|
47
|
+
|
|
48
|
+
Telegram client wiring, spam controls, room membership, and gateway-specific mention parsing remain in the chat platform or harness. AIWG supplies the behavior contract; the harness supplies message metadata such as `mentioned`, `reply_to_self`, and `room_type`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "aiwg-fleet",
|
|
3
|
+
"type": "addon",
|
|
4
|
+
"name": "AIWG Fleet Policies",
|
|
5
|
+
"version": "2026.5.0",
|
|
6
|
+
"description": "Cross-platform fleet behavior policies for quiet bots, mention-only group chat participation, and small-plan cost discipline",
|
|
7
|
+
"core": false,
|
|
8
|
+
"autoInstall": false,
|
|
9
|
+
"author": "AIWG Contributors",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"repository": "https://github.com/jmagly/aiwg",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"fleet",
|
|
14
|
+
"quiet-bot",
|
|
15
|
+
"mention-only",
|
|
16
|
+
"openclaw",
|
|
17
|
+
"telegram",
|
|
18
|
+
"budget"
|
|
19
|
+
],
|
|
20
|
+
"entry": {
|
|
21
|
+
"behaviors": "behaviors/",
|
|
22
|
+
"docs": "docs/"
|
|
23
|
+
},
|
|
24
|
+
"behaviors": [
|
|
25
|
+
"quiet-bot",
|
|
26
|
+
"quiet-business-bot"
|
|
27
|
+
],
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"required": ["aiwg-utils"]
|
|
30
|
+
},
|
|
31
|
+
"providers": {
|
|
32
|
+
"openclaw": { "supported": true, "native_behaviors": true },
|
|
33
|
+
"claude-code": { "supported": "fallback-rule" },
|
|
34
|
+
"warp": { "supported": "fallback-rule" },
|
|
35
|
+
"copilot": { "supported": "fallback-rule" },
|
|
36
|
+
"cursor": { "supported": "fallback-rule" },
|
|
37
|
+
"windsurf": { "supported": "fallback-rule" },
|
|
38
|
+
"opencode": { "supported": "fallback-rule" },
|
|
39
|
+
"factory": { "supported": "fallback-rule" },
|
|
40
|
+
"codex": { "supported": "fallback-rule" }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# aiwg-utils Overview
|
|
2
2
|
|
|
3
|
-
aiwg-utils is the core utility addon bundled with every AIWG installation. It provides
|
|
3
|
+
aiwg-utils is the core utility addon bundled with every AIWG installation. It provides core enforcement rules that govern how agents behave — how they scope subagents, follow instructions, research before acting, gate model escalation, avoid tool loops, stay quiet in group chats, handle interactive questions, manage context budgets, generate diagrams, and deploy across platforms. These rules are not optional; they are the behavioral foundation on which all other AIWG components operate.
|
|
4
4
|
|
|
5
5
|
## What's Included
|
|
6
6
|
|
|
7
|
-
Beyond the
|
|
7
|
+
Beyond the rules, aiwg-utils also provides:
|
|
8
8
|
|
|
9
9
|
- **5 agents**: `context-regenerator`, `aiwg-developer`, `consortium-coordinator`, `self-debug`, `aiwg-steward`
|
|
10
10
|
- **9 skills**: `project-awareness`, `schedule`, `soul-create`, `soul-validate`, `soul-enhance`, `soul-apply`, `soul-blend`, `aiwg-sync`, `aiwg-guide`
|
|
@@ -14,7 +14,7 @@ Beyond the 7 rules, aiwg-utils also provides:
|
|
|
14
14
|
- **Hook management**: `hook-enable`, `hook-disable`, `hook-status`, `hook-regenerate`
|
|
15
15
|
- **Importable prompts**: Core orchestration patterns, multi-agent patterns, reliability prompts
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Core Rules
|
|
18
18
|
|
|
19
19
|
### HIGH Priority
|
|
20
20
|
|
|
@@ -38,6 +38,24 @@ Research the codebase, docs, and existing patterns before making technical decis
|
|
|
38
38
|
|
|
39
39
|
Apply when: API usage, configuration changes, dependency selection, error diagnosis, import resolution.
|
|
40
40
|
|
|
41
|
+
#### escalation-discipline
|
|
42
|
+
|
|
43
|
+
Summarize before moving above the declared default model tier, confirm Tier 3 explicitly, and never auto-escalate unattended bots to premium tiers. Escalation confirmation is a human-authorization gate, not a recommendation.
|
|
44
|
+
|
|
45
|
+
Apply when: model-tier routing, budget-sensitive agents, unattended bots, requests for deep/debug/thorough work, high-impact work.
|
|
46
|
+
|
|
47
|
+
#### tool-quota
|
|
48
|
+
|
|
49
|
+
Track per-session tool calls, honor `tool_quota` and `loop_detection` declarations, and stop repeating similar failed calls without measurable progress. Defaults cap same failing retries at 3, similar-call windows at 5, one tool at 30 calls in a focused session, and high-cost external tools at 10 calls.
|
|
50
|
+
|
|
51
|
+
Apply when: unattended bots, tool-heavy sessions, shell retry loops, external fetch loops, agent definitions with `tool_quota`.
|
|
52
|
+
|
|
53
|
+
#### quiet-mode
|
|
54
|
+
|
|
55
|
+
Group-chat bots respond only when mentioned, replied to, or invoked by direct command. Multi-bot rooms require yielding to the addressed bot. Business bots stay in domain, and long or expensive work must be summarized before tools or model escalation.
|
|
56
|
+
|
|
57
|
+
Apply when: Telegram/group-chat bots, multi-bot rooms, direct-message business bots, ambient room listeners.
|
|
58
|
+
|
|
41
59
|
#### native-ux-tools
|
|
42
60
|
|
|
43
61
|
Use platform-native interaction tools (e.g., Claude Code's AskUserQuestion) for interactive questions rather than plain text. One question per interaction turn. Includes a platform capability matrix for all 8 supported providers; falls back to formatted markdown if native tools are unavailable.
|
|
@@ -77,6 +95,9 @@ Full rule files:
|
|
|
77
95
|
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/subagent-scoping.md
|
|
78
96
|
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/instruction-comprehension.md
|
|
79
97
|
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/research-before-decision.md
|
|
98
|
+
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/escalation-discipline.md
|
|
99
|
+
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/tool-quota.md
|
|
100
|
+
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/quiet-mode.md
|
|
80
101
|
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/native-ux-tools.md
|
|
81
102
|
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/context-budget.md
|
|
82
103
|
@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/diagram-generation.md
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# aiwg-utils Rules Reference
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Core enforcement rules deployed with every AIWG installation. These rules apply automatically based on context — you do not invoke them explicitly.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
## subagent-scoping
|
|
8
8
|
|
|
9
|
-
**Priority**: HIGH
|
|
9
|
+
**Priority**: HIGH
|
|
10
10
|
**Full rule**: `@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/subagent-scoping.md`
|
|
11
11
|
|
|
12
12
|
### What It Enforces
|
|
@@ -43,7 +43,7 @@ Task(technical-writer, "Update auth module documentation")
|
|
|
43
43
|
|
|
44
44
|
## instruction-comprehension
|
|
45
45
|
|
|
46
|
-
**Priority**: HIGH
|
|
46
|
+
**Priority**: HIGH
|
|
47
47
|
**Full rule**: `@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/instruction-comprehension.md`
|
|
48
48
|
|
|
49
49
|
### What It Enforces
|
|
@@ -122,6 +122,106 @@ The rule includes a capability matrix defining which tool to use on each of the
|
|
|
122
122
|
|
|
123
123
|
---
|
|
124
124
|
|
|
125
|
+
## tool-quota
|
|
126
|
+
|
|
127
|
+
**Priority**: HIGH
|
|
128
|
+
**Full rule**: `@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/tool-quota.md`
|
|
129
|
+
|
|
130
|
+
### What It Enforces
|
|
131
|
+
|
|
132
|
+
Agents track tool calls per session, stop repeated failing calls, and honor declared quotas:
|
|
133
|
+
|
|
134
|
+
```yaml
|
|
135
|
+
tool_quota:
|
|
136
|
+
Bash: 10
|
|
137
|
+
WebFetch: 5
|
|
138
|
+
defaults: 20
|
|
139
|
+
loop_detection:
|
|
140
|
+
same_call_window: 5
|
|
141
|
+
max_retries: 3
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Default behavior when no agent-specific quota exists:
|
|
145
|
+
|
|
146
|
+
- Same failing call retries: 3
|
|
147
|
+
- Similar calls in a rolling window: 5
|
|
148
|
+
- Total calls to one tool in a focused session: 30
|
|
149
|
+
- High-cost external tool calls: 10
|
|
150
|
+
|
|
151
|
+
When a quota would be exceeded, the agent stops and reports what was tried, what was learned, why more calls are needed, and the narrow next action.
|
|
152
|
+
|
|
153
|
+
### When It Applies
|
|
154
|
+
|
|
155
|
+
Tool-heavy sessions, unattended bots, shell retry loops, external fetch loops, and any agent definition with `tool_quota` or `loop_detection`.
|
|
156
|
+
|
|
157
|
+
### Example: Quickbooksbot
|
|
158
|
+
|
|
159
|
+
Quickbooksbot receives a vague "why are March numbers wrong?" request. It may inspect known accounting files and integration status, but after three equivalent missing-token or permission failures it must stop, summarize the blocker, and ask for the missing export or credential instead of continuing tool retries.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## escalation-discipline
|
|
164
|
+
|
|
165
|
+
**Priority**: HIGH
|
|
166
|
+
**Full rule**: `@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/escalation-discipline.md`
|
|
167
|
+
|
|
168
|
+
### What It Enforces
|
|
169
|
+
|
|
170
|
+
Agents summarize before using a model above their declared default tier:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
Need: what is hard or uncertain
|
|
174
|
+
Escalation: target tier and why the default tier is insufficient
|
|
175
|
+
Next: the bounded task the higher tier will handle
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Tier 3 requires explicit human confirmation. Unattended bots may not auto-escalate to Tier 3; they must ask, stop with a summary, or queue the request for a supervised agent.
|
|
179
|
+
|
|
180
|
+
Agent definitions may override defaults:
|
|
181
|
+
|
|
182
|
+
```yaml
|
|
183
|
+
escalation:
|
|
184
|
+
unattended: true
|
|
185
|
+
max_auto_tier: 1
|
|
186
|
+
summary_required: true
|
|
187
|
+
premium_requires_confirmation: true
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### When It Applies
|
|
191
|
+
|
|
192
|
+
Model-tier routing, budget-sensitive agents, unattended bots, high-impact legal/financial/medical/security work, and user requests for deep, debug, or thorough work.
|
|
193
|
+
|
|
194
|
+
### Interaction with Human Authorization
|
|
195
|
+
|
|
196
|
+
Escalation confirmation is a human-authorization gate. A recommendation to use a higher tier is not permission to spend; the agent must get explicit confirmation whenever policy requires it.
|
|
197
|
+
|
|
198
|
+
### Example: Quickbooksbot
|
|
199
|
+
|
|
200
|
+
Quickbooksbot receives a complex accounting question that may affect tax prep. It summarizes why Tier 2 is needed, names the bounded ledger comparison it will perform, and asks for confirmation before escalating. If the result implies filing impact, it stops and asks before Tier 3 or routes to the supervised main agent.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## quiet-mode
|
|
205
|
+
|
|
206
|
+
**Priority**: HIGH
|
|
207
|
+
**Full rule**: `@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/quiet-mode.md`
|
|
208
|
+
|
|
209
|
+
### What It Enforces
|
|
210
|
+
|
|
211
|
+
In group chats, bots respond only when mentioned, replied to, or invoked by a direct command. They yield when another bot is specifically addressed and they do not initiate proactive chatter unless scheduled or explicitly requested.
|
|
212
|
+
|
|
213
|
+
Business bots stay in domain. In direct messages, they can briefly decline off-domain requests and name their scope.
|
|
214
|
+
|
|
215
|
+
### When It Applies
|
|
216
|
+
|
|
217
|
+
Telegram/group-chat bots, multi-bot rooms, direct-message business bots, scheduled chat agents, ambient room listeners, and platforms without native behavior support.
|
|
218
|
+
|
|
219
|
+
### Examples
|
|
220
|
+
|
|
221
|
+
Quickbooksbot answers `@quickbooksbot show unpaid invoices over 30 days`, but stays silent on unrelated group chatter. InfsolClaw answers when mentioned for work status, but yields silently when Quickbooksbot is addressed.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
125
225
|
## context-budget
|
|
126
226
|
|
|
127
227
|
**Priority**: MEDIUM
|
|
@@ -213,6 +313,9 @@ Creating agent definitions, deploying to multiple providers, selecting tools for
|
|
|
213
313
|
| `subagent-scoping` | Delegating tasks | One task per subagent; depth ≤ 2 |
|
|
214
314
|
| `instruction-comprehension` | Every request | Prohibitions before requirements; no drift |
|
|
215
315
|
| `research-before-decision` | Technical decisions | Research → Reason → Act → Verify |
|
|
316
|
+
| `escalation-discipline` | Model spend gates | Summarize; confirm premium tiers |
|
|
317
|
+
| `tool-quota` | Tool-heavy sessions | Track calls; stop repeated failures |
|
|
318
|
+
| `quiet-mode` | Chat bots | Mention-only groups; domain-bound business bots |
|
|
216
319
|
| `native-ux-tools` | Interactive questions | Use platform-native tools; 1 question/turn |
|
|
217
320
|
| `context-budget` | Parallel spawning (opt-in) | Respect `AIWG_CONTEXT_WINDOW` |
|
|
218
321
|
| `diagram-generation` | Major docs | Required diagrams per artifact type |
|
|
@@ -112,6 +112,10 @@
|
|
|
112
112
|
"instruction-comprehension",
|
|
113
113
|
"parallel-then-synthesize",
|
|
114
114
|
"research-before-decision",
|
|
115
|
+
"escalation-discipline",
|
|
116
|
+
"tool-quota",
|
|
117
|
+
"quiet-mode",
|
|
118
|
+
"respect-repo-access-manifest",
|
|
115
119
|
"subagent-scoping",
|
|
116
120
|
"diagram-generation",
|
|
117
121
|
"native-ux-tools",
|
|
@@ -4,7 +4,7 @@ Core meta-utility rules for agent coordination, context management, and platform
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
## AIWG Utilities Rules (
|
|
7
|
+
## AIWG Utilities Rules (25 rules — active with aiwg-utils addon)
|
|
8
8
|
|
|
9
9
|
### HIGH
|
|
10
10
|
|
|
@@ -48,6 +48,26 @@ Core meta-utility rules for agent coordination, context management, and platform
|
|
|
48
48
|
**When to apply**: Technical decision-making, API usage, configuration changes, dependency selection, error diagnosis, import resolution
|
|
49
49
|
**Full rule**: @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/research-before-decision.md
|
|
50
50
|
|
|
51
|
+
#### escalation-discipline
|
|
52
|
+
**Summary**: Agents must summarize before moving above their declared default model tier, confirm Tier 3 explicitly, and never auto-escalate unattended bots to premium tiers. Escalation confirmation is a human-authorization gate: state the need, target tier, and bounded next task before spending higher-tier tokens or routing to a stronger agent.
|
|
53
|
+
**When to apply**: Model-tier routing, budget-sensitive agents, unattended bots, requests for deep/debug/thorough work, high-impact legal/financial/medical/security work, any recommendation to use a stronger or premium model
|
|
54
|
+
**Full rule**: @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/escalation-discipline.md
|
|
55
|
+
|
|
56
|
+
#### tool-quota
|
|
57
|
+
**Summary**: Tool-using agents must track per-session tool calls, stop repeating similar failed calls without progress, and honor `tool_quota` / `loop_detection` declarations when present. Defaults: same failing call retries <=3, similar-call window <=5, one tool <=30 calls in a focused session, high-cost external tools <=10. When a quota would be exceeded, summarize attempts, facts learned, and the narrow next action instead of continuing an unbounded loop.
|
|
58
|
+
**When to apply**: Tool-heavy sessions, unattended bots, repeated tool failures, external fetch loops, shell retry loops, agent definitions with `tool_quota` or `loop_detection`
|
|
59
|
+
**Full rule**: @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/tool-quota.md
|
|
60
|
+
|
|
61
|
+
#### quiet-mode
|
|
62
|
+
**Summary**: Chat and bot agents in group rooms should respond only when mentioned, replied to, or invoked by a direct command. Multi-bot rooms require yielding to the specifically addressed bot. Direct messages are allowed, but business bots stay in domain and long or expensive work must be summarized before tools or model escalation.
|
|
63
|
+
**When to apply**: Telegram/group-chat bots, multi-bot rooms, DMs to business bots, scheduled chat agents, ambient room listeners, platforms without native behavior support
|
|
64
|
+
**Full rule**: @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/quiet-mode.md
|
|
65
|
+
|
|
66
|
+
#### respect-repo-access-manifest
|
|
67
|
+
**Summary**: Tool capability is not authorization. When a repo access manifest exists, agents must check it before reading deeply, editing, committing, pushing, issue-commenting, or taking service actions across repo boundaries. Unlisted repos deny by default; repo-local instructions can narrow but not expand manifest permissions.
|
|
68
|
+
**When to apply**: Multi-repo workspaces, adjacent repo handoffs, issue comments in sibling repos, commits/pushes, service actions, any work outside the current repo root
|
|
69
|
+
**Full rule**: @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/respect-repo-access-manifest.md
|
|
70
|
+
|
|
51
71
|
#### skill-discovery
|
|
52
72
|
**Summary**: Most AIWG skills are NOT loaded into your context — only the kernel set (framework quickrefs + core utilities). The bulk lives at `<provider-dir>/.aiwg/skills/` and is reachable only through the artifact index. The **discover-first protocol** (Rule 1.5) mandates that `aiwg discover` MUST be the first information-gathering tool call for any query mentioning AIWG, framework names (sdlc/research/forensics/ops/security-engineering/marketing/media-curator/knowledge-base), or capability keywords (skill/agent/rule/command/addon/workflow). Filesystem `Grep`/`Glob`/`Read` against `.claude/`, `.factory/`, `.codex/`, `.warp/`, `.cursor/`, `.windsurf/`, `.opencode/`, `~/.hermes/`, `~/.openclaw/`, or `agentic/code/` is FORBIDDEN for AIWG-related lookups until discover has been consulted. When subagent delegation is available, prefer the `aiwg-finder` subagent. You must also query discover before declining a request as out-of-scope or improvising a custom workflow.
|
|
53
73
|
**When to apply**: ANY query mentioning AIWG, a framework name, or a capability keyword (skill/agent/rule/command); before any filesystem search on provider artifact directories; before declining as out-of-scope; before improvising a custom workflow when an AIWG skill might exist
|
|
@@ -133,6 +153,9 @@ Core meta-utility rules for agent coordination, context management, and platform
|
|
|
133
153
|
| **Agent definition scope** | god-session, subagent-scoping |
|
|
134
154
|
| **Documentation** | diagram-generation |
|
|
135
155
|
| **Research/decisions** | research-before-decision |
|
|
156
|
+
| **Model escalation / spend gates** | escalation-discipline, human-authorization, native-ux-tools |
|
|
157
|
+
| **Tool-call loops / quotas** | tool-quota, research-before-decision, vague-discretion |
|
|
158
|
+
| **Chat bot quiet mode** | quiet-mode, tool-quota, escalation-discipline |
|
|
136
159
|
| **Skill / capability lookup** | skill-discovery, research-before-decision |
|
|
137
160
|
| **Error diagnosis** | research-before-decision, instruction-comprehension |
|
|
138
161
|
| **Constrained systems** | context-budget, subagent-scoping |
|
|
@@ -150,5 +173,5 @@ Core meta-utility rules for agent coordination, context management, and platform
|
|
|
150
173
|
|
|
151
174
|
---
|
|
152
175
|
|
|
153
|
-
*Generated from aiwg-utils manifest.json —
|
|
176
|
+
*Generated from aiwg-utils manifest.json — 24 rules*
|
|
154
177
|
*Full rule files: @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/*
|
|
@@ -96,6 +96,19 @@ When context budget is constrained, each subagent should produce less output to
|
|
|
96
96
|
|
|
97
97
|
These rules operate at the prompt/convention level. There is no runtime system that enforces them. Agents are expected to read the directive and adjust their behavior accordingly. The rules provide clear lookup tables so the agent can make the right decision without complex reasoning.
|
|
98
98
|
|
|
99
|
+
### Rule 6: Compose with Provider Parallelism Cap (#1359)
|
|
100
|
+
|
|
101
|
+
`.aiwg/aiwg.config` may declare a `parallelism.max_parallel_subagents` cap that reflects the model provider's rate-limit envelope (Anthropic per-key TPM/RPM caps in particular). When both `AIWG_CONTEXT_WINDOW` and the provider cap are set, the **smaller** wins:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
effective_parallel = min(
|
|
105
|
+
context_window_tier_cap, // from this rule's table
|
|
106
|
+
parallelism.max_parallel_subagents // from aiwg.config (#1359)
|
|
107
|
+
)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
For example, a Claude small-plan project with `AIWG_CONTEXT_WINDOW=512000` (which this rule would allow up to 12 parallel) and `parallelism.max_parallel_subagents=4` is capped at 4. The rate-limit cap wins because exceeding it produces 429s regardless of how much context fits. See `@$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/subagent-scoping.md` Rule 8 for the full composition formula across all four cap sources.
|
|
111
|
+
|
|
99
112
|
## Compaction Guidance
|
|
100
113
|
|
|
101
114
|
### Aggressive Compaction (≤64k)
|