@foggy-projects/deepseek-harness-plugin 0.4.0-beta.9 → 0.4.0-rc.2

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 CHANGED
@@ -14,11 +14,12 @@ modify `PATH`, or register Python globally. Advanced users may explicitly set
14
14
  ## Local beta installation
15
15
 
16
16
  ```powershell
17
- dsh plugin --profile web add --workspace-root ./foggy-projects-deepseek-harness-plugin-0.4.0-beta.9.tgz
17
+ dsh plugin --profile web add --workspace-root ./foggy-projects-deepseek-harness-plugin-0.4.0-rc.2.tgz
18
18
  ```
19
19
 
20
- Restart `dsh web`, open Settings Plugins Foggy Data Analysis, and initialize
21
- the components from there.
20
+ Restart `dsh web`, use the browser it opens (or the complete printed URL,
21
+ including `?token=...`), open Settings → Plugins → Foggy Data Analysis, and
22
+ initialize the components from there. Do not share the launch-token URL.
22
23
 
23
24
  After npm beta publication, the corresponding one-line install is:
24
25
 
@@ -26,12 +27,34 @@ After npm beta publication, the corresponding one-line install is:
26
27
  dsh plugin --profile web add --workspace-root @foggy-projects/deepseek-harness-plugin@beta
27
28
  ```
28
29
 
30
+ DeepSeek Harness 0.1.2-rc.1 applies pnpm's minimum-release-age policy to its
31
+ profile lockfile. An upgrade performed shortly after publication can therefore
32
+ fail while naming either the new plugin or the previously installed Beta. This
33
+ is a DSH profile-policy failure, not a damaged Foggy package. Use the exact
34
+ profile directory printed in the error and rebuild its lockfile, then rerun the
35
+ same `dsh plugin add` command:
36
+
37
+ ```powershell
38
+ Set-Location "<the DSH profile directory printed in the error>"
39
+ npx --yes pnpm@11.7.0 clean --lockfile
40
+ ```
41
+
42
+ The failed add normally records the requested exact version under
43
+ `minimumReleaseAgeExclude` before returning. If the error repeats, confirm that
44
+ both the installed and requested exact Foggy versions named by the error appear
45
+ under that key in the profile's `pnpm-workspace.yaml`; do not disable the policy
46
+ globally.
47
+
29
48
  For development, `FOGGY_ASSET_CACHE_DIRS` can contain platform-delimited verified
30
49
  asset-cache directories. It is not required for a normal install.
31
50
 
32
- Database credentials remain outside the ordinary DSH settings document. The
33
- bundled onboarding Skill drives datasource discovery, semantic drafting,
34
- checkpointed publication, and bounded read-only query verification.
51
+ The bundled onboarding Skill is intentionally development-first. Users may
52
+ provide a local datasource password in the conversation, a user-managed
53
+ connection file, an Agent environment variable, or a compatible Runtime
54
+ Console. Direct passwords are submitted to the already-running Runtime without
55
+ being copied into onboarding state or evidence. The Skill then drives schema
56
+ discovery, semantic drafting, local Bundle registration, and bounded query
57
+ verification without restarting Runtime.
35
58
 
36
59
  ## Native Skill and workspace contract
37
60
 
@@ -41,14 +64,15 @@ are available in every DSH workspace without copying or symlinking `.agents`.
41
64
  The current session `cwd` remains the workspace boundary for semantic drafts and
42
65
  evidence.
43
66
 
44
- Opaque CLI profiles default to the private persistent
45
- `<dataRoot>/cli-profiles` directory. Composite onboarding commands are
67
+ Opaque CLI profiles remain available for users who prefer them and default to
68
+ the private persistent `<dataRoot>/cli-profiles` directory, but they are not a
69
+ prerequisite for ordinary development. Composite onboarding commands are
46
70
  idempotent: unchanged completed phases are resumed rather than re-adding a
47
- datasource or re-registering a published bundle. Settings detects legacy
48
- temporary profiles and offers an explicit, validated migration into the
49
- persistent store. A completed profile can also be bound non-destructively to an
50
- additional DSH workspace when its reviewed connection contract and published
51
- semantic digest are unchanged.
71
+ datasource or re-registering a local Bundle. A resumed datasource checkpoint is
72
+ also reconciled against the live Runtime; if the datasource was removed outside
73
+ the wrapper, only datasource configuration, verification, and schema discovery
74
+ are resumed. Settings detects legacy temporary
75
+ profiles and offers an explicit, validated migration into the persistent store.
52
76
 
53
77
  Private Python, CLI, Launcher, the analysis Skill, install state, and Runtime
54
78
  state live in the user-level Foggy component directories. The managed CLI is intentionally isolated
@@ -59,13 +83,24 @@ and is restored by reinstalling or upgrading the plugin package.
59
83
 
60
84
  The Foggy settings tab shows the persisted database/semantic onboarding stages,
61
85
  offers pinned checks and repair for CLI, Launcher, and the managed analysis
62
- Skill, private Python, and exports a private redacted diagnostics report. Runtime start is
63
- idempotent: an already-recorded process is verified with `wait-ready` and
64
- `capabilities` instead of being treated as a failed second start.
65
-
66
- This beta remains a local dev/test integration. The bundled Runtime reports
67
- `securityMode=none-dev-test-only` and must not be exposed to a network or used as
68
- a production service.
86
+ Skill, private Python, and exports a private redacted diagnostics report. The report
87
+ includes bounded, sanitized tails of Runtime logs while refusing to read paths outside
88
+ the managed Runtime directory. Runtime start monitors the Launcher PID during
89
+ `wait-ready`, fails promptly if Java exits, and remains idempotent: an already-recorded
90
+ process is verified with `wait-ready` and `capabilities` instead of being treated as a
91
+ failed second start.
92
+
93
+ The same settings tab owns a persistent local Runtime port. New installations default
94
+ to `18166`; users can choose another port while Runtime is stopped. Startup checks the
95
+ same wildcard binding used by the Java server, so a conflicting application or Windows
96
+ port proxy produces an immediate, high-visibility error instead of a readiness timeout.
97
+ The CLI and Skills resolve the resulting stable Runtime URL from managed state.
98
+
99
+ This beta remains a local dev/test integration. It does not automatically extend
100
+ local credentials or approvals into a formal environment. Production model
101
+ publication should use a separate manual or dedicated deployment workflow with
102
+ an explicit target, model Git commit/tag, credentials, verification, and
103
+ rollback plan.
69
104
 
70
105
  See [`docs/PUBLIC-BETA-READINESS.md`](./docs/PUBLIC-BETA-READINESS.md) for the
71
106
  tested public Beta scope, release gates, and stable-release blockers.
@@ -1,10 +1,10 @@
1
- # Public beta readiness: 0.4.0-beta.9
1
+ # Public beta readiness: 0.4.0-rc.2
2
2
 
3
- Assessment date: 2026-09-04
3
+ Assessment date: 2026-09-05
4
4
 
5
5
  ## Verdict
6
6
 
7
- `0.4.0-beta.9` is suitable for a scoped public beta on Windows 10/11 x64 and
7
+ `0.4.0-rc.2` is suitable for a scoped public beta on Windows 10/11 x64 and
8
8
  Linux/WSL2 x64. It is not a general-availability release.
9
9
 
10
10
  The plugin package stays small and downloads large components only during
@@ -14,22 +14,74 @@ system PATH, registry, or a user's existing Python installation.
14
14
 
15
15
  ## Verified behavior
16
16
 
17
- - The npm tarball is about 67 KB compressed and contains no Python or Java
17
+ - The npm tarball is about 83 KB compressed and contains no Python or Java
18
18
  runtime binary.
19
19
  - Managed CPython assets are pinned by URL, byte size, and SHA256 for Windows,
20
20
  Linux, and macOS on x64 and arm64.
21
- - Windows x64 completed a cold Python download, checksum verification,
22
- extraction, initialization, forced Python repair, and doctor run.
23
- - Linux/WSL2 x64 completed managed Python extraction, initialization, and a live
24
- DeepSeek Harness `0.1.1-rc.2` UI status check.
25
- - The UI reported Python 3.12.13 as `Foggy private`, and CLI 0.1.23, Launcher
26
- 0.1.18, analysis Skill 0.1.17, and onboarding Skill 0.4.0-beta.9 as installed.
21
+ - The component installer code is unchanged from beta.9, whose Windows x64 run
22
+ completed a cold Python download, checksum verification, extraction,
23
+ initialization, forced Python repair, and doctor run.
24
+ - DeepSeek Harness `0.1.2-rc.1` loaded the beta.12 candidate Bundle, web client,
25
+ remote status service, and native Skill provider on both Windows and WSL2.
26
+ - WSL2 reported the existing managed Python, CLI, Launcher, and analysis Skill
27
+ as ready; an isolated Windows profile correctly reported its fresh component
28
+ state and rejected the host's Java 12 as below the Java 17 prerequisite.
29
+ - Onboarding is development-first: a direct password or Agent environment
30
+ variable is submitted to the public datasource API of an already-running
31
+ Runtime. The password is excluded from onboarding state and evidence, and
32
+ datasource setup does not trigger Runtime restart. Opaque profiles remain an
33
+ optional advanced path.
34
+ - A real Launcher 0.1.21 smoke on Java 17 accepted a synthetic inline-password
35
+ datasource through the public Runtime API while retaining the same Java PID.
36
+ The isolated registry confirmed the documented local-development plaintext
37
+ persistence boundary; the test datasource was then removed and the temporary
38
+ Runtime stopped.
39
+ - A full isolated `onboard-datasource-run` then created, tested, bound, and
40
+ inspected a SQLite datasource containing one table. Runtime retained the same
41
+ PID, while the persisted onboarding state and command evidence contained no
42
+ copy of the synthetic password.
43
+ - The package and settings contract report Python 3.12.13 as `Foggy private`,
44
+ CLI 0.1.23, Launcher 0.1.21, analysis/query Skills 0.1.18, and onboarding Skill
45
+ 0.4.0-rc.2; the same component display was accepted in the preceding
46
+ native Windows beta run.
47
+ - Runtime startup now reports the current phase, elapsed/timeout seconds, and a
48
+ bounded progress value. A real Windows launch with Temurin 17 reached readiness
49
+ and passed capabilities in 18.9 seconds. A controlled post-launch Java exit was
50
+ detected after about 1 second instead of waiting for the 180-second deadline;
51
+ a restored healthy launch then passed again in 15.9 seconds.
52
+ - Diagnostic export success remains visible alongside a prior Runtime startup
53
+ error, including the generated local JSON path. Exported failures include
54
+ bounded sanitized Runtime log tails and reject log paths outside the managed
55
+ Runtime directory.
56
+ - Runtime port configuration is persisted below the private Foggy data root and
57
+ defaults to `18166`. The settings UI validates `1024–65535`, prevents changes
58
+ while Runtime is active, and shows port conflicts as an assertive, red bordered
59
+ alert. Preflight now checks `0.0.0.0` with exclusive Windows binding semantics,
60
+ matching the Java server closely enough to detect address-specific `portproxy`
61
+ conflicts that a loopback-only probe missed.
27
62
  - Interrupted downloads resume with HTTP Range when the server supports it;
28
63
  downloaded artifacts are not trusted until the complete SHA256 matches.
29
64
  - Windows progress writes tolerate transient sharing violations without losing
30
65
  the previous valid progress document or leaving temporary files behind.
31
- - Automated regression passed under Node 22.23.2: 17 Node tests and 10 Python
32
- tests, plus shell and PowerShell syntax checks.
66
+ - Current automated regression passes 20 Node tests and 29 Python tests. The
67
+ new datasource tests cover secret-free persisted state, direct Runtime API
68
+ submission, CLI bypass for inline development credentials, stable inline
69
+ credential resumption, bounded transient connection retry, and output redaction.
70
+ - A real Java 17 / Launcher 0.1.21 regression resumed the same completed inline
71
+ datasource composite twice, retained the Runtime PID, and emitted a complete
72
+ `01` through `06` workspace evidence sequence without falling back to granular
73
+ commands.
74
+ - A separate recovery regression completed a SQLite onboarding composite,
75
+ removed the managed datasource outside the wrapper, and reran the same
76
+ composite. The wrapper detected the missing live datasource, reset only the
77
+ three dependent checkpoints, recreated and tested the datasource, rebound the
78
+ namespace, and rediscovered the selected table successfully.
79
+ - The full release rehearsal converted an inspected 126-column TMS order table
80
+ into versioned TM/QM source, passed eight development question-bank cases,
81
+ deployed the exact Git-tagged source to a separate Ubuntu host, published the
82
+ bundle, and passed the same question bank before and after a Runtime restart.
83
+ The remote Runtime retained its datasource binding, active bundle, query
84
+ model, and 11-tool MCP surface after restart.
33
85
 
34
86
  ## Beta boundaries
35
87
 
@@ -38,12 +90,16 @@ system PATH, registry, or a user's existing Python installation.
38
90
  `>=24.0.0`) and Java 17 or later. They do not need to install Python.
39
91
  - macOS and arm64 assets are pinned and integrity-checked but have not received
40
92
  the same end-to-end host validation; treat those targets as experimental.
41
- - DeepSeek Harness itself is still consumed at `0.1.1-rc.2`, so its plugin
42
- installation and supply-chain policy behavior may change before a stable
43
- Harness release.
93
+ - DeepSeek Harness itself is consumed at `0.1.2-rc.1`. Its authenticated Web UI
94
+ launch URL, plugin installation, and supply-chain policy behavior may change
95
+ before a stable Harness release.
44
96
  - Runtime production authentication is outside this beta's default local
45
97
  onboarding mode. The UI and doctor continue to report `productionReady=false`
46
98
  for the development-only no-auth mode.
99
+ - Direct development passwords are stored by the current Runtime in its private
100
+ local datasource registry. Production publication is a separate manual or
101
+ future dedicated deployment workflow and should use the target environment's
102
+ credential controls.
47
103
 
48
104
  ## Release gate after publication
49
105
 
@@ -0,0 +1,38 @@
1
+ # Foggy DeepSeek Harness plugin 0.4.0-rc.2 release candidate
2
+
3
+ Assessment date: 2026-09-06
4
+
5
+ ## Decision
6
+
7
+ This build is a public preview for Windows 10/11 x64 and Linux/WSL2 x64. It
8
+ remains a development and evaluation plugin; the bundled Runtime defaults are
9
+ not a production security profile.
10
+
11
+ No Java engine or `foggy-runtime-cli` source was changed for this candidate.
12
+ The plugin consumes the independently accepted CLI 0.1.23, Runtime Launcher
13
+ 0.1.21, foggy-ai-analysis Skill 0.1.18, and foggy-semantic-query Skill 0.1.18
14
+ public releases.
15
+
16
+ ## Delta from rc.1
17
+
18
+ - Upgrade Runtime Launcher from 0.1.20 to 0.1.21.
19
+ - Upgrade foggy-ai-analysis from 0.1.17 to 0.1.18.
20
+ - Install and register foggy-semantic-query 0.1.18 as a second managed Skill.
21
+ - Keep DeepSeek Harness 0.1.2-rc.1, managed Python 3.12.13, CLI 0.1.23, and the
22
+ default Runtime port 18166 unchanged.
23
+
24
+ The new public assets and their nested Skill manifests were independently
25
+ checksum-verified. Runtime acceptance covered automatic static-dictionary
26
+ captions, label-to-code filtering, dictionary member enumeration, self-date
27
+ dimensions, and the `$year`, `$month`, and `$yearMonth` describe/query path.
28
+
29
+ ## Publication gate
30
+
31
+ The plugin's existing automated tests and npm tarball inspection must pass.
32
+ The Runtime functional matrix is not repeated because the exact public
33
+ Launcher and Skill assets were accepted independently before this pin update.
34
+
35
+ DeepSeek Harness minimum-release-age policy can reject a recently published
36
+ version still present in a profile lockfile. Users should inspect and rebuild
37
+ the profile lockfile or wait for the policy window rather than weakening
38
+ plugin integrity checks.
@@ -1,7 +1,7 @@
1
1
  # Native Windows Beta acceptance
2
2
 
3
- This runbook validates DeepSeek Harness `0.1.1-rc.2` with Foggy plugin
4
- `0.4.0-beta.9` on a clean 64-bit Windows 10 or Windows 11 machine. Use a local
3
+ This runbook validates DeepSeek Harness `0.1.2-rc.1` with Foggy plugin
4
+ `0.4.0-rc.2` on a clean 64-bit Windows 10 or Windows 11 machine. Use a local
5
5
  directory that is not synchronized by OneDrive.
6
6
 
7
7
  ## Prerequisites
@@ -27,44 +27,79 @@ and is not registered as a system Python.
27
27
  New-Item -ItemType Directory -Force C:\FoggyAcceptance | Out-Null
28
28
  Set-Location C:\FoggyAcceptance
29
29
 
30
- npx --yes --package=@deepseek-ai/dsh@0.1.1-rc.2 --package=pnpm@11.7.0 `
30
+ npx --yes --package=@deepseek-ai/dsh@0.1.2-rc.1 --package=pnpm@11.7.0 `
31
31
  dsh plugin --profile web add --workspace-root `
32
32
  "@foggy-projects/deepseek-harness-plugin@beta"
33
33
 
34
- npx --yes --package=@deepseek-ai/dsh@0.1.1-rc.2 --package=pnpm@11.7.0 dsh web
34
+ npx --yes --package=@deepseek-ai/dsh@0.1.2-rc.1 --package=pnpm@11.7.0 dsh web
35
35
  ```
36
36
 
37
- Open `http://127.0.0.1:3080/`, configure an LLM provider, select the
38
- `C:\FoggyAcceptance` workspace, then open **Settings Plugins → Foggy Data
39
- Analysis** and choose **Initialize Foggy**.
37
+ If an immediate upgrade reports
38
+ `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`, use the exact DSH profile directory
39
+ printed by the error, run `npx --yes pnpm@11.7.0 clean --lockfile` there, and
40
+ repeat the same plugin-add command. The failed add normally records the new
41
+ exact package version in that profile's `minimumReleaseAgeExclude`; if the
42
+ error names an older installed Beta, confirm that exact version is listed too.
43
+ Do not disable the policy globally.
44
+
45
+ Let DSH open the browser automatically. If it does not, copy the complete URL
46
+ printed by `dsh web`, including its `?token=...` query, into the browser. A new
47
+ browser session cannot use the bare `http://127.0.0.1:3080/` URL until that
48
+ token has established its local authentication cookie. Treat the launch URL as
49
+ temporary local access material and do not paste it into chat or diagnostics.
50
+
51
+ Configure an LLM provider, select the `C:\FoggyAcceptance` workspace, then open
52
+ **Settings → Plugins → Foggy Data Analysis** and choose **Initialize Foggy**.
53
+
54
+ Before starting Runtime, confirm the configured port in **Runtime connection
55
+ settings**. A fresh profile defaults to `18166`. To use another port, enter an
56
+ integer from `1024` through `65535` and choose **Save port**. The value remains
57
+ stable across DSH restarts and cannot be changed while Runtime is running.
40
58
 
41
59
  Expected component state:
42
60
 
43
61
  - Python 3.12.13, source `Foggy private`;
44
62
  - CLI 0.1.23;
45
- - Launcher 0.1.18;
46
- - analysis Skill 0.1.17;
47
- - onboarding Skill 0.4.0-beta.9;
63
+ - Launcher 0.1.21;
64
+ - analysis/query Skills 0.1.18;
65
+ - onboarding Skill 0.4.0-rc.2;
48
66
  - Java 17+ available;
49
67
  - native DSH Skill registration available.
50
68
 
69
+ Runtime startup shows its current phase, elapsed time, and the 180-second
70
+ readiness deadline. Typical startup is 15–30 seconds on the validated WSL2 host
71
+ and may take up to 60 seconds on Windows with cold JVM or antivirus scanning.
72
+ The plugin monitors the Launcher PID and fails promptly when Java exits before
73
+ readiness. On failure, export diagnostics before retrying; the report includes
74
+ the startup phase, PID state, evidence directory, Runtime log locations, and
75
+ bounded sanitized log tails.
76
+
77
+ If the configured port is occupied, startup must fail during preflight instead
78
+ of waiting for the readiness deadline. The settings page displays a red bordered
79
+ alert naming the port conflict and tells the user to save another port or release
80
+ the conflicting application or Windows port proxy. Saving a free port and
81
+ starting again must clear the applicable conflict state.
82
+
51
83
  ## Database and semantic-layer acceptance
52
84
 
53
- Keep database credentials out of this public repository. Create a private CLI
54
- profile outside the DSH conversation, pass only its opaque profile ID and
55
- revision to the onboarding workflow, and use a test-only database account with
56
- read-only permissions.
85
+ Use a development or test database. For this local acceptance run, connection
86
+ details and a password may be supplied directly in the prompt or in a local
87
+ connection JSON file. The onboarding wrapper must configure the datasource
88
+ online without stopping or restarting an already-running Runtime. It must not
89
+ copy the password into onboarding state, evidence, TM/QM files, or Git.
57
90
 
58
91
  Use a natural prompt such as:
59
92
 
60
93
  ```text
61
- 请帮我用 Foggy 分析这个测试数据库。我已经按验收手册创建了私有连接
62
- profile。请先确认连接和表结构,再围绕订单数据创建一个简单的语义层,
63
- 包含订单数量、状态和开单时间,最后执行一个不超过 20 行的只读查询。
64
- 不要修改数据库,也不要在对话或验收文件中输出密码。
94
+ 请帮我用 Foggy 分析这个测试数据库:地址、数据库名、账号和密码分别是
95
+ <连接信息>。直接创建开发数据源并绑定一个合适的 namespace,不要重启
96
+ Runtime。读取表结构后,在当前工作目录创建订单语义模型,包含订单数量、
97
+ 状态和开单时间,调试到模型通过,并执行一个不超过 20 行的只读查询。
65
98
  ```
66
99
 
67
- Pass only when Runtime readiness and capabilities succeed, datasource metadata
68
- can be discovered, TM/QM models validate and publish, the bounded read-only
69
- query succeeds, diagnostics contain no credentials, and stopping Runtime frees
70
- port 18066.
100
+ Pass only when Runtime readiness and capabilities succeed, datasource setup
101
+ does not restart Runtime, metadata can be discovered, TM/QM models validate and
102
+ become effective in the local Runtime, the bounded read-only query succeeds,
103
+ diagnostics contain no credentials, and stopping Runtime frees the configured
104
+ port (default `18166`). Recommend Git management for the completed model files;
105
+ do not treat this acceptance run as production publication.
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env bash
2
2
  set -euo pipefail
3
3
 
4
- DSH_VERSION="0.1.1-rc.2"
4
+ DSH_VERSION="0.1.2-rc.1"
5
5
  PNPM_VERSION="11.7.0"
6
- PLUGIN_VERSION="0.4.0-beta.9"
6
+ PLUGIN_VERSION="0.4.0-rc.1"
7
7
  PLUGIN_REF="v${PLUGIN_VERSION}"
8
8
  PLUGIN_REPOSITORY="https://github.com/foggy-projects/foggy-deepseek-harness-plugin.git"
9
9