@lmzhen/dsh-evolution-preset 0.3.51 → 0.3.53

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 (3) hide show
  1. package/cordis.patch.yml +28 -12
  2. package/cordis.yml +33 -11
  3. package/package.json +26 -25
package/cordis.patch.yml CHANGED
@@ -7,8 +7,10 @@
7
7
  # The storage stack (`storage`, `storage-json`, `storage-domain`) is
8
8
  # HOST-plane in DSH, exactly like session persistence and the native approval
9
9
  # stack. A preset must not own it. `evolution-state-domain` below joins the
10
- # host's storage-domain facility when present; `evolution-state-json` remains
11
- # the portable fallback and audit provider.
10
+ # host's storage-domain facility when present; `evolution-state-json` is the
11
+ # portable alternative — there is NO automatic fallback between providers
12
+ # (P2-6): the effective one is whichever registered first unless a profile
13
+ # overlay pins `config: { provider: ... }` on the `evolution-state` row.
12
14
  - insert:
13
15
  # ── control plane ───────────────────────────────────────────────────────
14
16
  - id: evolution-policy
@@ -92,14 +94,28 @@
92
94
  # via dsh `!!js` runtime env evaluation; profile overlays may still override.
93
95
  - id: session-query-sqlite
94
96
  config:
95
- path: !!js (process.env.DSH_EVOLUTION_SESSION_QUERY_PATH ?? dshHomePath('evolution', 'session-query.db'))
96
- openAt: !!js process.env.DSH_EVOLUTION_SESSION_QUERY || 'startup'
97
+ # P2-12 (V10-15): trim-then-fallback — an empty DSH_EVOLUTION_SESSION_
98
+ # QUERY_PATH used to resolve the SQLite index into the process CWD (see
99
+ # the host patch for the full note; keep the two expressions identical).
100
+ path: !!js (process.env.DSH_EVOLUTION_SESSION_QUERY_PATH || '').trim() || dshHomePath('evolution', 'session-query.db')
101
+ # P2-13 (V10-15): whitelist normalization instead of feeding any raw value
102
+ # to the platform z.union schema (see the host patch for the full note).
103
+ openAt: !!js "['startup', 'first-search', 'never'].includes(process.env.DSH_EVOLUTION_SESSION_QUERY) ? process.env.DSH_EVOLUTION_SESSION_QUERY : 'startup'"
97
104
 
98
- # ── Hermes 60-char catalog cap: evolution-host-owned, not repeated here ──────
99
- # The `tool-skill` `catalogDescriptionMaxLength: 60` override (the Hermes
100
- # authoring bar) is carried by the evolution-host bundle as a base row
101
- # override. `evolution-host` and this one-click preset are ALTERNATIVE install
102
- # targets (mutual exclusion, E-33), so this patch intentionally does NOT repeat
103
- # that row — it would mount `tool-skill` twice. A preset-alone install uses the
104
- # upstream DSH catalog default; the 60-char authoring bar enforced by
105
- # tool-skill-manage still applies regardless.
105
+ # ── Hermes 60-char catalog cap: same root-level override the host carries ────
106
+ # Upstream tool-skill exposes `catalogDescriptionMaxLength` (the 500 constant is
107
+ # only the schema default); the Hermes authoring standard is 60.
108
+ # REACH (P1-2 / V10-14): this override is a PROFILE-ROOT row, so it covers
109
+ # sessions mounted WITHOUT an agent preset. Sessions running under an agent
110
+ # preset (the default one-click setup boots the platform's standard preset)
111
+ # read the preset scope's own `tool-skill` row, which NO profile patch — this
112
+ # bundle's included — can touch; the layered flow covers those by injecting
113
+ # the cap onto the standard-sourced preset row at install time
114
+ # (install-layered.mjs, V10-14). Carrying the row here keeps the one-click
115
+ # form at parity with the host bundle instead of shipping no cap anywhere.
116
+ # The row is byte-identical to the host's, so the E-33 shared-row pin
117
+ # (bundle-mutual-exclusion spec) holds; base `tool-skill` carries no other
118
+ # config today, so the whole-config replacement is safe.
119
+ - id: tool-skill
120
+ config:
121
+ catalogDescriptionMaxLength: 60
package/cordis.yml CHANGED
@@ -2,8 +2,16 @@
2
2
  #
3
3
  # Every medium dependency is behind a provider seam:
4
4
  # ctx.evolutionIo -> node:fs provider (evolution-io-node)
5
- # ctx.evolutionStateStorage -> storage-domain KV provider, with a JSON
6
- # provider mounted as fallback/portable audit
5
+ # ctx.evolutionStateStorage -> domain KV provider as the PRIMARY medium
6
+ # (explicitly pinned on the `evolution-state`
7
+ # row below); the JSON provider is mounted too
8
+ # but is an explicitly selectable alternative
9
+ # only — a profile overlay re-pins
10
+ # `provider: json`. There is NO automatic
11
+ # fallback: registry `provider()` returns the
12
+ # first-registered provider when unpinned, so
13
+ # both rows are listed for resolution, not for
14
+ # failover.
7
15
  #
8
16
  # Row-set differences from the layered / one-click flows (G5.1 decision).
9
17
  # This STANDALONE file is a hand-composed evolution row set, and it
@@ -20,15 +28,21 @@
20
28
  # flow gets it from the Evolution agent preset), so it is not repeated
21
29
  # here; a fully self-sufficient manual compose should add it (plus the
22
30
  # host's `session-query-sqlite` index override) for cross-session recall.
23
- # - `evolution-maintenance-tools` is listed by both the overlay form and the
24
- # host bundle; `session-query-sqlite` override is carried by the overlay
25
- # itself (it overrides the platform row the DSH profile already has). The
26
- # `tool-skill` 60-char catalog cap override is evolution-host-owned — the
27
- # host's base-row override and this one-click preset are ALTERNATIVE
28
- # install targets (mutual exclusion, E-33) and the preset intentionally
29
- # runs the platform catalog default instead; a manual compose wanting the
30
- # cap adds the override itself. `host`/preset must never be installed
31
- # together (either form), or shared rows would mount twice.
31
+ # - `evolution-maintenance-tools` is listed by the overlay form and the host
32
+ # bundle but deliberately NOT by this STANDALONE file (H-01) — a standalone
33
+ # compose that wants maintenance_probe / `/evolution maintain` must add the
34
+ # row (`name: '@lmzhen/dsh-evolution-maintenance/tools'`) itself. The
35
+ # package.json dependency on `dsh-evolution-maintenance` exists so that
36
+ # added row resolves without also editing dependencies. The standalone file
37
+ # likewise carries no `session-query-sqlite` override; the overlay form
38
+ # carries it (overriding the platform row the DSH profile already has).
39
+ # - the `tool-skill` 60-char catalog cap override is carried by the one-click
40
+ # patch (V10-14) and by the host bundle as the identical root-level row;
41
+ # this STANDALONE file does not list it — a manual compose wanting the cap
42
+ # adds the override itself, and preset-scope sessions need the
43
+ # install-layered injection (V10-14) regardless. `host` and the preset are
44
+ # ALTERNATIVE install targets: never install both (either form), or shared
45
+ # rows would mount twice (E-33).
32
46
  # - `evolution-capability` is held out of the composition too (D-9, rc.51) —
33
47
  # a staged Creator-mode governance seam with no live consumer; adopters
34
48
  # add the row on top.
@@ -66,6 +80,14 @@
66
80
  name: '@lmzhen/dsh-evolution-state-json'
67
81
  - id: evolution-state
68
82
  name: '@lmzhen/dsh-evolution-state'
83
+ # P2-6 (V10-16): explicit provider pin. The storage registry's `provider()`
84
+ # has NO fallback logic — unpinned, the effective provider is whichever row
85
+ # registered first (fragile yml row order). `domain` is the primary medium;
86
+ # the json provider above stays mountable as an explicitly selectable
87
+ # alternative (an overlay re-pins `provider: json`), never an automatic
88
+ # failover. Both provider rows remain listed so the pinned name resolves.
89
+ config:
90
+ provider: domain
69
91
 
70
92
  # ── memory: registry, provider, model-facing tool ───────────────────────────
71
93
  - id: memory
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@lmzhen/dsh-evolution-preset",
3
3
  "description": "Compatibility one-click bundle for the dsh-evolution plugin family (community build)",
4
- "version": "0.3.51",
4
+ "version": "0.3.53",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/lmzhen/dsh-evolution.git",
11
- "directory": "packages/dsh-evolution-preset"
11
+ "directory": "packages/evolution-preset"
12
12
  },
13
13
  "type": "module",
14
14
  "main": "lib/index.js",
@@ -20,6 +20,7 @@
20
20
  "lib/types/**/*.d.ts"
21
21
  ],
22
22
  "license": "MIT",
23
+ "//": "dependencies carries @deepseek-ai/dsh-evolution-maintenance because the one-click cordis.patch.yml mounts '@deepseek-ai/dsh-evolution-maintenance/tools'. The STANDALONE cordis.yml deliberately omits that row (see its header, H-01): a standalone compose must add the row itself, and the dependency exists so an added row resolves without editing dependencies again.",
23
24
  "dsh": {
24
25
  "bundle": {
25
26
  "patch": "./cordis.patch.yml"
@@ -30,29 +31,29 @@
30
31
  "@deepseek-ai/dsh-storage-json": "^0.1.1-rc.2",
31
32
  "@deepseek-ai/dsh-storage-domain": "^0.1.1-rc.2",
32
33
  "@deepseek-ai/dsh-tool-session-query": "^0.1.1-rc.2",
33
- "@lmzhen/dsh-evolution-io": "^0.3.51",
34
- "@lmzhen/dsh-evolution-io-node": "^0.3.51",
35
- "@lmzhen/dsh-evolution-state-storage": "^0.3.51",
36
- "@lmzhen/dsh-evolution-state": "^0.3.51",
37
- "@lmzhen/dsh-evolution-state-domain": "^0.3.51",
38
- "@lmzhen/dsh-evolution-state-json": "^0.3.51",
39
- "@lmzhen/dsh-memory": "^0.3.51",
40
- "@lmzhen/dsh-memory-files": "^0.3.51",
41
- "@lmzhen/dsh-tool-memory": "^0.3.51",
42
- "@lmzhen/dsh-skill-usage": "^0.3.51",
43
- "@lmzhen/dsh-tool-skill-manage": "^0.3.51",
44
- "@lmzhen/dsh-evolution-policy": "^0.3.51",
45
- "@lmzhen/dsh-evolution-approval": "^0.3.51",
46
- "@lmzhen/dsh-evolution-threat": "^0.3.51",
47
- "@lmzhen/dsh-evolution-review": "^0.3.51",
48
- "@lmzhen/dsh-evolution-curator": "^0.3.51",
49
- "@lmzhen/dsh-evolution-commands": "^0.3.51",
50
- "@lmzhen/dsh-evolution-maintenance": "^0.3.51",
51
- "@lmzhen/dsh-evolution-activity": "^0.3.51",
52
- "@lmzhen/dsh-evolution-feedback": "^0.3.51",
53
- "@lmzhen/dsh-evolution-learning-graph": "^0.3.51",
54
- "@lmzhen/dsh-evolution-replay": "^0.3.51",
55
- "@lmzhen/dsh-evolution-skill-catalog": "^0.3.51"
34
+ "@lmzhen/dsh-evolution-io": "^0.3.53",
35
+ "@lmzhen/dsh-evolution-io-node": "^0.3.53",
36
+ "@lmzhen/dsh-evolution-state-storage": "^0.3.53",
37
+ "@lmzhen/dsh-evolution-state": "^0.3.53",
38
+ "@lmzhen/dsh-evolution-state-domain": "^0.3.53",
39
+ "@lmzhen/dsh-evolution-state-json": "^0.3.53",
40
+ "@lmzhen/dsh-memory": "^0.3.53",
41
+ "@lmzhen/dsh-memory-files": "^0.3.53",
42
+ "@lmzhen/dsh-tool-memory": "^0.3.53",
43
+ "@lmzhen/dsh-skill-usage": "^0.3.53",
44
+ "@lmzhen/dsh-tool-skill-manage": "^0.3.53",
45
+ "@lmzhen/dsh-evolution-policy": "^0.3.53",
46
+ "@lmzhen/dsh-evolution-approval": "^0.3.53",
47
+ "@lmzhen/dsh-evolution-threat": "^0.3.53",
48
+ "@lmzhen/dsh-evolution-review": "^0.3.53",
49
+ "@lmzhen/dsh-evolution-curator": "^0.3.53",
50
+ "@lmzhen/dsh-evolution-commands": "^0.3.53",
51
+ "@lmzhen/dsh-evolution-maintenance": "^0.3.53",
52
+ "@lmzhen/dsh-evolution-activity": "^0.3.53",
53
+ "@lmzhen/dsh-evolution-feedback": "^0.3.53",
54
+ "@lmzhen/dsh-evolution-learning-graph": "^0.3.53",
55
+ "@lmzhen/dsh-evolution-replay": "^0.3.53",
56
+ "@lmzhen/dsh-evolution-skill-catalog": "^0.3.53"
56
57
  },
57
58
  "exports": {
58
59
  "./invariant": {