Skip to content

Commit 8f4ce5d

Browse files
authored
Merge branch 'main' into fix/snapshot-symlinked-mutable-roots
2 parents e04b713 + a26c7ff commit 8f4ce5d

334 files changed

Lines changed: 36255 additions & 2396 deletions

File tree

Some content is hidden

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

.claude/skills/add-codex/REMOVE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ ncl groups restart --id <group-id>
1818
Delete (do not comment out) the `import './codex.js';` line from each of:
1919

2020
- `src/providers/index.ts`
21+
- `src/provider-contracts/index.ts`
2122
- `container/agent-runner/src/providers/index.ts`
23+
- `container/agent-runner/src/provider-contracts/index.ts`
2224
- `setup/providers/index.ts`
2325

2426
## 3. Delete every copied file
@@ -29,6 +31,7 @@ rm -f src/providers/codex.ts \
2931
src/providers/codex-registration.test.ts \
3032
src/providers/codex-host-contribution.test.ts \
3133
src/providers/codex-agents-md.test.ts \
34+
src/provider-contracts/codex.ts \
3235
container/agent-runner/src/providers/codex.ts \
3336
container/agent-runner/src/providers/codex-app-server.ts \
3437
container/agent-runner/src/providers/exchange-archive.ts \
@@ -37,7 +40,10 @@ rm -f src/providers/codex.ts \
3740
container/agent-runner/src/providers/codex.factory.test.ts \
3841
container/agent-runner/src/providers/codex.turns.test.ts \
3942
container/agent-runner/src/providers/codex-app-server.test.ts \
43+
container/agent-runner/src/providers/codex-contract-parity.test.ts \
44+
container/agent-runner/src/providers/codex.conformance.test.ts \
4045
container/agent-runner/src/providers/codex-cli-tools.test.ts \
46+
container/agent-runner/src/provider-contracts/codex.ts \
4147
setup/providers/codex.ts \
4248
setup/providers/codex.test.ts \
4349
setup/providers/codex-registration.test.ts

.claude/skills/add-codex/SKILL.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
---
22
name: add-codex
33
description: Use Codex (OpenAI's codex app-server) as a full agent provider — planning, tool orchestration, MCP tools, server-side history, session resume — alongside or instead of Claude. ChatGPT subscription or OpenAI API key, vault-only via OneCLI. Per-group via `ncl groups config update --provider codex`. Distinct from using OpenAI as an MCP tool (where Claude remains the planner).
4+
metadata:
5+
nanoclaw-provider: codex
6+
nanoclaw-provider-label: Codex
7+
nanoclaw-provider-hint: OpenAI — ChatGPT subscription or API key
8+
nanoclaw-provider-offered: 'true'
9+
nanoclaw-provider-image: local-required
410
---
511

612
# Codex agent provider
@@ -24,8 +30,8 @@ Check whether the payload is already wired (a prior apply, or a trunk that still
2430

2531
- `src/providers/codex.ts` and `src/providers/codex-agents-md.ts`
2632
- `container/agent-runner/src/providers/codex.ts` and `codex-app-server.ts`
27-
- `setup/providers/codex.ts`
28-
- `import './codex.js';` in `src/providers/index.ts`, `container/agent-runner/src/providers/index.ts`, and `setup/providers/index.ts`
33+
- `setup/providers/codex.ts` and both `provider-contracts/codex.ts` declarations (host and container)
34+
- `import './codex.js';` in the three provider barrels and both contract barrels
2935
- an `@openai/codex` entry in `container/cli-tools.json`
3036

3137
### 1. Fetch and copy the payload
@@ -38,6 +44,7 @@ src/providers/codex-agents-md.ts
3844
src/providers/codex-registration.test.ts
3945
src/providers/codex-host-contribution.test.ts
4046
src/providers/codex-agents-md.test.ts
47+
src/provider-contracts/codex.ts
4148
container/agent-runner/src/providers/codex.ts
4249
container/agent-runner/src/providers/codex-app-server.ts
4350
container/agent-runner/src/providers/exchange-archive.ts
@@ -46,7 +53,10 @@ container/agent-runner/src/providers/codex-registration.test.ts
4653
container/agent-runner/src/providers/codex.factory.test.ts
4754
container/agent-runner/src/providers/codex.turns.test.ts
4855
container/agent-runner/src/providers/codex-app-server.test.ts
56+
container/agent-runner/src/providers/codex-contract-parity.test.ts
57+
container/agent-runner/src/providers/codex.conformance.test.ts
4958
container/agent-runner/src/providers/codex-cli-tools.test.ts
59+
container/agent-runner/src/provider-contracts/codex.ts
5060
setup/providers/codex.ts
5161
setup/providers/codex.test.ts
5262
setup/providers/codex-registration.test.ts
@@ -55,14 +65,24 @@ container/AGENTS.md
5565

5666
### 2. Wire the barrels
5767

58-
Append the self-registration import to each of the three provider barrels (skipped if the line is already present). Each barrel-registration test imports its real barrel and asserts `codex` is registered — they go red the moment a barrel line is missing or drifts.
68+
Append the self-registration import to each provider and contract barrel (skipped if already present).
5969

6070
```nc:append to:src/providers/index.ts
6171
import './codex.js';
6272
```
73+
74+
```nc:append to:src/provider-contracts/index.ts
75+
import './codex.js';
76+
```
77+
78+
```nc:append to:container/agent-runner/src/provider-contracts/index.ts
79+
import './codex.js';
80+
```
81+
6382
```nc:append to:container/agent-runner/src/providers/index.ts
6483
import './codex.js';
6584
```
85+
6686
```nc:append to:setup/providers/index.ts
6787
import './codex.js';
6888
```
@@ -88,10 +108,7 @@ pnpm exec tsc -p container/agent-runner/tsconfig.json --noEmit
88108
### 5. Validate
89109

90110
```nc:run effect:test
91-
pnpm vitest run src/providers/codex-registration.test.ts src/providers/codex-host-contribution.test.ts src/providers/codex-agents-md.test.ts setup/providers/
92-
```
93-
```nc:run effect:test
94-
cd container/agent-runner && bun test src/providers/
111+
pnpm exec tsx scripts/provider-contract-verifier.ts --required-declared codex
95112
```
96113

97114
The registration tests import only the real barrels — they go red if a barrel line is missing, a barrel fails to evaluate, or the payload is broken.

.claude/skills/add-mattermost/LOCAL_SERVER.md

Lines changed: 0 additions & 99 deletions
This file was deleted.

.claude/skills/add-mattermost/REMOVE.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ matches nothing, remove the dependencies:
3434
pnpm uninstall ws @types/ws
3535
```
3636

37-
## 5. Optional local server
37+
## 5. Legacy NanoClaw evaluation server
3838

39-
The evaluation server is deliberately not removed automatically because its
40-
volumes contain Mattermost data. Stopping it keeps that data:
39+
Current NanoClaw setup does not create or manage a Mattermost server. Older
40+
versions could create one at `.nanoclaw/mattermost/compose.yml`. If that file
41+
exists, it is deliberately not removed automatically because its volumes can
42+
contain Mattermost data. Stopping it keeps that data:
4143

4244
```bash
4345
docker compose -f .nanoclaw/mattermost/compose.yml down
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Get a Mattermost server
2+
3+
NanoClaw connects to a Mattermost server; it does not install, upgrade, back
4+
up, secure, or remove the server itself. Use Mattermost's maintained guidance
5+
to choose the installation that fits the operator's needs.
6+
7+
## Temporary evaluation
8+
9+
Use Mattermost's [Quick Start Evaluation](https://docs.mattermost.com/deployment-guide/quick-start-evaluation).
10+
Its official Docker preview is the shortest path to a local trial and normally
11+
listens at `http://localhost:8065`, which NanoClaw's discovery step probes.
12+
Mattermost labels this path for testing and evaluation rather than production.
13+
14+
## Persistent or production deployment
15+
16+
Use Mattermost's [server deployment guide](https://docs.mattermost.com/deployment-guide/server/deploy-server)
17+
to compare its supported Kubernetes, Linux, and container paths. Mattermost's
18+
current guide reserves container deployments for evaluation, testing, and
19+
development; choose the Linux or Kubernetes guidance for a production server
20+
according to the required scale and availability.
21+
22+
## Return to NanoClaw
23+
24+
Finish the Mattermost initialization, including the first administrator and
25+
team. Confirm that the server is reachable from the NanoClaw host, then return
26+
to `/add-mattermost` with its canonical base URL. The skill verifies the URL,
27+
guides SiteURL configuration, and walks through bot account creation.

0 commit comments

Comments
 (0)