v2026.6.13
AIWG 2026.6.13 - "Tiered rules — leaner startup context"
Released: 2026-06-30
Channel: stable (npm install -g aiwg)
This release makes AIWG's rule corpus pay for itself. Rules now declare a
canonical enforcement level, and deployment splits them into two tiers: the
CRITICAL/HIGH rules that must prime every session are inlined into each
provider's always-on context, while the MEDIUM/LOW tier becomes on-demand —
reachable through aiwg show rule <name> and a generated RULES-ONDEMAND.md
index. Pair that with a careful compression pass over the largest always-on rule
bodies, and a full aiwg use all Claude startup drops from ~193K to ~110K
tokens — back under the 120K working-headroom target on a standard Sonnet
window, with every normative directive intact.
The same release extends the Cockpit session workspace with a read-only observe
terminal and persistent instance/session navigation, and hardens executor
enrollment so Docker and VM agents register reliably.
What changed
Enforcement-tiered rule deployment (#1673)
Every rule now carries a canonical enforcement: frontmatter level. The two
shared deploy enumerators (getAddonRuleFiles, collectFrameworkArtifacts)
inline only the always-on CRITICAL/HIGH tier into a provider's rule directory;
MEDIUM/LOW rules are pruned from the always-on set and left on-demand. Index
files and any un-triaged rule default to always-on, so nothing is ever silently
dropped. A CI guard (test/unit/providers/rule-tier-deployment.test.ts) asserts
the enumerators never leak a MEDIUM/LOW rule into the always-on set.
The architecture decision is recorded at
.aiwg/architecture/adr-rule-deployment-context-budget.md.
On-demand rule index across every provider (#1675)
The MEDIUM/LOW tier stays discoverable everywhere. File-based providers write a
compact RULES-ONDEMAND.md into their rule directory after deploying the
always-on rules:
.codex/rules/RULES-ONDEMAND.md
.factory/rules/RULES-ONDEMAND.md
.cursor/rules/RULES-ONDEMAND.md
.github/instructions/RULES-ONDEMAND.md
.opencode/rule/RULES-ONDEMAND.md
.windsurf/rules/RULES-ONDEMAND.md
~/.openclaw/rules/RULES-ONDEMAND.md
Each entry is one line with its fetch hint:
- `mention-wiring` — `aiwg show rule mention-wiring`Aggregated providers note the tier in their single bridge file instead of a
discrete file — warp appends an ## On-Demand Rules section to WARP.md
(excluding rules already inlined verbatim), and hermes/openhuman render it into
AGENTS.md (openhuman via a new {{ON_DEMAND_RULES}} template token). A shared
renderOnDemandRuleSection helper keeps the file index and the bridge sections
in lock-step.
Compressed always-on rule bodies (#1674)
The largest always-on rules — anti-laziness, skill-discovery,
subagent-scoping, rlm-context-management, cli-secondary, citation-policy,
auto-compact-continue, provenance-tracking, failure-mitigation,
agent-fallback, agent-friendly-code, agent-generation-guardrails,
hitl-gates, executable-feedback, tao-loop — were compressed per-rule,
removing non-normative illustration (research-quote blocks, metrics dashboards,
integration YAML, prompt-reinforcement galleries, ASCII diagrams) while
preserving every FORBIDDEN/REQUIRED directive, rule statement, and enforcement
level. Component RULES-INDEX.md summaries were tightened to one line each. The
full detail of any rule remains one aiwg show rule <name> away.
Net effect on a full aiwg use all Claude startup:
| Before #1673 | After this release | |
|---|---|---|
.claude/rules/* |
~169K | ~93K |
| Total startup (rules + memory) | ~193K | ~110K |
Budget verdict (lint:claude-context --startup) |
OVER/WARN | OK |
Startup-context budget in aiwg doctor (#1672)
aiwg doctor now reports the aggregate context Claude Code inlines at session
start versus the standard Sonnet window, with an OK/WARN/OVER verdict — so the
budget is visible without guesswork. The same measurement is enforced in CI:
npm run lint:claude-context -- --startup --strictCockpit: observe terminal + persistent navigation
The Cockpit session workspace gains a read-only observe terminal (auto-
observing the selected session's output) and a persistent instances + sessions
navigation pane that refreshes on an interval. Executor enrollment was
hardened across the board (#1669, #1670, #1671): the executor binds to
0.0.0.0 in cockpit-up so Docker agents enroll, the vsock CID registry
auto-heals before executor start, attach retries through the PTY-readiness
window, session lists de-duplicate by id, and stale stopped-Docker rows are
destroyable.
Upgrade
npm install -g aiwg # stable
aiwg refresh # re-deploy frameworks to pick up the tiered rulesaiwg refresh re-deploys with the tiered model: your provider rule directories
keep the always-on CRITICAL/HIGH rules plus a RULES-ONDEMAND.md index for the
rest. Nothing is lost — every MEDIUM/LOW rule is fetchable via
aiwg show rule <name>. No action is required for the Cockpit changes.
No breaking changes.