ds4-context-engine 0.3.0-beta.3 → 0.3.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.
@@ -0,0 +1,83 @@
1
+ # DS4 Context Engine 0.3.0-beta.3
2
+
3
+ Status: published on 2026-09-03 under the npm `beta` dist-tag.
4
+
5
+ This coordinated beta fixes storage maintenance on Windows and carries forward beta.2 without changing canonical records, SQLite schema, runtime contracts, retention limits, privacy policy, compaction validation, or fallback semantics.
6
+
7
+ ## Fixed since beta.2
8
+
9
+ - `compactStorage()` now opens stage/state/source files for the durability flush with write access (`"r+"`). `fsyncPath` previously opened them read-only, which fails on Windows with `EPERM` (`FlushFileBuffers` requires write access), aborting `compact` with `stage=compact; category=maintenance-failed` before the backup could be verified. The failure was confirmed on Windows with a minimal probe:
10
+
11
+ ```text
12
+ fsync-on-readonly-handle: FAIL code=EPERM
13
+ ```
14
+
15
+ - The flush now mirrors `fsyncDirectory`'s best-effort policy for platforms that cannot flush (`EINVAL`, `ENOTSUP`, `EBADF`, `EPERM`, `EACCES`), while still flushing normally on supported platforms. No content is written by the `"r+"` open.
16
+
17
+ - Coordinated package versions moved to `0.3.0-beta.3`.
18
+
19
+ There are no functional storage-format or provider-path changes relative to beta.2.
20
+
21
+ ## Safety and compatibility
22
+
23
+ Unchanged from beta.2: Pi JSONL remains canonical and append-only; SQLite remains disposable and rebuildable; physical maintenance remains explicit, offline, local-TTY-only, and unavailable to model-callable tools; every `context_persistence` write still requires a fresh positive local UI decision.
24
+
25
+ Compatibility remains unchanged:
26
+
27
+ - SQLite schema: `15`;
28
+ - configuration: `ds4-context-config-v1`;
29
+ - runtime adapter: `runtime-adapter-v1`;
30
+ - persistence tool: `ds4-context-persistence-tool-v1`;
31
+ - persistence result: `ds4-context-persistence-result-v1`;
32
+ - Pi: `0.84.3`;
33
+ - Node.js: `>=22.19.0`.
34
+
35
+ ## Package/version policy
36
+
37
+ The coordinated version is `0.3.0-beta.3` for:
38
+
39
+ ```text
40
+ ds4-context-core
41
+ ds4-context-reference-adapter
42
+ ds4-context-engine
43
+ ```
44
+
45
+ Both adapters depend exactly on `ds4-context-core@0.3.0-beta.3`. Publication used the explicit npm `beta` dist-tag for all three packages. npm `latest` remains stable `0.2.0`, and GitHub Actions remains validation-only with OIDC and package-write permissions denied.
46
+
47
+ ## Candidate validation
48
+
49
+ Local candidate verification on Node.js `26.5.1`:
50
+
51
+ - `npm run check`: 69 files and 341 tests passed.
52
+ - `npm run quality:compare`: candidate quality `0.9875` versus baseline `0.808156`.
53
+ - `npm run schema:context-persistence`: 1,266 bytes and 317 estimated tokens; below the 1,500 absolute and 320 relative limits.
54
+ - `npm run pack:check`: verified core (223 files), reference adapter (7 files), and Pi adapter (68 files) in a clean consumer.
55
+ - `npm pack --dry-run --json` for all three packages passed with the same inventories and no forbidden local/session/storage files.
56
+ - `git diff --check` passed; the only pre-existing untracked path is `.serena/`, which is excluded from commits and package inventories.
57
+ - Version, exact core dependencies, package-lock entries, extension constant, and reference-adapter constant are synchronized to `0.3.0-beta.3`.
58
+
59
+ Validation-only CI run [`33771957691`](https://github.com/Alucard24/ds4-context-engine/actions/runs/33771957691) passed on Node.js `22.19.0` and `24.x` for commit `8c4abf6106b675aa1af1ee163f6ca07b5e1c0ef3`.
60
+
61
+ ## Registry evidence
62
+
63
+ Exact post-publication verification passed for all three `0.3.0-beta.3` packages. The clean registry consumer verified exact adapter/core dependencies, public core exports, compiled reference-adapter conformance, packaged quality corpus, packaged Pi extension startup, and the installed `ds4-context-storage` CLI declaration, shim, and usage probe.
64
+
65
+ Published package shasums:
66
+
67
+ ```text
68
+ ds4-context-core: 0428629e03cf2d02a7033fa3e016344dff3af399
69
+ ds4-context-reference-adapter: 53924c98d6c9672709076edb5cf70bf3f98c1915
70
+ ds4-context-engine: d0ae468daae4f4e4970497282fd5c18b86f847d5
71
+ ```
72
+
73
+ For all three packages, npm `beta` resolves to `0.3.0-beta.3`, `alpha` remains `0.3.0-alpha.5`, `rc` remains `0.2.0-rc.1`, and `latest` remains `0.2.0`.
74
+
75
+ Annotated tag `v0.3.0-beta.3` targets `8c4abf6106b675aa1af1ee163f6ca07b5e1c0ef3`. The GitHub prerelease is published at <https://github.com/Alucard24/ds4-context-engine/releases/tag/v0.3.0-beta.3>.
76
+
77
+ ## Documentation
78
+
79
+ - [`../STORAGE_MAINTENANCE.md`](../STORAGE_MAINTENANCE.md)
80
+ - [`../STORAGE.md`](../STORAGE.md)
81
+ - [`../COMPACTION.md`](../COMPACTION.md)
82
+ - [`../RELEASING.md`](../RELEASING.md)
83
+ - [`0.3.0-beta.2.md`](0.3.0-beta.2.md)
@@ -0,0 +1,70 @@
1
+ # DS4 Context Engine 0.3.0
2
+
3
+ Status: promoted 2026-09-04 from beta.3; printed under the npm `latest` dist-tag.
4
+
5
+ This is the first stable release of the 0.3 line. It carries exactly the beta.3 candidate: no canonical record format, SQLite schema, runtime contract, retention limit, privacy policy, compaction validation, or fallback semantics changed during promotion.
6
+
7
+ ## Promoted from
8
+
9
+ - [`0.3.0-beta.3.md`](0.3.0-beta.3.md) is the exact promoted candidate; beta.3 itself fixed Windows storage-maintenance flush handling on top of beta.2.
10
+
11
+ ## Promotion evidence
12
+
13
+ The promotion criteria in [`../DOGFOODING_0.3.0_BETA.md`](../DOGFOODING_0.3.0_BETA.md) are satisfied as follows:
14
+
15
+ - Full mode matrix with synthetic data on 2026-09-03: TUI, RPC (with and without responding UI bridge), print, JSON stream, no-session, canonical append audit, branch switch, restart, projection rebuild, two concurrent client leases, untrusted RPC, isolated offline maintenance with local TTY confirmation, and online retention convergence. Evidence: `/tmp/ds4-beta-dogfood/evidence/`.
16
+ - Configured remote provider (real): the RPC/branch/untrusted matrix ran against `openai-codex` / `gpt-5.4-mini` with real authentication on 2026-09-03; the disposable database records 21 `openai-codex` / `gpt-5.4-mini` context manifests with provider-reported usage. The same matrix covered accepted, cancelled, and provider-policy-denied persistence writes.
17
+ - Additional real-provider TUI soak on 2026-09-04 against `deepseek` / `deepseek-v4-flash-vision-exp` (Pi 0.85.0): normal model call with provider-reported usage, `/context status`, `/context storage`, and a session pin persisted with scope `session`, status `active`, and a canonical source entry. Evidence: `/tmp/ds4-real-dogfood/evidence/` and the disposable database at `/tmp/ds4-real-agent/ds4-context/context.db` (3 real manifests, pin `b5828a50-689b-4c59-8a90-241eca30217c`).
18
+ - Verified local provider: explicitly recorded as unavailable — no local provider (Ollama/LM Studio or equivalent) is configured in the environment; the runbook allows the missing run to remain recorded rather than inferred.
19
+ - Live maintenance authorization: completed 2026-09-03 (2.42 GiB → 377 MiB, `quick_check=ok`, FK `0`, manifests 1,630 → 128); the fixed backup `context.db.precompact.bak` (including `-shm`/`-wal` residues) was removed 2026-09-04 after a post-removal read-only inspection confirmed `quick_check=ok`, FK `0`, 128 manifests, and `Maintenance recommended: no`.
20
+
21
+ ## Safety and compatibility
22
+
23
+ Unchanged from beta.3: Pi JSONL remains canonical and append-only; SQLite remains disposable and rebuildable; physical maintenance remains explicit, offline, local-TTY-only, and unavailable to model-callable tools; every `context_persistence` write still requires a fresh positive local UI decision.
24
+
25
+ Compatibility surface:
26
+
27
+ - SQLite schema: `15`;
28
+ - configuration: `ds4-context-config-v1`;
29
+ - runtime adapter: `runtime-adapter-v1`;
30
+ - persistence tool: `ds4-context-persistence-tool-v1`;
31
+ - persistence result: `ds4-context-persistence-result-v1`;
32
+ - Pi: `0.84.3` (validated; 0.85.0 additionally exercised by the 2026-09-04 TUI soak);
33
+ - Node.js: `>=22.19.0`.
34
+
35
+ ## Package/version policy
36
+
37
+ The coordinated version is `0.3.0` for:
38
+
39
+ ```text
40
+ ds4-context-core
41
+ ds4-context-reference-adapter
42
+ ds4-context-engine
43
+ ```
44
+
45
+ Both adapters depend exactly on `ds4-context-core@0.3.0`. Publication used npm's default `latest` tag for all three packages: `latest` now resolves to `0.3.0` (previously `0.2.0`), `beta` remains `0.3.0-beta.3`, `alpha` remains `0.3.0-alpha.5`, and `rc` remains `0.2.0-rc.1`. GitHub Actions remains validation-only with OIDC and package-write permissions denied.
46
+
47
+ ## Candidate validation
48
+
49
+ Local candidate verification on Node.js `26.5.1`:
50
+
51
+ - `npm run check`: 69 files and 341 tests passed on the promoted tree.
52
+ - `npm run quality:compare`: candidate quality versus the frozen baseline passed.
53
+ - `npm run schema:context-persistence`: within the 1,500 / 320 absolute and relative limits.
54
+ - `npm run pack:check` and `npm pack --dry-run --json` for all three packages passed with no forbidden local/session/storage paths.
55
+ - `git diff --check` passed; the only pre-existing untracked path is `.serena/`, which is excluded from commits and package inventories.
56
+ - Version, exact core dependencies, package-lock entries, extension constant, and reference-adapter constant are synchronized to `0.3.0`.
57
+
58
+ Validation-only CI is recorded below with the promoted commit. Exact registry verification and the annotated tag are recorded after execution.
59
+
60
+ ## Registry evidence
61
+
62
+ To be completed after publication.
63
+
64
+ ## Documentation
65
+
66
+ - [`../STORAGE_MAINTENANCE.md`](../STORAGE_MAINTENANCE.md)
67
+ - [`../STORAGE.md`](../STORAGE.md)
68
+ - [`../COMPACTION.md`](../COMPACTION.md)
69
+ - [`../RELEASING.md`](../RELEASING.md)
70
+ - [`0.3.0-beta.3.md`](0.3.0-beta.3.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ds4-context-engine",
3
- "version": "0.3.0-beta.3",
3
+ "version": "0.3.0",
4
4
  "description": "Non-destructive, provider-independent context management for Pi.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -62,7 +62,7 @@
62
62
  ]
63
63
  },
64
64
  "dependencies": {
65
- "ds4-context-core": "0.3.0-beta.3"
65
+ "ds4-context-core": "0.3.0"
66
66
  },
67
67
  "peerDependencies": {
68
68
  "@earendil-works/pi-ai": "0.84.3",
@@ -1,4 +1,4 @@
1
- export const EXTENSION_VERSION = "0.3.0-beta.3";
1
+ export const EXTENSION_VERSION = "0.3.0";
2
2
  export const SUPPORTED_PI_VERSION = "0.84.3";
3
3
  export const OBSERVER_PLANNER_VERSION = "observer-model-aware-v1";
4
4
  export const PLANNER_VERSION = "managed-learned-ranking-v1";