@colony2/cortex 0.0.34 → 0.0.36

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 +53 -8
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -9,6 +9,35 @@ Cortex connects to a remote [JobDB](https://github.com/colony-2/jobdb) server.
9
9
  Run c2j workers separately against the same JobDB. Projects in the UI are JobDB
10
10
  tenants; cells are the current Git repository and its c2j-configured dependents.
11
11
 
12
+ ## Goal list filters and search
13
+
14
+ The Status column's filter matches the badges shown for jobs, including Succeeded,
15
+ Failed (application/system), Timed out, and Cancellation requested. Multiple
16
+ selections match any selected status. All statuses start checked; uncheck individual
17
+ items or use Select all / Select none, then Apply. Selecting none shows no jobs.
18
+ Finished (outcome unavailable) matches
19
+ completed jobs with no stored outcome; retrying jobs retain their scheduling
20
+ status even if a previous attempt failed. The Cell column uses the same checkbox
21
+ controls, with all cells selected initially. Its choices come from cell names in
22
+ the returned jobs, including Unknown cell for missing names, rather than the server's
23
+ configured cell catalogue. Cell filtering runs in the browser on the current page;
24
+ unchecked cells remain available in the menu. Status filtering runs across pages.
25
+
26
+ Search full prompts at the right of the Cancel/Delete row, including text beyond the shortened row
27
+ label and prompts from other loaded attempts. Click the Goal, Status, Cell, or
28
+ Submitted column header to sort ascending or descending; click again to restore
29
+ the original order. Search and sorting run in the browser on the current page.
30
+ Search, sorting, and filters persist in the URL when opening a goal and returning.
31
+
32
+ The jobs API accepts repeated `displayStatus` parameters for these states, for
33
+ example `?displayStatus=READY&displayStatus=failed_app`. The existing `status`
34
+ parameter still filters raw scheduling states; the two parameters cannot be
35
+ combined. Display filtering scans compact JobDB pages without loading job
36
+ details. Each request scans at most 20 backend pages, so a sparse or empty result
37
+ can still have a `next_page_token`; use **Next jobs** to continue.
38
+ Repeated `cell` parameters (for example `?cell=alpha&cell=beta`) match jobs from
39
+ either cell's repository before pagination; a single `cell` works as before.
40
+
12
41
  ## Chapter downloads
13
42
 
14
43
  On a job's story page, **Download chapters** saves a JSON inspection export of
@@ -162,8 +191,27 @@ pnpm --filter @colony2/app test:e2e --project=production recipe-input.spec.ts
162
191
  node --test npm/cortex/test/*.test.cjs
163
192
  ```
164
193
 
165
- Playwright installs Chromium if missing. On a fresh Linux host, first run
166
- `pnpm --filter @colony2/app exec playwright install-deps chromium`.
194
+ The c2 execution tools in [`.c2/config.yaml`](.c2/config.yaml) declare Go, Bash,
195
+ Make, Node.js, pnpm, Playwright, Chromium, and FFmpeg. Nix supplies Chromium's
196
+ runtime libraries and fonts. The browser tests use Chromium and FFmpeg from
197
+ `PATH`, without downloading browsers or installing system packages.
198
+
199
+ Outside c2, either provide Chromium and FFmpeg on `PATH`, or install Playwright's
200
+ browser before running the tests:
201
+
202
+ ```sh
203
+ PLAYWRIGHT_BROWSERS_PATH="${CORTEX_PLAYWRIGHT_BROWSERS_PATH:-$HOME/.cache/ms-playwright}" \
204
+ pnpm --filter @colony2/app exec playwright install --with-deps --only-shell chromium
205
+ ```
206
+
207
+ The Nix Chromium package targets Linux workers; macOS developers can use the
208
+ Playwright installation command above.
209
+
210
+ Setting `CORTEX_PLAYWRIGHT_BROWSERS_PATH` selects that Playwright installation
211
+ even when system browsers are on `PATH`, as in CI. Otherwise, system executables
212
+ are used only when both Chromium and FFmpeg are available; an incomplete pair
213
+ falls back to Playwright's browser cache.
214
+
167
215
  The suite manages its own servers on ports 15173 and 18081–18083. It covers
168
216
  submission, stories, tenants, cells, and input events. The production tests use
169
217
  HTTP JobDB backed by temporary SQLite storage.
@@ -182,12 +230,9 @@ is mapped to that repository in the worker's environment. No API or EventSource
182
230
  mocks are used in these tests. Worker logs and recipe outcomes are attached to
183
231
  the Playwright report in `web/app/playwright-report`.
184
232
 
185
- The timeout regression also runs against the real worker. It currently records
186
- an **expected failure**: with the pinned c2j / JobDB versions, an unanswered external
187
- input task remains pending past its recipe deadline. Step deadlines have the
188
- same limitation. The test first verifies that the prompt appears, then marks
189
- only a confirmed still-pending outcome after the deadline as expected; setup
190
- and other failures still fail CI. Timeout handling needs an upstream JobDB fix.
233
+ The timeout regression also runs against the real worker. It verifies that an
234
+ unanswered input expires, clears pending prompts in both browser tabs, and rejects
235
+ late submissions.
191
236
 
192
237
  ## Releases
193
238
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colony2/cortex",
3
- "version": "0.0.34",
3
+ "version": "0.0.36",
4
4
  "description": "Web interface for c2j recipe jobs",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/colony-2/cortex",