clinkx 1.1.1 → 1.2.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.
- package/CHANGELOG.md +60 -0
- package/README.md +97 -13
- package/clinkx-workflows/dist/allowed-roots.js +2 -0
- package/clinkx-workflows/dist/allowed-roots.js.map +1 -1
- package/clinkx-workflows/dist/architecture-comparison/admission.d.ts +5 -0
- package/clinkx-workflows/dist/architecture-comparison/admission.js +50 -0
- package/clinkx-workflows/dist/architecture-comparison/admission.js.map +1 -0
- package/clinkx-workflows/dist/architecture-comparison/contract.d.ts +995 -0
- package/clinkx-workflows/dist/architecture-comparison/contract.js +149 -0
- package/clinkx-workflows/dist/architecture-comparison/contract.js.map +1 -0
- package/clinkx-workflows/dist/architecture-comparison/runtime.d.ts +29 -0
- package/clinkx-workflows/dist/architecture-comparison/runtime.js +387 -0
- package/clinkx-workflows/dist/architecture-comparison/runtime.js.map +1 -0
- package/clinkx-workflows/dist/child-env.d.ts +3 -1
- package/clinkx-workflows/dist/child-env.js +6 -2
- package/clinkx-workflows/dist/child-env.js.map +1 -1
- package/clinkx-workflows/dist/config.d.ts +28 -5
- package/clinkx-workflows/dist/config.js +137 -20
- package/clinkx-workflows/dist/config.js.map +1 -1
- package/clinkx-workflows/dist/contained-file.js +10 -1
- package/clinkx-workflows/dist/contained-file.js.map +1 -1
- package/clinkx-workflows/dist/council-execution-policy.d.ts +4 -2
- package/clinkx-workflows/dist/council-execution-policy.js +5 -1
- package/clinkx-workflows/dist/council-execution-policy.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +72 -72
- package/clinkx-workflows/dist/dashboard/contracts.d.ts +1564 -122
- package/clinkx-workflows/dist/dashboard/contracts.js +4 -0
- package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +12 -12
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +8 -8
- package/clinkx-workflows/dist/dashboard/scanner.d.ts +3 -0
- package/clinkx-workflows/dist/dashboard/scanner.js +27 -0
- package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +48 -48
- package/clinkx-workflows/dist/dashboard/session-log-identity.js +2 -1
- package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +2 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js +4 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/verified-repair-contract.d.ts +191 -0
- package/clinkx-workflows/dist/dashboard/verified-repair-contract.js +28 -0
- package/clinkx-workflows/dist/dashboard/verified-repair-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/index-BdpmbPps.js +115 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/style-Im5i1iAs.css +1 -0
- package/clinkx-workflows/dist/dashboard-ui/index.html +2 -2
- package/clinkx-workflows/dist/engine.d.ts +6 -0
- package/clinkx-workflows/dist/engine.js +78 -7
- package/clinkx-workflows/dist/engine.js.map +1 -1
- package/clinkx-workflows/dist/index.d.ts +3 -0
- package/clinkx-workflows/dist/index.js +3 -2
- package/clinkx-workflows/dist/index.js.map +1 -1
- package/clinkx-workflows/dist/reducers/index.d.ts +9 -1
- package/clinkx-workflows/dist/reducers/index.js +22 -0
- package/clinkx-workflows/dist/reducers/index.js.map +1 -1
- package/clinkx-workflows/dist/root-path-validation.d.ts +12 -0
- package/clinkx-workflows/dist/root-path-validation.js +63 -0
- package/clinkx-workflows/dist/root-path-validation.js.map +1 -0
- package/clinkx-workflows/dist/rosters.d.ts +1 -0
- package/clinkx-workflows/dist/rosters.js +16 -6
- package/clinkx-workflows/dist/rosters.js.map +1 -1
- package/clinkx-workflows/dist/server.js +5 -2
- package/clinkx-workflows/dist/server.js.map +1 -1
- package/clinkx-workflows/dist/state-schema.d.ts +13 -0
- package/clinkx-workflows/dist/state.d.ts +7 -1
- package/clinkx-workflows/dist/state.js +90 -19
- package/clinkx-workflows/dist/state.js.map +1 -1
- package/clinkx-workflows/dist/validators/architecture-comparison.d.ts +2 -0
- package/clinkx-workflows/dist/validators/architecture-comparison.js +12 -0
- package/clinkx-workflows/dist/validators/architecture-comparison.js.map +1 -0
- package/clinkx-workflows/dist/validators/index.js +4 -0
- package/clinkx-workflows/dist/validators/index.js.map +1 -1
- package/clinkx-workflows/dist/validators/verified-repair.d.ts +2 -0
- package/clinkx-workflows/dist/validators/verified-repair.js +12 -0
- package/clinkx-workflows/dist/validators/verified-repair.js.map +1 -0
- package/clinkx-workflows/dist/verification-proof.d.ts +254 -0
- package/clinkx-workflows/dist/verification-proof.js +195 -0
- package/clinkx-workflows/dist/verification-proof.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/admission.d.ts +72 -0
- package/clinkx-workflows/dist/verified-repair/admission.js +63 -0
- package/clinkx-workflows/dist/verified-repair/admission.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/contract.d.ts +1910 -0
- package/clinkx-workflows/dist/verified-repair/contract.js +127 -0
- package/clinkx-workflows/dist/verified-repair/contract.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/host.d.ts +32 -0
- package/clinkx-workflows/dist/verified-repair/host.js +2 -0
- package/clinkx-workflows/dist/verified-repair/host.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/prompts.d.ts +12 -0
- package/clinkx-workflows/dist/verified-repair/prompts.js +58 -0
- package/clinkx-workflows/dist/verified-repair/prompts.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/result.d.ts +16 -0
- package/clinkx-workflows/dist/verified-repair/result.js +102 -0
- package/clinkx-workflows/dist/verified-repair/result.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/runtime.d.ts +28 -0
- package/clinkx-workflows/dist/verified-repair/runtime.js +186 -0
- package/clinkx-workflows/dist/verified-repair/runtime.js.map +1 -0
- package/clinkx-workflows/dist/workflow-completion.d.ts +83 -0
- package/clinkx-workflows/dist/workflow-completion.js +250 -0
- package/clinkx-workflows/dist/workflow-completion.js.map +1 -0
- package/clinkx-workflows/dist/workflow-tools.d.ts +7 -3
- package/clinkx-workflows/dist/workflow-tools.js +487 -46
- package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
- package/clinkx-workflows/dist/workflow-verification-contract.d.ts +539 -0
- package/clinkx-workflows/dist/workflow-verification-contract.js +52 -0
- package/clinkx-workflows/dist/workflow-verification-contract.js.map +1 -0
- package/clinkx-workflows/dist/workflow-verification.d.ts +15 -0
- package/clinkx-workflows/dist/workflow-verification.js +218 -0
- package/clinkx-workflows/dist/workflow-verification.js.map +1 -0
- package/clinkx-workflows/templates/architecture-comparison/candidate.txt +29 -0
- package/clinkx-workflows/templates/architecture-comparison/judge.txt +31 -0
- package/clinkx-workflows/templates/verified-repair/investigate.txt +20 -0
- package/clinkx-workflows/templates/verified-repair/repair.txt +11 -0
- package/clinkx-workflows/templates/verified-repair/review.txt +18 -0
- package/clinkx-workflows/workflows/architecture-comparison.yaml +133 -0
- package/clinkx-workflows/workflows/verified-repair.yaml +104 -0
- package/dist/allowed-roots.d.ts +1 -1
- package/dist/allowed-roots.js +128 -15
- package/dist/allowed-roots.js.map +1 -1
- package/dist/codex/app-server-client.d.ts +1 -0
- package/dist/codex/app-server-client.js +3 -2
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/context-builder/config.d.ts +1 -0
- package/dist/context-builder/config.js +21 -9
- package/dist/context-builder/config.js.map +1 -1
- package/dist/context-builder/diagnostics.d.ts +1 -0
- package/dist/context-builder/diagnostics.js +1 -1
- package/dist/context-builder/diagnostics.js.map +1 -1
- package/dist/context-builder/discovery.d.ts +18 -1
- package/dist/context-builder/discovery.js +69 -1
- package/dist/context-builder/discovery.js.map +1 -1
- package/dist/context-builder/handler.js +8 -1
- package/dist/context-builder/handler.js.map +1 -1
- package/dist/context-builder/lifecycle-contract.d.ts +24 -24
- package/dist/context-builder/mutation-lock.d.ts +4 -0
- package/dist/context-builder/mutation-lock.js +7 -1
- package/dist/context-builder/mutation-lock.js.map +1 -1
- package/dist/context-builder/refine-handler.js +16 -1
- package/dist/context-builder/refine-handler.js.map +1 -1
- package/dist/context-builder/secrets.d.ts +11 -0
- package/dist/context-builder/secrets.js +75 -0
- package/dist/context-builder/secrets.js.map +1 -1
- package/dist/context-builder/storage.d.ts +10 -2
- package/dist/context-builder/storage.js +213 -16
- package/dist/context-builder/storage.js.map +1 -1
- package/dist/context-builder/versions.d.ts +5 -2
- package/dist/context-builder/versions.js +5 -2
- package/dist/context-builder/versions.js.map +1 -1
- package/dist/dashboard-cli.d.ts +6 -0
- package/dist/dashboard-cli.js +18 -32
- package/dist/dashboard-cli.js.map +1 -1
- package/dist/dashboard-gateway/main.js +8 -3
- package/dist/dashboard-gateway/main.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/project-verification/contract.d.ts +537 -0
- package/dist/project-verification/contract.js +40 -0
- package/dist/project-verification/contract.js.map +1 -0
- package/dist/project-verification/files.d.ts +23 -0
- package/dist/project-verification/files.js +80 -0
- package/dist/project-verification/files.js.map +1 -0
- package/dist/project-verification/process.d.ts +7 -0
- package/dist/project-verification/process.js +115 -0
- package/dist/project-verification/process.js.map +1 -0
- package/dist/project-verification/runner.d.ts +35 -0
- package/dist/project-verification/runner.js +185 -0
- package/dist/project-verification/runner.js.map +1 -0
- package/dist/project-verification/service.d.ts +37 -0
- package/dist/project-verification/service.js +151 -0
- package/dist/project-verification/service.js.map +1 -0
- package/dist/provider-doctor.d.ts +22 -0
- package/dist/provider-doctor.js +22 -0
- package/dist/provider-doctor.js.map +1 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.js +5 -1
- package/dist/registry.js.map +1 -1
- package/dist/server.js +41 -6
- package/dist/server.js.map +1 -1
- package/dist/verification-tools.d.ts +90 -0
- package/dist/verification-tools.js +120 -0
- package/dist/verification-tools.js.map +1 -0
- package/dist/verified-repair/files.d.ts +22 -0
- package/dist/verified-repair/files.js +114 -0
- package/dist/verified-repair/files.js.map +1 -0
- package/dist/verified-repair/host.d.ts +14 -0
- package/dist/verified-repair/host.js +612 -0
- package/dist/verified-repair/host.js.map +1 -0
- package/docs/configuration.md +224 -12
- package/docs/engineering-recipes.md +415 -0
- package/docs/security.md +3 -0
- package/docs/verification/README.md +59 -0
- package/docs/verification/dashboard-real-disk.md +436 -0
- package/docs/verification/project-checks.example.json +14 -0
- package/docs/verification/project-checks.md +444 -0
- package/docs/verification/workflow-handoff.md +113 -0
- package/package.json +10 -2
- package/scripts/provider-doctor-core.mjs +380 -0
- package/scripts/provider-doctor-probe.mjs +34 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +0 -106
- package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/verified-repair/host.ts"],"names":[],"mappings":"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"}
|
package/docs/configuration.md
CHANGED
|
@@ -7,11 +7,75 @@ ClinkX is config-driven: you define one or more **CLI adapters** as JSON files.
|
|
|
7
7
|
ClinkX discovers adapter JSON files in this order:
|
|
8
8
|
|
|
9
9
|
1. `CLINKX_CONFIG_PATH` (file or directory) — **replaces** the search path entirely; shipped adapters are not loaded
|
|
10
|
-
2. `${
|
|
11
|
-
3.
|
|
10
|
+
2. `${CLINKX_HOME:-~/.clinkx}/adapters/*.json` (first tier user overrides)
|
|
11
|
+
3. `${XDG_CONFIG_HOME:-~/.config}/clinkx/adapters/*.json` (second tier user overrides)
|
|
12
|
+
4. Packaged `conf/adapters/*.json` relative to the installed package (`import.meta.url`), **not** `process.cwd()`
|
|
12
13
|
|
|
13
14
|
If the same adapter name appears more than once, ClinkX uses **first-wins**: the higher-precedence source (discovered earlier in the order above) is kept, and any later file with the same name is skipped with a log line naming the kept and skipped paths. ClinkX does not fail on a duplicate name. A leftover XDG file that fails schema validation aborts the whole load; with default-on workflow preflight that is a fatal `ConfigError`.
|
|
14
15
|
|
|
16
|
+
## Provider Readiness Doctor
|
|
17
|
+
|
|
18
|
+
Configuration is not authentication. The npm-installed MCP server exposes
|
|
19
|
+
`provider_doctor`; an MCP client can check provider readiness without shell access
|
|
20
|
+
or a ClinkX checkout. Provider CLIs and their login remain your responsibility.
|
|
21
|
+
The doctor uses the same adapter discovery, environment, and execution pipeline
|
|
22
|
+
as the server.
|
|
23
|
+
|
|
24
|
+
Call the tool without authentication probes:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{"name":"provider_doctor","arguments":{}}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
To check authentication with one real provider request, explicitly name its adapter:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{"name":"provider_doctor","arguments":{"probes":["codex"]}}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`probes` defaults to `[]` and accepts at most eight unique adapter names. Every
|
|
37
|
+
requested authentication probe can spend provider
|
|
38
|
+
tokens. No model request is made when it is omitted or empty. The response is a
|
|
39
|
+
JSON object containing `version`, `adapters`, `verdict`, and `blocked`; adapter
|
|
40
|
+
records distinguish the following readiness dimensions.
|
|
41
|
+
|
|
42
|
+
| Field | Values | Meaning |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| `config` | `ok` / `invalid` | The adapter parsed. For a startup-required adapter it also has the `json` role and is not `app_server`. A registry load failure produces an `adapter:null` record with a sanitized reason. |
|
|
45
|
+
| `executable` | `ok` / `missing` / `not_run` | The configured command was spawned with `--version`, `shell:false`, its sanitized subprocess environment, and a 10 s limit. `ok` means it spawned; a hanging or nonzero version check can still have `version:"unknown"`. |
|
|
46
|
+
| `version` | first output line (≤200 chars) / `unknown` | `unknown` when `--version` exits nonzero, prints nothing, or times out. |
|
|
47
|
+
| `auth` | `not_run` / `ok` / `failed` | `not_run` unless the adapter is in `probes`. A probe sends `Reply with OK` through the synchronous `clink` pipeline and requires an exit-zero stdout or validated result-contract-file response whose trimmed answer is exactly `OK`. Stderr fallback and tolerated nonzero exits cannot establish authentication. |
|
|
48
|
+
| `startup_required` | `curator`, `finalizer` | Default workflow context delegates, honoring `CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED` and `CLINKX_WORKFLOWS_CONTEXT_DEFAULT_CURATOR`. Empty when preflight is disabled. A separate `CLINKX_WORKFLOWS_CHILD_CONFIG_PATH` registry adds records with `registry:"workflow_child"`. |
|
|
49
|
+
|
|
50
|
+
The verdict is `blocked` when a registry fails to load, workflow context defaults
|
|
51
|
+
are invalid, a startup-required adapter lacks valid configuration or an
|
|
52
|
+
executable, or a requested probe fails or cannot run. An unused adapter's missing
|
|
53
|
+
executable is reported but does not block. This can be stricter than server
|
|
54
|
+
startup: startup preflight checks configuration, while the doctor also checks
|
|
55
|
+
executable availability. A blocked tool result has `isError:true`. Malformed
|
|
56
|
+
arguments, an unknown probe adapter, or an unsupported app-server probe are
|
|
57
|
+
invalid parameters (`-32602`).
|
|
58
|
+
|
|
59
|
+
`ready` without probes means configured and executable, **not** authenticated.
|
|
60
|
+
Only `auth:"ok"` establishes that one real call completed. Probes enforce an
|
|
61
|
+
independent 120 s cancellation deadline; cleanup can take an additional grace
|
|
62
|
+
period. Request cancellation stops owned version-check process groups and
|
|
63
|
+
cancels an active authentication probe. An interrupted call cannot establish
|
|
64
|
+
readiness. Diagnostics are credential-redacted, scrubbed of configured
|
|
65
|
+
environment values and host secret-named variables, and stripped of absolute
|
|
66
|
+
paths. Tokens, environment values, and auth files are never returned.
|
|
67
|
+
|
|
68
|
+
The doctor and the two verification tools share one per-server operation slot.
|
|
69
|
+
An overlapping call returns a busy error immediately rather than queuing. Server
|
|
70
|
+
shutdown cancels and drains the admitted operation. Tool arguments do not accept
|
|
71
|
+
a client-selected timeout.
|
|
72
|
+
|
|
73
|
+
For source-checkout maintenance, `node scripts/provider-doctor.mjs` remains a
|
|
74
|
+
JSONL convenience wrapper around the same doctor core. It is not a separate npm
|
|
75
|
+
product command. For project tests and retained evidence, call
|
|
76
|
+
[`verification_run` and `verification_inspect`](verification/project-checks.md)
|
|
77
|
+
through the same MCP connection.
|
|
78
|
+
|
|
15
79
|
## Adapter JSON Reference
|
|
16
80
|
|
|
17
81
|
Minimal adapter:
|
|
@@ -193,8 +257,8 @@ If `glm-5.3[1m]` 404s, fall back to the 200k pin: drop the `[1m]` suffix, set `C
|
|
|
193
257
|
|
|
194
258
|
| Variable | Purpose | Default |
|
|
195
259
|
| --- | --- | --- |
|
|
196
|
-
| `CLINKX_CONFIG_PATH` | Override adapter config file/directory. Replaces XDG
|
|
197
|
-
| `CLINKX_ALLOWED_ROOTS` | Comma-separated allow-roots for `
|
|
260
|
+
| `CLINKX_CONFIG_PATH` | Override adapter config file/directory. Replaces the `CLINKX_HOME`, XDG, and packaged adapter tiers entirely. | unset |
|
|
261
|
+
| `CLINKX_ALLOWED_ROOTS` | Comma-separated allow-roots for file/image access and verification projects/evidence. Verification projects need a source root; artifact-only roots can host evidence. State and artifact roots are added even with an explicit workspace allowlist; see [Durable storage roots](#durable-storage-roots). An entry naming an existing regular file grants only that canonical file. An entry that is a dangling symlink, inaccessible (`EACCES`, `EPERM`, `ENOTDIR`, `ELOOP`), or neither a directory nor a regular file fails startup with `CLINKX_ALLOWED_ROOTS entry "<entry>" is unusable: <reason>. Fix or remove this entry from CLINKX_ALLOWED_ROOTS.`; a nonexistent entry is accepted. Fatal at startup also when cwd is filesystem root and this is unset. | `process.cwd()` |
|
|
198
262
|
| `CLINKX_WORKFLOWS_WORKSPACE_ROOT` | Workflow workspace root (plan_file containment, relative `cb_*` / `context_files` resolution). Unset/empty warns and falls back to `process.cwd()`. | unset → cwd |
|
|
199
263
|
| `CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED` | Master switch for workflow context preflight. Unset/empty is enabled. Exactly `false` injects no runner and skips default-delegate startup validation. | `true` |
|
|
200
264
|
| `CLINKX_TIMEOUT_SECONDS` | Default timeout (seconds) | `600` |
|
|
@@ -206,8 +270,9 @@ If `glm-5.3[1m]` 404s, fall back to the 200k pin: drop the `[1m]` suffix, set `C
|
|
|
206
270
|
| `CLINKX_STRICT_FIDELITY` | When `true`, standalone clink returns `isError: true` if capture-layer truncation is detected on stdout-extracted (non-result-contract) calls. | `false` |
|
|
207
271
|
| `CLINKX_MAX_RESPONSE_CHARS` | Max chars returned in tool result (post-parse) | `20000` |
|
|
208
272
|
| `CLINKX_LOG_LEVEL` | Logger verbosity | `info` |
|
|
209
|
-
| `CLINKX_WORKFLOWS_STATE_DIR` | Absolute workflow state root shared by the workflow server and dashboard. The dashboard scans its `runs/` child; launch both processes with the same value. Relative values fail at startup. | See precedence below. |
|
|
210
|
-
| `
|
|
273
|
+
| `CLINKX_WORKFLOWS_STATE_DIR` | Absolute workflow state root shared by the workflow server and dashboard. The dashboard scans its `runs/` child; launch both processes with the same value. Relative values and filesystem roots fail at startup; see [Durable storage roots](#durable-storage-roots). | See precedence below. |
|
|
274
|
+
| `CLINKX_WORKFLOWS_ARTIFACTS_DIR` | Absolute disposable per-run artifacts root. Relative values and filesystem roots fail at startup. | `$TMPDIR/clinkx-workflows/artifacts` (`/tmp` when `TMPDIR` is unset) |
|
|
275
|
+
| `CLINKX_HOME` | Root directory for durable ClinkX data (workflow state, context-builder runs, user adapters and rosters). Absolute; its canonical identity must not be a filesystem root, the effective home directory, or an ancestor of that home. Per-area variables override it. | `~/.clinkx` |
|
|
211
276
|
| `CLINKX_WORKFLOWS_DASHBOARD_PORT` | Dashboard listener port; local passkey mode binds both loopback families, while cloud passkey mode binds the private container interface. `0` selects an ephemeral local port. | `4180` |
|
|
212
277
|
| `CLINKX_WORKFLOWS_DASHBOARD_AUTH_MODE` | Dashboard auth selector. `passkey` is the default. `bearer` is a temporary rollback until the real local and live Traefik proof gates pass. `none` disables authentication entirely for loopback-only local testing (rejected in remote/gateway mode; the cloud artifacts never set it). | `passkey` |
|
|
213
278
|
| `CLINKX_WORKFLOWS_DASHBOARD_CREDENTIAL_DIR` | Optional absolute, non-root passkey credential directory. Overrides credential storage only, not workflow state. Containers pin it to the independent writable `/data/dashboard-credentials` volume. | `${CLINKX_WORKFLOWS_STATE_DIR}/dashboard/webauthn` |
|
|
@@ -226,7 +291,7 @@ If `glm-5.3[1m]` 404s, fall back to the 200k pin: drop the `[1m]` suffix, set `C
|
|
|
226
291
|
| `CLINKX_SESSION_LOG_TOOL_ARGUMENTS_PERSISTENCE_ENABLED` | Reader-first activation for live tool arguments, derived summaries, and best-effort coverage metadata. Only exact `true` enables writes; read once per producer at creation. Readers always accept extended events; disabling never rewrites existing journals. | `false` |
|
|
227
292
|
| `CLINKX_OBSERVED_INVOCATION_PERSISTENCE_ENABLED` | Reader-first activation for sibling `ObservedInvocationV1` writes (workflow call entries, Activity V3). Only exact `true` persists child-reported model/effort; every other value omits the field. Independent of the V2 gate. Readers always accept the envelope. | `false` |
|
|
228
293
|
| `CLINKX_DIRECT_SESSION_LOGS_ENABLED` | Master opt-OUT for retaining activity-family session logs on direct `clink` single runs that did not supply their own owner. When on (default), structured-parser providers (`claude_stream_json`, `codex_jsonl`, `agy_stream_json`) write a session log that surfaces in the dashboard "Single calls" list. Set to `false` to disable synthesis — those runs then show "This session log was not retained." Workflow/context runs and callers that supply their own owner are unaffected. Text-parser providers are never retained regardless of this flag. | `true` |
|
|
229
|
-
| `CLINKX_CONTEXT_BUILDER_RUNS_DIR` | Durable run directory for `context_builder` receipts, manifests, bundles, and candidate artifacts. The directory is created with private permissions where supported and must not be a broad root, home directory, workspace root, or ancestor of the workspace. | `${
|
|
294
|
+
| `CLINKX_CONTEXT_BUILDER_RUNS_DIR` | Durable run directory for `context_builder` receipts, manifests, bundles, and candidate artifacts. The directory is created with private permissions where supported and must not be a broad root, home directory, workspace root, or ancestor of the workspace. | `${CLINKX_HOME:-~/.clinkx}/context-builder/runs` |
|
|
230
295
|
| `CLINKX_CONTEXT_BUILDER_MAX_CONCURRENT` | Fail-fast concurrency limit for `context_builder`. Requests are rejected when the limit is saturated; they are not queued. | `1` |
|
|
231
296
|
| `CLINKX_CONTEXT_ALLOW_SECRETS` | Environment-wide default for whether `context_builder` includes secret material (API keys, private keys, tokens, `.env`/`.pem`/`id_rsa`/`credentials.json`) verbatim in bundles, delegate packets, and downstream council/provider subprocesses. `false` restores fail-closed omission/redaction. Overridden per-call by `allow_secrets` and per-workflow by `cb_allow_secrets`. See "Context builder secret material". | `true` |
|
|
232
297
|
|
|
@@ -258,6 +323,10 @@ Permission errors from the parent probe are not evidence of death. The parent
|
|
|
258
323
|
must own the MCP connection: a wrapper that exits while deliberately handing the
|
|
259
324
|
connection to another process is not a supported lifetime handoff. A server
|
|
260
325
|
already started under PID 1 cannot recover its previous parent's identity.
|
|
326
|
+
`SIGTERM` and `SIGHUP` are repeat-safe: a repeat joins the shutdown already in
|
|
327
|
+
progress. A second `SIGINT` force-quits. A shutdown that has not finished
|
|
328
|
+
within 10 seconds forces exit 1 only while something else keeps the process
|
|
329
|
+
alive, because the deadline timer does not hold the event loop open.
|
|
261
330
|
|
|
262
331
|
Structured diagnostics use Node's stderr stream and stop after a stderr error.
|
|
263
332
|
They are best-effort when the peer disconnects; teardown does not synchronously
|
|
@@ -284,18 +353,161 @@ These controls do not change adapter authentication, remove duplicate host MCP
|
|
|
284
353
|
registrations, or replace host-side connection teardown. They apply to the STDIO
|
|
285
354
|
executables, not to importing the workflow library or to the dashboard server.
|
|
286
355
|
|
|
356
|
+
### Durable storage roots
|
|
357
|
+
|
|
287
358
|
Workflow state resolves in this order: nonempty `CLINKX_WORKFLOWS_STATE_DIR`,
|
|
288
|
-
nonempty `
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
the
|
|
292
|
-
|
|
359
|
+
nonempty `CLINKX_HOME`, then nonempty `HOME` (or the OS account home when `HOME`
|
|
360
|
+
is absent or empty) plus `/.clinkx`. Every selected root or base must be absolute;
|
|
361
|
+
the OS account-home fallback must also be nonempty and non-root. The effective
|
|
362
|
+
home is the configured absolute `HOME`, with account home used only as fallback.
|
|
363
|
+
The selected ClinkX home must differ from that home, from any ancestor of it
|
|
364
|
+
(such as `/Users`), and from a filesystem root after resolving symlinks,
|
|
365
|
+
including when the selected default is `HOME/.clinkx`.
|
|
366
|
+
Both STDIO servers validate it at startup even when all per-area overrides are
|
|
367
|
+
set or workflow context preflight is disabled. Older relative state overrides
|
|
368
|
+
that resolved against the dashboard's cwd now fail explicitly.
|
|
293
369
|
Migrate a relative override by expanding it before launch:
|
|
294
370
|
|
|
295
371
|
```sh
|
|
296
372
|
export CLINKX_WORKFLOWS_STATE_DIR="$(pwd)/.clinkx-state"
|
|
297
373
|
```
|
|
298
374
|
|
|
375
|
+
Storage-root policy for explicit values. The path getters, workflow child
|
|
376
|
+
runtime resolution, and both STDIO servers (root and standalone workflow) apply
|
|
377
|
+
it; only the servers log the warning, once per variable at startup. "Alias"
|
|
378
|
+
means a symlink that resolves to that path; "home" is the effective home above.
|
|
379
|
+
|
|
380
|
+
| Value | `CLINKX_HOME` | `CLINKX_WORKFLOWS_STATE_DIR` / `CLINKX_WORKFLOWS_ARTIFACTS_DIR` |
|
|
381
|
+
| --- | --- | --- |
|
|
382
|
+
| Filesystem root or alias | reject | reject |
|
|
383
|
+
| Home or alias | reject | accept, warn |
|
|
384
|
+
| Strict ancestor of home (for example `/Users`) | reject | accept, warn |
|
|
385
|
+
| Relative path | reject | reject |
|
|
386
|
+
| Path containing a comma | reject | reject |
|
|
387
|
+
| Narrow subdirectory, narrow symlink, or nonexistent path | accept | accept |
|
|
388
|
+
|
|
389
|
+
When `CLINKX_WORKFLOWS_ARTIFACTS_DIR` is unset or empty, the default
|
|
390
|
+
`${TMPDIR:-/tmp}/clinkx-workflows/artifacts` gets the same filesystem-root
|
|
391
|
+
rejection after resolving symlinks, at the same entrypoints; the error names the
|
|
392
|
+
TMPDIR-derived default and asks for an explicit absolute subdirectory.
|
|
393
|
+
|
|
394
|
+
The warning exists because state and artifact roots are auto-admitted as
|
|
395
|
+
artifact-only allowed roots, so a home-wide value has two consequences: any file
|
|
396
|
+
in that tree can be passed as a direct file reference that subprocess CLIs read,
|
|
397
|
+
and ClinkX child processes may write anywhere in that tree. Generic `CLINKX_ALLOWED_ROOTS` entries are not
|
|
398
|
+
subject to this table; the home directory stays a legal entry there.
|
|
399
|
+
`CLINKX_CONTEXT_BUILDER_RUNS_DIR` keeps its own rules: not a broad root, the home
|
|
400
|
+
directory, the workspace root, or an ancestor of the workspace.
|
|
401
|
+
|
|
402
|
+
Individual workspace, state, artifact and context-run roots must contain no
|
|
403
|
+
commas in their supplied spelling or canonical path because `CLINKX_ALLOWED_ROOTS`
|
|
404
|
+
uses commas as delimiters. For a root that does not exist yet, validation resolves
|
|
405
|
+
its existing ancestor and appends the missing suffix; a comma in that prospective
|
|
406
|
+
path is also rejected. This applies to per-area overrides as well as defaults.
|
|
407
|
+
Ordinary comma-separated lists remain supported; there is no escape syntax for
|
|
408
|
+
a directory name containing a comma.
|
|
409
|
+
|
|
410
|
+
Valid narrow symlinks and missing first-run directories remain supported.
|
|
411
|
+
Dangling symlinks, loops, inaccessible ancestors and non-directory components
|
|
412
|
+
fail with a configuration error. Validation is a filesystem snapshot and does
|
|
413
|
+
not prevent a symlink from being retargeted later. Accepted configuration path
|
|
414
|
+
spelling stays unchanged, including for allowed-root values used in resume
|
|
415
|
+
fingerprints.
|
|
416
|
+
|
|
417
|
+
The root server automatically admits workflow state and artifact roots even
|
|
418
|
+
when `CLINKX_ALLOWED_ROOTS` explicitly names only a workspace. Materialized
|
|
419
|
+
context artifacts are also admitted for handoff. These entries carry an
|
|
420
|
+
artifact-only marker that excludes them from `context_builder` source discovery;
|
|
421
|
+
direct `clink` file references can read them and do not receive the context-builder
|
|
422
|
+
secret filters. With the default consolidated state root, that grant includes
|
|
423
|
+
`adapters/` and `rosters/`, whose configuration may contain tokens. A separate
|
|
424
|
+
`CLINKX_WORKFLOWS_STATE_DIR` keeps that configuration outside the automatically
|
|
425
|
+
admitted state root. Writes matter too: `~/.clinkx/adapters` and `~/.clinkx/rosters`
|
|
426
|
+
are the first user discovery tiers, so with the opt-in app-server tools a
|
|
427
|
+
`clink_agent_run` whose `cwd` is inside the state tree and runs `workspace-write`
|
|
428
|
+
can modify adapter or roster configuration that ClinkX loads later; operators who need that
|
|
429
|
+
separation should set `CLINKX_WORKFLOWS_STATE_DIR` to a separate directory. For manual cleanup, remove the intended run, activity,
|
|
430
|
+
session-log or context-run directories: deleting the whole ClinkX home also
|
|
431
|
+
deletes user adapters and rosters.
|
|
432
|
+
|
|
433
|
+
Standalone workflow children receive resolved `CLINKX_HOME` and
|
|
434
|
+
`CLINKX_WORKFLOWS_STATE_DIR` after environment scrubbing. The parent's
|
|
435
|
+
`CLINKX_CONTEXT_BUILDER_RUNS_DIR` override is scrubbed; child context runs use
|
|
436
|
+
`CLINKX_HOME/context-builder/runs`. An explicit child adapter config still
|
|
437
|
+
replaces normal discovery. `XDG_STATE_HOME` no longer selects durable storage.
|
|
438
|
+
|
|
439
|
+
### Migrating to `CLINKX_HOME`
|
|
440
|
+
|
|
441
|
+
There is no automatic migration. Builds before `CLINKX_HOME` wrote workflow
|
|
442
|
+
state to `${XDG_STATE_HOME:-~/.local/state}/clinkx-workflows` and context runs
|
|
443
|
+
to `${XDG_STATE_HOME:-~/.local/state}/clinkx/context-builder/runs`. User
|
|
444
|
+
adapters and rosters under `${XDG_CONFIG_HOME:-~/.config}/clinkx/` are still
|
|
445
|
+
read as the second discovery tier, so they need no move.
|
|
446
|
+
|
|
447
|
+
Before any option, finish or abandon unfinished resumable workflow runs. Runs
|
|
448
|
+
moved from the old default stay non-resumable because state paths enter the
|
|
449
|
+
resume fingerprint; `CLINKX_HOME` itself does not. Keeping an explicit state
|
|
450
|
+
path unchanged avoids that path-change boundary.
|
|
451
|
+
|
|
452
|
+
Choose one path:
|
|
453
|
+
|
|
454
|
+
1. **Fresh start.** Upgrade and do nothing else. New data goes to `~/.clinkx`;
|
|
455
|
+
the old directories stay as a read-only archive you can delete later.
|
|
456
|
+
2. **Copy workflow state only.** Stop every ClinkX server, workflow child, and
|
|
457
|
+
dashboard that uses the old directory, then merge the old state into the new
|
|
458
|
+
home without overwriting anything already there (an older test run may have
|
|
459
|
+
created `~/.clinkx/workflow-contexts`):
|
|
460
|
+
|
|
461
|
+
```sh
|
|
462
|
+
old="${XDG_STATE_HOME:-$HOME/.local/state}/clinkx-workflows"
|
|
463
|
+
mkdir -p "$HOME/.clinkx"
|
|
464
|
+
rsync -a --ignore-existing "$old/" "$HOME/.clinkx/"
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
This copies; the old directory stays as an archive. Do not move
|
|
468
|
+
`context-builder/runs`: old context runs stay where they are, and new ones
|
|
469
|
+
go to `~/.clinkx/context-builder/runs`.
|
|
470
|
+
3. **Pin the old directories.** Keep everything in place by setting the same
|
|
471
|
+
values on every producer and the dashboard:
|
|
472
|
+
|
|
473
|
+
```sh
|
|
474
|
+
export CLINKX_WORKFLOWS_STATE_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/clinkx-workflows"
|
|
475
|
+
export CLINKX_CONTEXT_BUILDER_RUNS_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/clinkx/context-builder/runs"
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
Do not move a context-builder runs directory or its `wfctx-*` entries. Manifests
|
|
479
|
+
record absolute artifact paths, so a moved entry no longer matches its new
|
|
480
|
+
location. A moved workflow cache entry (`wfctx-*`) is renamed to
|
|
481
|
+
`.stale-<runId>-<epochms>-<hex>` on the next eviction pass or promotion
|
|
482
|
+
conflict and costs one rebuild; the next identical call hits, and the
|
|
483
|
+
quarantined directory is deleted after the temp TTL (`min(cache TTL, 3600s)`).
|
|
484
|
+
A moved standalone `ctx_*` run fails committed-run admission and is not
|
|
485
|
+
self-healed. If you already moved the directory, move it back and pin it as in
|
|
486
|
+
option 3, or leave it and remove the moved cache entries, which are rebuilt on
|
|
487
|
+
demand. List them first and delete only after reviewing the list:
|
|
488
|
+
|
|
489
|
+
```sh
|
|
490
|
+
find "$HOME/.clinkx/context-builder/runs" -maxdepth 1 -type d -name 'wfctx-*' -print
|
|
491
|
+
find "$HOME/.clinkx/context-builder/runs" -maxdepth 1 -type d -name 'wfctx-*' -exec rm -rf {} +
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
Then update the dashboard. A native `clinkx-workflows-dashboard` resolves the
|
|
495
|
+
same defaults as the server when started with the same environment. For the
|
|
496
|
+
Compose stacks, either remove the state and context overrides
|
|
497
|
+
(`CLINKX_LOCAL_STATE_DIR` / `CLINKX_LOCAL_CONTEXT_RUNS_DIR`, or
|
|
498
|
+
`CLINKX_COMPANION_STATE_DIR` / `CLINKX_COMPANION_CONTEXT_RUNS_DIR`) from `.env`
|
|
499
|
+
to use the new `${HOME}/.clinkx` defaults, or point them at the pinned
|
|
500
|
+
directories. Then recreate the container:
|
|
501
|
+
|
|
502
|
+
```sh
|
|
503
|
+
docker compose -f compose.dashboard-local.yml up -d --force-recreate
|
|
504
|
+
docker compose --env-file deploy/dashboard-companion/.env \
|
|
505
|
+
-f compose.dashboard-companion.yml up -d --force-recreate
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
If the dashboard shows only runs from before the upgrade, its state or context
|
|
509
|
+
mount still points at the old location.
|
|
510
|
+
|
|
299
511
|
Dashboard passkey challenges use protected capacities of 96 login and 32
|
|
300
512
|
registration entries, plus 8 concurrent verifications. Saturation returns 503
|
|
301
513
|
`auth_busy` with `Retry-After: 1`; live challenges are not evicted. Local
|