@colony2/c2j 0.0.80 → 0.0.82

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 +47 -13
  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
 
@@ -531,12 +525,52 @@ owned by the worker user with no group/other permissions. See the
531
525
  [supplied-lease guide](GUIDE-Run-With-Lease.md) for dispatcher/library integration,
532
526
  exit behavior, and the JobDB v0.0.22 server requirement.
533
527
 
528
+ ### Deleting jobs
529
+
530
+ ```bash
531
+ c2j delete --self --older-than 720h --dry-run
532
+ c2j delete --cell backend --cell frontend --recipe build
533
+ c2j delete --job-id JOB1 --job-id JOB2 --json
534
+ c2j delete --created-before 2026-10-01T00:00:00Z --dry-run
535
+ c2j delete --all --embed --dry-run
536
+ ```
537
+
538
+ Use the usual `--jobdb`, environment, or project configuration to select a tenant;
539
+ `--embed` uses local JobDB. Deletion requires an explicit selector or `--all`.
540
+ It does not implicitly select the current cell: use `--self` for that.
541
+ `--cell` matches the owning repository across all refs, as `c2j list` does;
542
+ workspace overrides do not change job ownership. Repeat `--cell` or `--job-id`
543
+ to select any of those values. Different selectors intersect.
544
+
545
+ `--created-before` is an exclusive creation-time cutoff, not a completion-time
546
+ cutoff. Alternatively, `--older-than` takes a positive Go duration (`720h` is
547
+ 30 days); the cutoff is calculated once per invocation. `--all` cannot combine
548
+ with selectors. Status filtering is not supported; matching unfinished jobs
549
+ are included.
550
+
551
+ `--dry-run` reports matches without deleting; it does not reserve those matches
552
+ for a later call. Both text and JSON output include resolved selection criteria
553
+ and matched/deleted counts. Missing and already-hidden jobs do not count.
554
+
555
+ Deletion hides jobs from normal job and schedule-run listings, cancels unfinished
556
+ jobs, and revokes their leases. Completed outcomes, history, and artifacts remain
557
+ accessible by direct lookup and to surviving clones. It does not reclaim disk
558
+ space, cascade to children/clones/schedules, undo external effects, or forcibly
559
+ stop worker processes. This uses JobDB's bulk deletion API; remote servers must
560
+ support it (JobDB `20269bd` / `v0.0.46` or later, with a compatible backend).
561
+ Unsupported backends return an error; c2j never falls back to listing and deleting
562
+ jobs individually.
563
+
534
564
  ### Recipe timeouts and recovery
535
565
 
536
566
  c2j does not set default job or built-in op timeouts. Set `timeout` on a recipe
537
567
  or node to bound its execution. Command `inputs.timeout` and extension manifest
538
568
  `timeout` remain supported; an enclosing deadline can end execution sooner.
539
569
 
570
+ For pending external input, a late response can be accepted until a worker claims
571
+ the timeout work. Once the timeout wins, later responses are rejected. Accepting
572
+ a late response does not extend an enclosing recipe or scope deadline.
573
+
540
574
  Recipe and nested execution timeouts retain their original scope budget across
541
575
  worker recovery. Cached completed tasks remain replayable; new work does not
542
576
  receive a fresh budget merely because execution resumed. See
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colony2/c2j",
3
- "version": "0.0.80",
3
+ "version": "0.0.82",
4
4
  "description": "c2j job system",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/colony-2/c2j",