dsh-completion-guard 0.9.0 → 0.10.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/README.md CHANGED
@@ -2,125 +2,77 @@
2
2
 
3
3
  [简体中文](README.zh-CN.md)
4
4
 
5
- An add-on for DeepSeek Harness (DSH) that keeps a task's requirements and checks them before the task is marked complete. It restores the same checklist after a resumed session and accepts only matching saved tool results as evidence.
5
+ DSH Completion Guard is a DeepSeek Harness plugin that keeps your task requirements and checks saved results before certifying completion. Use it when a long or resumed task must still account for requested edits, tests, prohibitions and later corrections.
6
6
 
7
- > **0.9.0 requires DSH `>=0.2.0-rc.2` and supports the official Desktop app.** For an existing installation, stop the relevant writers and preserve the old installed package, effective modes and frozen session inventory **before replacing DSH or Guard**; use the [prepared-candidate migration toolkit](docs/ACTIVATION_MIGRATION.md). Then upgrade/install, rebuild each profile's host lock, and complete old-session `adopt` and `verify` **before starting the host**. A fresh installation with no old Guard sessions needs installation and host-lock checks, with no old-mode adoption. Desktop uses `--profile desktop` with the app archive as runtime root. Installing does not rebuild the lock. The tested host baseline is DSH `0.2.0-rc.2` with Cordis `4.0.4`; later versions must pass the same identity and adapter checks. See [compatibility](docs/COMPATIBILITY.md) for qualification and native-evidence limits.
7
+ **Opening or restoring a session with history can take time.** DSH loads the saved history and Guard rebuilds its state; you may see “载入历史” (loading history). Wait for loading to finish before continuing. `always` starts protection with the first real input in a new root session; it does not make history loading instant, and reopening a session can still require a wait.
8
8
 
9
- ![Task-contract clauses and bounded evidence pass through a checkpoint before a completion certificate is issued](assets/social/completion-guard-hero.png)
9
+ ![Task requirements and matching evidence are checked before completion is certified](assets/social/completion-guard-hero.png)
10
10
 
11
- ## Quick start
11
+ ## Install or upgrade
12
12
 
13
- Choose the applicable path before running an installation command:
13
+ Requires DSH `>=0.2.1-rc.2`, Cordis `>=4.0.4`, Node.js `>=22` and pnpm `>=11`. Web, Headless and the official Desktop app have separate profiles. The reviewed host baseline is DSH `0.2.1-rc.2` / Cordis `4.0.5`; a later host must pass the same compatibility checks.
14
14
 
15
- - **Fresh installation, no old Guard sessions:** stop the host, upgrade to DSH `0.2.0-rc.2` or later, install Guard below, and rebuild the host lock before starting.
16
- - **Existing installation:** first stop the relevant writers and preserve the old installed package and effective mode sources; prepare and freeze the old-session inventory/receipt using the [migration guide](docs/ACTIVATION_MIGRATION.md). Do this before replacing DSH or Guard. Then install below and rebuild the host lock. Adopt and verify the frozen old-session receipt while the host is still stopped, before starting it. Unknown sources remain pending; do not substitute the upgraded default for an old mode.
15
+ Choose your path before replacing any package:
17
16
 
18
- Install in the profile you want to protect after completing the applicable preparation:
17
+ 1. **First installation, no old Guard sessions:** stop the host, install Guard in the intended profile, then check and bind that installation before starting it.
18
+ 2. **Upgrading with old sessions:** stop the relevant writers and preserve the old installed package and its effective mode sources. Prepare a frozen session inventory and migration receipt **before upgrading**. After installation, rebuild the host lock and complete mode `adopt` and `verify` while writers remain stopped. Do not start the upgraded host until those checks pass for the intended scope. Unknown old modes stay pending.
19
19
 
20
- ```sh
21
- dsh plugin --profile web add dsh-completion-guard@0.9.0
22
- ```
23
-
24
- **Keep the host stopped while upgrading and checking the installed graph below.** The lock records the package versions and installation directories DSH actually uses. A lock generated before an upgrade describes the old packages and will fail against the new runtime. `inject` writes to `<profile>/cordis.patch.yml`, so back up that file first.
25
-
26
- Check that each command's JSON output says `status: "supported"`. A failure reports a specific reason and exits nonzero. For a later compatible host, add `--rebind-registry` to all three commands; it verifies the official archives and qualifies changed programs in an isolated Node probe before rebuilding the lock. See the [upgrade guide](docs/HOST_LOCK_UPGRADE.md#rebinding-compatible-package-versions).
20
+ For Web, after the applicable preparation:
27
21
 
28
22
  ```sh
29
- DSH_RUNTIME_ROOT=/absolute/path/to/.dsh-runtime
30
- DSH_PROFILE_ROOT=/absolute/path/to/.dsh/profiles/web
31
- GUARD_HOST_LOCK="$DSH_PROFILE_ROOT/node_modules/.bin/dsh-completion-guard-host-lock"
32
-
33
- "$GUARD_HOST_LOCK" inspect --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT"
34
- "$GUARD_HOST_LOCK" inject --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT"
35
- dsh --profile web --dump-config | "$GUARD_HOST_LOCK" verify-dump --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT" --dump-config -
23
+ dsh plugin --profile web add dsh-completion-guard@0.10.0
36
24
  ```
37
25
 
38
- On Windows, run the same three subcommands through `dsh-completion-guard-host-lock.cmd` in the Web settings directory's `node_modules\.bin` directory and use Windows absolute paths. Native acceptance and publication evidence is recorded per version, bound to that version's exact bytes, in the [acceptance record](docs/LOCAL_ACCEPTANCE.md); a version's source and deterministic evidence never substitutes for its own installed-artifact claim. Other host versions and artifacts need their own native evidence. Repeat this check after changing DSH, Guard or the profile location; an ordinary market-only update does not require reinjection. The Guard stays unavailable if the active package set is missing, duplicated, untrusted, or different from the bound setup.
26
+ Installation alone is not enough. The **host lock** records the actual packages and directories this profile loads; check it with `inspect`, write it with `inject`, then check the composed configuration with `verify-dump`. Back up `cordis.patch.yml` before injection. [Installation and first load](docs/GETTING_STARTED.md) provides the Web commands, Windows and Desktop routes, and the final checks before startup. [Old-session migration](docs/ACTIVATION_MIGRATION.md) provides the preparation, commands and copyable AI prompts for an upgrade.
39
27
 
40
- For Desktop, install through the app's bundled CLI and bind `--profile desktop` to its `app.asar` and actual profile directory. Its CLI does not offer `--dump-config`; use Guard's `dump-desktop` to compose the configuration before readback. Follow the [Desktop upgrade steps](docs/HOST_LOCK_UPGRADE.md#official-desktop-profile). The official plugin market (`dshmarket`) can be installed alongside Guard in the Desktop profile; after installing or removing it, rebuild the Desktop lock with the full four-step flow (`inspect`, `inject`, a newly generated `dump-desktop` output, and `verify-dump` on that new output).
28
+ ## What to expect after startup
41
29
 
42
- For an existing installation, complete the migration guide’s `adopt` and `verify` using the frozen old receipt now, while writers remain stopped. Host-lock verification does not perform mode adoption. After both checks pass—or after the installation/lock checks for a fresh installation—start DSH Web, open a session, and check its status:
30
+ For an existing session, let history loading and state reconstruction finish. Then check:
43
31
 
44
32
  ```text
45
33
  /context-guard status
46
34
  ```
47
35
 
48
- New root sessions default to `always`: protection starts with the first real user message. `status` shows whether the Guard is on, its startup phase (`armed` means waiting for your first message), the active policy tier, how many checks remain, and a summary of why the rest are open. `off` stops protection for the current session without deleting its history. `clear` closes the current checklist while keeping prohibitions. `diagnose` explains why a completion check passed or failed. `migration` reports which rule set the session is under and what an upgrade or rollback would mean. `release` reports an explicitly adopted release contract, its coverage, and anything in flight.
49
-
50
- ### Ordinary work
51
-
52
- Ask DSH to edit a file or run a test as usual. The assistant performs that work with the DSH host tools. Guard records the request, observes the host's persisted call and result, and checks independent readback when the requested outcome needs it. For example, after a host edit changes a configuration file, a separate exact file read can establish the new bytes; a named test needs its own observed result. A successful tool return or the assistant's claim alone does not prove an unrelated condition or a forbidden-file constraint. `context_guard_prepare` explains what evidence is missing, and `context_guard_checkpoint` checks only the predicate that evidence establishes.
53
-
54
- The ordinary `context_guard_action` and `context_guard_evidence` tools from 0.6.x no longer perform edits, tests, or Git effects; they return migration guidance. A new file still needs trustworthy evidence that it was absent before creation. A package-script readiness observation can identify an existing test or assessment input without forcing another edit, but it does not prove the script ran or certify arbitrary numeric output. A later request to observe long-term benefits remains future work until its own time or approval condition is met; a short “continue” advances only a concrete ready action.
55
-
56
- ## What it protects
57
-
58
- - Saves requirements, acceptance checks, prohibitions, and later corrections without overwriting history.
59
- - Uses only tool calls and results that DSH has saved, and stores a redacted summary rather than full output.
60
- - Accepts evidence only when the action and result match the requested command, file, or other target.
61
- - Rechecks completion after a session is rebuilt or resumed, and refuses to certify damaged state.
62
- - Stops the Guard-owned Goal completion path when the current checklist has not passed. DSH internals can still bypass this path, so the plugin reports those cases rather than claiming to block every possible write.
63
-
64
- ## Status and compatibility
65
-
66
- Version 0.9.0 admits **DSH `>=0.2.0-rc.2`** without an upper version limit, and supports the official Desktop app as an independent profile (`desktop`): the app-owned `dsh-profile-desktop` profile is identified by its own name, its bundled graph is read in place from the signed `app.asar`, and its installed bytes are verified against the published tarballs. Cordis has an independent `>=4.0.4` peer range and must pass its adapter qualification. The published `0.2.0-rc.2` 46-package graph is the reviewed baseline (the rc.1 graph remains historical evidence); a newer mixed-version graph can receive its own registry-backed lock when the consumed implementations qualify. Changed Session/API implementations run a finite contract probe; incompatible behavior reports a qualification failure, and an old certificate cannot transfer to the new lock. Exact-artifact macOS/Windows native acceptance and future-version native evidence remain separate; Desktop backend, graphical-shell and real-model results are recorded separately for each exact artifact.
36
+ A **new empty root session**, with the default configuration, uses `always` and shows `armed`: Guard is ready, waiting for the first real message. It appends no Guard events before that message, so you can still choose the DSH session preset. DSH may write its own initialization events. The first real input starts protection in the same step, before its first file changes; an image or attachment counts too, while a blank message does not. An explicit `activation: opt-in` remains opt-in: run `/context-guard on` to begin protection.
67
37
 
68
- After upgrading, inspect, inject and verify the new host lock, then start the profile when needed; follow the [host-lock upgrade guide](docs/HOST_LOCK_UPGRADE.md). DSH migrates old sessions to V4. Guard retains old ledgers and certificates without re-signing them or promoting their old identity to current authority. Goal remains optional; installing the host does not imply it is enabled.
38
+ An **old session** keeps its verified pre-upgrade mode, including an empty old session. The new default does not replace an old binding. A contradictory explicit `activation` setting reports `activation_mode_conflict`; follow the [configuration instructions](docs/GETTING_STARTED.md#choose-the-default-for-new-sessions) to use the new default while preserving old modes. Missing, damaged or conflicting bindings prevent certification; Guard reports the problem rather than guessing an identity or mode. Forks inherit their parent's bound initial mode.
69
39
 
70
- Host checks verify package identities, implementation bytes and the dependency paths that load them. Native and model acceptance belong to the exact release artifact; consult its Release attachments and the [compatibility guide](docs/COMPATIBILITY.md).
40
+ Ask DSH to edit a file or run a test as usual. DSH executes the tools; Guard records the request and checks the saved result and any required readback. For example, “edit the configuration and make the tests pass” needs evidence of the changed file and a passing test, not just the assistant saying it is done. `context_guard_prepare` explains missing evidence; `context_guard_checkpoint` checks completion.
71
41
 
72
- Restart is a separate capability. Current DSH does not supply independently verified bindings for market's loaded instance, so the Guard market restart adapter is unavailable. A requested restart remains pending; core protection and unrelated operations continue. Installing or applying a package on disk does not prove that a running process or UI has adopted it.
42
+ The default policy is still `standard`. Automatic protection grants no extra editing, execution or publication permission, and does not issue a certificate automatically.
73
43
 
74
- Upgrading the core lock requires fresh inspection and injection from the actual runtime and profile. Old certificates are not relabelled as evidence for the new lock. See the [upgrade guide](docs/HOST_LOCK_UPGRADE.md) and [compatibility guide](docs/COMPATIBILITY.md).
44
+ ## Mode and everyday commands
75
45
 
76
- Choose a published version from [npm](https://www.npmjs.com/package/dsh-completion-guard) and verify its commit, checksum and native annexes on the [GitHub Release](https://github.com/GreenLv/dsh-completion-guard/releases/latest). The historical 0.4.2 release targets DSH `0.1.2-rc.1` with market 1.41 and does not contain this decoupling. A source version, CI, same-byte native acceptance and publication are separate states; see [acceptance scope](docs/LOCAL_ACCEPTANCE.md).
77
-
78
- The project was renamed from `dsh-context-guard` on 2026-08-29; its internal bundle id is still `context-guard`. Migration preserves sessions, activation and disabled settings. Do not load both package names in one profile. Node.js `>=22` and pnpm `>=11` are required.
79
-
80
- ## Activation modes
81
-
82
- Context Guard has two activation modes:
83
-
84
- - `always` (default and recommended for new root sessions): Newly created root DSH sessions are protected automatically from the first real message. Before the first real input, Guard adds no events to the session; DSH may write its own initialization events. You can still pick the DSH session mode (standard, minimal, or a custom preset) before sending anything. The moment your first real message enters a step, protection begins in that same step and ahead of your message: the first task, including its first file changes, is covered. A first message that only carries an image or an attachment starts protection too and leaves an unresolved asset item until its meaning is clarified; a blank message starts nothing. Running `/context-guard off` turns protection off for that session until you run `on` again.
85
- - `opt-in` (explicit choice): protection is off when a session starts. Run `/context-guard on` in that session to turn it on, and `/context-guard off` to turn it off again. This changes only the current session.
86
-
87
- **0.9.0 changes the default for new sessions to `always`. Existing sessions retain their pre-upgrade effective mode through a verified, immutable per-session binding.** Before upgrading, stop the relevant session writers and prepare the old-mode inventory and receipt using the [inspect/adopt/verify migration flow](docs/ACTIVATION_MIGRATION.md). This includes empty old sessions. Shared inventories with conflicting profile modes require an exact per-session mapping; Guard does not guess from message count, timestamps or a recorded `on`.
88
-
89
- If the official reader refuses an old format, preserve the raw log and old-mode source. The [explicit readable-subset flow](docs/ACTIVATION_MIGRATION.md) adds `inventory` and `select`, then carries `--selection` through inspect/adopt/verify. It binds the entire inventory while migrating only user-chosen readable IDs; `selected_complete` leaves every exclusion visibly pending and never means whole-inventory completion. The guide includes commands, recovery steps and copyable AI prompts.
46
+ | Command or mode | Result |
47
+ | --- | --- |
48
+ | `always` | New root sessions start protection with their first real input. |
49
+ | `opt-in` | Protection starts when you run `/context-guard on` in that session. |
50
+ | `/context-guard status` | Shows activation, remaining checks and reasons they remain open. |
51
+ | `/context-guard off` / `on` | Disables or enables protection for this session; saved history remains. |
52
+ | `/context-guard diagnose` | Explains a completion verdict. |
53
+ | `/context-guard clear` | Supersedes the current checklist while keeping prohibitions; it does not prove the work was done. |
54
+ | `/context-guard migration` | Shows the session's rules and upgrade/rollback implications. |
55
+ | `/context-guard release` | Shows an explicitly adopted release contract and remaining work. |
90
56
 
91
- Restoring a bound session uses that mode even when a profile's default changes. A contradictory explicit `activation` setting reports `activation_mode_conflict`; missing or damaged bindings prevent certification and provide a named diagnosis. Restore does not create a replacement. A verified migration receipt can adopt a missing old binding without changing the saved log or re-signing certificates. `/context-guard off` and `on` retain their persisted meaning; `standard` policy and execution/publication authority are unchanged. To choose another initial mode, create a new root session; to roll back, preserve the bindings and old receipt and follow the migration guide.
57
+ Guard activation is separate from DSH's standard/minimal/custom session preset. Saved `off` and `on` continue to apply. To change the initial default for future root sessions, see the [configuration instructions](docs/GETTING_STARTED.md#choose-the-default-for-new-sessions). Keep existing host-lock fields and session bindings.
92
58
 
93
- These modes only control Guard protection. They are not the DSH session mode (for example, the standard or minimal mode) that a session starts with. Because the Guard no longer writes into sessions before the first message, a session's DSH mode can be selected while the session is still new. `/context-guard on` and `/context-guard off` turn Guard protection on or off; they never change the DSH session mode.
59
+ ## History loading and 0.9.0 caching
94
60
 
95
- New root sessions in profiles that omit `activation` use `always`. Existing bindings remain authoritative. To change a profile that explicitly selects `opt-in`, set `activation: always` on the existing `context-guard` entry in your profile’s `cordis.patch.yml`. Preserve its injected host-lock fields; the snippet below shows the field to change, not a replacement for the complete configuration:
61
+ The first opening or restoration of an existing session loads its history and rebuilds Guard state. A later visit may also wait. This is different from a new empty session's `armed` state, which waits for your input.
96
62
 
97
- ```yaml
98
- - id: context-guard
99
- name: dsh-completion-guard
100
- config:
101
- activation: always
102
- ```
63
+ 0.9.0 reuses completed checks of old history only when it can verify that the history is unchanged and the results are safe to reuse. Within one Desktop installation check, it also reuses application files already read and verified. Each operation still checks the current mode and performs the required fresh checks of Goal state, private records and the host environment. **This release does not change the official host's history-view lifecycle or decode cache, and does not promise to remove all UI loading waits.** See the [performance scope](CHANGELOG.md#090) and [acceptance record](docs/LOCAL_ACCEPTANCE.md).
103
64
 
104
- DSH Web in a browser, Headless in a terminal, and the Desktop app use separate settings files. Edit the profile you use; check each one separately when you use more than one:
65
+ If the official reader refuses an old format, preserve the original log and old-mode source. You can explicitly migrate selected readable sessions using `inventory`, `select` and the same `--selection` on `inspect/adopt/verify`. Excluded sessions remain pending: `selected_complete` means only the chosen rows completed, not the whole inventory. Corruption, permission errors and other failures are not silently skipped. The [migration guide](docs/ACTIVATION_MIGRATION.md) includes commands, recovery and AI prompts.
105
66
 
106
- | System | How you use DSH | Default path |
107
- | --- | --- | --- |
108
- | macOS / Linux | Web | `$HOME/.dsh/profiles/web/cordis.patch.yml` |
109
- | macOS / Linux | Headless | `$HOME/.dsh/profiles/headless/cordis.patch.yml` |
110
- | macOS | Desktop | `$HOME/.dsh/profiles/desktop/cordis.patch.yml` |
111
- | Windows | Desktop | `%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml` |
112
- | Windows | Web | `%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml` |
113
- | Windows | Headless | `%USERPROFILE%\.dsh\profiles\headless\cordis.patch.yml` |
67
+ ## Limits and privacy
114
68
 
115
- If you set a custom `DSH_HOME`, use that directory instead of `$HOME/.dsh` or `%USERPROFILE%\.dsh`.
69
+ Guard saves requirements, checks matching persisted results and rechecks them on resume. It refuses to certify damaged or insufficient evidence. It can block the Goal completion path it guards, but does not control every internal DSH write or replace DSH permissions, tools, Goal or compaction. Ordinary investigations can end with an honest answer without a machine completion certificate.
116
70
 
117
- You can also paste this prompt into DSH and let it make the change:
71
+ Guard stores bounded, redacted evidence summaries rather than full prompts, stdout, files, credentials, images or raw transcripts. See [privacy](docs/PRIVACY.md). A package installed on disk does not prove a running process or UI loaded it; Guard's market restart adapter remains unavailable. [Compatibility](docs/COMPATIBILITY.md) documents supported commands and platform limits.
118
72
 
119
- > Set the default for new root sessions in `dsh-completion-guard` to `always` mode. Preserve existing session bindings. Find the `cordis.patch.yml` used by the way I am currently running DSH (Web, Headless or Desktop), back it up first, and only set `activation: always` on the entry with `id: context-guard`. Do not change any other settings or restart DSH. When finished, show me the file path and the exact diff.
73
+ <details>
74
+ <summary>Advanced completion, recovery and upstream behavior</summary>
120
75
 
121
- After the change, restart DSH.
122
-
123
- ## How completion is checked
124
76
 
125
77
  Once enabled, the Guard saves direct user requirements and acceptance checks. A saved tool result counts only when it matches the requested command, file, or other target. A machine-certified completion requires the Guard's checkpoint; missing, stale, or mismatched evidence leaves the task uncertified. Investigations and explanations outside the supported evidence rules can still end with an honest answer, without a completion certificate.
126
78
 
@@ -154,14 +106,10 @@ Three tiers change how much proof is required at completion. They are separate f
154
106
  | `strict` | On top of standard, a visual or complete-scope verification you explicitly asked for must be discharged by a real readback fact, not by a tool that merely succeeded. |
155
107
  | `release` | An explicitly adopted release contract checks the covered publication operation against an exact candidate and one-use reservation. The contract does not supply user authorization or host permission. |
156
108
 
157
- Set the tier in the same `cordis.patch.yml` entry as `activation`:
109
+ To choose `strict`, back up `cordis.patch.yml`, then add or change only `policy` under the existing `context-guard` entry's `config`. Preserve its activation setting, injected host-lock fields and other settings. This field illustration is not a replacement entry:
158
110
 
159
111
  ```yaml
160
- - id: context-guard
161
- name: dsh-completion-guard
162
- config:
163
- activation: always
164
- policy: strict
112
+ policy: strict
165
113
  ```
166
114
 
167
115
  ### Explicit release contracts
@@ -198,6 +146,8 @@ The two repositories serve different runtimes:
198
146
 
199
147
  They do not share runtime state, installers, caches, or release histories. Fixes are contributed to the repository that owns the affected runtime and are ported deliberately when the same behavior belongs in both products. See [`docs/UPSTREAM_BASE.md`](docs/UPSTREAM_BASE.md) and [`docs/PORTING_NOTES.md`](docs/PORTING_NOTES.md) for the exact reused and replaced boundaries.
200
148
 
149
+ </details>
150
+
201
151
  ## npm download history
202
152
 
203
153
  ![Combined cumulative npm download growth across dsh-context-guard and dsh-completion-guard](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/npm-downloads.svg)
@@ -206,10 +156,11 @@ The cumulative chart keeps the old and new npm package totals visibly separate,
206
156
 
207
157
  History starts on the first public npm release day, 2026-08-26; its real first-day count is retained even when nonzero. The vertical axis starts at zero. Date labels share one fixed day interval and centered anchors; the caption always gives the exact coverage end.
208
158
 
209
- The daily workflow publishes through the last day whose counts are unchanged in checks at least 12 hours apart and at least two UTC calendar days old. The API availability date is shown separately; this observation rule is not an npm guarantee that counts will never change. See the [source data](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/npm-downloads.json).
159
+ The workflow is scheduled to collect twice daily. It publishes through the last day whose counts are unchanged in checks at least 12 hours apart and at least two UTC calendar days old. The chart shows the history cutoff, API availability date and latest check time separately. When npm data is delayed or revised, the previously checked curve remains visible with a pending status; a collection failure leaves the last chart intact. This observation rule is not an npm guarantee that counts will never change. See the [source data](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/npm-downloads.json) and [latest collection status](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/refresh-status.json).
210
160
 
211
161
  ## Documentation
212
162
 
163
+ - [Installation and first load](docs/GETTING_STARTED.md) — safe setup, first loading wait and session modes.
213
164
  - [`CHANGELOG.md`](CHANGELOG.md) — versioned user-visible changes.
214
165
  - [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) — ownership, durable state, and certification pipeline.
215
166
  - [`docs/COMPATIBILITY.md`](docs/COMPATIBILITY.md) — supported DSH versions and certifiable command subset.
package/README.zh-CN.md CHANGED
@@ -2,125 +2,77 @@
2
2
 
3
3
  [English](README.md)
4
4
 
5
- 面向 DeepSeek Harness(DSH)的任务保护插件。它保存任务要求,并在任务标记完成前逐项核对;会话恢复后仍使用同一份检查表,只有匹配的已保存工具结果才能作为证据。
5
+ DSH Completion Guard 是 DeepSeek Harness 插件,负责保存任务要求,并在认证完成前核对已保存的结果。长任务或恢复后的会话中,它帮助助手继续核对文件修改、测试、禁止事项和你后来补充的要求。
6
6
 
7
- > **0.9.0 要求 DSH `>=0.2.0-rc.2`,并支持官方 Desktop 应用。** 已有安装须先停止相关写者,在**更换 DSH 或 Guard 前**保存旧安装包、有效模式来源及冻结会话清点,使用[独立准备的候选迁移工具](docs/ACTIVATION_MIGRATION.md)。随后升级安装、重建各 profile 宿主锁,并在**启动宿主前**完成旧会话的 `adopt` 和 `verify`。没有旧 Guard 会话的全新安装只需安装及宿主锁检查,不需旧模式 adoption。Desktop 使用 `--profile desktop`,以应用归档为 runtime root;安装本身不重建锁。已测试的宿主基线是 DSH `0.2.0-rc.2`、Cordis `4.0.4`;较新版本仍须通过身份和适配契约检查。资格及原生证据范围见[兼容性指南](docs/COMPATIBILITY.md)。
7
+ **首次打开或恢复已有历史的会话,需要等待载入。** DSH 载入历史,Guard 重建会话状态,界面可能显示“载入历史”;请等加载结束再继续。`always` 让新建根会话从首条真实输入开始受到保护,不会让历史载入立即完成;再次打开也不能保证没有等待。
8
8
 
9
- 官方读取器拒绝旧格式时,保留原日志和旧模式来源,按[显式可读子集方案](docs/ACTIVATION_MIGRATION.md)先 inventory、再由用户选择 ID 并 select,让 --selection 贯穿 inspect/adopt/verify。工具核对全库变化,只迁移用户选中的可读项;selected_complete 保留全部排除项为 pending,不代表整库完成。说明中提供真实命令、恢复步骤和可复制 AI 提示词。
9
+ ![核对任务要求及对应证据后,再认证完成](assets/social/completion-guard-hero.png)
10
10
 
11
- ![任务合同条款与有界证据通过 checkpoint 匹配后签发完成证书](assets/social/completion-guard-hero.png)
11
+ ## 安装或升级
12
12
 
13
- ## 快速开始
13
+ 需要 DSH `>=0.2.1-rc.2`、Cordis `>=4.0.4`、Node.js `>=22` 和 pnpm `>=11`。Web、Headless 和官方 Desktop 应用使用各自的配置目录。已审查的宿主基线是 DSH `0.2.1-rc.2` / Cordis `4.0.5`,更新版本仍须通过兼容性核验。
14
14
 
15
- 执行安装命令前,先选择对应流程:
15
+ 先选好路径,再替换任何包:
16
16
 
17
- - **全新安装,没有旧 Guard 会话:**停止宿主,升级到 DSH `0.2.0-rc.2` 或更高版本,按下方安装 Guard,再重建宿主锁,最后启动。
18
- - **已有安装:**先停止相关写者,保存旧安装包及有效模式来源,按[迁移说明](docs/ACTIVATION_MIGRATION.md)准备并冻结旧会话清点与收据。这一步必须在更换 DSH 或 Guard 前完成。随后按下方安装、重建宿主锁;保持宿主停止,用冻结旧收据完成 `adopt` 和 `verify`,再启动。未知来源保持 pending,不能用升级后的新缺省替代旧模式。
17
+ 1. **首次安装,没有旧 Guard 会话**:停止宿主,在使用的 profile 中安装 Guard,核验并绑定本次安装后再启动。
18
+ 2. **已有旧会话,需要升级**:先停止相关写者,保留旧安装包及其有效模式来源。**升级前**冻结会话库存并准备迁移收据。安装后重建宿主锁,保持写者停止,完成旧模式的 `adopt` 和 `verify`;目标范围核验通过前不能启动升级后的宿主。无法核实的旧模式保持待处理。
19
19
 
20
- 完成对应准备后,再把 Guard 安装到需要保护的 Profile:
20
+ Web 在完成相应准备后安装:
21
21
 
22
22
  ```sh
23
- dsh plugin --profile web add dsh-completion-guard@0.9.0
23
+ dsh plugin --profile web add dsh-completion-guard@0.10.0
24
24
  ```
25
25
 
26
- **升级和执行下面的安装图检查时,保持宿主停止。** 宿主锁记录 DSH 实际使用的包版本和安装目录;如果升级前就生成锁,新运行时会因包版本不匹配而拒绝它。`inject` 会修改 `<profile>/cordis.patch.yml`,请先备份该文件。
26
+ 装好插件还需核验环境。**宿主锁**记录这个 profile 实际加载的包和目录:先用 `inspect` 检查,再用 `inject` 写入,最后以 `verify-dump` 核对组合配置;注入前备份 `cordis.patch.yml`。[安装与首次载入](docs/GETTING_STARTED.md)给出 Web 命令、Windows 和 Desktop 路径及启动前的最后核验。[旧会话迁移指南](docs/ACTIVATION_MIGRATION.md)提供升级准备、完整命令和可复制的 AI 提示词。
27
27
 
28
- 查看每条命令 JSON 输出中的 `status`,确认它为 `supported`。失败会报告具体原因并以非零退出码结束。较新兼容宿主需给三条命令都加上 `--rebind-registry`,先验证官方包归档,并在隔离 Node 进程中检查变化程序的兼容契约,再重建锁;步骤见[升级指南](docs/HOST_LOCK_UPGRADE.md#rebinding-compatible-package-versions)。
28
+ ## 启动后会看到什么
29
29
 
30
- ```sh
31
- DSH_RUNTIME_ROOT=/absolute/path/to/.dsh-runtime
32
- DSH_PROFILE_ROOT=/absolute/path/to/.dsh/profiles/web
33
- GUARD_HOST_LOCK="$DSH_PROFILE_ROOT/node_modules/.bin/dsh-completion-guard-host-lock"
34
-
35
- "$GUARD_HOST_LOCK" inspect --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT"
36
- "$GUARD_HOST_LOCK" inject --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT"
37
- dsh --profile web --dump-config | "$GUARD_HOST_LOCK" verify-dump --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT" --dump-config -
38
- ```
39
-
40
- Windows 请通过 Web 配置目录下的 `node_modules\.bin\dsh-completion-guard-host-lock.cmd` 运行相同的三个子命令,并使用 Windows 绝对路径。各版本的原生验收与发布证据在[验收记录](docs/LOCAL_ACCEPTANCE.md)中按版本绑定其精确制品字节单独记录;任何版本的源码与确定性证据都不能等同于该版本已安装制品的结论。其他宿主版本和制品仍需各自的原生证据。DSH、Guard 或 profile 路径变化后需要重新检查;仅 market 普通升级不需要重新注入。如果当前包集合缺失、重复、不可信或不同于已绑定环境,Guard 会保持不可用。
41
-
42
- Desktop 请使用应用附带的 CLI 安装,再以 `--profile desktop`、应用 `app.asar` 和实际 profile 路径建立宿主锁。它的 CLI 不提供 `--dump-config`,请用 Guard 的 `dump-desktop` 生成组合配置再回读;见[Desktop 升级步骤](docs/HOST_LOCK_UPGRADE.md#official-desktop-profile)。官方插件市场(`dshmarket`)现在可以在 Desktop profile 中与 Guard 共存;安装或移除市场后,请按完整四步流程重建 Desktop 锁(`inspect`、`inject`、用 `dump-desktop` 新生成的组合配置、以及对新配置执行的 `verify-dump`)。
43
-
44
- 已有安装请先按迁移说明,用冻结旧收据完成 `adopt` 和 `verify`,期间保持写者停止;宿主锁核验不执行模式 adoption。两项核验通过后(全新安装则在安装及宿主锁核验通过后),再启动 DSH Web,打开会话并查看 Guard 状态:
30
+ 已有会话请先等历史载入和状态重建结束,再查看:
45
31
 
46
32
  ```text
47
33
  /context-guard status
48
34
  ```
49
35
 
50
- 新建根会话默认采用 `always`,从第一条真实用户消息开始保护。`status` 显示 Guard 是否开启、启动阶段(`armed` 表示已就绪、等待你的第一条消息)以及还有多少检查项。`off` 停止保护当前会话,但不删除历史。`clear` 关闭当前待办,同时保留禁止项。`diagnose` 说明完成检查为什么通过或失败;`migration` 报告当前会话适用哪套规则、升级与回滚分别意味着什么;`release` 报告显式发布契约、其覆盖范围以及仍在执行中的操作。
51
-
52
- ### 普通工作
53
-
54
- 照常让 DSH 修改文件或运行测试,助手通过 DSH 宿主工具执行。Guard 保存要求,观察宿主已持久化的调用与结果;要求的结果需要独立核验时,再使用只读回读。例如,宿主修改配置文件后,另一次精确文件回读可证明新内容;具名测试需要自己的真实运行结果。工具返回成功或助手自述,不能证明无关条件,也不能抹去对禁改文件的真实修改。`context_guard_prepare` 说明缺少什么证据,`context_guard_checkpoint` 只核对证据实际证明的谓词。
55
-
56
- 0.6.x 的普通 `context_guard_action` 与 `context_guard_evidence` 不再执行编辑、测试或 Git 效果,而是返回迁移说明。新建文件还需可信的写入前不存在证据。包脚本就绪观察可以选择已有测试或评估输入,不强迫再次编辑,但它不证明脚本已经运行,也不认证任意数值输出。后续观察长期收益的要求,要到其时间或审批条件满足后才成为当前工作;简短“继续”只推进有来源且已就绪的具体动作。
57
-
58
- ## 它保护什么
59
-
60
- - 保存需求、验收条件、禁止项和后续修正,不覆盖旧记录。
61
- - 只使用 DSH 已保存的工具调用和结果,并保存脱敏摘要而不是完整输出。
62
- - 只有动作和结果对应指定命令、文件或其他目标时,证据才有效。
63
- - 会话重建或恢复后重新检查完成状态;记录损坏时拒绝签发证书。
64
- - 当前检查表尚未通过时,阻止 Guard 自己守卫的 Goal 完成路径。DSH 内部仍可能绕过这条路径,因此插件会报告这些情况,不声称能阻止所有写入。
65
-
66
- ## 状态与兼容性
36
+ **使用默认配置的新建空根会话**采用 `always`,显示 `armed`,表示 Guard 已就绪、等待你的首条真实消息。此前 Guard 不追加会话事件,你仍可选择 DSH 会话 preset;DSH 可能记录自身的初始化事件。首条真实输入进入执行步骤时,保护就在同一步骤内开始,覆盖任务的第一次文件修改。图片或附件也能启动保护,纯空白消息不会。显式配置的 `activation: opt-in` 继续有效,需要执行 `/context-guard on` 才开始保护。
67
37
 
68
- 0.9.0 的版本准入范围是 **DSH `>=0.2.0-rc.2`**,没有版本上限,并支持官方 Desktop 应用的独立 profile(`desktop`):应用自有的 `dsh-profile-desktop` 按名称识别,其内置依赖图从已签名的 `app.asar` 原位读取,安装字节按发布 tarball 逐文件核验。Cordis 使用独立的 `>=4.0.4` peer 范围,仍须通过适配器资格验证。已发布的 `0.2.0-rc.2` 46 包依赖图为已审查基线(rc.1 图保留为历史证据);较新混合版本图在所消费实现具备资格后,可建立自己的 registry 来源锁。变化的 Session/API 实现须通过有限行为探针,不兼容行为会报告具体资格缺口,旧证书不能转移到新锁。最终制品的 macOS/Windows 原生验收、未来版本原生证据与 Desktop 原生验收仍须分别建立。
38
+ **旧会话**保留已核验的升级前模式,旧空会话也一样。新默认值不会覆盖旧绑定。显式 `activation` 与绑定矛盾时会报告 `activation_mode_conflict`;要采用新默认值并保留旧模式,请按[配置步骤](docs/GETTING_STARTED.md#新会话默认模式)操作。绑定缺失、损坏或冲突时,Guard 报告原因并拒绝认证,不猜测身份或模式。分叉会话继承父会话绑定的初始模式。
69
39
 
70
- 升级后重新检查、注入并验证 host-lock,再按需启动对应 Profile,步骤见[宿主锁升级](docs/HOST_LOCK_UPGRADE.md)。旧会话由 DSH 迁移为 V4;Guard 保留旧 ledger 和证书,但不会重签或把旧身份升级为当前权限。Goal 为可选能力,宿主安装不代表它已启用。
40
+ 照常让 DSH 改文件、跑测试即可。DSH 执行工具,Guard 保存要求,并核对已记录的结果和必要的回读。例如,“修改配置并让测试通过”需要修改后的文件证据和通过的测试结果,助手说“已完成”还不够。`context_guard_prepare` 说明缺什么证据,`context_guard_checkpoint` 检查能否认证完成。
71
41
 
72
- 宿主检查核对包身份、实现字节及实际加载它们的依赖路径。原生与模型验收绑定到每个版本的精确制品;请查看对应 Release 的附件和[兼容性说明](docs/COMPATIBILITY.md)。
42
+ 默认策略仍是 `standard`。自动参与保护不会增加修改、执行或发布权限,也不会自动签发完成证书。
73
43
 
74
- 重启属于单独能力。当前 DSH 没有提供可独立验证的 market 已加载实例绑定,因此 Guard 的 market 重启适配器返回不可用;已有重启要求仍保持未完成。核心保护和不依赖该接口的操作继续工作。磁盘上的插件安装/应用不等于运行进程或 UI 已生效。
44
+ ## 模式和常用命令
75
45
 
76
- 升级到新核心锁时,需要从实际运行时与 profile 重新生成并验证锁;旧证书不会被重新标记为新锁证据。详见[升级说明](docs/HOST_LOCK_UPGRADE.md)和[兼容性](docs/COMPATIBILITY.md)。
77
-
78
- 从 [npm](https://www.npmjs.com/package/dsh-completion-guard) 选择已发布版本,并用 [GitHub Release](https://github.com/GreenLv/dsh-completion-guard/releases/latest) 的提交、校验和和原生 annex 核对制品。0.4.2 的历史发布面向 DSH `0.1.2-rc.1` 与 market 1.41;它不包含上述解耦。源码版本号、CI、同包原生验收和公开发布是不同状态,验收范围见[记录](docs/LOCAL_ACCEPTANCE.md)。
79
-
80
- 项目在 2026-08-29 从 `dsh-context-guard` 更名为 `dsh-completion-guard`,内部 bundle id 仍为 `context-guard`。迁移保留会话、激活方式和禁用设置;不要在同一 profile 同时加载新旧包。需要 Node.js `>=22` 和 pnpm `>=11`。
81
-
82
- ## 启用模式
83
-
84
- Context Guard 有两种启用模式:
85
-
86
- - `always`(新建根会话默认,推荐):新建 DSH 根会话从第一条真实消息开始自动保护。首条真实输入前,Guard 不向会话追加事件;DSH 仍可能写入自身的初始化事件。你仍然可以在发送任何内容之前选择 DSH 会话模式(standard、minimal 或自定义 preset)。第一条真实消息进入执行步骤的那一刻,保护在同一步骤内、且位于该消息之前开始:第一个任务连同它的第一次文件修改都在覆盖范围内。首条消息只有图片或附件时同样开始保护,并保留待解释的资产项;纯空白消息不启动任何内容。在某个会话中执行 `/context-guard off` 后,该会话关闭保护,直到再次执行 `on`。
87
- - `opt-in`(显式选择):打开会话时不会自动保护。你需要在这个会话中执行 `/context-guard on` 才会启用;执行 `/context-guard off` 可以再次关闭。开关只影响当前会话。
88
-
89
- **0.9.0 将新会话的默认模式改为 `always`;旧会话通过核验后的不可覆盖绑定保留升级前有效模式。** 升级前请停止相关会话写者,按[inspect/adopt/verify 迁移说明](docs/ACTIVATION_MIGRATION.md)准备旧模式清点与冻结收据,旧空会话也要包含。共享库存中不同 profile 的旧模式有冲突时,需要精确到会话的映射;Guard 不依据消息数量、时间戳或记录过的 `on` 猜测。
46
+ | 命令或模式 | 作用 |
47
+ | --- | --- |
48
+ | `always` | 新建根会话从首条真实输入开始自动保护。 |
49
+ | `opt-in` | 在会话中执行 `/context-guard on` 后开始保护。 |
50
+ | `/context-guard status` | 查看启用状态、未完成检查及其原因。 |
51
+ | `/context-guard off` / `on` | 关闭或开启当前会话的保护,保留历史。 |
52
+ | `/context-guard diagnose` | 解释完成检查的结论。 |
53
+ | `/context-guard clear` | 撤下当前检查表,保留禁止项;不表示其中的工作已执行完成。 |
54
+ | `/context-guard migration` | 查看会话适用规则及升级、回退的影响。 |
55
+ | `/context-guard release` | 查看显式采用的发布合同及剩余工作。 |
90
56
 
91
- 恢复已有绑定的会话时,profile 缺省变化不改变它的模式。显式 `activation` 与绑定矛盾会报告 `activation_mode_conflict`;缺失或损坏的绑定不能认证,并给出具名诊断。恢复不会自行创建替代绑定;核验过的迁移收据可以受控补建同一旧模式,不修改已保存日志,也不重签证书。持久化的 `/context-guard off` 和 `on` 继续有效,`standard` 策略及执行、发布权限保持原合同。选择另一初始模式请新建根会话;回退时保留绑定和旧收据,按迁移说明操作。
57
+ Guard 启用模式与 DSH 的标准、极简或自定义会话 preset 分开。已保存的 `off`、`on` 继续有效。如需修改后续新根会话的初始默认值,按[配置步骤](docs/GETTING_STARTED.md#新会话默认模式)操作,保留已有宿主锁字段和旧会话绑定。
92
58
 
93
- 启用模式只控制 Guard 是否保护会话,不是 DSH 的会话模式(例如会话开始时所选的标准模式、极简模式)。Guard 不再在第一条消息之前写入任何内容,因此 DSH 会话模式可以在会话尚为新会话时选择。`/context-guard on` 和 `/context-guard off` 只负责开启或关闭 Guard 保护,不会改变 DSH 会话模式。
59
+ ## 历史载入与 0.9.0 缓存
94
60
 
95
- 省略 `activation` 的 profile 新建根会话时采用 `always`;已有会话绑定仍具有优先权。若现有 profile 显式选择了 `opt-in`,请把实际 profile 的 `cordis.patch.yml` 中已有 `context-guard` 项设为 `activation: always`,保留已注入的宿主锁字段。下面的片段只显示要修改的字段,不用于替换整份配置:
61
+ 首次打开或恢复已有会话时,需要载入历史并重建 Guard 状态;再次进入也可能等待。这与新空会话的 `armed` 不同,后者是在等待你输入。
96
62
 
97
- ```yaml
98
- - id: context-guard
99
- name: dsh-completion-guard
100
- config:
101
- activation: always
102
- ```
63
+ 0.9.0 只在确认历史未变、检查结果可安全复用时,复用旧历史已经通过的检查。同一次 Desktop 安装检查中,也会复用已读取并核验的应用文件。每次操作仍核对当前模式,并按需要重新核验 Goal 状态、私有记录和宿主环境。**本版没有修改官方宿主的历史视图生命周期或解码缓存,不能保证消除所有界面载入等待**。详见[本版性能边界](CHANGELOG.zh-CN.md#090)和[验收记录](docs/LOCAL_ACCEPTANCE.md)。
103
64
 
104
- DSH 的 Web 网页、Headless 终端和 Desktop 桌面应用使用独立配置。请修改实际使用的 profile;多种方式都用时分别修改:
65
+ 官方读取器若拒绝旧格式,先保留原日志和旧模式来源。可以用 `inventory`、`select` 明确选择可读会话,并在 `inspect/adopt/verify` 三步使用同一 `--selection`。排除的会话继续待处理:`selected_complete` 只表示选中行完成,不等于整库完成。损坏、权限问题及其他异常不会自动跳过。[迁移指南](docs/ACTIVATION_MIGRATION.md)提供命令、恢复方案及 AI 提示词。
105
66
 
106
- | 系统 | 你怎么使用 DSH | 默认路径 |
107
- | --- | --- | --- |
108
- | macOS / Linux | Web | `$HOME/.dsh/profiles/web/cordis.patch.yml` |
109
- | macOS / Linux | Headless | `$HOME/.dsh/profiles/headless/cordis.patch.yml` |
110
- | macOS | Desktop | `$HOME/.dsh/profiles/desktop/cordis.patch.yml` |
111
- | Windows | Desktop | `%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml` |
112
- | Windows | Web | `%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml` |
113
- | Windows | Headless | `%USERPROFILE%\.dsh\profiles\headless\cordis.patch.yml` |
67
+ ## 限制与隐私
114
68
 
115
- 如果你设置过自定义 `DSH_HOME`,请用该目录替换路径开头的 `$HOME/.dsh` 或 `%USERPROFILE%\.dsh`。
69
+ Guard 保存要求、核对相符的已持久化结果,并在恢复时重新检查。证据不足或状态损坏时,它拒绝认证完成。它能守卫自身接入的 Goal 完成路径,不能控制 DSH 所有内部写入,也不替代 DSH 的权限、工具、Goal 或压缩机制。普通调查可以如实回答,并不总能获得机器完成证书。
116
70
 
117
- 不想手动改文件,也可以把下面这段话直接发给 DSH:
71
+ Guard 保存有界、脱敏的证据摘要,不保存完整提示词、stdout、文件、凭据、图片或原始会话正文,详见[隐私说明](docs/PRIVACY.md)。磁盘安装不证明运行进程或界面已经加载;Guard 的市场重启适配器仍不可用。[兼容性说明](docs/COMPATIBILITY.md)列出可认证命令和平台边界。
118
72
 
119
- > 请把 `dsh-completion-guard` 新建根会话的默认模式设为 `always`,保留已有会话绑定。根据我当前使用 DSH 的方式(Web、Headless 或 Desktop),自动找到对应的 `cordis.patch.yml`,先备份该文件,只把 `id: context-guard` 这一项的 `activation` 设为 `always`,不要修改其他配置,也不要替我重启 DSH。完成后告诉我文件的绝对路径,并显示准确的修改内容。
73
+ <details>
74
+ <summary>高级完成检查、恢复行为与上游关系</summary>
120
75
 
121
- 修改完成后,重启 DSH。
122
-
123
- ## 如何检查完成状态
124
76
 
125
77
  启用后,Guard 会保存用户直接给出的要求和验收条件。只有已保存的工具结果与指定命令、文件或其他目标一致时,才能作为证据。取得机器完成认证需要通过 Guard 检查;证据缺失、过期或对象不一致时,任务保持未认证。当前证据规则未覆盖的调查或解释仍可如实回答并结束,但不会取得完成证书。
126
78
 
@@ -154,14 +106,10 @@ Guard 按原始范围保留每项要求、禁止项和答复义务。宿主记
154
106
  | `strict` | 在 standard 之上,你明确要求的视觉或完整范围验证必须由真实回读事实兑现,而不是一次"只是成功"的工具调用。 |
155
107
  | `release` | 显式采用的发布契约按精确候选和一次性预约核验受覆盖的发布操作。契约本身不提供用户授权或宿主权限。 |
156
108
 
157
- 在 `cordis.patch.yml` 的同一项里与 `activation` 一起设置:
109
+ 若要使用 `strict`,先备份 `cordis.patch.yml`,再仅修改或添加原 `context-guard` 条目 `config` 下的 `policy`。保留启用模式、注入的宿主锁字段和其他配置。下方只展示要改的字段,不能替换完整条目:
158
110
 
159
111
  ```yaml
160
- - id: context-guard
161
- name: dsh-completion-guard
162
- config:
163
- activation: always
164
- policy: strict
112
+ policy: strict
165
113
  ```
166
114
 
167
115
  ### 显式发布契约
@@ -193,6 +141,8 @@ Context Guard 负责完成认证;Goal、Todo、Compaction、continuation、权
193
141
 
194
142
  两个项目不共享运行时状态、安装器、缓存或发布历史。修复应先进入拥有对应运行时的仓库;只有同一行为确实适用于两侧时,才显式迁移。具体复用与替换边界见 [`docs/UPSTREAM_BASE.md`](docs/UPSTREAM_BASE.md) 和 [`docs/PORTING_NOTES.md`](docs/PORTING_NOTES.md)。
195
143
 
144
+ </details>
145
+
196
146
  ## npm 下载量历史
197
147
 
198
148
  ![dsh-context-guard 与 dsh-completion-guard 的 npm 累计下载增长](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/npm-downloads.zh-CN.svg)
@@ -201,10 +151,11 @@ Context Guard 负责完成认证;Goal、Todo、Compaction、continuation、权
201
151
 
202
152
  历史从首次公开发布 npm 的 2026-08-26 开始,保留首日真实下载数,不强行归零;纵轴从零起算。日期标签统一居中,按固定天数间隔显示,图注始终保留精确截止日。
203
153
 
204
- 每日工作流仅发布至少相隔 12 小时复查一致、且距离当日已有两个 UTC 日历日的数据,另行标明 API 数据可用日期。这是项目的观测规则,不代表 npm 保证数值永不修订。详见[源数据](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/npm-downloads.json)。
154
+ 工作流每天计划采集两次,仅发布至少相隔 12 小时复查一致、且距离当日已有两个 UTC 日历日的数据。图中分别显示历史截止日、API 数据可用日期和最近检查时间。npm 数据延迟或数值变化时,保留此前已复查的曲线,并显示等待复查;采集失败时保留上一份图。这是项目的观测规则,不代表 npm 保证数值永不修订。详见[源数据](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/npm-downloads.json)和[最近采集状态](https://raw.githubusercontent.com/GreenLv/dsh-completion-guard/stats/refresh-status.json)。
205
155
 
206
156
  ## 文档
207
157
 
158
+ - [安装与首次载入](docs/GETTING_STARTED.md) — 安全安装、首次等待及会话模式。
208
159
  - [`CHANGELOG.zh-CN.md`](CHANGELOG.zh-CN.md) — 面向使用者的版本变化。
209
160
  - [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) — 所有权、持久状态和认证管线。
210
161
  - [`docs/COMPATIBILITY.md`](docs/COMPATIBILITY.md) — 支持的 DSH 版本和可认证命令子集。
@@ -1,2 +1,2 @@
1
- import { $ as classifyCompletionClaim, $a as RejectedBinding, $c as actionCompatible, $i as ExecutableIdentity, $n as packageRowsFromActiveGraph, $o as NeedsReviewReason, $r as gitCommandMatchesTarget, $s as LEGACY_QUALIFICATION, $t as bindProofV2ToProjection, A as InitialActivation, Aa as MIN_SUPPORTED_HOST_VERSION, Ac as presentExplanationHead, Ai as capabilityRemedyPhrase, An as LifecyclePhase, Ao as DeriveConfig, Ar as acquireHostTrust, As as CapabilityRemedy, At as openItems, B as RC020_RC1_HOST_PACKAGES, Ba as AuthorityBlockKind, Bc as ACTION_MANIFEST_VERSION, Bi as PROTOCOL_V5_NOTICE, Bn as activeRendererModule, Bo as GoalRef, Br as GitCommandManifest, Bs as actionHasCertificationPath, Bt as PROOF_PROTOCOL_VERSION_V2, C as createActivationMigrationReceipt, Ca as evaluateToolSurfaceCapability, Cc as kindOfScope, Ci as shellReadbackOutcome, Cn as ManifestIssue, Co as AssetInterpretationFact, Cr as readDesktopDependency, Cs as proposeRebindOutcome, Ct as RecoveryOptions, D as resolveSessionActivation, Da as HostVersionDecision, Dc as namedActions, Di as Repairability, Dn as FIRST_STEP_GUIDANCE, Do as BoundaryQualificationKind, Dr as HostTrustAcquisitionOptions, Ds as replayRebindResult, Dt as carriesCleanupCondition, E as resolveActivationBindingsRoot, Ea as HOST_VALIDATED_VERSIONS, Ec as maskQuotedSpans, Ei as DiagnosisNextAction, En as ClaimedMessage, Eo as BoundaryDisposition, Er as HostRebindTrust, Es as rebindResponse, Et as V6_ORDINARY_COMPLETION_RULE_SHORT, F as activationDigest, Fa as evaluateMinimumHostVersion, Fc as semanticActionOfScope, Fi as relevantEvidence, Fn as previewFirstStepInjection, Fo as EvidenceOutcome, Fr as registryArchiveModules, Fs as OperationAttribution, Ft as PROOF_CAPABILITY_MATRIX, G as CONTROL_RECORD_PREFIX, Ga as UserInteractionKind, Gc as CERTIFICATE_VERSION_V2, Gi as rootLocatorFlavor, Gn as combineHostPolicy, Go as GuardItem, Gr as GitPrestateCheck, Gs as removalIsComplete, Gt as ProofManifest, H as projectCoreV2, Ha as authorityCaptureCounts, Hc as ActionSpec, Hi as applyUpgradeEligibility, Hn as auditedDefaultWorkdirProvider, Ho as GuardCheckpoint, Hr as GitCommandRejected, Hs as capabilityConsequence, Ht as ProofKind, I as activationJson, Ia as parseHostVersion, Ic as splitTextFragments, Ii as CAPTURE_V042_NOTICE, In as ActiveProfileHostLock, Io as EvidenceParseStatus, Ir as GIT_COMMAND_MANIFEST_IDS, Is as ProcessExitStatus, It as PROOF_KINDS, J as NO_PROGRESS_RECORD_PREFIX, Ja as CONFIRM_LINE_PATTERN, Jc as STOP_PROTOCOL_VERSION, Ji as ACTIVE_HOST_LAUNCHER_VERSION, Jn as hostLockContextFromComposedDump, Jo as GuardOperation, Jr as LinearCommitReadback, Js as DirectiveClass, Jt as ProofObligationV2, K as CompletionDisposition, Ka as classifyTaskIntent, Kc as SEMANTIC_ACTIONS, Ki as ACTIVE_HOST_COHORT_ID, Kn as evaluateActiveHostLock, Ko as GuardItemKind, Kr as GitPrestateEnvelope, Ks as removalIsPartiallyKnown, Kt as ProofManifestV2, L as sessionBirthIdentity, La as satisfiesSupportedHostRange, Lc as statefulActionsOfScope, Li as DEFAULT_DELEGATION_TOOL_NAMES, Ln as AuditedPackageExpectation, Lo as EvidenceRole, Lr as GIT_COMMAND_TEMPLATES, Ls as ProcessFactSource, Lt as PROOF_KINDS_V2, M as SessionActivationRead, Ma as SUPPORTED_HOST_RANGE, Mc as questionHeadsClause, Mi as evidenceAvailabilityReason, Mn as firstStepGuidance, Mo as DeriveScope, Mr as parseHostTrust, Ms as DeclaredOperationResult, Mt as recoveryTitle, N as SessionBirthIdentity, Na as SUPPORTED_HOST_VERSIONS, Nc as reportingHeadGoverns, Ni as itemDiagnosis, Nn as firstStepGuidanceV6, No as DerivedEnvelope, Nr as qualifyHostTrust, Ns as DependencyStatus, Nt as renderRecoveryPacket, O as validateActivationMigrationReceipt, Oa as HostVersionStatus, Oc as opensConditionLead, Oi as TaskKind, On as FirstStepInjection, Oo as DeferAuthorization, Or as HostTrustError, Os as CapabilityFact, Ot as cleanupConditionFor, P as activationCanonical, Pa as compareHostVersions, Pc as restatedContentOf, Pi as nativeFileTwoRole, Pn as lifecyclePhase, Po as EvidenceBinding, Pr as registryArchiveFiles, Ps as DerivedProcessFacts, Pt as v6CurrentRootBoundaries, Q as assessmentOutcomePredicate, Qa as CheckpointResult, Qc as StatefulAction, Qi as EXPECTED_HOST_PACKAGES, Qn as inspectTargetHostGraph, Qo as NeedsReviewFact, Qr as executeRevalidatedGitEffect, Qs as InterpretOptions, Qt as bindProofToProjection, R as validateActivationBinding, Ra as currentContractDigest, Rc as verbIsNegated, Ri as PROTOCOL_V3_NOTICE, Rn as HostProfileError, Ro as ExpectedTransition, Rr as GitAdapterAction, Rs as ProcessOutcomeReason, Rt as PROOF_MANIFEST_DOMAIN_V2, S as adoptActivationReceipt, Sa as evaluateHostLock, Sc as itemHoldsExecutionAuthority, Si as persistedToolResultStatus, Sn as CommandSurfaceManifest, So as qualifyBoundary, Sr as readDesktopAppRuntime, Ss as proposeRebind, St as RecoveryCause, T as readActivationMigrationReceipt, Ta as selectHostCohort, Tc as maskCodeSpans, Ti as CertificationSupport, Tn as validateManifest, To as BindingActionClosure, Tr as writeDesktopRuntimeReceipt, Ts as rebindAttemptKey, Tt as V6_ORDINARY_COMPLETION_RULE_COMPACT, U as supersedeItem, Ua as segmentAuthorityBlocks, Uc as BOUNDED_ARTIFACT_TYPES, Ui as deriveProjection, Un as auditedForegroundRenderers, Uo as GuardEvidence, Ur as GitEffectExecution, Us as capabilityFactOf, Ut as ProofKindCapability, V as projectSessionCoreV2, Va as AuthorityKind, Vc as ActionManifest, Vi as PROTOCOL_V6_NOTICE, Vn as auditedDefaultWorkdirHost, Vo as GuardBoundary, Vr as GitCommandParseResult, Vs as admissibleForRemoval, Vt as ProofHostSurface, W as AssistantOutcomeObservation, Wa as TaskIntent, Wc as CERTIFICATE_VERSION, Wi as legacyRecordsNeedingReview, Wn as auditedHostImplementation, Wo as GuardIntegrity, Wr as GitEffectRunner, Ws as partialFailureOf, Wt as ProofKindV2, X as TurnStoppingDecision, Xa as isFrozenV042RebindResponse, Xc as SUPPORTED_EVIDENCE_ADAPTERS, Xi as BASE_HOST_PACKAGES, Xn as injectActiveProfileHostLock, Xo as HostStatus, Xr as commitTreeSnapshotDigest, Xs as ExecutionQualification, Xt as SessionQuery, Y as NO_PROGRESS_TURNS_BEFORE_STOP, Ya as ParsedConfirmation, Yc as STOP_PROTOCOL_VERSION_V2, Yi as AuditedExecutable, Yn as hostLockRowsFromComposedDump, Yo as GuardProjection, Yr as commitIndexSnapshotDigest, Ys as Executee, Yt as ProofSurface, Z as assessmentAction, Za as parseConfirmationMessage, Zc as SemanticAction, Zi as DEFAULT_HOST_LOCK, Zn as inspectDesktopTargetGraph, Zo as MessageCoverage, Zr as createGitPrestateEnvelope, Zs as GRANTED_QUALIFICATION, Zt as SessionQueryV2, _ as verifyMigrationInventory, _a as bindExecutableIdentity, _c as isExplanationScope, _i as evidenceFromPersistedToolResult, _n as bindingSatisfies, _o as GoalActivationState, _r as hasDesktopImporterState, _s as BoundedSource, _t as CLEANUP_CONDITION_RULE, a as isSelectedActivationReceipt, aa as HostCapabilityEvaluation, ac as clauseAsksOwnQuestion, ai as ParsedShell, al as semanticActionFromCommand, an as proofDigestV2, ao as captureItem, ar as resolveActiveProfileHostLock, as as TargetSourceKind, at as isWholeTaskCompletionClaim, b as __activationBindingInternals, ba as evaluateGraphDerivedHostLock, bc as isQuestionScopeNeedingReview, bi as isDeterministicCheck, bn as isVerifyingCapability, bo as effectuateBoundary, br as readAsarFile, bs as RebindProposal, bt as DEFAULT_RECOVERY_CHAR_BUDGET, c as selectedActivationInventory, ca as HostCohort, cc as explanationHasActionResidue, ci as isRunExecutable, cl as validateActionTarget, cn as proofOperationMatches, co as extractArtifactPaths, cr as revalidateDesktopCoreLock, cs as VerificationContract, ct as observeAssistantOutcome, d as verifySelectedMigrationInventory, da as HostLockContext, dc as hasQuestionScope, di as goalCompletionDenial, dl as normalizeClause, dn as scopeCoverageDigest, do as isInformationalMessage, dr as DESKTOP_IDENTITY_FACTS, ds as createProjection, dt as v6TestPredicate, ea as ExecutableIdentityBinding, ec as QualificationReason, ei as parseGitCommandManifest, el as boundedArtifactChoiceMatches, en as canonicalProjection, eo as bindingIndividuallyAccepted, er as packageRowsFromPnpmLock, es as PersistenceAuthorization, et as currentActionBases, f as privateStorageToolDenial, fa as HostLockEvaluation, fc as hasWorkPredicate, fi as hasCurrentCertificate, fl as sanitizeClauseText, fn as sessionQuery, fo as segmentClauses, fr as DESKTOP_PROFILE_PACKAGE_NAME, ft as SESSION_API_UNSUPPORTED, g as prepareActivationMigration, ga as HostToolSurface, gc as isExecutableItem, gi as ToolSubject, gn as EvidenceFacetCoverage, go as BoundaryRequest, gr as auditDesktopInstalledImplementation, gt as snapshotSessionEvents, h as inspectActivationInventory, ha as HostProfileKind, hc as introducesActionClause, hi as ToolResultInput, hn as validateProofManifestV2, ho as BoundaryQualification, hr as DesktopTargetGraph, ht as V4SessionLike, i as createActivationSelection, ia as HostAuditProvenance, ic as clarifiedSpanOf, ii as CanonicalCommandSurface, il as requestedTargetMatchesResolved, in as proofDigest, io as captureClause, ir as readActiveHostGraph, is as TargetSource, it as isRootPauseRequest, j as SessionActivationBinding, ja as ParsedHostVersion, jc as qualificationOfClause, ji as deriveItemDiagnosis, jn as claimedBatchHasRealRootInput, jo as DeriveResult, jr as hostTrustDigest, js as DEPENDENCY_FREE_ONLY_CONDITION, jt as recoveryDigest, k as writeActivationBinding, ka as LATEST_TESTED_HOST_VERSION, kc as opensWithDirective, ki as UnifiedItemDiagnosis, kn as FirstStepPreviewInput, ko as DelegationRef, kr as HostTrustedPackage, ks as CapabilityGap, kt as closingHint, l as validateActivationInventorySnapshot, la as HostCohortSelection, lc as governedClauseRestrictsExecution, li as parsePwshCommand, ll as canonicalizePath, ln as proofV2Rejection, lo as extractMethod, lr as verifyComposedHostLockDump, ls as WaitAuthorization, lt as progressFingerprint, m as ActivationPriorModes, ma as HostPlatform, mc as interpretMessage, mi as ToolCallInput, ml as sha256, mn as validateProofManifest, mo as BoundaryEffectuation, mr as DesktopAppRuntime, mt as SessionApiError, n as ActivationMigrationSelection, na as HOST_CAPABILITY_PACKAGE_GROUPS, nc as ScopeInterpretation, ni as verifiedLinearCommitReadback, nl as requestedIdentityKey, nn as createProofManifestV2, no as CaptureScope, nr as prepareDesktopHostTrust, ns as TargetCaptureReasonCode, nt as decideTurnStopping, o as prepareSelectedActivationMigration, oa as HostCapabilityId, oc as clauseIsGoverned, oi as ShellParseStatus, ol as semanticActionFromText, on as proofEvidenceConstraints, oo as classifyClause, or as resolveDesktopProfileHostLock, os as TargetTuple, ot as latestAssistantText, p as ActivationInventoryPersistence, pa as HostLockStatus, pc as interpretClause, pi as NATIVE_GIT_ROOT_PARENT_OID, pl as sanitizeUrl, pn as sessionQueryV2, po as BOUNDARY_RECORD_PREFIX, pr as DESKTOP_RUNTIME_PACKAGE_NAME, pt as SESSION_EVENT_ENVELOPE_INVALID, q as CurrentActionBasis, qa as classifyUserInteraction, qc as STATEFUL_ACTIONS, qi as ACTIVE_HOST_COHORT_IDS, qn as evaluateConfiguredHostLock, qo as GuardItemStatus, qr as GitTargetIdentity, qs as AuthorityDisposition, qt as ProofObligation, r as activationSelectionPending, ra as HOST_COHORTS, rc as actionVerbMatches, ri as CanonicalArgv, rl as requestedTargetAuthorizesMutation, rn as proofCapabilityReport, ro as ClauseSegment, rr as prepareTargetHostTrust, rs as TargetCaptureStatus, rt as decisionBoundaryKey, s as scanActivationInventory, sa as HostCapabilityRequest, sc as clauseIsProtected, si as canonicalArgvFromCommand, sl as validateActionManifest, sn as proofHostSurfacesOf, so as environmentDefaultRepositoryTarget, sr as resolveInstalledHostLock, ss as TargetValue, st as latestRootInstruction, t as ActivationInventorySnapshot, ta as GOAL_HOST_PACKAGES, tc as QualificationStatus, ti as revalidateGitPrestate, tl as isStatefulAction, tn as createProofManifest, to as certifyCheckpoint, tr as prepareActiveHostTrust, ts as SourceSpan, tt as decideTurnBoundary, u as validateActivationSelection, ua as HostCohortSelectionReason, uc as hasOrderedCoordination, ui as parseShellCommand, ul as digestStrings, un as requiredSubjectsOf, uo as extractOperation, ur as AsarIndex, us as WorkUnit, ut as testOutcomePredicate, v as ActivationMigrationEntry, va as bindLiveGoalCapability, vc as isInformationalFragment, vi as extractTextContent, vn as evidenceCoverage, vo as GoalBoundaryAccess, vr as memoizedAsarFile, vs as ProposeOutcome, vt as CLEANUP_CONDITION_RULE_COMPACT, w as readActivationBinding, wa as hostVersionFromPackages, wc as legacyQuestionReadingIsInformational, wi as withDurability, wn as OperationVerbEntry, wo as AssetObligation, wr as readDesktopTargetGraph, ws as proposeRebindV042, wt as V6_ORDINARY_COMPLETION_RULE, x as activationBindingPath, xa as evaluateHostCapability, xc as isRestatement, xi as nativeGitParentOidVerified, xn as COMMAND_SURFACE_MANIFEST, xo as isCurrentAcceptedBoundary, xr as readAsarIndex, xs as confirmRebind, xt as MIN_RECOVERY_CHAR_BUDGET, y as ActivationMigrationReceipt, ya as evaluateExternalWaitCapability, yc as isOpenObligation, yi as extractToolSubject, yn as evidenceMatchesItem, yo as availableBoundaryQualifications, yr as memoizedAsarIndex, ys as RebindArgs, yt as CLEANUP_CONDITION_RULE_SHORT, z as RC020_RC2_HOST_PACKAGES, za as AuthorityBlock, zc as ACTION_MANIFEST, zi as PROTOCOL_V4_NOTICE, zn as TargetHostGraph, zo as ExternalOperation, zr as GitCommandAccepted, zs as RemovalOutcomeReport, zt as PROOF_PROTOCOL_VERSION } from "../index-qKK3BJW1.js";
2
- export { ACTION_MANIFEST, ACTION_MANIFEST_VERSION, ACTIVE_HOST_COHORT_ID, ACTIVE_HOST_COHORT_IDS, ACTIVE_HOST_LAUNCHER_VERSION, ActionManifest, ActionSpec, ActivationInventoryPersistence, ActivationInventorySnapshot, ActivationMigrationEntry, ActivationMigrationReceipt, ActivationMigrationSelection, ActivationPriorModes, ActiveProfileHostLock, AsarIndex, AssetInterpretationFact, AssetObligation, AssistantOutcomeObservation, AuditedExecutable, AuditedPackageExpectation, AuthorityBlock, AuthorityBlockKind, AuthorityDisposition, AuthorityKind, BASE_HOST_PACKAGES, BOUNDARY_RECORD_PREFIX, BOUNDED_ARTIFACT_TYPES, BindingActionClosure, BoundaryDisposition, BoundaryEffectuation, BoundaryQualification, BoundaryQualificationKind, BoundaryRequest, BoundedSource, CAPTURE_V042_NOTICE, CERTIFICATE_VERSION, CERTIFICATE_VERSION_V2, CLEANUP_CONDITION_RULE, CLEANUP_CONDITION_RULE_COMPACT, CLEANUP_CONDITION_RULE_SHORT, COMMAND_SURFACE_MANIFEST, CONFIRM_LINE_PATTERN, CONTROL_RECORD_PREFIX, CanonicalArgv, CanonicalCommandSurface, CapabilityFact, CapabilityGap, CapabilityRemedy, CaptureScope, CertificationSupport, CheckpointResult, ClaimedMessage, ClauseSegment, CommandSurfaceManifest, CompletionDisposition, CurrentActionBasis, DEFAULT_DELEGATION_TOOL_NAMES, DEFAULT_HOST_LOCK, DEFAULT_RECOVERY_CHAR_BUDGET, DEPENDENCY_FREE_ONLY_CONDITION, DESKTOP_IDENTITY_FACTS, DESKTOP_PROFILE_PACKAGE_NAME, DESKTOP_RUNTIME_PACKAGE_NAME, DeclaredOperationResult, DeferAuthorization, DelegationRef, DependencyStatus, DeriveConfig, DeriveResult, DeriveScope, DerivedEnvelope, DerivedProcessFacts, DesktopAppRuntime, DesktopTargetGraph, DiagnosisNextAction, DirectiveClass, EXPECTED_HOST_PACKAGES, EvidenceBinding, EvidenceFacetCoverage, EvidenceOutcome, EvidenceParseStatus, EvidenceRole, ExecutableIdentity, ExecutableIdentityBinding, Executee, ExecutionQualification, ExpectedTransition, ExternalOperation, FIRST_STEP_GUIDANCE, FirstStepInjection, FirstStepPreviewInput, GIT_COMMAND_MANIFEST_IDS, GIT_COMMAND_TEMPLATES, GOAL_HOST_PACKAGES, GRANTED_QUALIFICATION, GitAdapterAction, GitCommandAccepted, GitCommandManifest, GitCommandParseResult, GitCommandRejected, GitEffectExecution, GitEffectRunner, GitPrestateCheck, GitPrestateEnvelope, GitTargetIdentity, GoalActivationState, GoalBoundaryAccess, GoalRef, GuardBoundary, GuardCheckpoint, GuardEvidence, GuardIntegrity, GuardItem, GuardItemKind, GuardItemStatus, GuardOperation, GuardProjection, HOST_CAPABILITY_PACKAGE_GROUPS, HOST_COHORTS, HOST_VALIDATED_VERSIONS, HostAuditProvenance, HostCapabilityEvaluation, HostCapabilityId, HostCapabilityRequest, HostCohort, HostCohortSelection, HostCohortSelectionReason, HostLockContext, HostLockEvaluation, HostLockStatus, HostPlatform, HostProfileError, HostProfileKind, HostRebindTrust, HostStatus, HostToolSurface, HostTrustAcquisitionOptions, HostTrustError, HostTrustedPackage, HostVersionDecision, HostVersionStatus, InitialActivation, InterpretOptions, LATEST_TESTED_HOST_VERSION, LEGACY_QUALIFICATION, LifecyclePhase, LinearCommitReadback, MIN_RECOVERY_CHAR_BUDGET, MIN_SUPPORTED_HOST_VERSION, ManifestIssue, MessageCoverage, NATIVE_GIT_ROOT_PARENT_OID, NO_PROGRESS_RECORD_PREFIX, NO_PROGRESS_TURNS_BEFORE_STOP, NeedsReviewFact, NeedsReviewReason, OperationAttribution, OperationVerbEntry, PROOF_CAPABILITY_MATRIX, PROOF_KINDS, PROOF_KINDS_V2, PROOF_MANIFEST_DOMAIN_V2, PROOF_PROTOCOL_VERSION, PROOF_PROTOCOL_VERSION_V2, PROTOCOL_V3_NOTICE, PROTOCOL_V4_NOTICE, PROTOCOL_V5_NOTICE, PROTOCOL_V6_NOTICE, ParsedConfirmation, ParsedHostVersion, ParsedShell, PersistenceAuthorization, ProcessExitStatus, ProcessFactSource, ProcessOutcomeReason, ProofHostSurface, ProofKind, ProofKindCapability, ProofKindV2, ProofManifest, ProofManifestV2, ProofObligation, ProofObligationV2, ProofSurface, ProposeOutcome, QualificationReason, QualificationStatus, RC020_RC1_HOST_PACKAGES, RC020_RC2_HOST_PACKAGES, RebindArgs, RebindProposal, RecoveryCause, RecoveryOptions, RejectedBinding, RemovalOutcomeReport, Repairability, SEMANTIC_ACTIONS, SESSION_API_UNSUPPORTED, SESSION_EVENT_ENVELOPE_INVALID, STATEFUL_ACTIONS, STOP_PROTOCOL_VERSION, STOP_PROTOCOL_VERSION_V2, SUPPORTED_EVIDENCE_ADAPTERS, SUPPORTED_HOST_RANGE, SUPPORTED_HOST_VERSIONS, ScopeInterpretation, SemanticAction, SessionActivationBinding, SessionActivationRead, SessionApiError, SessionBirthIdentity, SessionQuery, SessionQueryV2, ShellParseStatus, SourceSpan, StatefulAction, TargetCaptureReasonCode, TargetCaptureStatus, TargetHostGraph, TargetSource, TargetSourceKind, TargetTuple, TargetValue, TaskIntent, TaskKind, ToolCallInput, ToolResultInput, ToolSubject, TurnStoppingDecision, UnifiedItemDiagnosis, UserInteractionKind, V4SessionLike, V6_ORDINARY_COMPLETION_RULE, V6_ORDINARY_COMPLETION_RULE_COMPACT, V6_ORDINARY_COMPLETION_RULE_SHORT, VerificationContract, WaitAuthorization, WorkUnit, __activationBindingInternals, acquireHostTrust, actionCompatible, actionHasCertificationPath, actionVerbMatches, activationBindingPath, activationCanonical, activationDigest, activationJson, activationSelectionPending, activeRendererModule, admissibleForRemoval, adoptActivationReceipt, applyUpgradeEligibility, assessmentAction, assessmentOutcomePredicate, auditDesktopInstalledImplementation, auditedDefaultWorkdirHost, auditedDefaultWorkdirProvider, auditedForegroundRenderers, auditedHostImplementation, authorityCaptureCounts, availableBoundaryQualifications, bindExecutableIdentity, bindLiveGoalCapability, bindProofToProjection, bindProofV2ToProjection, bindingIndividuallyAccepted, bindingSatisfies, boundedArtifactChoiceMatches, canonicalArgvFromCommand, canonicalProjection, canonicalizePath, capabilityConsequence, capabilityFactOf, capabilityRemedyPhrase, captureClause, captureItem, carriesCleanupCondition, certifyCheckpoint, claimedBatchHasRealRootInput, clarifiedSpanOf, classifyClause, classifyCompletionClaim, classifyTaskIntent, classifyUserInteraction, clauseAsksOwnQuestion, clauseIsGoverned, clauseIsProtected, cleanupConditionFor, closingHint, combineHostPolicy, commitIndexSnapshotDigest, commitTreeSnapshotDigest, compareHostVersions, confirmRebind, createActivationMigrationReceipt, createActivationSelection, createGitPrestateEnvelope, createProjection, createProofManifest, createProofManifestV2, currentActionBases, currentContractDigest, decideTurnBoundary, decideTurnStopping, decisionBoundaryKey, deriveItemDiagnosis, deriveProjection, digestStrings, effectuateBoundary, environmentDefaultRepositoryTarget, evaluateActiveHostLock, evaluateConfiguredHostLock, evaluateExternalWaitCapability, evaluateGraphDerivedHostLock, evaluateHostCapability, evaluateHostLock, evaluateMinimumHostVersion, evaluateToolSurfaceCapability, evidenceAvailabilityReason, evidenceCoverage, evidenceFromPersistedToolResult, evidenceMatchesItem, executeRevalidatedGitEffect, explanationHasActionResidue, extractArtifactPaths, extractMethod, extractOperation, extractTextContent, extractToolSubject, firstStepGuidance, firstStepGuidanceV6, gitCommandMatchesTarget, goalCompletionDenial, governedClauseRestrictsExecution, hasCurrentCertificate, hasDesktopImporterState, hasOrderedCoordination, hasQuestionScope, hasWorkPredicate, hostLockContextFromComposedDump, hostLockRowsFromComposedDump, hostTrustDigest, hostVersionFromPackages, injectActiveProfileHostLock, inspectActivationInventory, inspectDesktopTargetGraph, inspectTargetHostGraph, interpretClause, interpretMessage, introducesActionClause, isCurrentAcceptedBoundary, isDeterministicCheck, isExecutableItem, isExplanationScope, isFrozenV042RebindResponse, isInformationalFragment, isInformationalMessage, isOpenObligation, isQuestionScopeNeedingReview, isRestatement, isRootPauseRequest, isRunExecutable, isSelectedActivationReceipt, isStatefulAction, isVerifyingCapability, isWholeTaskCompletionClaim, itemDiagnosis, itemHoldsExecutionAuthority, kindOfScope, latestAssistantText, latestRootInstruction, legacyQuestionReadingIsInformational, legacyRecordsNeedingReview, lifecyclePhase, maskCodeSpans, maskQuotedSpans, memoizedAsarFile, memoizedAsarIndex, namedActions, nativeFileTwoRole, nativeGitParentOidVerified, normalizeClause, observeAssistantOutcome, openItems, opensConditionLead, opensWithDirective, packageRowsFromActiveGraph, packageRowsFromPnpmLock, parseConfirmationMessage, parseGitCommandManifest, parseHostTrust, parseHostVersion, parsePwshCommand, parseShellCommand, partialFailureOf, persistedToolResultStatus, prepareActivationMigration, prepareActiveHostTrust, prepareDesktopHostTrust, prepareSelectedActivationMigration, prepareTargetHostTrust, presentExplanationHead, previewFirstStepInjection, privateStorageToolDenial, progressFingerprint, projectCoreV2, projectSessionCoreV2, proofCapabilityReport, proofDigest, proofDigestV2, proofEvidenceConstraints, proofHostSurfacesOf, proofOperationMatches, proofV2Rejection, proposeRebind, proposeRebindOutcome, proposeRebindV042, qualificationOfClause, qualifyBoundary, qualifyHostTrust, questionHeadsClause, readActivationBinding, readActivationMigrationReceipt, readActiveHostGraph, readAsarFile, readAsarIndex, readDesktopAppRuntime, readDesktopDependency, readDesktopTargetGraph, rebindAttemptKey, rebindResponse, recoveryDigest, recoveryTitle, registryArchiveFiles, registryArchiveModules, relevantEvidence, removalIsComplete, removalIsPartiallyKnown, renderRecoveryPacket, replayRebindResult, reportingHeadGoverns, requestedIdentityKey, requestedTargetAuthorizesMutation, requestedTargetMatchesResolved, requiredSubjectsOf, resolveActivationBindingsRoot, resolveActiveProfileHostLock, resolveDesktopProfileHostLock, resolveInstalledHostLock, resolveSessionActivation, restatedContentOf, revalidateDesktopCoreLock, revalidateGitPrestate, rootLocatorFlavor, sanitizeClauseText, sanitizeUrl, satisfiesSupportedHostRange, scanActivationInventory, scopeCoverageDigest, segmentAuthorityBlocks, segmentClauses, selectHostCohort, selectedActivationInventory, semanticActionFromCommand, semanticActionFromText, semanticActionOfScope, sessionBirthIdentity, sessionQuery, sessionQueryV2, sha256, shellReadbackOutcome, snapshotSessionEvents, splitTextFragments, statefulActionsOfScope, supersedeItem, testOutcomePredicate, v6CurrentRootBoundaries, v6TestPredicate, validateActionManifest, validateActionTarget, validateActivationBinding, validateActivationInventorySnapshot, validateActivationMigrationReceipt, validateActivationSelection, validateManifest, validateProofManifest, validateProofManifestV2, verbIsNegated, verifiedLinearCommitReadback, verifyComposedHostLockDump, verifyMigrationInventory, verifySelectedMigrationInventory, withDurability, writeActivationBinding, writeDesktopRuntimeReceipt };
1
+ import { $ as assessmentOutcomePredicate, $a as CheckpointResult, $c as SUPPORTED_EVIDENCE_ADAPTERS, $i as EXPECTED_HOST_PACKAGES, $n as inspectTargetHostGraph, $o as JobLifecycleRecord, $r as executeRevalidatedGitEffect, $s as ExecutionQualification, $t as bindProofToProjection, A as InitialActivation, Aa as LATEST_TESTED_HOST_VERSION, Ac as namedActions, Ai as UnifiedItemDiagnosis, An as FirstStepPreviewInput, Ao as DeferAuthorization, Ar as HostTrustedPackage, As as replayRebindResult, At as closingHint, B as RC020_RC2_HOST_PACKAGES, Ba as AuthorityBlock, Bc as statefulActionsOfScope, Bi as PROTOCOL_V4_NOTICE, Bn as TargetHostGraph, Bo as ExpectedTransition, Br as GitCommandAccepted, Bs as ProcessFactSource, Bt as PROOF_PROTOCOL_VERSION, C as createActivationMigrationReceipt, Ca as evaluateHostLock, Cc as isQuestionScopeNeedingReview, Ci as persistedToolResultStatus, Cn as CommandSurfaceManifest, Co as qualifyBoundary, Cr as readDesktopAppRuntime, Cs as RebindProposal, Ct as RecoveryCause, D as resolveSessionActivation, Da as HOST_VALIDATED_VERSIONS, Dc as legacyQuestionReadingIsInformational, Di as DiagnosisNextAction, Dn as ClaimedMessage, Do as BoundaryDisposition, Dr as HostRebindTrust, Ds as proposeRebindV042, Dt as V6_ORDINARY_COMPLETION_RULE_SHORT, E as resolveActivationBindingsRoot, Ea as selectHostCohort, Ec as kindOfScope, Ei as CertificationSupport, En as validateManifest, Eo as BindingActionClosure, Er as writeDesktopRuntimeReceipt, Es as proposeRebindOutcome, Et as V6_ORDINARY_COMPLETION_RULE_COMPACT, F as activationDigest, Fa as compareHostVersions, Fc as questionHeadsClause, Fi as nativeFileTwoRole, Fn as lifecyclePhase, Fo as DerivedEnvelope, Fr as registryArchiveFiles, Fs as DeclaredOperationResult, Ft as v6CurrentRootBoundaries, G as AssistantOutcomeObservation, Ga as TaskIntent, Gc as ActionSpec, Gi as legacyRecordsNeedingReview, Gn as auditedHostImplementation, Go as GuardEvidence, Gr as GitEffectRunner, Gs as capabilityConsequence, Gt as ProofKindV2, H as projectSessionCoreV2, Ha as AuthorityKind, Hc as ACTION_MANIFEST, Hi as PROTOCOL_V6_NOTICE, Hn as auditedDefaultWorkdirHost, Ho as GoalRef, Hr as GitCommandParseResult, Hs as RemovalOutcomeReport, Ht as ProofHostSurface, I as activationJson, Ia as evaluateMinimumHostVersion, Ic as reportingHeadGoverns, Ii as relevantEvidence, In as previewFirstStepInjection, Io as EvidenceBinding, Ir as registryArchiveModules, Is as DependencyStatus, It as PROOF_CAPABILITY_MATRIX, J as CurrentActionBasis, Ja as classifyUserInteraction, Jc as CERTIFICATE_VERSION_V2, Ji as ACTIVE_HOST_COHORT_IDS, Jn as evaluateConfiguredHostLock, Jo as GuardItemKind, Jr as GitTargetIdentity, Js as removalIsComplete, Jt as ProofObligation, K as CONTROL_RECORD_PREFIX, Ka as UserInteractionKind, Kc as BOUNDED_ARTIFACT_TYPES, Ki as rootLocatorFlavor, Kn as combineHostPolicy, Ko as GuardIntegrity, Kr as GitPrestateCheck, Ks as capabilityFactOf, Kt as ProofManifest, L as sessionBirthIdentity, La as parseHostVersion, Lc as restatedContentOf, Li as CAPTURE_V042_NOTICE, Ln as ActiveProfileHostLock, Lo as EvidenceOutcome, Lr as GIT_COMMAND_MANIFEST_IDS, Ls as DerivedProcessFacts, Lt as PROOF_KINDS, M as SessionActivationRead, Ma as ParsedHostVersion, Mc as opensWithDirective, Mi as deriveItemDiagnosis, Mn as claimedBatchHasRealRootInput, Mo as DeriveConfig, Mr as hostTrustDigest, Ms as CapabilityGap, Mt as recoveryDigest, N as SessionBirthIdentity, Na as SUPPORTED_HOST_RANGE, Nc as presentExplanationHead, Ni as evidenceAvailabilityReason, Nn as firstStepGuidance, No as DeriveResult, Nr as parseHostTrust, Ns as CapabilityRemedy, Nt as recoveryTitle, O as validateActivationMigrationReceipt, Oa as HostVersionDecision, Oc as maskCodeSpans, Oi as Repairability, On as FIRST_STEP_GUIDANCE, Oo as BoundaryQualificationKind, Or as HostTrustAcquisitionOptions, Os as rebindAttemptKey, Ot as carriesCleanupCondition, P as activationCanonical, Pa as SUPPORTED_HOST_VERSIONS, Pc as qualificationOfClause, Pi as itemDiagnosis, Pn as firstStepGuidanceV6, Po as DeriveScope, Pr as qualifyHostTrust, Ps as DEPENDENCY_FREE_ONLY_CONDITION, Pt as renderRecoveryPacket, Q as assessmentAction, Qa as parseConfirmationMessage, Qc as STOP_PROTOCOL_VERSION_V2, Qi as DEFAULT_HOST_LOCK, Qn as inspectDesktopTargetGraph, Qo as HostStatus, Qr as createGitPrestateEnvelope, Qs as Executee, Qt as SessionQueryV2, R as validateActivationBinding, Ra as satisfiesSupportedHostRange, Rc as semanticActionOfScope, Ri as DEFAULT_DELEGATION_TOOL_NAMES, Rn as AuditedPackageExpectation, Ro as EvidenceParseStatus, Rr as GIT_COMMAND_TEMPLATES, Rs as OperationAttribution, Rt as PROOF_KINDS_V2, S as adoptActivationReceipt, Sa as evaluateHostCapability, Sc as isOpenObligation, Si as nativeGitParentOidVerified, Sn as COMMAND_SURFACE_MANIFEST, So as isCurrentAcceptedBoundary, Sr as readAsarIndex, Ss as RebindArgs, St as MIN_RECOVERY_CHAR_BUDGET, T as readActivationMigrationReceipt, Ta as hostVersionFromPackages, Tc as itemHoldsExecutionAuthority, Ti as withDurability, Tn as OperationVerbEntry, To as AssetObligation, Tr as readDesktopTargetGraph, Ts as proposeRebind, Tt as V6_ORDINARY_COMPLETION_RULE, U as projectCoreV2, Ua as authorityCaptureCounts, Uc as ACTION_MANIFEST_VERSION, Ui as applyUpgradeEligibility, Un as auditedDefaultWorkdirProvider, Uo as GuardBoundary, Ur as GitCommandRejected, Us as actionHasCertificationPath, Ut as ProofKind, V as RC020_RC1_HOST_PACKAGES, Va as AuthorityBlockKind, Vc as verbIsNegated, Vi as PROTOCOL_V5_NOTICE, Vn as activeRendererModule, Vo as ExternalOperation, Vr as GitCommandManifest, Vs as ProcessOutcomeReason, Vt as PROOF_PROTOCOL_VERSION_V2, W as supersedeItem, Wa as segmentAuthorityBlocks, Wc as ActionManifest, Wi as deriveProjection, Wn as auditedForegroundRenderers, Wo as GuardCheckpoint, Wr as GitEffectExecution, Ws as admissibleForRemoval, Wt as ProofKindCapability, X as NO_PROGRESS_TURNS_BEFORE_STOP, Xa as ParsedConfirmation, Xc as STATEFUL_ACTIONS, Xi as AuditedExecutable, Xn as hostLockRowsFromComposedDump, Xo as GuardOperation, Xr as commitIndexSnapshotDigest, Xs as AuthorityDisposition, Xt as ProofSurface, Y as NO_PROGRESS_RECORD_PREFIX, Ya as CONFIRM_LINE_PATTERN, Yc as SEMANTIC_ACTIONS, Yi as ACTIVE_HOST_LAUNCHER_VERSION, Yn as hostLockContextFromComposedDump, Yo as GuardItemStatus, Yr as LinearCommitReadback, Ys as removalIsPartiallyKnown, Yt as ProofObligationV2, Z as TurnStoppingDecision, Za as isFrozenV042RebindResponse, Zc as STOP_PROTOCOL_VERSION, Zi as BASE_HOST_PACKAGES, Zn as injectActiveProfileHostLock, Zo as GuardProjection, Zr as commitTreeSnapshotDigest, Zs as DirectiveClass, Zt as SessionQuery, _ as verifyMigrationInventory, _a as HostToolSurface, _c as interpretMessage, _i as ToolSubject, _l as sha256, _n as EvidenceFacetCoverage, _o as BoundaryRequest, _r as auditDesktopInstalledImplementation, _t as snapshotSessionEvents, a as isSelectedActivationReceipt, aa as HostAuditProvenance, ac as ScopeInterpretation, ai as CanonicalCommandSurface, al as requestedIdentityKey, an as proofDigest, ao as captureClause, ar as readActiveHostGraph, as as TargetCaptureReasonCode, at as isRootPauseRequest, b as __activationBindingInternals, ba as evaluateExternalWaitCapability, bc as isExplanationScope, bi as extractToolSubject, bn as evidenceMatchesItem, bo as availableBoundaryQualifications, br as memoizedAsarIndex, bs as BoundedSource, bt as CLEANUP_CONDITION_RULE_SHORT, c as selectedActivationInventory, ca as HostCapabilityRequest, cc as clauseAsksOwnQuestion, ci as canonicalArgvFromCommand, cl as semanticActionFromCommand, cn as proofHostSurfacesOf, co as environmentDefaultRepositoryTarget, cr as resolveInstalledHostLock, cs as TargetSourceKind, ct as latestRootInstruction, d as verifySelectedMigrationInventory, da as HostCohortSelectionReason, dc as explanationHasActionResidue, di as parseShellCommand, dl as validateActionTarget, dn as requiredSubjectsOf, do as extractOperation, dr as AsarIndex, ds as VerificationContract, dt as testOutcomePredicate, ea as ExecutableIdentity, ec as GRANTED_QUALIFICATION, ei as gitCommandMatchesTarget, el as SemanticAction, en as bindProofV2ToProjection, eo as RejectedBinding, er as packageRowsFromActiveGraph, es as MessageCoverage, et as classifyCompletionClaim, f as privateStorageToolDenial, fa as HostLockContext, fc as governedClauseRestrictsExecution, fi as goalCompletionDenial, fl as canonicalizePath, fn as scopeCoverageDigest, fo as isInformationalMessage, fr as DESKTOP_IDENTITY_FACTS, fs as WaitAuthorization, ft as v6TestPredicate, g as prepareActivationMigration, ga as HostProfileKind, gc as interpretClause, gi as ToolResultInput, gl as sanitizeUrl, gn as validateProofManifestV2, go as BoundaryQualification, gr as DesktopTargetGraph, gt as V4SessionLike, h as inspectActivationInventory, ha as HostPlatform, hc as hasWorkPredicate, hi as ToolCallInput, hl as sanitizeClauseText, hn as validateProofManifest, ho as BoundaryEffectuation, hr as DesktopAppRuntime, ht as SessionApiError, i as createActivationSelection, ia as HOST_COHORTS, ic as QualificationStatus, ii as CanonicalArgv, il as isStatefulAction, in as proofCapabilityReport, io as ClauseSegment, ir as prepareTargetHostTrust, is as SourceSpan, it as decisionBoundaryKey, j as SessionActivationBinding, ja as MIN_SUPPORTED_HOST_VERSION, jc as opensConditionLead, ji as capabilityRemedyPhrase, jn as LifecyclePhase, jo as DelegationRef, jr as acquireHostTrust, js as CapabilityFact, jt as openItems, k as writeActivationBinding, ka as HostVersionStatus, kc as maskQuotedSpans, ki as TaskKind, kn as FirstStepInjection, ko as CwdEpoch, kr as HostTrustError, ks as rebindResponse, kt as cleanupConditionFor, l as validateActivationInventorySnapshot, la as HostCohort, lc as clauseIsGoverned, li as isRunExecutable, ll as semanticActionFromText, ln as proofOperationMatches, lo as extractArtifactPaths, lr as revalidateDesktopCoreLock, ls as TargetTuple, lt as observeAssistantOutcome, m as ActivationPriorModes, ma as HostLockStatus, mc as hasQuestionScope, mi as NATIVE_GIT_ROOT_PARENT_OID, ml as normalizeClause, mn as sessionQueryV2, mo as BOUNDARY_RECORD_PREFIX, mr as DESKTOP_RUNTIME_PACKAGE_NAME, ms as createProjection, mt as SESSION_EVENT_ENVELOPE_INVALID, n as ActivationMigrationSelection, na as GOAL_HOST_PACKAGES, nc as LEGACY_QUALIFICATION, ni as revalidateGitPrestate, nl as actionCompatible, nn as createProofManifest, no as certifyCheckpoint, nr as prepareActiveHostTrust, ns as NeedsReviewReason, nt as decideTurnBoundary, o as prepareSelectedActivationMigration, oa as HostCapabilityEvaluation, oc as actionVerbMatches, oi as ParsedShell, ol as requestedTargetAuthorizesMutation, on as proofDigestV2, oo as captureItem, or as resolveActiveProfileHostLock, os as TargetCaptureStatus, ot as isWholeTaskCompletionClaim, p as ActivationInventoryPersistence, pa as HostLockEvaluation, pc as hasOrderedCoordination, pi as hasCurrentCertificate, pl as digestStrings, pn as sessionQuery, po as segmentClauses, pr as DESKTOP_PROFILE_PACKAGE_NAME, ps as WorkUnit, pt as SESSION_API_UNSUPPORTED, q as CompletionDisposition, qa as classifyTaskIntent, qc as CERTIFICATE_VERSION, qi as ACTIVE_HOST_COHORT_ID, qn as evaluateActiveHostLock, qo as GuardItem, qr as GitPrestateEnvelope, qs as partialFailureOf, qt as ProofManifestV2, r as activationSelectionPending, ra as HOST_CAPABILITY_PACKAGE_GROUPS, rc as QualificationReason, ri as verifiedLinearCommitReadback, rl as boundedArtifactChoiceMatches, rn as createProofManifestV2, ro as CaptureScope, rr as prepareDesktopHostTrust, rs as PersistenceAuthorization, rt as decideTurnStopping, s as scanActivationInventory, sa as HostCapabilityId, sc as clarifiedSpanOf, si as ShellParseStatus, sl as requestedTargetMatchesResolved, sn as proofEvidenceConstraints, so as classifyClause, sr as resolveDesktopProfileHostLock, ss as TargetSource, st as latestAssistantText, t as ActivationInventorySnapshot, ta as ExecutableIdentityBinding, tc as InterpretOptions, ti as parseGitCommandManifest, tl as StatefulAction, tn as canonicalProjection, to as bindingIndividuallyAccepted, tr as packageRowsFromPnpmLock, ts as NeedsReviewFact, tt as currentActionBases, u as validateActivationSelection, ua as HostCohortSelection, uc as clauseIsProtected, ui as parsePwshCommand, ul as validateActionManifest, un as proofV2Rejection, uo as extractMethod, ur as verifyComposedHostLockDump, us as TargetValue, ut as progressFingerprint, v as ActivationMigrationEntry, va as bindExecutableIdentity, vc as introducesActionClause, vi as evidenceFromPersistedToolResult, vn as bindingSatisfies, vo as GoalActivationState, vr as hasDesktopImporterState, vt as CLEANUP_CONDITION_RULE, w as readActivationBinding, wa as evaluateToolSurfaceCapability, wc as isRestatement, wi as shellReadbackOutcome, wn as ManifestIssue, wo as AssetInterpretationFact, wr as readDesktopDependency, ws as confirmRebind, wt as RecoveryOptions, x as activationBindingPath, xa as evaluateGraphDerivedHostLock, xc as isInformationalFragment, xi as isDeterministicCheck, xn as isVerifyingCapability, xo as effectuateBoundary, xr as readAsarFile, xs as ProposeOutcome, xt as DEFAULT_RECOVERY_CHAR_BUDGET, y as ActivationMigrationReceipt, ya as bindLiveGoalCapability, yc as isExecutableItem, yi as extractTextContent, yn as evidenceCoverage, yo as GoalBoundaryAccess, yr as memoizedAsarFile, yt as CLEANUP_CONDITION_RULE_COMPACT, z as RC021_RC2_HOST_PACKAGES, za as currentContractDigest, zc as splitTextFragments, zi as PROTOCOL_V3_NOTICE, zn as HostProfileError, zo as EvidenceRole, zr as GitAdapterAction, zs as ProcessExitStatus, zt as PROOF_MANIFEST_DOMAIN_V2 } from "../index-rCqdIg5B.js";
2
+ export { ACTION_MANIFEST, ACTION_MANIFEST_VERSION, ACTIVE_HOST_COHORT_ID, ACTIVE_HOST_COHORT_IDS, ACTIVE_HOST_LAUNCHER_VERSION, ActionManifest, ActionSpec, ActivationInventoryPersistence, ActivationInventorySnapshot, ActivationMigrationEntry, ActivationMigrationReceipt, ActivationMigrationSelection, ActivationPriorModes, ActiveProfileHostLock, AsarIndex, AssetInterpretationFact, AssetObligation, AssistantOutcomeObservation, AuditedExecutable, AuditedPackageExpectation, AuthorityBlock, AuthorityBlockKind, AuthorityDisposition, AuthorityKind, BASE_HOST_PACKAGES, BOUNDARY_RECORD_PREFIX, BOUNDED_ARTIFACT_TYPES, BindingActionClosure, BoundaryDisposition, BoundaryEffectuation, BoundaryQualification, BoundaryQualificationKind, BoundaryRequest, BoundedSource, CAPTURE_V042_NOTICE, CERTIFICATE_VERSION, CERTIFICATE_VERSION_V2, CLEANUP_CONDITION_RULE, CLEANUP_CONDITION_RULE_COMPACT, CLEANUP_CONDITION_RULE_SHORT, COMMAND_SURFACE_MANIFEST, CONFIRM_LINE_PATTERN, CONTROL_RECORD_PREFIX, CanonicalArgv, CanonicalCommandSurface, CapabilityFact, CapabilityGap, CapabilityRemedy, CaptureScope, CertificationSupport, CheckpointResult, ClaimedMessage, ClauseSegment, CommandSurfaceManifest, CompletionDisposition, CurrentActionBasis, CwdEpoch, DEFAULT_DELEGATION_TOOL_NAMES, DEFAULT_HOST_LOCK, DEFAULT_RECOVERY_CHAR_BUDGET, DEPENDENCY_FREE_ONLY_CONDITION, DESKTOP_IDENTITY_FACTS, DESKTOP_PROFILE_PACKAGE_NAME, DESKTOP_RUNTIME_PACKAGE_NAME, DeclaredOperationResult, DeferAuthorization, DelegationRef, DependencyStatus, DeriveConfig, DeriveResult, DeriveScope, DerivedEnvelope, DerivedProcessFacts, DesktopAppRuntime, DesktopTargetGraph, DiagnosisNextAction, DirectiveClass, EXPECTED_HOST_PACKAGES, EvidenceBinding, EvidenceFacetCoverage, EvidenceOutcome, EvidenceParseStatus, EvidenceRole, ExecutableIdentity, ExecutableIdentityBinding, Executee, ExecutionQualification, ExpectedTransition, ExternalOperation, FIRST_STEP_GUIDANCE, FirstStepInjection, FirstStepPreviewInput, GIT_COMMAND_MANIFEST_IDS, GIT_COMMAND_TEMPLATES, GOAL_HOST_PACKAGES, GRANTED_QUALIFICATION, GitAdapterAction, GitCommandAccepted, GitCommandManifest, GitCommandParseResult, GitCommandRejected, GitEffectExecution, GitEffectRunner, GitPrestateCheck, GitPrestateEnvelope, GitTargetIdentity, GoalActivationState, GoalBoundaryAccess, GoalRef, GuardBoundary, GuardCheckpoint, GuardEvidence, GuardIntegrity, GuardItem, GuardItemKind, GuardItemStatus, GuardOperation, GuardProjection, HOST_CAPABILITY_PACKAGE_GROUPS, HOST_COHORTS, HOST_VALIDATED_VERSIONS, HostAuditProvenance, HostCapabilityEvaluation, HostCapabilityId, HostCapabilityRequest, HostCohort, HostCohortSelection, HostCohortSelectionReason, HostLockContext, HostLockEvaluation, HostLockStatus, HostPlatform, HostProfileError, HostProfileKind, HostRebindTrust, HostStatus, HostToolSurface, HostTrustAcquisitionOptions, HostTrustError, HostTrustedPackage, HostVersionDecision, HostVersionStatus, InitialActivation, InterpretOptions, JobLifecycleRecord, LATEST_TESTED_HOST_VERSION, LEGACY_QUALIFICATION, LifecyclePhase, LinearCommitReadback, MIN_RECOVERY_CHAR_BUDGET, MIN_SUPPORTED_HOST_VERSION, ManifestIssue, MessageCoverage, NATIVE_GIT_ROOT_PARENT_OID, NO_PROGRESS_RECORD_PREFIX, NO_PROGRESS_TURNS_BEFORE_STOP, NeedsReviewFact, NeedsReviewReason, OperationAttribution, OperationVerbEntry, PROOF_CAPABILITY_MATRIX, PROOF_KINDS, PROOF_KINDS_V2, PROOF_MANIFEST_DOMAIN_V2, PROOF_PROTOCOL_VERSION, PROOF_PROTOCOL_VERSION_V2, PROTOCOL_V3_NOTICE, PROTOCOL_V4_NOTICE, PROTOCOL_V5_NOTICE, PROTOCOL_V6_NOTICE, ParsedConfirmation, ParsedHostVersion, ParsedShell, PersistenceAuthorization, ProcessExitStatus, ProcessFactSource, ProcessOutcomeReason, ProofHostSurface, ProofKind, ProofKindCapability, ProofKindV2, ProofManifest, ProofManifestV2, ProofObligation, ProofObligationV2, ProofSurface, ProposeOutcome, QualificationReason, QualificationStatus, RC020_RC1_HOST_PACKAGES, RC020_RC2_HOST_PACKAGES, RC021_RC2_HOST_PACKAGES, RebindArgs, RebindProposal, RecoveryCause, RecoveryOptions, RejectedBinding, RemovalOutcomeReport, Repairability, SEMANTIC_ACTIONS, SESSION_API_UNSUPPORTED, SESSION_EVENT_ENVELOPE_INVALID, STATEFUL_ACTIONS, STOP_PROTOCOL_VERSION, STOP_PROTOCOL_VERSION_V2, SUPPORTED_EVIDENCE_ADAPTERS, SUPPORTED_HOST_RANGE, SUPPORTED_HOST_VERSIONS, ScopeInterpretation, SemanticAction, SessionActivationBinding, SessionActivationRead, SessionApiError, SessionBirthIdentity, SessionQuery, SessionQueryV2, ShellParseStatus, SourceSpan, StatefulAction, TargetCaptureReasonCode, TargetCaptureStatus, TargetHostGraph, TargetSource, TargetSourceKind, TargetTuple, TargetValue, TaskIntent, TaskKind, ToolCallInput, ToolResultInput, ToolSubject, TurnStoppingDecision, UnifiedItemDiagnosis, UserInteractionKind, V4SessionLike, V6_ORDINARY_COMPLETION_RULE, V6_ORDINARY_COMPLETION_RULE_COMPACT, V6_ORDINARY_COMPLETION_RULE_SHORT, VerificationContract, WaitAuthorization, WorkUnit, __activationBindingInternals, acquireHostTrust, actionCompatible, actionHasCertificationPath, actionVerbMatches, activationBindingPath, activationCanonical, activationDigest, activationJson, activationSelectionPending, activeRendererModule, admissibleForRemoval, adoptActivationReceipt, applyUpgradeEligibility, assessmentAction, assessmentOutcomePredicate, auditDesktopInstalledImplementation, auditedDefaultWorkdirHost, auditedDefaultWorkdirProvider, auditedForegroundRenderers, auditedHostImplementation, authorityCaptureCounts, availableBoundaryQualifications, bindExecutableIdentity, bindLiveGoalCapability, bindProofToProjection, bindProofV2ToProjection, bindingIndividuallyAccepted, bindingSatisfies, boundedArtifactChoiceMatches, canonicalArgvFromCommand, canonicalProjection, canonicalizePath, capabilityConsequence, capabilityFactOf, capabilityRemedyPhrase, captureClause, captureItem, carriesCleanupCondition, certifyCheckpoint, claimedBatchHasRealRootInput, clarifiedSpanOf, classifyClause, classifyCompletionClaim, classifyTaskIntent, classifyUserInteraction, clauseAsksOwnQuestion, clauseIsGoverned, clauseIsProtected, cleanupConditionFor, closingHint, combineHostPolicy, commitIndexSnapshotDigest, commitTreeSnapshotDigest, compareHostVersions, confirmRebind, createActivationMigrationReceipt, createActivationSelection, createGitPrestateEnvelope, createProjection, createProofManifest, createProofManifestV2, currentActionBases, currentContractDigest, decideTurnBoundary, decideTurnStopping, decisionBoundaryKey, deriveItemDiagnosis, deriveProjection, digestStrings, effectuateBoundary, environmentDefaultRepositoryTarget, evaluateActiveHostLock, evaluateConfiguredHostLock, evaluateExternalWaitCapability, evaluateGraphDerivedHostLock, evaluateHostCapability, evaluateHostLock, evaluateMinimumHostVersion, evaluateToolSurfaceCapability, evidenceAvailabilityReason, evidenceCoverage, evidenceFromPersistedToolResult, evidenceMatchesItem, executeRevalidatedGitEffect, explanationHasActionResidue, extractArtifactPaths, extractMethod, extractOperation, extractTextContent, extractToolSubject, firstStepGuidance, firstStepGuidanceV6, gitCommandMatchesTarget, goalCompletionDenial, governedClauseRestrictsExecution, hasCurrentCertificate, hasDesktopImporterState, hasOrderedCoordination, hasQuestionScope, hasWorkPredicate, hostLockContextFromComposedDump, hostLockRowsFromComposedDump, hostTrustDigest, hostVersionFromPackages, injectActiveProfileHostLock, inspectActivationInventory, inspectDesktopTargetGraph, inspectTargetHostGraph, interpretClause, interpretMessage, introducesActionClause, isCurrentAcceptedBoundary, isDeterministicCheck, isExecutableItem, isExplanationScope, isFrozenV042RebindResponse, isInformationalFragment, isInformationalMessage, isOpenObligation, isQuestionScopeNeedingReview, isRestatement, isRootPauseRequest, isRunExecutable, isSelectedActivationReceipt, isStatefulAction, isVerifyingCapability, isWholeTaskCompletionClaim, itemDiagnosis, itemHoldsExecutionAuthority, kindOfScope, latestAssistantText, latestRootInstruction, legacyQuestionReadingIsInformational, legacyRecordsNeedingReview, lifecyclePhase, maskCodeSpans, maskQuotedSpans, memoizedAsarFile, memoizedAsarIndex, namedActions, nativeFileTwoRole, nativeGitParentOidVerified, normalizeClause, observeAssistantOutcome, openItems, opensConditionLead, opensWithDirective, packageRowsFromActiveGraph, packageRowsFromPnpmLock, parseConfirmationMessage, parseGitCommandManifest, parseHostTrust, parseHostVersion, parsePwshCommand, parseShellCommand, partialFailureOf, persistedToolResultStatus, prepareActivationMigration, prepareActiveHostTrust, prepareDesktopHostTrust, prepareSelectedActivationMigration, prepareTargetHostTrust, presentExplanationHead, previewFirstStepInjection, privateStorageToolDenial, progressFingerprint, projectCoreV2, projectSessionCoreV2, proofCapabilityReport, proofDigest, proofDigestV2, proofEvidenceConstraints, proofHostSurfacesOf, proofOperationMatches, proofV2Rejection, proposeRebind, proposeRebindOutcome, proposeRebindV042, qualificationOfClause, qualifyBoundary, qualifyHostTrust, questionHeadsClause, readActivationBinding, readActivationMigrationReceipt, readActiveHostGraph, readAsarFile, readAsarIndex, readDesktopAppRuntime, readDesktopDependency, readDesktopTargetGraph, rebindAttemptKey, rebindResponse, recoveryDigest, recoveryTitle, registryArchiveFiles, registryArchiveModules, relevantEvidence, removalIsComplete, removalIsPartiallyKnown, renderRecoveryPacket, replayRebindResult, reportingHeadGoverns, requestedIdentityKey, requestedTargetAuthorizesMutation, requestedTargetMatchesResolved, requiredSubjectsOf, resolveActivationBindingsRoot, resolveActiveProfileHostLock, resolveDesktopProfileHostLock, resolveInstalledHostLock, resolveSessionActivation, restatedContentOf, revalidateDesktopCoreLock, revalidateGitPrestate, rootLocatorFlavor, sanitizeClauseText, sanitizeUrl, satisfiesSupportedHostRange, scanActivationInventory, scopeCoverageDigest, segmentAuthorityBlocks, segmentClauses, selectHostCohort, selectedActivationInventory, semanticActionFromCommand, semanticActionFromText, semanticActionOfScope, sessionBirthIdentity, sessionQuery, sessionQueryV2, sha256, shellReadbackOutcome, snapshotSessionEvents, splitTextFragments, statefulActionsOfScope, supersedeItem, testOutcomePredicate, v6CurrentRootBoundaries, v6TestPredicate, validateActionManifest, validateActionTarget, validateActivationBinding, validateActivationInventorySnapshot, validateActivationMigrationReceipt, validateActivationSelection, validateManifest, validateProofManifest, validateProofManifestV2, verbIsNegated, verifiedLinearCommitReadback, verifyComposedHostLockDump, verifyMigrationInventory, verifySelectedMigrationInventory, withDurability, writeActivationBinding, writeDesktopRuntimeReceipt };