@mrciphersmith/keryx 0.3.68 → 0.3.75

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 CHANGED
@@ -180,6 +180,7 @@ alike, whichever agent runtime happens to be open.
180
180
  | Judge readiness | Normalized health reports and a quality gate over lint, types, tests, coverage, complexity |
181
181
  | Coordinate work | Versioned task flows, managed review packages, generated agent skills |
182
182
  | Keep agents inside boundaries | Deterministic secret / PII / prompt-injection scanning, redaction, policy gate, OS sandbox |
183
+ | Take work in from GitHub | Tickets assigned to you, review requests, failed CI and PR comments arrive as Telegram cards with buttons, read-only toward GitHub ([guide](docs/docs/guides/work-intake.md)) |
183
184
  | Run an agent at all | A first-party harness on top of all of the above: durable sessions, allow/ask/deny policy, child agents, evidence-gated completion |
184
185
 
185
186
  ## A typical agent workflow
@@ -709,16 +710,23 @@ Grouped by what you are trying to do, not by internal module layout.
709
710
  order, your choice, the time you took and, after a deviation, an optional
710
711
  reason (asked once, and the tool result waits for it; an empty answer releases
711
712
  the wait; add or change it later with `/decisions reason`).
712
- One question in three is asked blind (no "recommended" mark, random order,
713
- revealed after the answer, changeable with `/decisions change`), never for
713
+ A question with a recommendation is asked in one of four ways: ordinary (arm A, the
714
+ recommended option preselected), the mark with nothing preselected (B), shuffled with the
715
+ mark (C), or blind (D: no "recommended" mark in the flag or the words, random order,
716
+ revealed after the answer, changeable with `/decisions change`). The arm is a seeded
717
+ function of a per-repository salt; the weights are 0.4, 0.2, 0.2, 0.2. Never blind for
714
718
  release, ship, publish, deploy, delete or push, nor for merge, drop, remove or
715
719
  force next to main, production, a branch or a table, or with no real object
716
720
  ("merge it"); agents set `--action` (or `irreversible: true` in `ask_user`) for
717
721
  the irreversible ones, and the report counts how often blind was refused.
718
- `keryx decisions report` prints the match share by mode and stage and the
719
- deviations, with no model; `keryx decisions open|answer|reason` lets any agent
722
+ `keryx decisions report` prints the match share by mode, arm, channel and stage and
723
+ the deviations, with no model (the pre-arm records are shown apart as legacy);
724
+ `keryx decisions rate` records whether a recommendation was good (yours, or a
725
+ model's self-assessment in a clean context) and `keryx decisions export` writes
726
+ the structure of each decision with no question or option text;
727
+ `keryx decisions open|answer|reason` lets any agent
720
728
  or chat bridge drive it. In the TUI, `/decisions` and a sidebar row show the
721
- same report. See the
729
+ same report. The guide says what the journal does not measure. See the
722
730
  [Recommendation journal guide](docs/docs/guides/recommendation-journal.md).
723
731
  - **security** — deterministic secrets / PII / prompt-injection / egress
724
732
  scanning, redaction, and a policy gate at agent write seams, with a committed
@@ -742,7 +750,11 @@ Grouped by what you are trying to do, not by internal module layout.
742
750
  a working session keeps, plus an external hand onto it: the `slate.open` /
743
751
  `slate.writeSeed` / `slate.close` MCP tools let any MCP-connected harness open
744
752
  one scoped to its own session id and close it into the same review pipeline.
745
- Local stdio only; there is no CLI verb. See the
753
+ Local stdio only; there is no CLI verb. In keryx's own sessions the slate is
754
+ also the model's working memory: a harness-written Trail of every tool call,
755
+ model-written Notes (`slate_note`), and read-only recall (`slate_trail`,
756
+ `recall_step`, `history_search`) replace re-sending old rounds; `/trail` and
757
+ `/notes` show you the same Trail and Notes in the shell. See the
746
758
  [Slate guide](docs/docs/guides/slate.md).
747
759
 
748
760
  **Run agents inside boundaries**
@@ -1040,14 +1052,19 @@ queued lines will not run. From the topic you can also run a fixed list of slash
1040
1052
  commands (`/status`, `/model` and `/connect` as buttons, `/new`, `/clear`, `/resume`
1041
1053
  in the same topic); `/mode trust`, `/plan off`, `/delegate` and `/external*` run only
1042
1054
  after a Yes press, and commands such as `/mcp`, `/guard`, `/route`, `/provider`,
1043
- `/schedule`, `/rewind`, `/conform` and `/ci` stay local. Each message shows its state as a reaction and the topic shows typing
1055
+ `/schedule`, `/rewind`, `/conform` and `/ci` stay local. A topic is deleted when the
1056
+ shell exits, so `/history [N]` (1 to 20, 10 by default) posts the session's last messages
1057
+ back into the topic, yours and the agent's final answers, one message each; a resumed
1058
+ session whose topic was just created gets the last 10 by itself, once (the first time remote control is turned on in that shell); a turn that looks like it holds a secret is replaced by a placeholder. Each message shows its state as a reaction and the topic shows typing
1044
1059
  while a turn runs; see
1045
1060
  [commands from the topic](docs/docs/guides/drive-keryx-remotely.md#commands-from-the-topic).
1046
1061
  Without a connection `serve` starts as before, with remote control off, and only
1047
1062
  offers the local `/channels` routes. Replies are rendered in one of four modes,
1048
1063
  `remote.rendering` = `auto` (the default), `rich`, `html` or `plain`, set from the
1049
1064
  `/settings` row **Telegram rendering**: a table goes out as a native Telegram rich
1050
- message in `auto` and `rich` (an aligned `<pre>` block in HTML), ordered and nested
1065
+ message in `auto` and `rich`, as wide as its content and scrolling sideways with no
1066
+ cell shortened (an aligned `<pre>` block in HTML; more than 20 columns stays ordinary
1067
+ text), ordered and nested
1051
1068
  lists, task items and rules keep their shape, and a refused rich message falls back
1052
1069
  once to HTML and once to plain text, so a reply is never dropped. `keryx remote
1053
1070
  format-sample` prints the sample in every mode with no network, and `/channels`