@mrciphersmith/keryx 0.2.155 → 0.2.156
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 +55 -6
- package/dist/cli.js +42933 -36064
- package/dist/core.js +1148 -817
- package/dist/proxy-worker.js +338 -63
- package/package.json +1 -1
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/platform/scheduled-tasks/SKILL.md +96 -0
package/README.md
CHANGED
|
@@ -439,8 +439,13 @@ Grouped by what you are trying to do, not by internal module layout.
|
|
|
439
439
|
human **owner** (`flow init --owner`/`flow owner set`, never inferred), and
|
|
440
440
|
`ac confirm`/`complete` append an honest, append-only **signature** — who
|
|
441
441
|
acted, when, and what was signed, with its basis (`stated`/`derived`/
|
|
442
|
-
`unknown`) stated rather than assumed.
|
|
443
|
-
|
|
442
|
+
`unknown`) stated rather than assumed. A flow can also require a
|
|
443
|
+
terminal-minted **confirmation token** (`flow init --require-confirmation`,
|
|
444
|
+
`flow confirm`) that no agent tool can mint. It adds friction for an agent
|
|
445
|
+
but does not prove a person was present. `flow recover` returns a flow left
|
|
446
|
+
in `completing` by an interrupted run. See
|
|
447
|
+
[TM-02](docs/decisions/keryx-harness/TM-02-flow-owner-and-signed-completion.md)
|
|
448
|
+
and [TM-03](docs/decisions/keryx-harness/TM-03-terminal-confirmation-token.md).
|
|
444
449
|
- **triggers** — declared automation over `.metaproject/triggers.json` (a
|
|
445
450
|
repository event or a cron/systemd schedule): `reconcile`/`rebuild` keep the
|
|
446
451
|
graph and wiki current, `open-flow` opens Task Manager work, and `flow-next`
|
|
@@ -453,9 +458,45 @@ Grouped by what you are trying to do, not by internal module layout.
|
|
|
453
458
|
USD recorded, and a per-trigger spend ceiling on top of the project-wide one.
|
|
454
459
|
`keryx trigger install` extends the same hook files `sync install-hooks` and
|
|
455
460
|
`update` already write into; `keryx trigger schedule` prints a cron line or
|
|
456
|
-
systemd unit pair and runs no daemon of its own. Triggered runs and a manual
|
|
461
|
+
systemd unit pair (with a real `OnCalendar=`) and runs no daemon of its own. Triggered runs and a manual
|
|
457
462
|
`sync --apply`/`gdgraph build` share one maintenance lock (manual waits,
|
|
458
|
-
triggered refuses).
|
|
463
|
+
triggered refuses). In the TUI, the sidebar's **Triggers** section lists the
|
|
464
|
+
event-fired triggers. Each row shows the last outcome and its age, and a `NET`
|
|
465
|
+
marker when the agent gets the host network. The section also shows project
|
|
466
|
+
trigger spend and any open spend reservations. `/triggers` (or a click)
|
|
467
|
+
opens a list+detail modal with the full unattended posture. There, `r` then
|
|
468
|
+
`y` runs one now as `keryx trigger run <name>` in a child process of the same
|
|
469
|
+
build, bound by the same locks, budgets and refusals as the CLI. See the
|
|
470
|
+
[CLI reference](docs/docs/cli-reference.md#trigger).
|
|
471
|
+
- **schedule**: scheduled agent tasks in the background. Say it in the shell ("schedule a task every
|
|
472
|
+
4 hours to check my open PRs"), use `/schedule`, or run `keryx schedule add`. keryx shows a
|
|
473
|
+
**confirmation card** listing the cadence and next runs, the prompt, the runner and its budget,
|
|
474
|
+
the network mode, and every granted tool with the account it acts as. It also shows exactly what
|
|
475
|
+
will be installed. Nothing is written until you say yes. After that, keryx stores the schedule in a
|
|
476
|
+
per-machine, gitignored store and installs a `systemd --user` timer (launchd on macOS, cron
|
|
477
|
+
elsewhere) that runs `keryx trigger run <name>` unattended. The run leaves a report in
|
|
478
|
+
`.metaproject/data/trigger/reports/`.
|
|
479
|
+
- **Granted tools** (`gh pr list/view/checks`, `gh issue list/view`, `gh run list`) run
|
|
480
|
+
**outside** the sandbox with your credentials. The model sees only redacted output, and the
|
|
481
|
+
token never enters the sandbox, the model context or the report.
|
|
482
|
+
- **Network:** the agent's shell network is `off`, `full`, or `allowlist` (Linux
|
|
483
|
+
only) — reaches only the domains you name, through a loopback proxy keryx runs
|
|
484
|
+
outside the sandbox; it governs only the agent's own shell commands, never the
|
|
485
|
+
model call or a granted tool. See the [CLI reference](docs/docs/cli-reference.md#schedule).
|
|
486
|
+
- **Refusals:** the unattended floor is unchanged, and an entry edited after you confirmed it is
|
|
487
|
+
refused (`grants-changed`).
|
|
488
|
+
- **Tracking:** every run is spend-bounded and appears in `keryx trigger status` and
|
|
489
|
+
`keryx governance report`.
|
|
490
|
+
- **Management:** `keryx schedule list|show|pause|resume|run|remove`. In `keryx shell`:
|
|
491
|
+
- the sidebar's **Schedules** section shows each schedule's next run and last outcome;
|
|
492
|
+
- `/schedules` (or a click) opens the detail: Overview, Grants, Runs, Report;
|
|
493
|
+
- `p` pauses or resumes, `r` then `y` runs it now, `d` then `y` deletes it;
|
|
494
|
+
- a run finished in the background shows up without a restart.
|
|
495
|
+
- **Limits:** the machine must be on. systemd and launchd catch up one missed run after a boot or
|
|
496
|
+
wake; cron does not. Without linger, a user timer does not run while you are logged out, and
|
|
497
|
+
keryx never enables linger for you. The hardened sandbox is Linux-only.
|
|
498
|
+
|
|
499
|
+
See the [CLI reference](docs/docs/cli-reference.md#schedule).
|
|
459
500
|
- **governance** — `keryx governance report`, one read-only report unifying what
|
|
460
501
|
is already recorded: review-round spend per flow (USD and tokens, with a
|
|
461
502
|
rounds-with-cost/rounds-total count for partial coverage), project-wide
|
|
@@ -465,7 +506,14 @@ Grouped by what you are trying to do, not by internal module layout.
|
|
|
465
506
|
outcomes. A figure nobody recorded is reported as "not recorded", never as
|
|
466
507
|
zero. Writes `.metaproject/data/governance/artifacts/latest.{md,json}`, the
|
|
467
508
|
same convention `keryx health run` uses; `--all-projects` also covers every
|
|
468
|
-
project in the user-global registry.
|
|
509
|
+
project in the user-global registry. In the TUI, the sidebar's
|
|
510
|
+
**Governance** row shows `no report — click to run`,
|
|
511
|
+
`unreadable — click for reason`, `running…`, `last report <date>` or
|
|
512
|
+
`failed — click to retry`. With no report, a click
|
|
513
|
+
(or `/governance`) runs the report in the background, and the row updates
|
|
514
|
+
when it finishes. With a report, a click opens it in a scrollable modal,
|
|
515
|
+
where `r` re-runs it. Sessions written by `keryx agents external run` appear
|
|
516
|
+
in `/sessions` marked `acp:<agent>`. See the
|
|
469
517
|
[CLI reference](docs/docs/cli-reference.md#governance).
|
|
470
518
|
- **security** — deterministic secrets / PII / prompt-injection / egress
|
|
471
519
|
scanning, redaction, and a policy gate at agent write seams, with a committed
|
|
@@ -478,7 +526,8 @@ Grouped by what you are trying to do, not by internal module layout.
|
|
|
478
526
|
(Facts / Work / Know-how) overview, evidence-linked wrap-up proposals with owner
|
|
479
527
|
review, and a fail-closed runtime policy guard. Driven by `keryx workspace`
|
|
480
528
|
(`keryx modules enable sac` to turn it on); accepting a proposal into real
|
|
481
|
-
project knowledge always passes through
|
|
529
|
+
project knowledge always passes through an approval-gated `confirm-review`
|
|
530
|
+
(friction for an agent, not proof of a person — see TM-03), which
|
|
482
531
|
refuses a security-flagged proposal until `--acknowledge-security` records
|
|
483
532
|
that someone read the findings. The TUI's `/review` modal offers the same
|
|
484
533
|
acknowledgement as an explicit `[s]` action, never as an automatic fallback
|