@colony2/c2j 0.0.81 → 0.0.83

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.
Files changed (2) hide show
  1. package/README.md +21 -35
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -84,29 +84,23 @@ See [Extension ops](EXTENSION_OPS.md) for authoring, publishing, and invoking pr
84
84
  ## Nix package
85
85
 
86
86
  The Nix package contains only the `c2j` executable, with no Node/npm wrapper or
87
- bundled tool runtimes. Linux and macOS builds are published for x86-64 and ARM64
88
- to the `colony2` Cachix cache in the Release workflow. After tests, tagging, and
89
- GitHub asset publication succeed, Nix and npm publish in parallel from the same
90
- release tag.
87
+ bundled tool runtimes. The package definition supports Linux and macOS on x86-64
88
+ and ARM64 for local builds. CI does not build or publish the Nix package.
91
89
 
92
90
  ```bash
93
- cachix use colony2
94
91
  nix run github:colony-2/c2j/main#c2j -- version
95
92
  # Install into your profile:
96
93
  nix profile add github:colony-2/c2j/main#c2j
97
94
  ```
98
95
 
99
- For reproducible, download-only deployments, replace `main` with a commit whose
100
- Release workflow's Nix jobs have succeeded and use `--max-jobs 0`. A newly pushed
101
- commit may not be cached yet. `main` builds report `unstable-<commit>` as their
102
- version. Runtime tools such as Git, Nix, pnpm, and uv are supplied separately by
103
- the execution environment when needed.
96
+ Pin a commit instead of `main` for reproducible builds. New revisions may require
97
+ local compilation because there is no automatic Cachix publication. `main` builds
98
+ report `unstable-<commit>` as their version. Runtime tools such as Git, Nix, pnpm,
99
+ and uv are supplied separately by the execution environment when needed.
104
100
 
105
101
  Maintainers: `nix build .#c2j` builds the executable; `nix flake check` also runs
106
102
  its installation checks. After changing Go dependencies, update `vendorHash` in
107
- `nix/package.nix` to the hash reported by a build with `lib.fakeHash`. CI checks
108
- all four platforms, pushes with `CACHIX_COLONY2_AUTHKEY`, verifies downloads into
109
- an empty store with builds disabled, and pins each commit's package in Cachix.
103
+ `nix/package.nix` to the hash reported by a build with `lib.fakeHash`.
110
104
 
111
105
  ## Quick Start
112
106
 
@@ -137,13 +131,12 @@ If the current directory does not resolve as a cell, either:
137
131
  - create `.c2j/config.yaml`, or
138
132
  - pass `--cell <repo-or-path>` explicitly to `submit` or `list`
139
133
 
140
- ### 2. Submit and run a build or evolve job
134
+ ### 2. Submit and run a build job
141
135
 
142
- Build is the default. Add `--evolve` to select the evolve recipe:
136
+ Submissions use the build recipe:
143
137
 
144
138
  ```bash
145
139
  c2j submit "Implement the new endpoint" --run --embed
146
- c2j submit "Improve retry behavior" --evolve --run --embed
147
140
  ```
148
141
 
149
142
  That does all of the following:
@@ -235,46 +228,39 @@ npx skills add colony-2/c2j
235
228
 
236
229
  ### Basic forms
237
230
 
238
- Submit a build job (the default), or choose evolve:
231
+ Submit a build job:
239
232
 
240
233
  ```bash
241
234
  c2j submit "Implement the new endpoint" --embed
242
- c2j submit "Implement the new endpoint" --build --embed
243
- c2j submit "Improve the retry behavior" --evolve --embed
244
235
  ```
245
236
 
246
- These submit the names `build` and `evolve` through the existing recipe resolution system. At execution time, c2j first looks for `.c2j/recipes/build.yaml` or `.c2j/recipes/evolve.yaml` in the **target cell's repository**, at its configured ref. This also applies to `--cell`; the submitting project's recipes do not override another target cell's recipes. As with other named recipes, uncommitted files are not used.
237
+ Submissions use the name `build` through the existing recipe resolution system. At execution time, c2j first looks for `.c2j/recipes/build.yaml` in the **target cell's repository**, at its configured ref. This also applies to `--cell`; the submitting project's recipes do not override another target cell's recipes. As with other named recipes, uncommitted files are not used.
247
238
 
248
- If that recipe file is absent, c2j resolves one of these shared recipes instead:
239
+ If that recipe file is absent, c2j resolves the shared recipe instead:
249
240
 
250
241
  - `git+https://github.com/colony-2/recipes.git//build.yaml@main`
251
- - `git+https://github.com/colony-2/recipes.git//evolve.yaml@main`
252
242
 
253
- The shared repository must provide `build.yaml` and `evolve.yaml` at its root on `main`. These recipes are not bundled with c2j; until published, jobs needing the fallback cannot execute. Missing refs, authentication/network failures, and invalid recipes remain errors rather than triggering fallback. Resolution is pinned and cached by the existing job execution machinery. A shared recipe still operates on the target cell's worktree.
243
+ The shared repository must provide `build.yaml` at its root on `main`. This recipe is not bundled with c2j; until published, jobs needing the fallback cannot execute. Missing refs, authentication/network failures, and invalid recipes remain errors rather than triggering fallback. Resolution is pinned and cached by the existing job execution machinery. A shared recipe still operates on the target cell's worktree.
254
244
 
255
245
  Every submission requires a non-empty prompt, passed as `inputs.prompt`. Omit the argument in a terminal to enter it interactively:
256
246
 
257
247
  ```bash
258
- c2j submit --evolve --embed
248
+ c2j submit --embed
259
249
  ```
260
250
 
261
251
  For automation, provide the positional prompt or a string `prompt` in `--inputs-json`/`--inputs-file`; missing prompts with non-terminal stdin fail immediately. Interactive prompts go to stderr, so `--json` stdout stays machine-readable.
262
252
 
263
- ### Build/evolve input contract
253
+ ### Build input contract
264
254
 
265
- c2j automatically includes the selected type alongside the prompt:
255
+ Build submissions include `type: build` alongside the prompt:
266
256
 
267
257
  ```json
268
258
  {"prompt": "Implement the new endpoint", "type": "build"}
269
259
  ```
270
260
 
271
- ```json
272
- {"prompt": "Improve retry behavior", "type": "evolve"}
273
- ```
274
-
275
- `type` is derived from the selected recipe, not used to select it: use `--evolve` to submit an evolve job. A matching `type` in `--inputs-json` or `--inputs-file` is accepted; a conflicting or non-string value is rejected before submission. The same contract applies to target-cell recipes and shared fallbacks, including explicit selection of the names `build` and `evolve`.
261
+ `type` is fixed to `"build"` for build submissions; it does not select a recipe. A matching `type` in `--inputs-json` or `--inputs-file` is accepted; a conflicting or non-string value is rejected before submission. The same contract applies to target-cell recipes and shared fallbacks, including explicit selection of the name `build`.
276
262
 
277
- Both conventional recipes must declare these inputs and bind them for recipe logic:
263
+ The build recipe must declare these inputs and bind them for recipe logic:
278
264
 
279
265
  ```yaml
280
266
  input_schema:
@@ -306,7 +292,7 @@ Submit and run immediately:
306
292
  c2j submit "Review the changes" --advanced-recipe-file ./recipes/review.yaml --run --embed
307
293
  ```
308
294
 
309
- `--advanced-recipe` accepts a target-cell recipe name or explicit git selector. `--advanced-recipe-file` embeds a local YAML file, including uncommitted changes. These flags are mutually exclusive with each other and with `--build`/`--evolve`. The old `--recipe`/`--recipe-file` flags remain hidden, deprecated aliases on `submit`; `c2j test` retains its existing flag names. Custom names and explicit selectors do not get a hosted fallback; the conventional names `build` and `evolve` do.
295
+ `--advanced-recipe` accepts a target-cell recipe name or explicit git selector. `--advanced-recipe-file` embeds a local YAML file, including uncommitted changes. These flags are mutually exclusive. The old `--recipe`/`--recipe-file` flags remain hidden, deprecated aliases on `submit`; `c2j test` retains its existing flag names. Custom names and explicit selectors do not get a hosted fallback; only the name `build` does.
310
296
 
311
297
  Custom recipes submitted through the CLI must also declare the prompt in their input schema:
312
298
 
@@ -391,7 +377,7 @@ c2j submit "Implement the new endpoint" --self --embed
391
377
  Use another cell explicitly:
392
378
 
393
379
  ```bash
394
- c2j submit "Improve retry behavior" --evolve \
380
+ c2j submit "Improve retry behavior" \
395
381
  --cell github.com/colony-2/root \
396
382
  --embed
397
383
  ```
@@ -791,7 +777,7 @@ c2j submit "Run the requested task" \
791
777
 
792
778
  ## Gotchas
793
779
 
794
- - `--build`, `--evolve`, `--advanced-recipe`, and `--advanced-recipe-file` are mutually exclusive on `submit`
780
+ - `--advanced-recipe` and `--advanced-recipe-file` are mutually exclusive on `submit`
795
781
  - `--json` and `--run` are mutually exclusive on `submit`
796
782
  - `--inputs-json` and `--inputs-file` are mutually exclusive
797
783
  - `--self` and `--cell` are mutually exclusive
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colony2/c2j",
3
- "version": "0.0.81",
3
+ "version": "0.0.83",
4
4
  "description": "c2j job system",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/colony-2/c2j",