@cognisphere-sh/cognisphere-harness 0.12.0 → 0.13.0

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +66 -11
  2. package/LICENSE +21 -0
  3. package/dist-web/assets/{file-editor-CQSmlsy_.js → file-editor-CqGYKmT3.js} +1 -1
  4. package/dist-web/assets/{index-1Hg12QW0.js → index-CDE-jsH8.js} +3 -3
  5. package/dist-web/index.html +1 -1
  6. package/home-template/config.example +0 -6
  7. package/home-template/docs/base-harness/README.md +11 -4
  8. package/home-template/scripts/build.sh +0 -5
  9. package/home-template/scripts/lib/remote-bootstrap.sh +2 -6
  10. package/home-template/scripts/setup-server.sh +7 -39
  11. package/package.json +7 -5
  12. package/skills/cognisphere-upgrade/SKILL.md +1 -1
  13. package/skills/create-plugin/SKILL.md +2 -2
  14. package/src/agents/base-agent/bootstrap/bootstrap.sh +2 -18
  15. package/src/agents/base-agent/extensions/context-meta.ts +4 -1
  16. package/src/agents/base-agent/system_prompts/0-base_prompt.md +3 -0
  17. package/src/api/agents.ts +3 -13
  18. package/src/api/credentials.ts +0 -15
  19. package/src/api/models.ts +2 -8
  20. package/src/api/secrets.ts +3 -3
  21. package/src/cli/index.ts +1 -1
  22. package/src/cli/init.ts +0 -12
  23. package/src/core/agent-manager.ts +12 -47
  24. package/src/core/config.ts +6 -0
  25. package/src/core/main.ts +10 -2
  26. package/src/core/model-access.ts +55 -0
  27. package/src/core/models-catalog.ts +72 -40
  28. package/src/core/models-store.ts +3 -4
  29. package/src/core/oauth-logins.ts +7 -3
  30. package/src/core/pi-delivery-receipts.ts +69 -0
  31. package/src/core/pi-models-sync.ts +2 -2
  32. package/src/core/queue.ts +7 -25
  33. package/src/core/rpc.ts +55 -49
  34. package/src/core/runner.ts +137 -131
  35. package/src/core/secrets.ts +2 -3
  36. package/src/core/types.ts +1 -1
  37. package/src/plugins/artifacts/index.ts +1 -1
  38. package/src/agents/base-agent/extensions/harness-bridge.ts +0 -63
package/CHANGELOG.md CHANGED
@@ -13,11 +13,66 @@ whose entries follow the form:
13
13
 
14
14
  The skill collects every section in `(current, target]`, proposes a diff against
15
15
  the harness directory, and applies it after user approval. See
16
- [`docs/distribution-and-deployment.md`](docs/distribution-and-deployment.md) §9.
16
+ [CLI upgrades](docs/low-level/cli.md#upgrades).
17
17
 
18
18
  The format is based on [Keep a Changelog](https://keepachangelog.com/) and this
19
19
  project adheres to [Semantic Versioning](https://semver.org/).
20
20
 
21
+ ## [0.13.0]
22
+
23
+ ### Breaking changes
24
+
25
+ - **Published to npmjs.org; no install token.** `@cognisphere-sh/*` packages
26
+ now come from the public npm registry instead of GitHub Packages. Delete the
27
+ `@cognisphere-sh:registry=https://npm.pkg.github.com` line from the home's
28
+ `.npmrc` (delete the file if nothing else is in it), or installs keep asking
29
+ GitHub Packages, which has no 0.13.0. `COGNISPHERE_NPM_TOKEN` and the
30
+ `npm.pkg.github.com/:_authToken` line in `~/.npmrc` are no longer used and
31
+ can be removed. [affects: .npmrc]
32
+
33
+ - **Each harness has its own Pi config folder.** The server sets
34
+ `PI_CODING_AGENT_DIR` to `harness/.secrets/pi/`, so Pi's `auth.json`,
35
+ `models.json` and `settings.json` no longer live in the run user's
36
+ `~/.pi/agent`. Subscription sign-ins (Claude Pro/Max, Codex, ChatGPT) must
37
+ be connected again once from the Models page; they are not copied, because
38
+ two copies of a rotating refresh token sign each other out. Hand-written
39
+ settings in `~/.pi/agent` no longer apply to the harness. Pi also starts
40
+ with `--no-approve`, so an agent folder's `.pi/` files are never loaded.
41
+ [affects: .secrets/pi/]
42
+
43
+ ### Changed
44
+
45
+ - Deploy scripts no longer need a GitHub token: `setup-server.sh` and
46
+ `build.sh` drop the `read:packages` checks and the `~/.npmrc` token line,
47
+ `remote-bootstrap.sh` logs `gh` in only to clone the repo, the systemd units
48
+ drop `COGNISPHERE_NPM_TOKEN`, and `config.example` drops the key
49
+ (refreshed wholesale on upgrade).
50
+ - `init` no longer writes a `.npmrc` into new homes.
51
+ - **Pi upgraded to 0.99.2** (`@earendil-works/pi-ai` and
52
+ `@earendil-works/pi-coding-agent`, pinned exactly). The runner now spawns
53
+ the `pi` bundled with the harness package instead of a global `pi` on
54
+ `PATH`, so the binary always matches the pinned version. Requires Node
55
+ `>=22.19.0` (as Pi already did).
56
+ - `bootstrap.sh` no longer installs a global `pi` or reads `PI_VERSION`.
57
+ Existing agents' copies still do; that step is now unused and can be
58
+ dropped when reseeding. [affects: agents/*/bootstrap/bootstrap.sh]
59
+ - A batch now ends when Pi reports `agent_settled` instead of `agent_end`, so
60
+ Pi's own retries (up to 3, backoff capped at 60 s), context-overflow
61
+ recovery and late follow-ups run inside the same batch. Queue retries
62
+ still apply after that.
63
+ - Delivery receipts are saved in the session file as `cognisphere.delivery`
64
+ custom entries (outside the model's context) and reported over RPC as
65
+ `entry_appended`. Inputs an extension `handled` are marked done.
66
+ - `context-meta` extension: the per-call `Model:` / `ContextUsage:` lines now
67
+ reach the model. They were dropped because the last message before each
68
+ call is the extension's own checkpoint, which the hook skipped. Reseed the
69
+ base extension. [affects: agents/*/extensions/context-meta.ts]
70
+ - Models page: Sign in with ChatGPT on the OpenAI provider; OpenAI Codex is
71
+ now labelled "(legacy)"; curated model lists refreshed to models that exist
72
+ in Pi 0.99.2 (Claude Opus/Sonnet 5.5, GPT-6.x, Gemini 3.x, Grok 4.7, …).
73
+ - `home-template/docs/base-harness/README.md`: bootstrap no longer pins `pi`;
74
+ new sign-in providers (refreshed wholesale on upgrade).
75
+
21
76
  ## [0.12.0]
22
77
 
23
78
  ### Breaking changes
@@ -46,8 +101,8 @@ project adheres to [Semantic Versioning](https://semver.org/).
46
101
 
47
102
  ### Changed
48
103
 
49
- - `docs/api.md` §1/§3, `docs/server.md` §3 and
50
- `docs/distribution-and-deployment.md` document the app bearer,
104
+ - `docs/low-level/api.md` §1/§3, `docs/low-level/agents.md#persistent-layout` and
105
+ `docs/low-level/cli.md` document the app bearer,
51
106
  `.secrets/app-secret`, and the new `app/.env.local` keys. The upgrade
52
107
  skill now refreshes `app/auth-routes/` and drift-checks the home's copies.
53
108
 
@@ -94,7 +149,7 @@ project adheres to [Semantic Versioning](https://semver.org/).
94
149
  60 s ack timeout then failed the batch repeatedly. `PiRpcClient` now
95
150
  suspends pending frame timeouts on `compaction_start` and re-arms them on
96
151
  `compaction_end`, and logs both at info with `reason` and
97
- `tokensBefore` / `estimatedTokensAfter` (`docs/server.md` §4.7).
152
+ `tokensBefore` / `estimatedTokensAfter` (`docs/low-level/core.md#execution-and-example`).
98
153
 
99
154
  ## [0.11.0]
100
155
 
@@ -382,7 +437,7 @@ project adheres to [Semantic Versioning](https://semver.org/).
382
437
  procedure moved into a plugin-owned skill: `plugin-gws.md` 204 → 50 lines,
383
438
  `plugin-telegram.md` 75 → 48. A fragment costs every turn of every thread; a
384
439
  skill costs one description line until an agent needs it.
385
- - `docs/server.md`, `docs/base-harness/skills.md` and the `create-plugin` skill
440
+ - `docs/low-level/agents.md`, `docs/base-harness/skills.md` and the `create-plugin` skill
386
441
  (v1.3.0) document the 50-line budget and what belongs in a fragment
387
442
  (identity, event shape, always-on rules) versus a skill. Both scaffold trees
388
443
  are refreshed wholesale by the upgrade skill.
@@ -450,9 +505,9 @@ project adheres to [Semantic Versioning](https://semver.org/).
450
505
  - **`create-skill` 1.2.0**, **`publish-harness` 1.1.0** — descriptions gained
451
506
  situational triggers; `publish-harness` also covers the new-plugin case of
452
507
  the shipped-artifact rule and deploy-time wiring notes.
453
- - Docs: `docs/api.md` §10 (artifact routes + header contract),
454
- `docs/server.md` (plugin list, plugin-shipped skills),
455
- `docs/distribution-and-deployment.md` §5 (deploy-time wiring),
508
+ - Docs: `docs/low-level/api.md` §10 (artifact routes + header contract),
509
+ `docs/low-level/plugins.md` (plugin list, plugin-shipped skills),
510
+ `docs/low-level/cli.md#server-deployment` (deploy-time wiring),
456
511
  `docs/base-harness/README.md`, `app/README.md`.
457
512
 
458
513
  ### Breaking changes
@@ -548,7 +603,7 @@ project adheres to [Semantic Versioning](https://semver.org/).
548
603
  the situation/task/result summary.
549
604
  - Base-agent seeds updated to match: new `knowledge/index.md` and
550
605
  `knowledge/memory.md`, refreshed `workspace/index.md`.
551
- - Docs updated: `docs/server.md` §3 on-disk tree and the shipped
606
+ - Docs updated: `docs/low-level/agents.md#persistent-layout` on-disk tree and the shipped
552
607
  `docs/base-harness/README.md` agent-anatomy list.
553
608
 
554
609
  ### Breaking changes
@@ -764,7 +819,7 @@ invisible to the agent. Per agent dir:
764
819
  Models page until an entry is added.
765
820
  - **System-prompt file ownership is now an explicit contract**, taught in
766
821
  the base prompt (new "System prompts" section) and documented in
767
- `docs/server.md` §3 and the shipped `docs/base-harness/README.md`:
822
+ `docs/low-level/agents.md#persistent-layout` and the shipped `docs/base-harness/README.md`:
768
823
  `0-*` files are harness-owned (replaced by the seed on upgrade;
769
824
  `0.1-agent-directory.md` excepted), `plugin-<id>.md` is plugin-owned
770
825
  (reseeded on every agent start — edits are clobbered), and `1-agent.md`
@@ -1945,7 +2000,7 @@ sync to adopt the feature; old copies keep working untouched.)*
1945
2000
  in the monorepo, the Vite dev server (HMR) together (`--port`/`--web-port`/
1946
2001
  `--no-web`); `serve` takes `--port` and `--headless` (mount no web UI —
1947
2002
  backend-only deploy, via `COGNISPHERE_HEADLESS`). See
1948
- [`docs/distribution-and-deployment.md`](docs/distribution-and-deployment.md) §10.
2003
+ [CLI reference](docs/low-level/cli.md#cli).
1949
2004
  - **Publishable package.** `@cognisphere-sh/cognisphere-harness` ships a `bin`, a
1950
2005
  `files` allowlist, `publishConfig` (GitHub Packages), and a `prepack` step that
1951
2006
  bundles the built web UI (`dist-web/`) and the root `CHANGELOG.md` into the
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 CogniSphere contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,4 +1,4 @@
1
- import{j as h}from"./radix-DHW5y7jr.js";import{r as G}from"./react-BIlrhC09.js";import{c as mt,L as kO,E as y,a as BO,C as ie,s as F,t as l,b as M,i as ft,d as ht,e as St,f as yO,g as QO,h as La,j as uO,k as $O,l as J,m as ne,n as T,o as se,p as q,q as U,r as gt,N as le,I as oe,P as Aa,u as xO,v as I,T as Ma,w as Pt,x as L,y as Xt,z as Ia,A as Na,B as Ba,D as Da,F as rO,G as Fa,H as Ja,J as Ha,K as Ka,M as Or,O as Ze,Q as er,R as tr,S as ar,U as rr,V as ir,W as nr,X as sr,Y as lr,Z as or,_ as Te,$ as Qr,a0 as ke,a1 as dr,a2 as cr,a3 as pr,a4 as ur,a5 as $r,a6 as ye,a7 as xe,a8 as mr,a9 as fr,aa as hr,ab as Sr}from"./index-1Hg12QW0.js";import"./markdown-sumxz7Eq.js";/**
1
+ import{j as h}from"./radix-DHW5y7jr.js";import{r as G}from"./react-BIlrhC09.js";import{c as mt,L as kO,E as y,a as BO,C as ie,s as F,t as l,b as M,i as ft,d as ht,e as St,f as yO,g as QO,h as La,j as uO,k as $O,l as J,m as ne,n as T,o as se,p as q,q as U,r as gt,N as le,I as oe,P as Aa,u as xO,v as I,T as Ma,w as Pt,x as L,y as Xt,z as Ia,A as Na,B as Ba,D as Da,F as rO,G as Fa,H as Ja,J as Ha,K as Ka,M as Or,O as Ze,Q as er,R as tr,S as ar,U as rr,V as ir,W as nr,X as sr,Y as lr,Z as or,_ as Te,$ as Qr,a0 as ke,a1 as dr,a2 as cr,a3 as pr,a4 as ur,a5 as $r,a6 as ye,a7 as xe,a8 as mr,a9 as fr,aa as hr,ab as Sr}from"./index-CDE-jsH8.js";import"./markdown-sumxz7Eq.js";/**
2
2
  * @license lucide-react v0.468.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.