Skip to content

Commit 86f240d

Browse files
Bordacodex
andcommitted
feat(codex-rig)!: harden denial UX and rename core skills
Changes: - Rename the public analyse skill to change-analysis and develop to implement without compatibility aliases, update every packaged skill reference, codemap route, artifact schema, calibration case, README, and top-level discovery surface, and bump Codex Rig to 0.8.0 for the intentional breaking interface change. - Define denial as a terminal user decision: agents must acknowledge it, avoid replaying or disguising the denied action, continue the conversation without treating denial as cancellation, and may retry only when an agent-originated sandbox choice failed before any user denial and the corrected request is explained. - Add a sanitized App Server denial diagnostic harness that binds exact commands and lifecycle events, rejects missing command starts and malformed or incomplete transcripts, drains post-exit events, requires declared network context, isolates evidence and output roots, and records failure evidence without retaining prompts, credentials, raw command output, or unrelated session content. - Make live validation fail closed across logical and physical path aliases, package identity, manifest payload hashes and modes, workspace names, bytes, links, modes, and modification times; revalidate the installed candidate after cleanup so package or workspace mutations cannot pass through a time-of-check/time-of-use gap. - Strengthen package build and validation around complete manifest-bound payload identity, installed-package gates, restrictive umask behavior, capability-gated symlink coverage, approval contracts, Windows skip accounting, and plugin-only release checks. - Mark accepted live calibration evidence stale after the skill-roster change, regenerate task and behavioral calibration records for the renamed workflows, and update operator documentation to distinguish offline proof, archived evidence, and candidate-specific live validation. Impact: - Users receive predictable denial handling: a denied action is not retried, the chat remains available for a different request, and the plugin contract no longer conflates user refusal with an agent sandbox-configuration mistake. - Developers and release operators gain deterministic, sanitized diagnostics that distinguish policy, package, lifecycle, isolation, and host-session failures while refusing ambiguous evidence. - Install and release checks detect incomplete, modified, aliased, or post-validation-mutated candidate payloads instead of accepting a partial manifest or source-only success. - Skill invocations and integrations must migrate from analyse/develop to change-analysis/implement; 0.8.0 intentionally provides no backward-compatible aliases. - Documentation and calibration no longer imply that evidence captured for the 0.7.5-era skill roster verifies the 0.8.0 candidate. Verification: - .venv/bin/python -m pytest plugins/codex-rig/tests -q: 733 passed, 5 skipped, 2 macOS temporary-directory cleanup warnings. - Focused denial and installed-package closure suite: 77 passed. - Changed denial/package/skip/approval QA suite: 135 passed; restrictive-umask slice: 18 passed. - pre-commit ruff-format, ruff-check, and mdformat hooks on all changed applicable files: passed. - .venv/bin/python plugins/codex-rig/scripts/build_package.py --check: passed immediately before commit; package manifest current. - .venv/bin/python plugins/codex-rig/scripts/validate_package.py: passed immediately before commit. - uv run --only-group docs --python 3.12 mkdocs build --strict: passed. - Calibration run: passed at confidence 0.90 with zero critical, high, medium, or low findings. - Fresh independent protocol, QA, curation, and release review axes found no unresolved code defect; protocol and QA confidence 0.94, curation confidence 0.96. - git diff --cached --check: passed immediately before commit. Residual limits: - Native Windows execution was unavailable; Windows behavior has static contract coverage and capability-gated tests plus macOS execution, but not a native candidate run. - A paid live App Server matrix was not rerun against this exact candidate; archived live evidence is explicitly marked stale. - Future release CI must bind its OS and Python matrix evidence to this committed candidate identity before release certification. - Two non-failing pytest warnings remain from macOS cleanup of pre-existing garbage-* temporary directories. --- Co-authored-by: Codex <codex@openai.com>
1 parent 1bd25c1 commit 86f240d

47 files changed

Lines changed: 4152 additions & 312 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.codex/README.md

Lines changed: 48 additions & 48 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ This is the literal shipped skill inventory. The host guides list every agent, r
6767
<details>
6868
<summary><strong>Show complete capability map</strong></summary>
6969

70-
| Package | Complete skill roster |
71-
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
72-
| Foundry | `/foundry:setup`, `/foundry:audit`, `/foundry:calibrate`, `/foundry:manage`, `/foundry:brainstorm`, `/foundry:investigate`, `/foundry:profile`, `/foundry:distill`, `/foundry:session`, `/foundry:create`, `/foundry:humanizer` |
73-
| OSS | `/oss:analyse`, `/oss:review`, `/oss:resolve`, `/oss:release`, `/oss:setup` |
74-
| Develop | `/develop:plan`, `/develop:feature`, `/develop:fix`, `/develop:refactor`, `/develop:debug`, `/develop:review`, `/develop:setup` |
75-
| Research | `/research:topic`, `/research:plan`, `/research:judge`, `/research:run`, `/research:sweep`, `/research:verify`, `/research:fortify`, `/research:retro`, `/research:kaggle`, `/research:setup` |
76-
| Codemap-py | `scan-codebase`, `query-code`, `test-impact`, `rename-refs`, `integration`, `debrief-coding`, namespaced as `/codemap-py:...` in Claude Code and `$codemap-py:...` in Codex |
77-
| Codex Rig | `$codex-rig:analyse`, `$codex-rig:audit`, `$codex-rig:calibrate`, `$codex-rig:code-remediate`, `$codex-rig:code-review`, `$codex-rig:develop`, `$codex-rig:investigate`, `$codex-rig:kaggle`, `$codex-rig:manage`, `$codex-rig:optimize`, `$codex-rig:release`, `$codex-rig:research`, `$codex-rig:sync`, `$codex-rig:agent-shims` |
70+
| Package | Complete skill roster |
71+
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
72+
| Foundry | `/foundry:setup`, `/foundry:audit`, `/foundry:calibrate`, `/foundry:manage`, `/foundry:brainstorm`, `/foundry:investigate`, `/foundry:profile`, `/foundry:distill`, `/foundry:session`, `/foundry:create`, `/foundry:humanizer` |
73+
| OSS | `/oss:analyse`, `/oss:review`, `/oss:resolve`, `/oss:release`, `/oss:setup` |
74+
| Develop | `/develop:plan`, `/develop:feature`, `/develop:fix`, `/develop:refactor`, `/develop:debug`, `/develop:review`, `/develop:setup` |
75+
| Research | `/research:topic`, `/research:plan`, `/research:judge`, `/research:run`, `/research:sweep`, `/research:verify`, `/research:fortify`, `/research:retro`, `/research:kaggle`, `/research:setup` |
76+
| Codemap-py | `scan-codebase`, `query-code`, `test-impact`, `rename-refs`, `integration`, `debrief-coding`, namespaced as `/codemap-py:...` in Claude Code and `$codemap-py:...` in Codex |
77+
| Codex Rig | `$codex-rig:change-analysis`, `$codex-rig:audit`, `$codex-rig:calibrate`, `$codex-rig:code-remediate`, `$codex-rig:code-review`, `$codex-rig:implement`, `$codex-rig:investigate`, `$codex-rig:kaggle`, `$codex-rig:manage`, `$codex-rig:optimize`, `$codex-rig:release`, `$codex-rig:research`, `$codex-rig:sync`, `$codex-rig:agent-shims` |
7878

7979
</details>
8080

@@ -174,7 +174,7 @@ Start a fresh Codex session, then try:
174174
```text
175175
$codex-rig:agent-shims doctor
176176
$codex-rig:investigate find the root cause of the failing test
177-
$codex-rig:develop implement the verified fix
177+
$codex-rig:implement apply the verified fix
178178
$codex-rig:code-review review the current diff
179179
$codemap-py:scan-codebase
180180
$codemap-py:query-code rdeps mypackage.auth
@@ -234,7 +234,7 @@ In Codex:
234234

235235
```text
236236
$codex-rig:investigate diagnose the reported failure
237-
$codex-rig:develop implement the verified fix
237+
$codex-rig:implement apply the verified fix
238238
$codex-rig:code-review review the resulting diff
239239
```
240240

@@ -295,11 +295,11 @@ The packages remain independently installable, but their boundaries are intentio
295295

296296
Claude companion workflows use Foundry specialists when available and follow each plugin's documented fallback or stop condition when a companion is absent. Develop, Research, and Codex Rig can use Codemap-py as optional structural context; a missing or stale index is reported and does not become a claim that no callers or tests exist. Network-backed paths keep authentication and approval user-owned.
297297

298-
For a new change, use `develop` or Codex Rig after the scope is understood. For a GitHub issue or pull request, use OSS or Codex Rig's review/remediation pair. For an ML hypothesis, use Research's topic → plan → judge → run → retro sequence. Add Codemap-py only while imports, callers, coupling, or test impact remain unresolved.
298+
For a new change, use the Develop plugin or Codex Rig's `implement` skill after the scope is understood. For a GitHub issue or pull request, use OSS or Codex Rig's review/remediation pair. For an ML hypothesis, use Research's topic → plan → judge → run → retro sequence. Add Codemap-py only while imports, callers, coupling, or test impact remain unresolved.
299299

300300
Two Claude–Codex integration patterns are supported when their optional plugins are installed: Claude can delegate a bounded mechanical task or pre-review to Codex and then inspect the local diff; Codex can independently review Claude's staged/local work and leave an artifact for the next remediation step. Both are local, evidence-backed handoffs; neither grants remote mutation or turns one model's result into proof.
301301

302-
For a daily maintainer pass, start with `/oss:analyse vitality` or the Codex `analyse` route, review selected PRs with `/oss:review` or `$codex-rig:code-review`, reproduce and fix one high-value issue with Develop or `investigate``develop`, then assess release readiness with `/oss:release` or `release`. Keep the scope and evidence artifacts for the next session rather than treating the sequence as an unattended campaign.
302+
For a daily maintainer pass, start with `/oss:analyse vitality` or the Codex Rig `change-analysis` route, review selected PRs with `/oss:review` or `$codex-rig:code-review`, reproduce and fix one high-value issue with the Develop plugin or `investigate``implement`, then assess release readiness with `/oss:release` or `release`. Keep the scope and evidence artifacts for the next session rather than treating the sequence as an unattended campaign.
303303

304304
</details>
305305

docs/index.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ Six independently installable packages serve two runtimes: five marketplace plug
2323

2424
## Complete skill inventory
2525

26-
| Package | Shipped skills |
27-
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
28-
| Foundry | `setup`, `audit`, `calibrate`, `manage`, `brainstorm`, `investigate`, `profile`, `distill`, `session`, `create`, `humanizer` |
29-
| OSS | `analyse`, `review`, `resolve`, `release`, `setup` |
30-
| Develop | `plan`, `feature`, `fix`, `refactor`, `debug`, `review`, `setup` |
31-
| Research | `topic`, `plan`, `judge`, `run`, `sweep`, `verify`, `fortify`, `retro`, `kaggle`, `setup` |
32-
| Codemap-py | `scan-codebase`, `query-code`, `test-impact`, `rename-refs`, `integration`, `debrief-coding` |
33-
| Codex Rig | `analyse`, `audit`, `calibrate`, `code-remediate`, `code-review`, `develop`, `investigate`, `kaggle`, `manage`, `optimize`, `release`, `research`, `sync`, `agent-shims` |
26+
| Package | Shipped skills |
27+
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
28+
| Foundry | `setup`, `audit`, `calibrate`, `manage`, `brainstorm`, `investigate`, `profile`, `distill`, `session`, `create`, `humanizer` |
29+
| OSS | `analyse`, `review`, `resolve`, `release`, `setup` |
30+
| Develop | `plan`, `feature`, `fix`, `refactor`, `debug`, `review`, `setup` |
31+
| Research | `topic`, `plan`, `judge`, `run`, `sweep`, `verify`, `fortify`, `retro`, `kaggle`, `setup` |
32+
| Codemap-py | `scan-codebase`, `query-code`, `test-impact`, `rename-refs`, `integration`, `debrief-coding` |
33+
| Codex Rig | `change-analysis`, `audit`, `calibrate`, `code-remediate`, `code-review`, `implement`, `investigate`, `kaggle`, `manage`, `optimize`, `release`, `research`, `sync`, `agent-shims` |
3434

3535
The package pages document every skill's arguments, prerequisites, outputs, stopping conditions, fallbacks, and known boundaries. The repository's [Claude guide](https://github.com/Borda/AI-Rig/blob/main/.claude/README.md) also inventories all Claude agents, rules, and hooks; the [Codex Rig role-card reference](https://github.com/Borda/AI-Rig/blob/main/plugins/codex-rig/roles/README.md) inventories all Codex specialist roles.
3636

@@ -86,7 +86,7 @@ Try the investigation-to-review loop:
8686
```text
8787
$codex-rig:agent-shims doctor
8888
$codex-rig:investigate find the root cause of the failing test
89-
$codex-rig:develop implement the verified fix
89+
$codex-rig:implement apply the verified fix
9090
$codex-rig:code-review review the current diff
9191
```
9292

@@ -144,7 +144,7 @@ Native Codex investigation and remediation:
144144

145145
```text
146146
$codex-rig:investigate diagnose the failure
147-
$codex-rig:develop implement the verified fix
147+
$codex-rig:implement apply the verified fix
148148
$codex-rig:code-review review the resulting diff
149149
$codex-rig:code-remediate close selected findings
150150
```

plugins/codex-rig/.codex-plugin/plugin.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
],
1919
"category": "Productivity",
2020
"defaultPrompt": [
21-
"Use the codex-rig:develop skill to implement and verify the requested change.",
21+
"Use the codex-rig:implement skill to implement and verify the requested change.",
2222
"Use the codex-rig:code-review skill to review the current diff.",
2323
"Use the codex-rig:research skill to collect primary evidence and recommendations."
2424
],
@@ -31,5 +31,5 @@
3131
"name": "codex-rig",
3232
"repository": "https://github.com/Borda/AI-Rig",
3333
"skills": "./skills/",
34-
"version": "0.7.6"
34+
"version": "0.8.0"
3535
}

plugins/codex-rig/CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## 0.8.0
4+
5+
- Rename the `develop` workflow to `implement` and `analyse` to `change-analysis` across skill identities, invocation names, artifact namespaces, routing, calibration, package metadata, and documentation. This release intentionally provides no aliases or compatibility paths for the former names.
6+
- Apply one canonical five-field approval brief to every shipped networked shell-CLI boundary; denial stops the current tool call without running the external command, equivalent reprompt, or broader fallback, requires a new user message to continue, and keeps separate capabilities as separate approvals.
7+
- Add a fail-closed, standard-library-only App Server denial transcript validator and focused protocol tests covering callback correlation, exact request/lifecycle command identity, declined primary terminal states, no output or fallback execution, fresh-turn recovery, and atomic success or bounded sanitized failure evidence only after the process cleanup attempt, without contacting a host or network service. A separately authorized live matrix runs text-only and installed-skill-input controls before denial, requires isolated non-overlapping roots plus one independently recorded full-package manifest digest across every row, verifies every declared payload before launch, stops on the first failure, and retains only sorted allowlisted error categories, the first specific category, whether any retry occurred, and the final retry state. Prior Codex-home use remains an explicit operator precondition because the probe cannot infer it safely from contents.
8+
- Add an installed-package-safe acceptance gate that copies only manifest-declared payload into a disposable cache and runs explicit package-safe tests without source-checkout context; the complete suite exercises these gates across Linux, macOS, and Windows with Python 3.10–3.13, while live App Server candidate binding remains a separately authorized manual probe and does not claim desktop-UI equivalence.
9+
310
## 0.7.6
411

512
- Skip Git-only `codex plugin marketplace upgrade` for an existing local marketplace, then reconcile the managed plugin set from that configured local snapshot. Git marketplace refresh behavior is unchanged.
@@ -23,7 +30,7 @@
2330
- Keep shell network access blocked by default while requiring scoped external-network approval for the complete command owning every intentional `gh` or `kaggle` call, GitHub collector fetch/HTTPS path, Codex Git marketplace add/upgrade, and paid live `codex exec` calibration.
2431
- Keep missing Kaggle CLI installation and authentication user-owned: Codex Rig reports the prerequisite and never runs or authorizes an installer.
2532
- Require the complete PR collector command to own approval for its nested GitHub CLI, HTTPS fallback, checkout, and Git fetch traffic instead of approving a standalone `gh` command.
26-
- Retry one unapproved sandbox-shaped `github-network` collection failure through the runtime approval mechanism before reporting review or remediation evidence unavailable.
33+
- Retry one agent-caused, pre-approval sandbox-shaped `github-network` collection failure through the runtime approval mechanism before reporting review or remediation evidence unavailable; a user denial always stops the turn and forbids that retry.
2734

2835
## 0.7.3
2936

0 commit comments

Comments
 (0)