@mrciphersmith/keryx 0.3.39 → 0.3.41
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 +25 -2
- package/dist/cli.js +2655 -1219
- package/dist/core.js +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -95,6 +95,13 @@ keryx auth login <provider> # subscription login (device code / OAuth) or API k
|
|
|
95
95
|
Inside a running session, `/provider` reopens the same add/reconfigure wizard
|
|
96
96
|
and `/connect` switches between providers you already configured.
|
|
97
97
|
|
|
98
|
+
ChatGPT / Codex model discovery reads the current stable Codex version from npm
|
|
99
|
+
metadata and caches it for one day. **Test** in `/connect` (or
|
|
100
|
+
`keryx providers test openai-codex`) always checks for a newer version before
|
|
101
|
+
listing models. This does not install Codex or poll npm in the background.
|
|
102
|
+
If npm is unavailable, a previously discovered version is reused; without a
|
|
103
|
+
cached version, discovery reports the problem instead of guessing a version.
|
|
104
|
+
|
|
98
105
|
Once you have more than one provider connected, `keryx routing` (and, inside a
|
|
99
106
|
session, `/routing`) maps a task category — `review`, `subagents`, and a
|
|
100
107
|
catalogue of others — to a specific model, so reviews and subagent spawns can
|
|
@@ -480,7 +487,8 @@ What is in it today:
|
|
|
480
487
|
bounded parallel scheduling, and an offline fleet report over a recorded event
|
|
481
488
|
log (`keryx agents monitor <events-file>`).
|
|
482
489
|
- **Vendor CLIs as child agents — off by default.** keryx can hand a bounded,
|
|
483
|
-
**read-only** task
|
|
490
|
+
**read-only** task (or, for `claude-cli` only, a reviewed write — see below)
|
|
491
|
+
to a coding CLI you already have installed (`codex exec`,
|
|
484
492
|
`claude -p`, or Google's Antigravity CLI, `agy -p --output-format
|
|
485
493
|
stream-json`) and host it as a child of the same harness: a disposable git
|
|
486
494
|
worktree, a stripped environment, a restricted tool roster, the same budget
|
|
@@ -498,6 +506,21 @@ What is in it today:
|
|
|
498
506
|
`fixtures/external/live/antigravity-cli/2026-09-28/`, produced through
|
|
499
507
|
keryx's own `agents external run`. `codex-cli`/`claude-cli` remain verified
|
|
500
508
|
offline against recorded transcripts.
|
|
509
|
+
- **A write from an external agent you review before it lands.**
|
|
510
|
+
`keryx agents external run claude-cli --task "…" --write` runs `claude` in a
|
|
511
|
+
throwaway worktree with only `Read Grep Glob Edit Write` (no shell, no network,
|
|
512
|
+
no MCP). Its diff is captured, secret-redacted, hashed and stored as a pending
|
|
513
|
+
review — nothing reaches your checkout. `keryx agents external review <run-id>`
|
|
514
|
+
shows it; `apply <run-id>` needs a real terminal, shows the diff and asks you to
|
|
515
|
+
type the first 12 hex digits of the patch hash, then creates a NEW local branch
|
|
516
|
+
`external/<run-id>` with one commit. Your current branch and working tree are
|
|
517
|
+
never touched, nothing is pushed and no pull request is opened;
|
|
518
|
+
`discard <run-id>` drops it. There is no flag that skips the confirmation. Only
|
|
519
|
+
`claude-cli` can write (`codex-cli` and `antigravity-cli` refuse `--write`), the
|
|
520
|
+
review is a human reading the diff (a model review is not built), and a full run
|
|
521
|
+
through the installed CLI is not recorded yet. In the TUI: `/external-diff` and a
|
|
522
|
+
sidebar row while a diff waits. See the [external agent write
|
|
523
|
+
guide](docs/docs/guides/external-agent-write.md).
|
|
501
524
|
- **Completion you can audit.** The completion gate blocks on missing evidence: a
|
|
502
525
|
run that cannot produce the evidence its flow requires does not get to claim
|
|
503
526
|
it finished.
|
|
@@ -925,7 +948,7 @@ untouched.
|
|
|
925
948
|
| No bundled embedding runtime | No semantic ranking in memory search | Lexical memory search remains fully available |
|
|
926
949
|
| ripgrep is external | `keryx ctx rg` needs `rg` on `PATH` | Install ripgrep, or let the agent read files directly |
|
|
927
950
|
| Model commands need a credential | Four of the five commands above exit non-zero without one; `wiki enrich` exits `0` and marks the affected pages skipped | Everything else runs deterministically offline |
|
|
928
|
-
| External agents are read-only,
|
|
951
|
+
| External agents are read-only, except `claude-cli` write mode, which has no full live run recorded | A delegated CLI can read and search; only `claude-cli` can write, and only as a stored diff a human reviews (`keryx agents external review\|apply\|discard`) that lands as a new local branch — never on your checkout, never pushed. `codex-cli` and `antigravity-cli` refuse `--write` ("write mode is claude-only in this release"). A model review is not built. The parent gets the child's result and nothing before it — supervision of a running external child is not implemented. `claude` and `agy` read-only runs are live-verified; a write run through the installed CLI is not yet | Use keryx's own child agents for work that must mutate the tree, or the [external agent write guide](docs/docs/guides/external-agent-write.md) for a reviewed `claude-cli` diff |
|
|
929
952
|
| A dispatched `flow-next` task is "done" by checks, not review | `task done` means normal end + a commit on the trigger branch + `keryx health gate` passing in the worktree; nobody has read the diff | Review and merge the `trigger/<flow>-<task>` branch yourself |
|
|
930
953
|
| `trust` dispatch needs Linux + a working bubblewrap | The hardened unattended sandbox (network off, home hidden, allow-listed env) is bwrap-only; without it — or on macOS — a `trust` dispatch refuses before starting | Use `permissionMode: "ask"` (read-only), or run triggers on a Linux host with bwrap |
|
|
931
954
|
| `dispatch.network: true` is the host's full network | The agent's commands then reach the internet and every host loopback service; the model call never needs it (it is made outside the sandbox) | Leave `network` off; review the `trigger/*` branch before installing or building it |
|