@colony2/c2j 0.0.82 → 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.
- package/README.md +14 -22
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -131,13 +131,12 @@ If the current directory does not resolve as a cell, either:
|
|
|
131
131
|
- create `.c2j/config.yaml`, or
|
|
132
132
|
- pass `--cell <repo-or-path>` explicitly to `submit` or `list`
|
|
133
133
|
|
|
134
|
-
### 2. Submit and run a build
|
|
134
|
+
### 2. Submit and run a build job
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
Submissions use the build recipe:
|
|
137
137
|
|
|
138
138
|
```bash
|
|
139
139
|
c2j submit "Implement the new endpoint" --run --embed
|
|
140
|
-
c2j submit "Improve retry behavior" --evolve --run --embed
|
|
141
140
|
```
|
|
142
141
|
|
|
143
142
|
That does all of the following:
|
|
@@ -229,46 +228,39 @@ npx skills add colony-2/c2j
|
|
|
229
228
|
|
|
230
229
|
### Basic forms
|
|
231
230
|
|
|
232
|
-
Submit a build job
|
|
231
|
+
Submit a build job:
|
|
233
232
|
|
|
234
233
|
```bash
|
|
235
234
|
c2j submit "Implement the new endpoint" --embed
|
|
236
|
-
c2j submit "Implement the new endpoint" --build --embed
|
|
237
|
-
c2j submit "Improve the retry behavior" --evolve --embed
|
|
238
235
|
```
|
|
239
236
|
|
|
240
|
-
|
|
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.
|
|
241
238
|
|
|
242
|
-
If that recipe file is absent, c2j resolves
|
|
239
|
+
If that recipe file is absent, c2j resolves the shared recipe instead:
|
|
243
240
|
|
|
244
241
|
- `git+https://github.com/colony-2/recipes.git//build.yaml@main`
|
|
245
|
-
- `git+https://github.com/colony-2/recipes.git//evolve.yaml@main`
|
|
246
242
|
|
|
247
|
-
The shared repository must provide `build.yaml`
|
|
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.
|
|
248
244
|
|
|
249
245
|
Every submission requires a non-empty prompt, passed as `inputs.prompt`. Omit the argument in a terminal to enter it interactively:
|
|
250
246
|
|
|
251
247
|
```bash
|
|
252
|
-
c2j submit --
|
|
248
|
+
c2j submit --embed
|
|
253
249
|
```
|
|
254
250
|
|
|
255
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.
|
|
256
252
|
|
|
257
|
-
### Build
|
|
253
|
+
### Build input contract
|
|
258
254
|
|
|
259
|
-
|
|
255
|
+
Build submissions include `type: build` alongside the prompt:
|
|
260
256
|
|
|
261
257
|
```json
|
|
262
258
|
{"prompt": "Implement the new endpoint", "type": "build"}
|
|
263
259
|
```
|
|
264
260
|
|
|
265
|
-
|
|
266
|
-
{"prompt": "Improve retry behavior", "type": "evolve"}
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
`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`.
|
|
270
262
|
|
|
271
|
-
|
|
263
|
+
The build recipe must declare these inputs and bind them for recipe logic:
|
|
272
264
|
|
|
273
265
|
```yaml
|
|
274
266
|
input_schema:
|
|
@@ -300,7 +292,7 @@ Submit and run immediately:
|
|
|
300
292
|
c2j submit "Review the changes" --advanced-recipe-file ./recipes/review.yaml --run --embed
|
|
301
293
|
```
|
|
302
294
|
|
|
303
|
-
`--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
|
|
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.
|
|
304
296
|
|
|
305
297
|
Custom recipes submitted through the CLI must also declare the prompt in their input schema:
|
|
306
298
|
|
|
@@ -385,7 +377,7 @@ c2j submit "Implement the new endpoint" --self --embed
|
|
|
385
377
|
Use another cell explicitly:
|
|
386
378
|
|
|
387
379
|
```bash
|
|
388
|
-
c2j submit "Improve retry behavior"
|
|
380
|
+
c2j submit "Improve retry behavior" \
|
|
389
381
|
--cell github.com/colony-2/root \
|
|
390
382
|
--embed
|
|
391
383
|
```
|
|
@@ -785,7 +777,7 @@ c2j submit "Run the requested task" \
|
|
|
785
777
|
|
|
786
778
|
## Gotchas
|
|
787
779
|
|
|
788
|
-
- `--
|
|
780
|
+
- `--advanced-recipe` and `--advanced-recipe-file` are mutually exclusive on `submit`
|
|
789
781
|
- `--json` and `--run` are mutually exclusive on `submit`
|
|
790
782
|
- `--inputs-json` and `--inputs-file` are mutually exclusive
|
|
791
783
|
- `--self` and `--cell` are mutually exclusive
|