agent-policy-kit 0.1.0 → 0.3.0

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.
@@ -2,9 +2,15 @@
2
2
 
3
3
  Follow the [AI operator guide](../AGENT_INSTALL.md). npx, a temporary prefix or an installed tarball can run this one-shot configurator. Native files never depend on those locations afterward.
4
4
 
5
- Use setup --release --preset balanced to preview a version's default choices; add --apply to configure. Fast and Quality are alternative named presets. The [page](../site/index.html) generates either an exact named-preset command or a --config command for edited choices. Commands are pinned to that page's APK version.
5
+ Use setup --release --preset balanced to preview Standard, a version's default choices; add --apply to configure. --preset fast selects Light and --preset quality selects Top-tier. The [page](../site/index.html) generates explicit role, model, effort and concurrency arguments. Commands are pinned to that page's APK version.
6
6
 
7
- Only genuine detected and selected clients receive files. A standard native profile is required for automatic setup; nondefault native-home environment roots get a zero-write prerequisite. Explicit --home selects the standard layout under an intentional target. Preserve original --home/--state-dir for later removal.
7
+ Interactive terminals show readable results. Captured output remains JSON, and --json always requests JSON. A preview writes nothing. A repeated application reports unchanged clients. Partial results identify the clients that need attention.
8
+
9
+ Run `agent-policy show` to read current user-level native subagent settings before or after APK setup. Add `--client chatgpt` for one AI assistant or `--json` for machine output. It needs neither client executables nor APK receipts. Relevant native-home environment variables select the active user profile. An explicit --home selects standard client directories under that home. The command never changes files or calls a model.
10
+
11
+ Show reads ChatGPT's Codex TOML roles, Claude/Gemini/Grok Markdown role fields (Grok models come from config.toml [subagents.models]), and Kimi's native secondary-model pool. Kimi APK role mappings and APK concurrency instructions are labeled as guidance. Missing pins stay unspecified. Supported Markdown fields use plain, single-quoted or JSON-compatible double-quoted scalar values. Unsupported role syntax, unsafe files and incomplete reads produce explicit attention statuses and exit code 3. External role-file references, project/managed settings, plugins and session overrides are not resolved. Show displays supported current values even when APK-managed files have local edits. It does not print prompts, credentials, raw configuration or private paths.
12
+
13
+ Only genuine detected and selected clients receive files. On macOS, detection also finds the CLIs that ChatGPT Desktop and Claude Desktop include; see [desktop apps](compatibility.md#desktop-apps). A standard native profile is required for automatic setup; nondefault native-home environment roots get a zero-write prerequisite. Explicit --home selects the standard layout under an intentional target. Preserve original --home/--state-dir for later removal.
8
14
 
9
15
  Named APK roles and a managed global instruction block configure optional delegation. Main models, credentials, permissions, disabled agent features and unrelated hooks/plugins/settings are preserved. Native capabilities still differ; see [support](compatibility.md).
10
16
 
@@ -13,3 +19,5 @@ Kimi requires provisioned model entries. A missing preferred catalog alias may r
13
19
  Explicit release/custom replacement has no physical uninstall gap. Old ownership is verified, desired files are rendered over the original user baseline, and rollback protects the installed release. Doctor inspects actual applied version/source/preset without needing current presets or canonical preferences.
14
20
 
15
21
  After success the npm package can be removed. Native clients may need fresh sessions; no kit launcher is needed. Reinvoke a compatible APK for owned uninstall. Keep private receipts/backups if future removal is desired. [Recovery](recovery.md) handles drift or interrupted transactions without overwriting later user edits.
22
+
23
+ The configuration page keeps per-tool limits in individual tool details. Light starts at 2, Standard at 3 and Top-tier at 2. A manual limit marks only that tool Custom. Explicit commands can use --TOOL-max-concurrent overrides alongside the shared --max-concurrent fallback. Preset selection restores its cap as well as its models and effort.
@@ -0,0 +1,24 @@
1
+ # How the limit illustration was measured
2
+
3
+ The README illustration comes from the author's local Codex session logs (`~/.codex/sessions`). It records one developer's work on one plan. It is not a benchmark.
4
+
5
+ ## Method
6
+
7
+ Codex logs the weekly limit as `rate_limits.primary.used_percent` together with its reset time. Free limit resets started two separate windows, each from 0%. The illustration compares them:
8
+
9
+ | | Without APK | With APK |
10
+ |---|---|---|
11
+ | Subagent setup | No role settings; about half of subagent tokens ran on GPT-6 Astra, the top model | Roles put most subagent work on GPT-6.1 Sol and GPT-6 Luna |
12
+ | Subagents started | 67 | 131 |
13
+ | Active work until the limit reached 100% | 5.3 h | 25.0 h |
14
+ | Credits per 1M tokens after the limit | 35.3 | 3.0 |
15
+
16
+ Active work counts 10-minute intervals that contain at least one model response. Idle time, such as nights, is excluded. The illustration places these hours on 8-hour workdays.
17
+
18
+ ## Limits of the comparison
19
+
20
+ - The tasks differed between the two windows.
21
+ - Main-session effort was mostly xhigh in the first window and mostly high or lower in the second.
22
+ - Both windows come from one account and one developer's habits.
23
+
24
+ Claude Code logs showed the same pattern. When subagents inherited Opus, they produced 2.7 times as many output tokens as the main session. With roles on Sonnet and Haiku, they produced 0.16 times as many. That "after" sample covers one day.
@@ -4,10 +4,11 @@ models/catalog.json is the release snapshot, checked on 2026-10-30 UTC (2026-10-
4
4
 
5
5
  | Tool | Current selectable inventory | Evidence |
6
6
  |---|---|---|
7
- | Codex | 9 visible model IDs | CLI 0.166.0 bundled catalog and [official models](https://learn.chatgpt.com/docs/models) |
8
- | Claude Code | 14 versioned IDs, 4 family aliases and inherit | [Native model configuration](https://code.claude.com/docs/en/model-config), CLI 2.1.312 |
9
- | Kimi Code | 6 upstream models through preferred native aliases | [Current Kimi Code models](https://www.kimi.com/code/docs/en/kimi-code/models), CLI 2.4.0 provisioned metadata |
10
- | Antigravity | Pro, Flash, Flash Lite and inherit tiers | CLI 1.4.10 parser and [subagent documentation](https://antigravity.google/docs/subagents?tab=cli) |
7
+ | ChatGPT (Codex) | 9 visible model IDs | CLI 0.166.0 bundled catalog and [official models](https://learn.chatgpt.com/docs/models) |
8
+ | Claude (Claude Code) | 14 versioned IDs, 4 family aliases and inherit | [Native model configuration](https://code.claude.com/docs/en/model-config), CLI 2.1.312 |
9
+ | Kimi (Kimi Code) | 6 upstream models through preferred native aliases | [Current Kimi Code models](https://www.kimi.com/code/docs/en/kimi-code/models), CLI 2.4.0 provisioned metadata |
10
+ | Gemini (Antigravity) | Pro, Flash, Flash Lite and inherit tiers | CLI 1.4.10 parser and [subagent documentation](https://antigravity.google/docs/subagents?tab=cli) |
11
+ | Grok (Grok Build) | Grok 4.7, 4.6, 4.5 and Grok Build 0.1 model IDs (checked 2026-11-01) | [xAI models](https://docs.x.ai/developers/models) and [Grok Build subagents](https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md), CLI 1.0.70 |
11
12
 
12
13
  Hidden security/utility models, session modes and private deployments are separate from this native subagent inventory. Custom IDs remain available where the native format supports them.
13
14
 
@@ -15,11 +16,11 @@ Hidden security/utility models, session modes and private deployments are separa
15
16
 
16
17
  | Upstream ID | Native effort levels | Default | Role in this release |
17
18
  |---|---|---|---|
18
- | k3.1-pro | low / high / max | high | Optional flagship; Quality uses explicit max for code/review/tests |
19
+ | k3.1-pro | low / high / max | high | Optional flagship; Top-tier top-model switch for code/review/tests |
19
20
  | k3.1-pro-highspeed | low / high / max | high | Optional faster-output variant |
20
- | k3 | low / high / max | high | Quality exploration/documentation |
21
- | k3-256k | low / high / max | high | Balanced implementation/review/tests |
22
- | kimi-for-coding | low / high / max | max | K2.8 Preview; Fast and lighter Balanced work |
21
+ | k3 | low / high / max | high | Top-tier code, review, tests, exploration and documentation |
22
+ | k3-256k | low / high / max | high | Standard implementation, review, tests and docs |
23
+ | kimi-for-coding | low / high / max | max | K2.8 Preview; Light, Standard exploration and routine work, Top-tier Task runner |
23
24
  | kimi-for-coding-highspeed | Fixed thinking; no effort override | Unpinned | Optional K2.7 Code Highspeed |
24
25
 
25
26
  Both K3.1 Pro variants require thinking. Kimi documents approximately twice the quota usage for Pro Highspeed versus regular Pro; account tier controls access and context limits. The old kimi.ai/help page still lists only four IDs, so it is not the current inventory source. Native aliases use the kimi-code/ prefix; setup still requires an existing provisioned alias or a unique matching upstream model. It never creates provider credentials.
@@ -38,46 +39,51 @@ Account/provider access varies. Custom model IDs remain available for supported
38
39
 
39
40
  ## How the presets are designed
40
41
 
41
- These are starting recommendations for different priorities, reviewed on 2026-10-30. No comparative task benchmark was run. The four vendors' effort labels and subscription usage are not directly comparable.
42
+ These are starting recommendations, reviewed on 2026-10-30. Subagent usage counts against the same plan limits as the main session, and every parallel session adds to it. The presets therefore differ in how much of the plan subagents may use, not in a claimed quality ranking. No comparative task benchmark was run. Vendors' effort labels and subscription usage are not directly comparable, so one role can get different levels in different tools.
42
43
 
43
- - **Fast & economical:** bounded tasks on lighter models. Reviews and test creation receive extra reasoning because checking edge cases differs from executing known steps. Kimi uses one efficient alias at one coherent effort; Antigravity uses Flash for code and Flash Lite for lighter work.
44
- - **Balanced:** stronger implementation, review and test creation, with lighter fact gathering and mechanical work. Kimi uses K3 256K for code to keep its quota footprint below the full-context K3 variant; larger-context choices remain editable.
45
- - **Quality first:** demanding implementation, review and tests get frontier models and deeper supported reasoning. Exploration, documentation and mechanical steps use choices suited to those roles rather than automatically selecting the largest model everywhere. Kimi keeps one effort per shared alias; Pro max is reserved for code/review/tests, while K3 handles exploration and docs at high effort.
44
+ - **Light:** light models for every role, so plan limits last longest. It suits entry plans and many parallel sessions. In ChatGPT and Claude, reviews and test creation receive extra reasoning because checking edge cases differs from executing known steps. Kimi roles share one alias and therefore one effort, kept low to save quota; Gemini has no per-role effort and uses Flash for code and Flash Lite for lighter work.
45
+ - **Standard:** stronger implementation, review, test creation and documentation, with light models for fact gathering and mechanical work. Gemini's light tier for exploration and docs is Flash. ChatGPT runs Luna at high for exploration, OpenAI's suggested starting level for Luna; Claude's Haiku explorer uses its native default, medium. No role uses Astra, Fable or K3.1 Pro. Kimi uses K3 256K for code to keep its quota footprint below the full-context K3 variant; larger-context choices remain editable.
46
+ - **Top-tier:** Opus 5.5, GPT-6.1 Sol and K3 at high effort for implementation, review and tests. It uses limits fastest and suits top plans with few parallel sessions. Exploration and documentation use the same high-end model; only the Task runner stays lighter. Kimi keeps one effort per shared alias, and because K2.8 has no medium level its Task runner rises from low to high. Gemini has one top tier, Pro, so its Standard and Top-tier differ only in exploration, docs and the Task runner.
47
+ - **Top models switch:** under Top-tier, a per-tool switch replaces the Coder, Reviewer and Test writer model with the tool's top model: Fable 5.1, GPT-6 Astra or K3.1 Pro, still at high effort. Gemini and Grok have no such tier. The switch is off by default because these models use limits much faster and native default subagent settings copy the first selected role (the Coder when selected) to subagents started without a named role. It is part of Top-tier, not a separate preset, and share links keep it.
46
48
 
47
- No preset bans any model. An unselected model remains available in Custom. Explicit personal avoid lists are still supported in user policy/CLI input. The shared concurrency ceiling of three is a modest operational default, not a claim that a particular parallelism level improves quality; native enforcement varies by client.
49
+ Top-tier, with or without top models, pins high rather than xhigh or max. Native default subagent settings copy the first selected role (the Coder when selected), so a higher level would also apply to every subagent started without a named role. OpenAI recommends starting Astra at Light and places High and Extra High in the same band for difficult multi-step work. Anthropic describes high as the level for work where verification matters and xhigh as deeper reasoning at higher token spend; high is Fable's native default. Higher levels remain available in Custom.
48
50
 
49
- ### Fast & economical
51
+ No preset bans any model. An unselected model remains available in Custom. Explicit personal avoid lists are still supported in user policy/CLI input. Parallelism defaults are Light 2, Standard 3 and Top-tier 2 for each tool. They bound simultaneous delegation rather than starting tasks or measuring quality. Light keeps short work bounded. Standard allows three independent responsibilities to overlap. Top-tier limits concurrent long-running work on heavier models. These are product defaults, not benchmark results. Each tool can override its limit in its details. Native enforcement varies by client.
50
52
 
51
- | Role | Codex | Claude Code | Kimi Code | Antigravity |
52
- |---|---|---|---|---|
53
- | Coder | Luna · medium | Haiku 5.5 · medium | K2.8 Preview · low | Flash |
54
- | Reviewer | Luna · high | Haiku 5.5 · high | K2.8 Preview · low | Flash |
55
- | Code explorer | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite |
56
- | Test writer | Luna · high | Haiku 5.5 · high | K2.8 Preview · low | Flash |
57
- | Docs writer | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite |
58
- | Task runner | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite |
53
+ ### Light
59
54
 
60
- ### Balanced
55
+ | Role | ChatGPT | Claude | Kimi | Gemini | Grok |
56
+ |---|---|---|---|---|---|
57
+ | Coder | Luna · medium | Haiku 5.5 · medium | K2.8 Preview · low | Flash | Grok Build 0.1 |
58
+ | Reviewer | Luna · high | Haiku 5.5 · high | K2.8 Preview · low | Flash | Grok Build 0.1 |
59
+ | Code explorer | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite | Grok Build 0.1 |
60
+ | Test writer | Luna · high | Haiku 5.5 · high | K2.8 Preview · low | Flash | Grok Build 0.1 |
61
+ | Docs writer | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite | Grok Build 0.1 |
62
+ | Task runner | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite | Grok Build 0.1 |
61
63
 
62
- | Role | Codex | Claude Code | Kimi Code | Antigravity |
63
- |---|---|---|---|---|
64
- | Coder | Sol · medium | Sonnet 5.5 · medium | K3 256K · high | Pro |
65
- | Reviewer | Sol · high | Sonnet 5.5 · high | K3 256K · high | Pro |
66
- | Code explorer | Luna · high | Haiku 5.5 · medium | K2.8 Preview · low | Flash |
67
- | Test writer | Sol · high | Sonnet 5.5 · high | K3 256K · high | Pro |
68
- | Docs writer | Sol · medium | Sonnet 5.5 · medium | K2.8 Preview · low | Flash |
69
- | Task runner | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite |
64
+ ### Standard
70
65
 
71
- ### Quality first
66
+ | Role | ChatGPT | Claude | Kimi | Gemini | Grok |
67
+ |---|---|---|---|---|---|
68
+ | Coder | Sol · medium | Sonnet 5.5 · medium | K3 256K · high | Pro | Grok 4.7 |
69
+ | Reviewer | Sol · high | Sonnet 5.5 · high | K3 256K · high | Pro | Grok 4.7 |
70
+ | Code explorer | Luna · high | Haiku 5.5 · medium | K2.8 Preview · low | Flash | Grok Build 0.1 |
71
+ | Test writer | Sol · high | Sonnet 5.5 · high | K3 256K · high | Pro | Grok 4.7 |
72
+ | Docs writer | Sol · medium | Sonnet 5.5 · medium | K3 256K · high | Flash | Grok 4.7 |
73
+ | Task runner | Luna · low | Haiku 5.5 · low | K2.8 Preview · low | Flash Lite | Grok Build 0.1 |
72
74
 
73
- | Role | Codex | Claude Code | Kimi Code | Antigravity |
74
- |---|---|---|---|---|
75
- | Coder | Astra · xhigh | Fable 5.1 · xhigh | K3.1 Pro · max | Pro |
76
- | Reviewer | Astra · xhigh | Fable 5.1 · xhigh | K3.1 Pro · max | Pro |
77
- | Code explorer | Sol · high | Opus 5.5 · high | K3 · high | Pro |
78
- | Test writer | Astra · xhigh | Fable 5.1 · xhigh | K3.1 Pro · max | Pro |
79
- | Docs writer | Sol · high | Opus 5.5 · high | K3 · high | Pro |
80
- | Task runner | Sol · medium | Sonnet 5.5 · medium | K2.8 Preview · high | Flash |
75
+ ### Top-tier
76
+
77
+ | Role | ChatGPT | Claude | Kimi | Gemini | Grok |
78
+ |---|---|---|---|---|---|
79
+ | Coder | Sol · high | Opus 5.5 · high | K3 · high | Pro | Grok 4.7 |
80
+ | Reviewer | Sol · high | Opus 5.5 · high | K3 · high | Pro | Grok 4.7 |
81
+ | Code explorer | Sol · high | Opus 5.5 · high | K3 · high | Pro | Grok 4.7 |
82
+ | Test writer | Sol · high | Opus 5.5 · high | K3 · high | Pro | Grok 4.7 |
83
+ | Docs writer | Sol · high | Opus 5.5 · high | K3 · high | Pro | Grok 4.7 |
84
+ | Task runner | Sol · medium | Sonnet 5.5 · medium | K2.8 Preview · high | Flash | Grok Build 0.1 |
85
+
86
+ With the top models switch on, Coder, Reviewer and Test writer use Astra · high in ChatGPT, Fable 5.1 · high in Claude and K3.1 Pro · high in Kimi.
81
87
 
82
88
  ## Reasons and access requirements
83
89
 
@@ -87,7 +93,9 @@ Anthropic's [model comparison](https://platform.claude.com/docs/en/models/overvi
87
93
 
88
94
  [Kimi's model table](https://www.kimi.com/code/docs/en/kimi-code/models.html) describes K2.8 Preview's efficient thinking and the smaller quota footprint of K3 256K. Pro Highspeed has the same capabilities as regular Pro at a quota premium, so it is optional rather than a default for either economical or quality priorities. Selected aliases must be provisioned and Pro must have thinking enabled. Roles sharing one alias share its native effort setting.
89
95
 
90
- Antigravity recommendations use only its native role tiers. The CLI's Pro/Flash/Flash Lite selectors do not freeze the underlying provider model, and there is no per-role effort field. Account access and native precedence still apply; see [support](compatibility.md).
96
+ Grok Build 0.1 is xAI's fast coding model and serves light work; Grok 4.7 is the flagship and serves code, review, tests and docs. Light uses Grok Build 0.1 everywhere, Standard adds Grok 4.7 for code, review, tests and docs, and Top-tier also uses it for exploration. Grok 4.6 and 4.5 stay available in Custom. Account access to each model varies by plan. Per-role effort is unavailable, and there is no top models switch for Grok.
97
+
98
+ Gemini recommendations use only the native role tiers of Antigravity. The CLI's Pro/Flash/Flash Lite selectors do not freeze the underlying provider model, and there is no per-role effort field. Account access and native precedence still apply; see [support](compatibility.md).
91
99
 
92
100
  Native default effort means no explicit override. Unsupported effort fields are omitted. Explicit levels are filtered by model and native client; Kimi additionally checks provisioned support_efforts. It never silently changes the main agent's effort to satisfy a helper's setting.
93
101
 
@@ -18,8 +18,10 @@ Patch releases can correct documentation/configuration bugs; intentional recomme
18
18
 
19
19
  The package includes CHANGELOG.md and its matching page. Its CLI requires no compilation; only the page data is regenerated. No lifecycle install script mutates native settings.
20
20
 
21
- After explicit publication authorization, create the corresponding git version tag/release with the reviewed changelog text and publish that exact tarball through npm's normal authenticated process. Releases may target a verified feature-branch commit before its draft PR is merged. Never merge, mark a draft ready or enable auto-merge. Recheck registry contents and public page links after an authorized release.
21
+ After explicit publication authorization, create the corresponding git version tag/release with the reviewed changelog text and publish that exact tarball through npm's normal authenticated process. Publish application and npm releases only from reviewed commits already present in main. Before publication, fetch origin and require git merge-base --is-ancestor HEAD origin/main to succeed. Never merge, mark a draft ready or enable auto-merge. Recheck registry contents and public page links after an authorized release.
22
22
 
23
23
  ## Static page
24
24
 
25
- Host each release's generated site/index.html at an immutable versioned path. A latest landing URL may link the current one. The public configurator uses an assets-only Cloudflare Worker: no Worker JavaScript, API, database or paid bindings. Run npm run build:host and wrangler deploy with the pinned Wrangler version in wrangler.jsonc. The root redirects to /v/VERSION/ so shared links retain their release. Before deploying a later version, retain earlier release pages under dist/v/ using their tagged package artifacts; never overwrite an already published versioned page. The deploy directory is allowlisted by scripts/build-host.mjs and excludes repository files and private evidence. Local preview uses Google Chrome.
25
+ The latest site deploys automatically from reviewed main after CI, while each published /v/VERSION/ page remains an exact tagged snapshot. npm publication stays explicit. See [website deployment](deployment.md) for configuration guards, archive preservation, credentials and main-only retry.
26
+
27
+ The public domain is https://agent-policy-kit.trymenow.io/. The workers.dev address remains available for earlier links. Domain-only infrastructure changes use wrangler triggers deploy and compare deployment/version IDs before and after. CI website deployment deliberately omits routing changes and does not publish npm packages.
package/docs/policy.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  Start with policies/balanced.json or another preset in the selected release. The [JSON Schema](../schema/policy.schema.json) describes data shape; the configuration validator also checks the release catalog's known model/effort compatibility.
4
4
 
5
- - schemaVersion1; maxConcurrent is a shared target1..32.
6
- - clients contains codex, claude, kimi and/or agy (the technical key for Antigravity).
5
+ - schemaVersion1; maxConcurrent is the shared fallback, from 1 to 32. Optional clients[tool].maxConcurrent overrides it for one tool. Older policies without overrides keep their shared behavior.
6
+ - clients contains chatgpt (Codex), claude (Claude Code), kimi (Kimi Code), gemini (Antigravity) and/or grok (Grok Build). Version 0.2.0 and earlier used the keys codex and agy. They are not accepted.
7
7
  - Optional top-level selectedRoles is a nonempty unique array of worker, reviewer, explorer, tester, writer and routine IDs. Omit it for all six roles in the executing release. Only selected roles receive native files and routing instructions.
8
8
  - code/light hold default model+effort pairs.
9
9
  - Optional roles inside each client overrides each selected role independently. Worker/reviewer/tester otherwise use code; explorer/writer/routine use light. Public presets also contain role-specific overrides.
10
10
  - avoidModels is delegation guidance. An explicit page choice removes itself from that avoid list.
11
11
 
12
- Effort null means native behavior without an explicit effort override. Codex effort depends on the native model selector. Claude supports low through max as documented per model. Kimi actual aliases must declare the requested non-null effort. Antigravity's role field supports model tiers, with no per-role effort pin.
12
+ Effort null means native behavior without an explicit effort override. Codex effort depends on the native model selector. Claude supports low through max as documented per model. Kimi actual aliases must declare the requested non-null effort. Antigravity's role field supports model tiers, with no per-role effort pin. Grok Build accepts any model ID and always uses effort null.
13
13
 
14
14
  A known model cannot request an effort excluded by the release catalog. Custom IDs can use the client's native level set, subject to actual native availability. Kimi can merge null with one explicit pin for a selected shared alias. Contradictory explicit pins are refused. Unselected role defaults do not require Kimi aliases or acquire pins. A section-wide effort conflicting with mixed default/pinned alias behavior is a prerequisite rather than a silent rewrite.
15
15
 
package/docs/releases.md CHANGED
@@ -7,14 +7,14 @@
7
7
  Inspect the release and preview its plan:
8
8
 
9
9
  ```sh
10
- npx --yes --ignore-scripts --package agent-policy-kit@0.1.0 agent-policy release
11
- npx --yes --ignore-scripts --package agent-policy-kit@0.1.0 agent-policy setup --release
10
+ npx --yes --ignore-scripts --package agent-policy-kit@0.3.0 agent-policy release
11
+ npx --yes --ignore-scripts --package agent-policy-kit@0.3.0 agent-policy setup --release
12
12
  ```
13
13
 
14
14
  Apply explicitly:
15
15
 
16
16
  ```sh
17
- npx --yes --ignore-scripts --package agent-policy-kit@0.1.0 agent-policy setup --release --preset balanced --apply
17
+ npx --yes --ignore-scripts --package agent-policy-kit@0.3.0 agent-policy setup --release --preset balanced --apply
18
18
  ```
19
19
 
20
20
  The package you select supplies both preferences and native templates. --release is a boolean, not another version argument. --preset selects fast/balanced/quality; its identity is stored alongside release/source. The same pattern selects an older compatible release for downgrade. Installing/updating an npm package alone does not change native files. Before publication, use that release's verified .tgz instead of the registry package spec.
@@ -37,4 +37,4 @@ Current native receipt v4 records the selected subset of six bounded role filena
37
37
 
38
38
  A release reproduces declared settings and templates. Provider aliases/tiers can resolve to new models, old model IDs can retire, and account access can change. See [model maintenance](model-updates.md). No runtime updater or model gateway is installed.
39
39
 
40
- Read [CHANGELOG](../CHANGELOG.md) for what changed, why, who should update and migration limits. Version 0.1.0 is the first release; synthetic versions in acceptance tests are not real releases.
40
+ Read [CHANGELOG](../CHANGELOG.md) for what changed, why, who should update and migration limits. Versions 0.1.0 and 0.2.0 are published and 0.3.0 is being prepared; synthetic versions in acceptance tests are not real releases.
package/docs/use-cases.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## Add only reviewers and researchers
4
4
 
5
- Choose Reviewer and Researcher in the page, then select your coding tools. APK creates only apk-reviewer and apk-explorer. Later additions can expand this set. Removing a selected role removes its earlier owned definition while preserving unrelated files and edits.
5
+ Choose Reviewer and Researcher in the page, then select your AI assistants. APK creates only apk-reviewer and apk-explorer. Later additions can expand this set. Removing a selected role removes its earlier owned definition while preserving unrelated files and edits.
6
6
 
7
- ## One role scheme across coding tools
7
+ ## One role scheme across AI assistants
8
8
 
9
9
  Choose models for the six focused roles: implementation, review, discovery, tests, documentation and prescribed execution. Presets provide role-specific starting choices. Each tool receives native definitions and delegation instructions; no central dispatcher runs between it and its provider.
10
10
 
@@ -14,7 +14,7 @@ Apply the shared preferences to delegated helpers while preserving each tool's m
14
14
 
15
15
  ## Configure and discard the installer
16
16
 
17
- Run detected setup with --apply, verify native files, remove the npm package, and start your coding tools normally. Saved role files and settings keep working through native features.
17
+ Run detected setup with --apply, verify native files, remove the npm package, and start your AI assistants normally. Saved role files and settings keep working through native features.
18
18
 
19
19
  ## Customize model choices
20
20
 
@@ -1,6 +1,43 @@
1
1
  # Verification record
2
2
 
3
- Configuration release/page 0.1.0, macOS arm64, 2026-10-30. Configuration checks, native loading and model execution are separate results.
3
+ Configuration checks, native loading and model execution are separate results.
4
+
5
+ ## 0.3.0
6
+
7
+ macOS arm64, 2026-11-01.
8
+
9
+ | Layer | Current evidence |
10
+ |---|---|
11
+ | Full Node 26.5.1 suite | PASS: 368/368, including source-denied real-tarball gates, desktop app bundle detection and the renamed `chatgpt` and `gemini` IDs. A second run with `/Applications` replaced by a missing directory also passed 368/368, so no test depends on apps installed on the host |
12
+ | Hosted CI | PASS on main e8c6ac3: macOS Node 22.13.0 and Ubuntu Node 24 suites plus site-build ([run](https://github.com/automatis-tools/agent-policy-kit/actions/runs/41348755442)) |
13
+ | Two synthetic releases | PASS: the actual 0.3.0 tarball and a synthetic 0.4.0 tarball, A to B to A, mixed applied versions, drift safety and original-user restoration |
14
+ | Published 0.2.0 to 0.3.0 | PASS in an isolated HOME with the npm 0.2.0 package: ChatGPT/Codex reports `OWNERSHIP_CONFLICT` in both directions until the creating version removes it, then setup succeeds; Claude upgrades to 0.3.0 and moves back to 0.2.0 in place; Grok upgrades in place. Kimi NOT CHECKED with a provisioned model pool |
15
+ | Desktop app detection | PASS with the installed apps and a PATH without CLIs: ChatGPT Desktop's bundled `codex-cli 0.166.0-alpha.5.1` and Claude Desktop's bundled Claude Code 2.1.309, both reported as `desktop_app` |
16
+ | Browser | PASS in local Chromium previews: the "AI assistants" step empty and with two assistants, its note, the All scope and the generated `--chatgpt` command |
17
+ | Native ChatGPT/Claude/Kimi/Gemini/Grok loading and provider execution | NOT CHECKED for 0.3.0; no live model tasks used as configuration proof |
18
+ | npm packaging | PASS: `npm pack --dry-run` and `npm publish --dry-run` list 45 files; no private evidence or configuration |
19
+ | Current model catalog | Unchanged from 0.2.0 apart from the `chatgpt`/`gemini` keys and general labels: ChatGPT 9 selectors, Claude 19 selectors, Kimi 6 preferred aliases, Gemini 4 Antigravity tiers, Grok 4 model IDs. Account access and model quality are not established by configuration tests. |
20
+
21
+ ## 0.2.0
22
+
23
+ macOS arm64, 2026-11-01.
24
+
25
+ | Layer | Current evidence |
26
+ |---|---|
27
+ | Full Node 26.5.1 suite | PASS: 350/350, including source-denied real-tarball gates, selected-role native generation, Grok Build files under an isolated GROK_HOME, per-tool limits and expanded page commands |
28
+ | Hosted CI | PASS on main 7f8666d: macOS Node 22.13.0 and Ubuntu Node 24 suites plus site-build ([run](https://github.com/automatis-tools/agent-policy-kit/actions/runs/41283600922)) |
29
+ | Two synthetic releases | PASS: the actual 0.2.0 tarball and a synthetic 0.3.0 tarball, A to B to A, mixed applied versions, drift safety and original-user restoration |
30
+ | Page command via npx | PASS: the generated multiline command runs through a real shell and npx with the local tarball; independent Codex 5 and Claude 2 limits and Grok Build values are read back from native files |
31
+ | Preset audit | PASS: an independent review compared every preset, tool and role with the catalog and documentation and found no data defects; wording fixes were applied, and a test keeps the documentation tables in sync |
32
+ | Grok Build discovery | PASS: `grok inspect --json` with Grok Build 1.0.70 lists an `apk-*` agent from an isolated GROK_HOME. Model selection and execution NOT CHECKED |
33
+ | Native Codex/Claude/Kimi/Antigravity loading and provider execution | NOT CHECKED for 0.2.0; no live model tasks used as configuration proof |
34
+ | Browser | The owner reviewed local previews manually; no automated browser run for 0.2.0 |
35
+ | npm packaging | PASS: `npm pack --dry-run` and `npm publish --dry-run` list 42 files; no private evidence or configuration |
36
+ | Current model catalog | Codex 9 selectors, Claude 19 selectors, Kimi 6 preferred aliases, Antigravity CLI 4 tiers, Grok Build 4 model IDs. Account access and model quality are not established by configuration tests. |
37
+
38
+ ## 0.1.0
39
+
40
+ macOS arm64, 2026-10-30.
4
41
 
5
42
  | Layer | Current evidence |
6
43
  |---|---|
@@ -21,4 +58,4 @@ Configuration release/page 0.1.0, macOS arm64, 2026-10-30. Configuration checks,
21
58
  | Hosted macOS/Linux CI | See the public workflow runs linked from the GitHub release; local results above do not establish hosted CI. |
22
59
  | Deployment/publication | Public status and downloadable artifacts are recorded in the GitHub release; package checks below concern the reviewed tarball. |
23
60
 
24
- The 0.2.0 packages are synthetic test fixtures, not public releases. Browser evidence, disposable homes, raw configuration fixtures and logs stay outside Git/npm. Expanded commands preserve the selected cap and avoid lists; :native round-trips unpinned effort. A 2835-case preset/role/tool matrix produces identical native role files and routing instructions. Real-shell tests preserve colon/@/bracket IDs and prevent pathname expansion. The same pinned command consumes the published npm release. The verified local tarball supports testing before publication.
61
+ At 0.1.0, the 0.2.0 packages were synthetic test fixtures, not public releases. Browser evidence, disposable homes, raw configuration fixtures and logs stay outside Git/npm. Expanded commands preserve the selected cap and avoid lists; :native round-trips unpinned effort. A 2835-case preset/role/tool matrix produces identical native role files and routing instructions. Real-shell tests preserve colon/@/bracket IDs and prevent pathname expansion. The same pinned command consumes the published npm release. The verified local tarball supports testing before publication.
@@ -3,8 +3,8 @@
3
3
  "reviewedAt": "2026-10-30",
4
4
  "scope": "Documented/native coding-tool selectors at this release; account access and custom deployment IDs vary.",
5
5
  "clients": {
6
- "codex": {
7
- "label": "Codex",
6
+ "chatgpt": {
7
+ "label": "ChatGPT",
8
8
  "efforts": [
9
9
  "none",
10
10
  "minimal",
@@ -265,7 +265,7 @@
265
265
  "note": "Efforts and defaults follow the bundled Codex CLI 0.166.0 catalog. API capabilities are separate apiEfforts/apiDefaultEffort metadata. Ultra is a delegating execution mode, recorded separately and not offered as ordinary subagent effort. An API-supported level absent from the native catalog is unverified for manual per-role configuration, not proven runtime-rejected."
266
266
  },
267
267
  "claude": {
268
- "label": "Claude Code",
268
+ "label": "Claude",
269
269
  "efforts": [
270
270
  "low",
271
271
  "medium",
@@ -655,8 +655,8 @@
655
655
  "observedClientVersion": "2.4.0",
656
656
  "observation": "Kimi Code CLI 2.4.0: all six documented preferred aliases and native effort/default capabilities corroborated through whitelisted provisioned metadata; no credentials or custom account aliases retained."
657
657
  },
658
- "agy": {
659
- "label": "Antigravity",
658
+ "gemini": {
659
+ "label": "Gemini",
660
660
  "efforts": [],
661
661
  "observedClientVersion": "1.4.10",
662
662
  "models": [
@@ -694,6 +694,50 @@
694
694
  }
695
695
  ],
696
696
  "note": "Native per-subagent selectors are tiers, not the session model inventory. CLI 1.4.10 parser explicitly accepts inherit/flash_lite/flash/pro, including Flash Lite absent from the shared docs App table. Per-role effort is not exposed by the agent-file schema."
697
+ },
698
+ "grok": {
699
+ "label": "Grok",
700
+ "efforts": [],
701
+ "observedClientVersion": "1.0.70",
702
+ "models": [
703
+ {
704
+ "id": "grok-4.7",
705
+ "label": "Grok 4.7",
706
+ "efforts": [],
707
+ "defaultEffort": null,
708
+ "source": "https://docs.x.ai/developers/models",
709
+ "nativeSource": "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md",
710
+ "kind": "model"
711
+ },
712
+ {
713
+ "id": "grok-4.6",
714
+ "label": "Grok 4.6",
715
+ "efforts": [],
716
+ "defaultEffort": null,
717
+ "source": "https://docs.x.ai/developers/models",
718
+ "nativeSource": "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md",
719
+ "kind": "model"
720
+ },
721
+ {
722
+ "id": "grok-4.5",
723
+ "label": "Grok 4.5",
724
+ "efforts": [],
725
+ "defaultEffort": null,
726
+ "source": "https://docs.x.ai/developers/models",
727
+ "nativeSource": "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md",
728
+ "kind": "model"
729
+ },
730
+ {
731
+ "id": "grok-build-0.1",
732
+ "label": "Grok Build 0.1",
733
+ "efforts": [],
734
+ "defaultEffort": null,
735
+ "source": "https://docs.x.ai/developers/models",
736
+ "nativeSource": "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md",
737
+ "kind": "model"
738
+ }
739
+ ],
740
+ "note": "Per-subagent models are set in config.toml [subagents.models]; model IDs follow the documented xAI model list and account access varies. Per-role effort is not exposed by the agent-file schema, so subagents use the main session effort. [subagents] max_concurrent is a native cap."
697
741
  }
698
742
  }
699
743
  }
package/package.json CHANGED
@@ -1,15 +1,23 @@
1
1
  {
2
2
  "name": "agent-policy-kit",
3
- "version": "0.1.0",
4
- "description": "Configure native subagent settings across coding tools, then exit",
3
+ "version": "0.3.0",
4
+ "description": "Configure native subagent settings across AI assistants, then exit",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
- "author": "Agent Policy Kit contributors",
7
+ "author": {
8
+ "name": "Mykola Maksymenko",
9
+ "url": "https://www.linkedin.com/in/nick-maximenko/"
10
+ },
8
11
  "keywords": [
12
+ "chatgpt",
9
13
  "codex",
14
+ "claude",
10
15
  "claude-code",
11
16
  "kimi",
17
+ "gemini",
12
18
  "antigravity",
19
+ "grok",
20
+ "grok-build",
13
21
  "subagents",
14
22
  "configuration",
15
23
  "model-settings"
@@ -57,5 +65,5 @@
57
65
  "bugs": {
58
66
  "url": "https://github.com/automatis-tools/agent-policy-kit/issues"
59
67
  },
60
- "homepage": "https://agent-policy-kit.maksymenko-ml.workers.dev/v/0.1.0/"
68
+ "homepage": "https://agent-policy-kit.trymenow.io/v/0.3.0/"
61
69
  }
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "maxConcurrent": 3,
4
4
  "clients": {
5
- "codex": {
5
+ "chatgpt": {
6
6
  "code": {
7
7
  "model": "gpt-6.1-sol",
8
8
  "effort": "medium"
@@ -69,9 +69,15 @@
69
69
  "model": "kimi-code/kimi-for-coding",
70
70
  "effort": "low"
71
71
  },
72
+ "roles": {
73
+ "writer": {
74
+ "model": "kimi-code/k3-256k",
75
+ "effort": "high"
76
+ }
77
+ },
72
78
  "avoidModels": []
73
79
  },
74
- "agy": {
80
+ "gemini": {
75
81
  "code": {
76
82
  "model": "pro",
77
83
  "effort": null
@@ -91,6 +97,23 @@
91
97
  }
92
98
  },
93
99
  "avoidModels": []
100
+ },
101
+ "grok": {
102
+ "code": {
103
+ "model": "grok-4.7",
104
+ "effort": null
105
+ },
106
+ "light": {
107
+ "model": "grok-build-0.1",
108
+ "effort": null
109
+ },
110
+ "roles": {
111
+ "writer": {
112
+ "model": "grok-4.7",
113
+ "effort": null
114
+ }
115
+ },
116
+ "avoidModels": []
94
117
  }
95
118
  }
96
119
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "maxConcurrent": 3,
3
+ "maxConcurrent": 2,
4
4
  "clients": {
5
- "codex": {
5
+ "chatgpt": {
6
6
  "code": {
7
7
  "model": "gpt-6-luna",
8
8
  "effort": "medium"
@@ -55,7 +55,7 @@
55
55
  },
56
56
  "avoidModels": []
57
57
  },
58
- "agy": {
58
+ "gemini": {
59
59
  "code": {
60
60
  "model": "flash",
61
61
  "effort": null
@@ -65,6 +65,17 @@
65
65
  "effort": null
66
66
  },
67
67
  "avoidModels": []
68
+ },
69
+ "grok": {
70
+ "code": {
71
+ "model": "grok-build-0.1",
72
+ "effort": null
73
+ },
74
+ "light": {
75
+ "model": "grok-build-0.1",
76
+ "effort": null
77
+ },
78
+ "avoidModels": []
68
79
  }
69
80
  }
70
81
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "maxConcurrent": 3,
3
+ "maxConcurrent": 2,
4
4
  "clients": {
5
- "codex": {
5
+ "chatgpt": {
6
6
  "code": {
7
- "model": "gpt-6-astra",
8
- "effort": "xhigh"
7
+ "model": "gpt-6.1-sol",
8
+ "effort": "high"
9
9
  },
10
10
  "light": {
11
11
  "model": "gpt-6.1-sol",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "claude": {
27
27
  "code": {
28
- "model": "claude-fable-5-1",
29
- "effort": "xhigh"
28
+ "model": "claude-opus-5-5",
29
+ "effort": "high"
30
30
  },
31
31
  "light": {
32
32
  "model": "claude-sonnet-5-5",
@@ -46,8 +46,8 @@
46
46
  },
47
47
  "kimi": {
48
48
  "code": {
49
- "model": "kimi-code/k3.1-pro",
50
- "effort": "max"
49
+ "model": "kimi-code/k3",
50
+ "effort": "high"
51
51
  },
52
52
  "light": {
53
53
  "model": "kimi-code/kimi-for-coding",
@@ -65,7 +65,7 @@
65
65
  },
66
66
  "avoidModels": []
67
67
  },
68
- "agy": {
68
+ "gemini": {
69
69
  "code": {
70
70
  "model": "pro",
71
71
  "effort": null
@@ -85,6 +85,27 @@
85
85
  }
86
86
  },
87
87
  "avoidModels": []
88
+ },
89
+ "grok": {
90
+ "code": {
91
+ "model": "grok-4.7",
92
+ "effort": null
93
+ },
94
+ "light": {
95
+ "model": "grok-build-0.1",
96
+ "effort": null
97
+ },
98
+ "roles": {
99
+ "explorer": {
100
+ "model": "grok-4.7",
101
+ "effort": null
102
+ },
103
+ "writer": {
104
+ "model": "grok-4.7",
105
+ "effort": null
106
+ }
107
+ },
108
+ "avoidModels": []
88
109
  }
89
110
  }
90
111
  }