@mrciphersmith/keryx 0.2.151 → 0.2.154
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 +29 -0
- package/dist/cli.js +3364 -868
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -248,6 +248,24 @@ What is in it today:
|
|
|
248
248
|
session that keeps its ancestry, without editing a transcript by hand.
|
|
249
249
|
`/status` is the session inspector (identity, context window and limits when
|
|
250
250
|
the provider reported them); `/session-info` and `/info` are not aliases.
|
|
251
|
+
- **Agent Client Protocol server.** `keryx acp` speaks
|
|
252
|
+
[ACP](https://agentclientprotocol.com) v1 — newline-delimited JSON-RPC 2.0
|
|
253
|
+
over stdio — so an ACP client (an editor, typically) can launch keryx as a
|
|
254
|
+
subprocess, open a session bound to a project, and drive a real harness turn
|
|
255
|
+
with streamed `session/update` notifications instead of one dump at the end.
|
|
256
|
+
A gated tool call is asked through `session/request_permission` rather than
|
|
257
|
+
approved locally — only an explicit allow runs it, and an `allow_always`
|
|
258
|
+
answer is remembered by the client, never persisted by keryx — and
|
|
259
|
+
`session/cancel`, `session/list`, and `session/load` (replaying a session
|
|
260
|
+
created anywhere, including one from `keryx shell`) are all implemented.
|
|
261
|
+
Writes and shell execution stay local unconditionally (no `fs/write_text_file`
|
|
262
|
+
or `terminal/*` calls, whatever the client advertises), and there is no
|
|
263
|
+
HTTP/WebSocket transport, no authentication over this wire, and no
|
|
264
|
+
`session/resume`/`close`/`delete`/`set_mode`/`set_config_option`. Verified
|
|
265
|
+
against the published v1 schema and this repo's own scripted test client,
|
|
266
|
+
not yet against a shipping IDE. See [the CLI
|
|
267
|
+
reference](docs/docs/cli-reference.md#acp) for the full method table and
|
|
268
|
+
what keryx does when a capability is absent.
|
|
251
269
|
- **Plans that survive the turn.** For multi-step work, the agent can keep a
|
|
252
270
|
structured execution plan in the session's own `plan.json` — beside the
|
|
253
271
|
transcript, not inside the Slate — so closing a Slate (or a Flow reporting
|
|
@@ -377,6 +395,14 @@ Grouped by what you are trying to do, not by internal module layout.
|
|
|
377
395
|
|
|
378
396
|
- **tasks** — an agent-first Task Manager driven by `keryx flow`, with frozen
|
|
379
397
|
acceptance criteria and status gates.
|
|
398
|
+
- **triggers** — declared automation over `.metaproject/triggers.json` (a
|
|
399
|
+
repository event or a cron/systemd schedule): `reconcile`/`rebuild` keep the
|
|
400
|
+
graph and wiki current, `open-flow`/`flow-next` open or report on Task
|
|
401
|
+
Manager work. `keryx trigger install` extends the same hook files `sync
|
|
402
|
+
install-hooks` and `update` already write into, rather than owning its own;
|
|
403
|
+
`keryx trigger schedule` prints a cron line or systemd unit pair and runs no
|
|
404
|
+
daemon of its own. Every fired run is recorded and gated by a project-wide
|
|
405
|
+
spend ceiling and a run lock. See the [CLI reference](docs/docs/cli-reference.md#trigger).
|
|
380
406
|
- **security** — deterministic secrets / PII / prompt-injection / egress
|
|
381
407
|
scanning, redaction, and a policy gate at agent write seams, with a committed
|
|
382
408
|
evaluation corpus.
|
|
@@ -554,6 +580,9 @@ graph falls back to its deterministic resolver when a grammar is absent.
|
|
|
554
580
|
| ripgrep is external | `keryx ctx rg` needs `rg` on `PATH` | Install ripgrep, or let the agent read files directly |
|
|
555
581
|
| 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 |
|
|
556
582
|
| External agents are read-only, and unproven against a live vendor process | A delegated CLI can read and search but never write; `worktree-write` is refused with a named reason. The parent gets the child's result and nothing before it — supervision of a running external child is not implemented. Everything is verified offline against recorded transcripts | Use keryx's own child agents for work that must mutate the tree |
|
|
583
|
+
| `keryx trigger`'s `flow-next` action only reports | It records the next task's status into the run record; it never dispatches an agent turn to work it | Dispatch the reported task yourself, or through a flow orchestrator |
|
|
584
|
+
| Trigger spend ceiling is project-wide | `open-flow`/`flow-next` triggers share one ceiling with every other recorded trigger cost; there is no per-trigger override | Watch `keryx trigger status`'s recorded cost |
|
|
585
|
+
| Trigger-run lock does not cover interactive commands | A person running `keryx sync --apply` / `keryx gdgraph build` by hand can still race a triggered `reconcile`/`rebuild` | Avoid running those by hand while triggers may be firing |
|
|
557
586
|
|
|
558
587
|
Full detail, including known defects and platform caveats:
|
|
559
588
|
[limitations](docs/docs/limitations.md).
|