johns-harness 2026.9.20 → 2026.9.22
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/CHANGELOG.md +4 -0
- package/README.md +2 -2
- package/docs/PATCHES.md +10 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026.9.22
|
|
4
|
+
|
|
5
|
+
- Family 69: enforce the latest DeepSeek Flash/Pro, Muse and Gemini Lite alias targets across all 14 shipped copies; document `/model deepseek` and retain Family 68 on the separate `extended` release line.
|
|
6
|
+
|
|
3
7
|
## 2026.9.20
|
|
4
8
|
|
|
5
9
|
- Family 67: native DeepSeek V4.1 Flash/V4 Pro catalog, environment auth, aliases, model-specific effort mapping and tool/reasoning replay through the supported Chat Completions transport.
|
package/README.md
CHANGED
|
@@ -55,9 +55,9 @@ Expired ChatGPT credentials trigger an owner notice with the `/login` recovery c
|
|
|
55
55
|
|
|
56
56
|
<!-- JOHNNESS_PATCH_DEFAULTS_61 -->
|
|
57
57
|
### Batteries included
|
|
58
|
-
The harness ships the current model catalog and the short aliases `opus`, `sonnet`, `fable`, `astra`, `sol`, `luna`, `terra`, `gpt`, `flash`, `banana`, and `
|
|
58
|
+
The harness ships the current model catalog and the short aliases `opus`, `sonnet`, `fable`, `astra`, `sol`, `luna`, `terra`, `gpt`, `flash`, `banana`, `image`, `deepseek`, `deepseek-pro`, `muse`, and `gemini-lite`, so `/model opus` works on a fresh install with no `models.providers` block. Channels you configure load without a `plugins.allow` list; only an explicit `enabled: false` or `plugins.deny` turns one off. Updating the harness updates the catalog and aliases for every agent. Any `openai-codex/<model>` primary that hits its ChatGPT usage limit fails over to `openai/<model>` on the API key first, then to your configured fallbacks, with no config (the sibling is skipped when no OpenAI API key is present). Image generation and editing use GPT Image 2 through the `image_generate` tool: `openai-codex/gpt-image-2` on the ChatGPT subscription first, `openai/gpt-image-2` on the API key second (`agents.defaults.imageGenerationModel`). Nano Banana Pro (`google/gemini-3-pro-image-preview`) ships in the catalog as a selectable image model, reachable with `model: "nano-banana"` and its own `aspectRatio` option; the default stays GPT Image 2 because the subscription path costs nothing.
|
|
59
59
|
|
|
60
|
-
**The alias contract.** Every shipped alias points at the newest model in its line, so an install or an `/update` moves every agent forward with zero per-instance config. Your own `agents.defaults.models[*].alias` entries are still consulted first and still win. Every catalog bump must move the matching alias; the verifier fails the release if it does not.
|
|
60
|
+
**The alias contract.** Every shipped alias points at the newest model in its line, so an install or an `/update` moves every agent forward with zero per-instance config. Your own `agents.defaults.models[*].alias` entries are still consulted first and still win. Every catalog bump must move the matching alias; the verifier fails the release if it does not. `/model deepseek` always selects the newest DeepSeek model (currently V4.1 Flash); `deepseek-pro` the newest Pro.
|
|
61
61
|
|
|
62
62
|
### Updating from chat
|
|
63
63
|
Send `/update` to install the newest `johns-harness` on the machine the gateway runs on and restart into it; `/update 2026.9.14` pins an exact version. Owner only. The reply names the current and target versions, a second `/update` while one is running is refused, and the first message after the restart confirms the running version. On a writable host the package is reinstalled into the existing global prefix. On an immutable image with a persistent volume (Fly), it is installed into `$JOHNNESS_STATE_DIR/runtime/johnness` and the entrypoint prefers that runtime when it is newer than the image: `exec node "$(node /opt/johnness/lib/node_modules/johns-harness/dist/runtime-path.js)" gateway run`. `JOHNNESS_UPDATE_PREFIX` overrides the target. On failure the reply carries the last lines of npm output and the one command that fixes it.
|
package/docs/PATCHES.md
CHANGED
|
@@ -2562,3 +2562,13 @@ The 65.1 updater budgets fresh installs from the old dependency size. A very ful
|
|
|
2562
2562
|
## Family 67: native DeepSeek and current provider catalog
|
|
2563
2563
|
|
|
2564
2564
|
Verified September 13, 2026 against official provider catalogs and harmless live API probes. Adds DeepSeek V4.1 Flash/V4 Pro via the existing supported Chat Completions adapter, Gemini Flash-Lite, current prices and Claude xhigh mappings. Preserves all legacy IDs, configured selection, deliberate context budgets and provider-default omission. [Full source/evidence/limits](PROVIDER-CATALOG.md). Canonical adapters live in the version-checked pi-ai overlay; `patch-provider-catalog.py --check` validates exact registry/auth/alias/adapter snapshots without network or secrets. Historical reconstruction retains exact byte comparisons through the Family 67 helper.
|
|
2565
|
+
|
|
2566
|
+
## Family 69: DeepSeek alias contract
|
|
2567
|
+
|
|
2568
|
+
Release: `johns-harness@2026.9.22` (`latest`). Extends the release gate, not the runtime aliases already shipped in Family 67.
|
|
2569
|
+
`scripts/check-alias-contract.mjs` now pins `deepseek` to `deepseek/deepseek-flash` (V4.1 Flash),
|
|
2570
|
+
`deepseek-pro` to `deepseek/deepseek-v4-pro`, `muse` to `meta/muse-spark-1.3`, and `gemini-lite` to `google/gemini-3.5-flash-lite`.
|
|
2571
|
+
All 14 alias copies must match these exact targets, agree with each other, and resolve every shipped alias in the catalog.
|
|
2572
|
+
Verifier checks 69.1 and 69.2 enforce the contract and exactly one DeepSeek Flash alias per copy.
|
|
2573
|
+
Future catalog releases must move the matching contract targets; user-configured aliases still win.
|
|
2574
|
+
Family 68 remains on the `extended` release line and is not included in this `latest` artifact.
|