@atollhq/skill-codex 0.4.31 → 0.4.33
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/package.json +2 -2
- package/skill/SKILL.md +2 -0
- package/skill/references/api-endpoints.md +6 -0
- package/skill/references/api-fields.md +6 -0
- package/skill/references/integrations-and-api.md +6 -0
- package/skill/references/local-runner.md +75 -0
- package/skill/references/platform-rules.md +6 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atollhq/skill-codex",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.33",
|
|
4
4
|
"description": "Install the Atoll project management integration for Codex CLI",
|
|
5
5
|
"bin": {
|
|
6
6
|
"skill-codex": "bin/install.mjs"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
],
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/
|
|
21
|
+
"url": "git+https://github.com/antons-agents/atoll.git",
|
|
22
22
|
"directory": "packages/skill-codex"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
package/skill/SKILL.md
CHANGED
|
@@ -36,6 +36,8 @@ Read only the references required for the current task:
|
|
|
36
36
|
[integrations-and-api.md](references/integrations-and-api.md)
|
|
37
37
|
- GitHub pull-request delivery context, required checks, and exact-head evidence:
|
|
38
38
|
[api-fields.md](references/api-fields.md#external-operational-delivery-context)
|
|
39
|
+
A `plan_restricted` required-check error is actionable plan-unavailable
|
|
40
|
+
evidence; keep configured workflows separate because they remain `required: false`.
|
|
39
41
|
- Cross-resource authorization, privacy, automation, attachment, feedback, and
|
|
40
42
|
other platform-specific rules: [platform-rules.md](references/platform-rules.md)
|
|
41
43
|
- Exact endpoint inventory: [api-endpoints.md](references/api-endpoints.md)
|
|
@@ -714,6 +714,12 @@ collection and stale, ambiguous, or missing evidence remain `unknown` and set
|
|
|
714
714
|
enables the provider GET collection; it is disabled by default. The collector does not
|
|
715
715
|
change GitHub hooks or other provider state and does not prove merge,
|
|
716
716
|
deployment, production testing, or human acceptance.
|
|
717
|
+
A policy endpoint returning GitHub's exact plan-limit HTTP 403 is classified
|
|
718
|
+
as `plan_restricted`; other 401/403 responses remain permission failures.
|
|
719
|
+
The collection is `partial` if one policy source succeeds, or `unavailable`
|
|
720
|
+
if both fail, and its aggregate remains `unknown`. The first policy error
|
|
721
|
+
(rulesets before classic protection) supplies `error_code` when errors differ.
|
|
722
|
+
Configured workflow results remain separate evidence with `required: false`.
|
|
717
723
|
The selected PR-link state is authoritative. If a same-head PR observation
|
|
718
724
|
disagrees, Atoll clears its observation/provider provenance, uses the link URL
|
|
719
725
|
as `source_url`, excludes it from freshness, and sets `partial`.
|
|
@@ -1188,6 +1188,12 @@ provider collection; disabled is the default. With reads disabled, state
|
|
|
1188
1188
|
`disabled` and aggregate `none` do not set `partial`. When enabled, partial or
|
|
1189
1189
|
unavailable collection, stale, ambiguous, or missing evidence remains `unknown`
|
|
1190
1190
|
and sets `partial`.
|
|
1191
|
+
A policy endpoint returning GitHub's exact plan-limit HTTP 403 is classified
|
|
1192
|
+
as `plan_restricted`; other 401/403 responses remain permission failures.
|
|
1193
|
+
The collection is `partial` if one policy source succeeds, or `unavailable`
|
|
1194
|
+
if both fail, and its aggregate remains `unknown`. The first policy error
|
|
1195
|
+
(rulesets before classic protection) supplies `error_code` when errors differ.
|
|
1196
|
+
Configured workflow results remain separate evidence with `required: false`.
|
|
1191
1197
|
|
|
1192
1198
|
Review aggregation keeps each reviewer's latest exact-head opinion, ignores
|
|
1193
1199
|
comments, and removes dismissed opinions. Change requests win; `approved`
|
|
@@ -238,6 +238,12 @@ collection or aggregate `unknown` sets `partial`. The server-only
|
|
|
238
238
|
off by default. This evidence does not grant merge, deployment, production
|
|
239
239
|
testing, or acceptance authority, and the endpoint does not change GitHub
|
|
240
240
|
state. Configured Atoll workflow paths remain `required: false`.
|
|
241
|
+
A policy endpoint returning GitHub's exact plan-limit HTTP 403 is classified
|
|
242
|
+
as `plan_restricted`; other 401/403 responses remain permission failures.
|
|
243
|
+
The collection is `partial` if one policy source succeeds, or `unavailable`
|
|
244
|
+
if both fail, and its aggregate remains `unknown`. The first policy error
|
|
245
|
+
(rulesets before classic protection) supplies `error_code` when errors differ.
|
|
246
|
+
Configured workflow results remain separate evidence with `required: false`.
|
|
241
247
|
|
|
242
248
|
## Planning Artifacts
|
|
243
249
|
|
|
@@ -90,3 +90,78 @@ are blocked while a current job exists. Refresh, config validation, and Codex
|
|
|
90
90
|
preflight are non-destructive; there is no model retry or cleanup button.
|
|
91
91
|
A UI port or asset failure does not stop headless execution. Do not proxy this
|
|
92
92
|
loopback interface to another host. Service installation remains separate.
|
|
93
|
+
|
|
94
|
+
### macOS service and lifecycle
|
|
95
|
+
|
|
96
|
+
Install an explicit user service only when unattended operation is required:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
atoll-runner --profile agent-a service install
|
|
100
|
+
atoll-runner --profile agent-a service install --ui --ui-port 4735
|
|
101
|
+
atoll-runner --profile agent-a service status
|
|
102
|
+
atoll-runner --profile agent-a service uninstall
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The service is macOS-only. Install writes an atomic user-owned `0600` plist
|
|
106
|
+
under `~/Library/LaunchAgents/` with canonical Node and runner entry paths,
|
|
107
|
+
the selected profile, `run`, and optional loopback UI arguments. It contains no
|
|
108
|
+
environment variables, API keys, Codex or lease tokens, shell command,
|
|
109
|
+
checkout path, or worktree path. Unknown or changed plists fail closed.
|
|
110
|
+
Package installation is passive and never installs or starts the service. Use
|
|
111
|
+
uninstall, package upgrade, `doctor`, then install for an upgrade. Uninstall
|
|
112
|
+
removes only the exact owned plist and leaves journals, tokens, logs, branches,
|
|
113
|
+
and worktrees. Status and uninstall validate the local plist and do not require
|
|
114
|
+
profile credentials; install remains authenticated.
|
|
115
|
+
|
|
116
|
+
SIGINT/SIGTERM closes the process-local intake gate immediately. The current
|
|
117
|
+
child drains for at most 30 seconds; TERM and then KILL after 10 seconds are
|
|
118
|
+
sent only when the journaled PID still has the same process-start identity. A
|
|
119
|
+
wall-clock event-loop gap above 30 seconds is a possible wake. The child is
|
|
120
|
+
stopped, durable lease state is reconciled, and intake reopens only after that
|
|
121
|
+
pass. A wake may release a worker only to finish an already durable result;
|
|
122
|
+
stop never releases a worker. No hosted pause request is sent. Existing-wire
|
|
123
|
+
response failures are bounded as `RUNNER_PROTOCOL_MISMATCH` and keep pending
|
|
124
|
+
mutation journals available for replay.
|
|
125
|
+
|
|
126
|
+
### Opt-in real local smoke
|
|
127
|
+
|
|
128
|
+
This developer harness is available only from an Atoll source checkout. It is
|
|
129
|
+
not included in the installed npm CLI. After deterministic checks, use a clean
|
|
130
|
+
loopback fixture profile with no current or conflicting retained job, and run
|
|
131
|
+
from `packages/cli`:
|
|
132
|
+
|
|
133
|
+
Loopback remains the normal default. Repository owners may also run one bounded
|
|
134
|
+
production validation turn from a clean Atoll source checkout. This mode requires
|
|
135
|
+
an exact canonical production origin, organization, project, authenticated agent,
|
|
136
|
+
issue, runner host and instance, and the live project repository mapping's opaque
|
|
137
|
+
`repo_ref` plus repository full name. The supplied `repo_ref` is checked against
|
|
138
|
+
live issue routing and must never be hard-coded. The smoke derives the canonical
|
|
139
|
+
source root from its own script, requires a clean source checkout, rebuilds the
|
|
140
|
+
candidate in the invocation, and records the source root, source `HEAD`, and
|
|
141
|
+
worker-entry SHA-256 in bounded mode-`0600` evidence. Exact production admission
|
|
142
|
+
performs zero presence `PUT`/upsert operations for either connected or
|
|
143
|
+
disconnected targets. Registration and refresh belong to separate operator setup
|
|
144
|
+
outside this invocation. The invocation reads the connected runner identity
|
|
145
|
+
before claim and rechecks it immediately before the claim; a disconnected target
|
|
146
|
+
fails closed. The runner does not explicitly select a model. The Codex runtime
|
|
147
|
+
and local Codex configuration supply model selection. `@openai/codex` and
|
|
148
|
+
`@openai/codex-sdk` are pinned to package/runtime version `0.153.4`; this
|
|
149
|
+
version is not a model name. Use the internal AH-2088 production smoke
|
|
150
|
+
runbook for the owner-only command and cleanup procedure.
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
cd packages/cli && bun run build
|
|
155
|
+
ATOLL_RUNNER_MANUAL_SMOKE=1 bun run runner:manual-smoke -- \
|
|
156
|
+
--profile agent-a --issue issue-uuid --repository /path/to/checkout \
|
|
157
|
+
--timeout-ms 300000 --evidence /absolute/path/evidence.json
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
The smoke runs one real Codex turn through the existing runner. It creates and
|
|
161
|
+
retains its owned local branch and worktree while preserving the primary
|
|
162
|
+
checkout, and writes bounded fixture issue, host, generation, branch/worktree,
|
|
163
|
+
base/head SHA, thread, terminal, and time evidence outside the checkout. A
|
|
164
|
+
timeout is always failure; retained journal state is authoritative. It never
|
|
165
|
+
pushes or deletes retained state, publishes, deploys, or installs a service.
|
|
166
|
+
Codex Desktop visibility is a separate operator observation; deterministic tests
|
|
167
|
+
use a fake SDK.
|
|
@@ -137,6 +137,12 @@ server-only
|
|
|
137
137
|
`ATOLL_GITHUB_REQUIRED_CHECKS_READ_ENABLED=1` flag. This namespace is separate
|
|
138
138
|
from heartbeat `signals[]`, never changes provider state, and never changes
|
|
139
139
|
tasks or dispatches agents.
|
|
140
|
+
A policy endpoint returning GitHub's exact plan-limit HTTP 403 is classified
|
|
141
|
+
as `plan_restricted`; other 401/403 responses remain permission failures.
|
|
142
|
+
The collection is `partial` if one policy source succeeds, or `unavailable`
|
|
143
|
+
if both fail, and its aggregate remains `unknown`. The first policy error
|
|
144
|
+
(rulesets before classic protection) supplies `error_code` when errors differ.
|
|
145
|
+
Configured workflow results remain separate evidence with `required: false`.
|
|
140
146
|
The selected PR-link state is authoritative. If a same-head PR observation
|
|
141
147
|
disagrees, Atoll clears its observation/provider provenance, falls back to the
|
|
142
148
|
link URL, excludes it from freshness, and sets `partial`.
|