@mrciphersmith/keryx 0.3.9 → 0.3.11
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 +63 -2
- package/dist/cli.js +1653 -1043
- package/dist/core.js +12 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -759,14 +759,74 @@ The seams exist for the model-backed variants when they ship.
|
|
|
759
759
|
Tree-sitter grammars for the symbol/call graph are downloadable and optional; the
|
|
760
760
|
graph falls back to its deterministic resolver when a grammar is absent.
|
|
761
761
|
|
|
762
|
-
##
|
|
762
|
+
## Keeping private work in-house: /external
|
|
763
|
+
|
|
764
|
+
`/external on|off` (and `keryx external on|off`) is one general switch that
|
|
765
|
+
stops keryx from sending private work — code, diffs, CI-log excerpts,
|
|
766
|
+
prompts, rule text — to Jev/TypeSafe and to model vendors/tiers the
|
|
767
|
+
operator has not decided to trust with it. It is on by default (today's
|
|
768
|
+
behavior, unchanged) and is checked at the two places that actually send
|
|
769
|
+
anything out: the Jev client (`callJevSystemOne`, so every `review-jev-*`
|
|
770
|
+
command, `conform`, `ci-triage`, `jev-select`, the routing classifier and
|
|
771
|
+
the turn guard are covered by one change) and the routing/model-selection
|
|
772
|
+
choke point (a listed provider/model is excluded from a category
|
|
773
|
+
resolution, falling through to the next layer with a notice rather than
|
|
774
|
+
silently).
|
|
775
|
+
|
|
776
|
+
```bash
|
|
777
|
+
keryx external status # effective on/off, source, Jev credential availability, what's blocked now
|
|
778
|
+
keryx external off # keep this project's/your work in-house
|
|
779
|
+
keryx external off --project # override for this project only (wins over your per-user setting)
|
|
780
|
+
keryx external list # the effective block list — every provider id and model pattern, with its reason
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
The block list lives in an editable JSON file
|
|
784
|
+
(`<keryx config dir>/external-providers.json`), created with built-in
|
|
785
|
+
defaults on first use and never overwritten again. The defaults: Jev/
|
|
786
|
+
TypeSafe System One (the OpenRouter `/api/v1/systemone` endpoint — it
|
|
787
|
+
receives code and CI logs on every call); keryx's own direct provider ids
|
|
788
|
+
for vendors hosted under jurisdictions/terms where a prompt may be
|
|
789
|
+
retained or trained on (`deepseek`, `zai`/`zai-coding`, `moonshot`); the
|
|
790
|
+
same vendors reached instead through an OpenRouter model id, plus vendors
|
|
791
|
+
with no first-class keryx provider at all (`deepseek/*`, `minimax/*`,
|
|
792
|
+
`z-ai/*`/`zhipu/*`/`glm/*`, `moonshotai/*`, `qwen/*`/`alibaba/*`,
|
|
793
|
+
`baidu/*`, `tencent/*`, `bytedance/*`, `01-ai/*`); OpenRouter's free tier
|
|
794
|
+
(`*:free`), whose underlying provider's logging/training policy is
|
|
795
|
+
unaudited per-model; and any model id containing `muse`, named explicitly
|
|
796
|
+
by the operator. The mainstream paid US providers you connect directly —
|
|
797
|
+
Anthropic, OpenAI, Google/Gemini, GitHub Copilot, xAI, Groq — stay off the
|
|
798
|
+
list; adjust any of it by editing the file.
|
|
799
|
+
|
|
800
|
+
Because Jev is only worth blocking when it would otherwise run, the
|
|
801
|
+
recommended, fail-open review steps (`ci_triage`, `select`, `edit_guard` —
|
|
802
|
+
see below) are now **on by default wherever Jev is reachable**: as soon as
|
|
803
|
+
a Jev/OpenRouter credential resolves and `/external` is on, no per-project
|
|
804
|
+
opt-in is needed. `keryx review jev-profile show` names each key's
|
|
805
|
+
effective source (`explicit`/`default-because-jev-available`/
|
|
806
|
+
`off-by-external`), and the first time a project actually sends data
|
|
807
|
+
because of the default — not an explicit opt-in — one line is shown once,
|
|
808
|
+
then never repeats for that project: `Jev is on here: redacted code/CI
|
|
809
|
+
snippets go to OpenRouter/TypeSafe. Turn off: /external off`.
|
|
810
|
+
|
|
811
|
+
In the TUI, `/external` (bare) shows the same status block; `/external
|
|
812
|
+
on|off` toggles the per-user setting; a sidebar row appears when it is
|
|
813
|
+
`off` (the default "on" state costs no permanent sidebar space, same idiom
|
|
814
|
+
`/guard`/`/route` use for their own default state). See [the CLI
|
|
815
|
+
reference](docs/docs/cli-reference.md#external) for the full command and
|
|
816
|
+
[Jev in review](docs/docs/jev-in-review.md#recommended-profile-now-on-by-default-when-jev-is-reachable)
|
|
817
|
+
for what changed there.
|
|
818
|
+
|
|
819
|
+
## Jev EDIT GUARD
|
|
763
820
|
|
|
764
821
|
A Claude Code `PostToolUse` hook that checks every `Edit`/`Write`/`MultiEdit` a
|
|
765
822
|
coding agent makes against your project's own written rules, using Jev, and
|
|
766
823
|
feeds violations straight back to the agent through the hook's
|
|
767
824
|
`additionalContext` channel — before the code ever reaches a human reviewer.
|
|
768
825
|
It never blocks the tool call: on any error, timeout, or missing credential
|
|
769
|
-
it fails open silently and always exits `0`.
|
|
826
|
+
it fails open silently and always exits `0`. As of the `/external` switch
|
|
827
|
+
above, it (along with CI triage and reviewer selection) is on by default
|
|
828
|
+
wherever Jev is reachable — the opt-in below still works, but only records
|
|
829
|
+
the choice explicitly rather than leaving it to the default.
|
|
770
830
|
|
|
771
831
|
Measured on a real project (10 tasks × 2 runs, a large production
|
|
772
832
|
React/MobX frontend):
|
|
@@ -870,6 +930,7 @@ Full documentation site: **<https://mrciphersmith.github.io/keryx/>**
|
|
|
870
930
|
- **[Module reference](docs/docs/modules.md)** — one section per module: purpose, CLI surface, mechanics, data paths.
|
|
871
931
|
- **[CLI reference](docs/docs/cli-reference.md)** — the command surface: subcommands, flags and exit codes.
|
|
872
932
|
- **[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).
|
|
933
|
+
- **[Jev in the delivery loop](docs/docs/guides/jev-in-the-delivery-loop.md)** — edit guard and CI triage inside `job-orchestrator`/`flow-orchestrator`/`task-implementer`/`code-verifier`, on by default wherever Jev is reachable.
|
|
873
934
|
- **[Workspace & lifecycle](docs/docs/workspace-and-lifecycle.md)** — the `.metaproject/` contract and `init`/`update` lifecycle.
|
|
874
935
|
- **[Limitations](docs/docs/limitations.md)** — known gaps, platform caveats, and what to do instead.
|
|
875
936
|
- **[Shared Agent Context](docs/docs/guides/shared-agent-context.md)** *(experimental)* — local-first work-context layer: FWK overview, proposals, runtime policy guard.
|