You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"description": "Control Plane — hybrid multi-cloud platform. Skills, agents, and guardrails for deploying workloads, managing secrets, configuring networking, troubleshooting, and migrating from Kubernetes across AWS, GCP, Azure, and private clouds."
Copy file name to clipboardExpand all lines: CHANGELOG.md
+21-28Lines changed: 21 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,67 +18,60 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/) and this
18
18
19
19
### Added
20
20
21
-
-`plugins/cpln/hooks/inject-rules.sh` — a single bundled shell script that walks `plugins/cpln/rules/*.md`, filters by `alwaysApply: true` in frontmatter, and emits the `hookSpecificOutput.additionalContext` envelope. Called from all three SessionStart hooks (Claude, Codex, Gemini); uses `awk` for JSON escaping so the hook has zero optional runtime dependencies.
21
+
-Bundled SessionStart hook script that injects always-apply rules without requiring `jq` on the user's machine.
22
22
23
23
### Changed
24
24
25
-
-`SessionStart` hooks across Claude (`plugins/cpln/hooks/cpln-hooks.json`), Codex (same), and Gemini (`hooks/hooks.json`) now invoke `inject-rules.sh` instead of inlining a `jq`-based shell pipeline. Behavior is byte-for-byte identical to the previous `jq` output (verified against the same rule files) but no longer depends on `jq` being installed on the user's machine.
26
-
- README's Codex install section now explains the `plugin_hooks` feature flag (`UnderDevelopment, default_enabled: false` in `codex-rs/features/src/lib.rs`) and ships the `~/.codex/config.toml` snippet needed to enable plugin-bundled hook display and execution. Without the flag the Codex `/plugins` tab shows "No plugin hooks" and the SessionStart rule injector never fires.
25
+
- README documents the Codex `plugin_hooks` feature flag required for the SessionStart guardrail injector to run.
27
26
28
27
### Fixed
29
28
30
-
-**Empty 1.2.0 install on Claude.**`.claude-plugin/marketplace.json`used `{source: "github", repo: …, path: "plugins/cpln"}`; Claude's `github`source schema doesn't accept a `path` field, so the entire repo was cloned to the cache and Claude looked for `plugin.json` at the cache root (where only `marketplace.json` exists), loading the plugin with zero skills, agents, commands, or hooks. Source switched to the documented relative-path form `"./plugins/cpln"`.
31
-
-**Empty Apps tab and parse warning on Codex.**`plugins/cpln/.app.json` shipped rich metadata (`name`, `description`, `apiBase`, `auth`, `docs`, …) but Codex's `PluginAppConfig` struct in `codex-rs/core-plugins/src/loader.rs` requires a single `id: String` field — an opaque `asdk_app_<hex>` identifier assigned by OpenAI's Apps SDK when Control Plane is registered as a ChatGPT App. Until that registration exists, the manifest's `apps: "./.app.json"` line and `.app.json` itself are removed; Codex no longer emits `missing field "id"` warnings on every session.
29
+
- Empty plugin on Claude install — 1.2.0 marketplace used an invalid `source` shape, so Claude loaded zero skills/agents/commands.
30
+
- Codex no longer emits a missing-`id` warning every session for an Apps SDK manifest that wasn't ready to ship.
32
31
33
32
### Removed
34
33
35
-
-`plugins/cpln/.app.json`and the `apps` field in `plugins/cpln/.codex-plugin/plugin.json` (see Fixed above).
34
+
-Placeholder `.app.json`for OpenAI Apps SDK, until Control Plane is registered as a ChatGPT App.
36
35
37
36
## [1.2.0] - 2026-05-11
38
37
39
38
### Added
40
39
41
-
- Gemini `SessionStart` hook at repo-root `hooks/hooks.json` that injects the same `alwaysApply: true` rules every Claude and Codex session already receives. Uses Gemini's `${extensionPath}` config-time variable to reach `plugins/cpln/rules/`, and emits the standard `hookSpecificOutput.additionalContext` shape Gemini's hooks docs describe. All three runtimes now do rule injection from one source via one schema.
42
-
-Marketplace-level `description` field in `.claude-plugin/marketplace.json`.
40
+
- Gemini `SessionStart` hook so guardrail rules are injected every session (matching Claude and Codex).
41
+
-`description` field on the Claude marketplace entry.
43
42
44
43
### Changed
45
44
46
-
-**Repo restructured into `plugins/cpln/`.** All Claude + Codex plugin content (skills, agents, commands, rules, references, assets, hooks, plugin manifests, MCP configs) moved into `plugins/cpln/`; marketplaces, the Gemini extension manifest, and contributor docs stay at repo root. End-user install commands are unchanged — `/plugin upgrade` and `codex plugin marketplace upgrade` re-resolve automatically. Claude + Codex hooks now live in `plugins/cpln/hooks/cpln-hooks.json` and are declared via each plugin manifest's `hooks` field, freeing the default `hooks/hooks.json` path at the repo root for Gemini's auto-discovery.
45
+
- Repo restructured: plugin content moved into `plugins/cpln/`. End-user install commands unchanged.
47
46
48
47
### Fixed
49
48
50
-
- Codex plugin install failing silently with `"local plugin source path must not be empty"`. `.agents/plugins/marketplace.json`source previously declared `path: "./"`, which Codex's path validator rejects, causing the plugin to be dropped on every session so `/plugins` never listed it.
51
-
- Codex `defaultPrompt`warning. `interface.defaultPrompt` had 4 entries (Codex max is 3) and was being ignored wholesale; trimmed to 3.
49
+
- Codex plugin install failing silently due to an invalid `source.path` in the marketplace manifest.
50
+
- Codex `defaultPrompt`trimmed to 3 entries (Codex's max) so it's no longer ignored.
52
51
53
52
### Removed
54
53
55
-
- Claude + Codex `PreToolUse` Bash guards that denied generic `cpln secret create`(no type-specific subcommand) and `cpln apply`without `--file`. They caught syntax mistakes the `cpln`CLI itself already rejects with clear errors, so the deny-message added little over the CLI's own output — and the same guidance is now injected upfront via the SessionStart rule content. No corresponding Gemini `BeforeTool` guards shipped (they were drafted then removed in the same release).
54
+
- Claude and Codex `PreToolUse` Bash guards for `cpln secret create` and `cpln apply`— the CLI itself rejects these clearly and the SessionStart rules now carry the same guidance.
56
55
57
56
## [1.1.0] - 2026-05-11
58
57
59
58
### Added
60
59
61
-
- Always-on guardrail rule: Template Catalog first — recommend the matching catalog template (Postgres, Redis, Kafka, RabbitMQ, MongoDB, Nginx, etc.) before hand-rolling a workload, with HA variants noted where applicable.
62
-
- Always-on guardrail rule: production-grade workload defaults — explicit minimums for CPU/memory sizing, multi-replica HA, autoscaling strategy, and required readiness/liveness probes for any workload destined for prod-like use.
63
-
- Always-on guardrail rule: scale-to-zero is forbidden by default — only configured when the user explicitly opts in by name, never on customer-facing services.
64
-
- README "Update to a newer release" sections per client (Claude Code, Codex, Gemini CLI), including auto-update opt-in flows.
65
-
- GitHub Release notes now include per-client update commands alongside first-time install commands.
60
+
- Three always-on guardrail rules: template catalog first; production-grade workload defaults (sizing, HA, probes); scale-to-zero forbidden unless explicitly opted in.
61
+
- Per-client "Update to a newer release" instructions in README, including auto-update opt-in flows.
62
+
- Per-client update commands in GitHub Release notes.
66
63
67
64
### Changed
68
65
69
-
-`skills/workload-security` — added a Health Probes section covering readiness vs. liveness, default-by-workload-type, schema, production probe example, and probe design rules.
70
-
-`skills/autoscaling-capacity` — bolded `minScale: 2+` as the production default; renamed the misleading "High-Traffic API (Serverless, Scale-to-Zero)" example to "Customer-Facing API (Serverless, Concurrency Autoscaling)" and removed the no-op `scaleToZeroDelay` line.
71
-
-`skills/template-catalog` — added a "Recommend the catalog before building anything custom" lead section that frames the catalog as the default, not the fallback.
72
-
-`skills/cpln` and `GEMINI.md` — embedded the three new guardrail rules in concise form so Codex and Gemini sessions pick them up alongside the Claude Code SessionStart hook.
66
+
-`cpln-workload-security` — added a Health Probes section (readiness vs. liveness, schema, production example).
67
+
-`cpln-autoscaling-capacity` — `minScale: 2+` as the production default; renamed the misleading scale-to-zero example.
68
+
-`cpln-template-catalog` — lead section reframes the catalog as the default, not the fallback.
69
+
-`cpln` and `GEMINI.md` — embedded the three new guardrail rules so Codex and Gemini sessions pick them up alongside Claude.
73
70
74
71
## [1.0.0] - 2026-04-27
75
72
76
73
### Added
77
74
78
-
- Initial public release of the Control Plane AI Plugin.
79
-
- Added Claude Code plugin metadata, skills, agents, commands, rules, hooks, and MCP configuration.
80
-
- Added Codex plugin metadata and marketplace configuration.
81
-
- Added Gemini CLI extension metadata and command support.
82
-
- Added generic MCP client configuration for the hosted Control Plane MCP Server.
83
-
- Added Control Plane workflow guidance for workloads, secrets, domains, cloud access, Kubernetes migration, access control, stateful workloads, and private-network agents.
84
-
- Added security, privacy, troubleshooting, contribution, and release documentation.
75
+
- Initial public release. Skills, agents, commands, rules, hooks, and MCP configuration for Claude Code, Codex, and Gemini CLI, plus a generic MCP client configuration for the hosted Control Plane MCP Server.
76
+
- Workflow guidance for workloads, secrets, domains, cloud access, Kubernetes migration, access control, stateful workloads, and private-network agents.
77
+
- Security, privacy, troubleshooting, contribution, and release documentation.
0 commit comments