@mrciphersmith/keryx 0.3.6 → 0.3.7

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
@@ -129,6 +129,11 @@ with [Onboarding](docs/docs/onboarding.md) for the complete first-run
129
129
  walkthrough. `keryx help` groups every command by task; the same table is a
130
130
  generated reference page, [Commands by task](docs/docs/commands-by-task.md).
131
131
  Run `keryx <command> --help` for the live flag surface of any command.
132
+ Delivery orchestrators can also ask Jev to flag rule-breaking edits and triage
133
+ failed CI jobs — see [Jev in the delivery loop](docs/docs/guides/jev-in-the-delivery-loop.md).
134
+ The review orchestrator can ask Jev to triage CI and pick which reviewers to
135
+ dispatch — see [Jev in review](docs/docs/jev-in-review.md) for what was
136
+ measured and what was not.
132
137
 
133
138
  ## Why keryx
134
139
 
@@ -754,6 +759,47 @@ The seams exist for the model-backed variants when they ship.
754
759
  Tree-sitter grammars for the symbol/call graph are downloadable and optional; the
755
760
  graph falls back to its deterministic resolver when a grammar is absent.
756
761
 
762
+ ## Jev EDIT GUARD (opt-in)
763
+
764
+ A Claude Code `PostToolUse` hook that checks every `Edit`/`Write`/`MultiEdit` a
765
+ coding agent makes against your project's own written rules, using Jev, and
766
+ feeds violations straight back to the agent through the hook's
767
+ `additionalContext` channel — before the code ever reaches a human reviewer.
768
+ It never blocks the tool call: on any error, timeout, or missing credential
769
+ it fails open silently and always exits `0`.
770
+
771
+ Measured on a real project (10 tasks × 2 runs, a large production
772
+ React/MobX frontend):
773
+
774
+ | | violations reaching first review | review rounds | Jev cost |
775
+ |---|---|---|---|
776
+ | without the guard | 27 | 31 | — |
777
+ | with the guard (threshold 0.5) | **10 (−63%)** | **24** | $0.04 for 40 runs |
778
+
779
+ The agent acted on 79% of the flags at threshold 0.5. At threshold 0.2 the
780
+ guard flagged almost every edit, the agent learned to ignore it, and it had
781
+ no measurable effect — so **precision matters more than recall here**, and
782
+ `0.5` is the default for exactly that reason. Raise it if the guard still
783
+ flags too much for your rule set; lower it only if you have evidence the
784
+ agent is actually acting on the extra flags.
785
+
786
+ ```bash
787
+ keryx review jev-edit-guard install # merge-safe: writes .claude/settings.json
788
+ ```
789
+
790
+ Then opt in per project — the hook is installed but stays silent until this is set:
791
+
792
+ ```json
793
+ // .metaproject/tasks.config.json
794
+ { "review": { "jev": { "edit_guard": true, "edit_guard_threshold": 0.5 } } }
795
+ ```
796
+
797
+ `keryx review jev-edit-guard status` shows whether it is on, the threshold,
798
+ and today's calls/flags/cost. The TUI's `/editguard` shows the same, plus the
799
+ most recent flags, with a one-key toggle. `keryx review jev-edit-guard
800
+ uninstall` removes only this hook's entry, leaving every other hook
801
+ untouched.
802
+
757
803
  ## Current limitations
758
804
 
759
805
  | Limitation | Impact | Alternative |
@@ -823,6 +869,7 @@ Full documentation site: **<https://mrciphersmith.github.io/keryx/>**
823
869
  - **[Architecture](docs/docs/architecture.md)** — the four-layer pattern, invariants, cross-module data flows.
824
870
  - **[Module reference](docs/docs/modules.md)** — one section per module: purpose, CLI surface, mechanics, data paths.
825
871
  - **[CLI reference](docs/docs/cli-reference.md)** — the command surface: subcommands, flags and exit codes.
872
+ - **[Jev in review](docs/docs/jev-in-review.md)** — what we measured putting Jev in the review domain: CI triage (proven), three CLI-engine reviewers (measured weaker than a strong model), and reviewer selection (unmeasured, most promising).
826
873
  - **[Workspace & lifecycle](docs/docs/workspace-and-lifecycle.md)** — the `.metaproject/` contract and `init`/`update` lifecycle.
827
874
  - **[Limitations](docs/docs/limitations.md)** — known gaps, platform caveats, and what to do instead.
828
875
  - **[Shared Agent Context](docs/docs/guides/shared-agent-context.md)** *(experimental)* — local-first work-context layer: FWK overview, proposals, runtime policy guard.