dsh-completion-guard 0.3.1 → 0.4.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 +48 -10
- package/CHANGELOG.zh-CN.md +48 -10
- package/README.md +49 -59
- package/README.zh-CN.md +50 -60
- package/dist/domain/index.d.ts +2 -2
- package/dist/domain/index.js +2 -2
- package/dist/{domain-CBvBQHTL.js → domain-CHTQFIT8.js} +941 -217
- package/dist/{index-GvKLkTqV.d.ts → index-AtjJOrK8.d.ts} +134 -12
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/docs/ARCHITECTURE.md +1 -1
- package/docs/COMPATIBILITY.md +144 -11
- package/docs/LOCAL_ACCEPTANCE.md +147 -0
- package/docs/PORTING_NOTES.md +13 -3
- package/docs/SEMANTIC_COMPATIBILITY.md +20 -16
- package/docs/UPSTREAM_BASE.md +8 -1
- package/docs/distribution.md +44 -18
- package/docs/upstream-deltas.json +3 -3
- package/manifests/supported-host.v1.json +903 -59
- package/package.json +10 -10
package/docs/LOCAL_ACCEPTANCE.md
CHANGED
|
@@ -2,6 +2,98 @@
|
|
|
2
2
|
|
|
3
3
|
Each section names its evidence boundary. Deterministic checks, isolated DSH_HOME composition, native-platform lifecycle runs, model sessions, CI, and public release readback are separate claims; none substitutes for another.
|
|
4
4
|
|
|
5
|
+
## v0.4.0 release contract and pre-release history (2026-09-02)
|
|
6
|
+
|
|
7
|
+
Version 0.4.0 targets DSH `0.1.2-alpha.3` with dshmarket `1.39.0` and Cordis `4.0.2`. The repository does not place a candidate's own commit, checksum, or public status inside that candidate's packaged documentation: those facts are generated after the package bytes are frozen and are attached to the GitHub Release.
|
|
8
|
+
|
|
9
|
+
| Gate | Required evidence and location |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Source and CI | one clean release commit; repository matrix plus Ubuntu, macOS, and Windows Node.js 22/24 CI |
|
|
12
|
+
| Exact artifact | one deterministic 26-file tgz; full `gitHead`, SHA-256, npm shasum, integrity, size, and file count in `release-artifact.json` and `SHA256SUMS.txt` |
|
|
13
|
+
| Native macOS and Windows | the same tgz on both platforms; separate machine-readable annexes covering isolated Web and Headless lifecycle, host-lock, restart, daily-profile preservation, and cleanup |
|
|
14
|
+
| Tag, npm, and GitHub Release | annotated tag, npm manifest and downloaded package, Release target and assets, and anonymous public readback all resolve to the same commit and bytes |
|
|
15
|
+
| Daily-profile upgrade | separate from release acceptance; never implied by a passing artifact run |
|
|
16
|
+
|
|
17
|
+
### Superseded pre-release artifacts
|
|
18
|
+
|
|
19
|
+
The first 26-file candidate, SHA-256 `33757ce11633ac167fa9c5a6fdb7a8938578fcb871edd9afdb2f89dcb51b4316`, was built from implementation baseline `ffc6fe9e1246a815f0bb630943c59d14b6505716`. Native macOS passed. Native Windows reached the restart endpoint but did not prove a changed boot ID, so its Headless phase correctly remained unrun. That candidate was superseded when packaged documentation changed.
|
|
20
|
+
|
|
21
|
+
The next 26-file candidate, SHA-256 `f3489e0f1edbb81e0ebdbd33e43a14e46913496cb3e1c799115143a70d2ab4c9`, was built from `ae20bffd06af45d4a0c60519f5ab7a7af6076ec8`. Its exact bytes passed isolated native macOS and Windows Web and Headless acceptance; the Windows R2 record contained 25 passing gates. Publication was still rejected because the package itself repeated the superseded candidate's blocked status and said another package still had to be built. That documentation defect is why a later release candidate is required; the native results remain valid only for `f3489e0f...`.
|
|
22
|
+
|
|
23
|
+
## v0.3.2 release gates (2026-09-01, passed)
|
|
24
|
+
|
|
25
|
+
The release candidate is commit
|
|
26
|
+
`22cde6106cdca511265bb4103375a263a0762b9c`. Its frozen
|
|
27
|
+
`dsh-completion-guard-0.3.2.tgz` contains 26 files, is 181157 bytes, and has
|
|
28
|
+
SHA-256
|
|
29
|
+
`feb7fc29799820e08dfe6d2bdb94823e745df9b5aa7c34d46262e5df30dabac4`.
|
|
30
|
+
The package manifest carries the same full commit as `gitHead`. Candidate CI
|
|
31
|
+
run 33461879125 passed Ubuntu, macOS, and Windows on Node.js 22 and 24.
|
|
32
|
+
|
|
33
|
+
Those exact package bytes passed the required isolated Web and Headless
|
|
34
|
+
lifecycle on native Windows and macOS: artifact and commit parity, clean
|
|
35
|
+
install, strict Web reinstall no-op, installed-file parity, complete 34-row
|
|
36
|
+
host checks, plugin load and configuration readback, real Web restart with
|
|
37
|
+
403 rejection and 202 acceptance, changed boot ID, HTTP recovery, intentional
|
|
38
|
+
Headless `MISSING_CREDENTIAL`, and scoped cleanup. The platform-specific host
|
|
39
|
+
digests differ because platform identity is part of the lock; both match their
|
|
40
|
+
own complete checked package graph. The optional credentialed model-session
|
|
41
|
+
gate was not run and is not claimed.
|
|
42
|
+
|
|
43
|
+
`inspect` and `verify-dump` answer different questions. `inspect` reports
|
|
44
|
+
whether the active runtime and profile package graph is a supported complete
|
|
45
|
+
set, so it can correctly return `supported` before injection. The pre-injection
|
|
46
|
+
fail-closed check comes from reading the composed config and from
|
|
47
|
+
`verify-dump`, which rejects missing or mismatched injected host-lock data.
|
|
48
|
+
|
|
49
|
+
The annotated `v0.3.2` tag has tag-object SHA
|
|
50
|
+
`753fd9625c58c03de2660464c7f7c86462a42eb1` and peels to the release commit
|
|
51
|
+
above. Tag CI run 33474979019 passed the same six Ubuntu, macOS, and Windows
|
|
52
|
+
Node.js 22/24 combinations. npm published this exact tgz at
|
|
53
|
+
`2026-09-01T05:54:28.309Z`; anonymous registry readback returned
|
|
54
|
+
`latest=0.3.2`, the expected `gitHead`, shasum and integrity, and a fresh
|
|
55
|
+
download was byte-identical to the frozen file.
|
|
56
|
+
|
|
57
|
+
The non-draft, non-prerelease
|
|
58
|
+
[`v0.3.2` GitHub Release](https://github.com/GreenLv/dsh-completion-guard/releases/tag/v0.3.2)
|
|
59
|
+
was published at `2026-09-01T05:56:24Z`. Its 181157-byte tgz and 97-byte
|
|
60
|
+
`SHA256SUMS.txt` have GitHub asset digests
|
|
61
|
+
`sha256:feb7fc29799820e08dfe6d2bdb94823e745df9b5aa7c34d46262e5df30dabac4`
|
|
62
|
+
and
|
|
63
|
+
`sha256:82f839d3ccf5f429b10ae18cc54350379097f0f59b01a462ed222a869886a451`.
|
|
64
|
+
Anonymous downloads of both assets were byte-identical to the frozen files.
|
|
65
|
+
|
|
66
|
+
This section is a post-candidate evidence record and is not part of the
|
|
67
|
+
accepted tgz. Changing the package bytes or release commit would still require
|
|
68
|
+
new artifact and native-platform acceptance. Consumer pin and managed runtime
|
|
69
|
+
installation remain separate actions.
|
|
70
|
+
|
|
71
|
+
### Earlier source and host-cohort gates
|
|
72
|
+
|
|
73
|
+
Version 0.3.2 lets the Guard recognize either of two complete DSH package sets. It never combines packages from different sets, and a missing or mismatched package leaves the whole host unavailable. The initial host-cohort checks below were run on macOS from a working tree based on `844b62848c1e2685e0574b660dc4546b6bf6dbac`, which was `origin/main` when implementation began. They cover source behavior, not a release artifact.
|
|
74
|
+
|
|
75
|
+
A later native Windows release-pack run exposed an archive-extraction portability defect: the packer passed absolute archive paths to tar. Commit `a3e77de6d8260f16f0723491495cacab57b9f62d` now runs tar from the temporary package directory with relative archive and output paths. GitHub Actions run `33413968461` passed that exact fix on Ubuntu, macOS, and Windows with Node.js 22 and 24. This is CI evidence for the packaging fix, not native alpha.2 host acceptance or final documentation-inclusive artifact evidence.
|
|
76
|
+
|
|
77
|
+
Package sets checked:
|
|
78
|
+
|
|
79
|
+
- The `dsh-0.1.1-rc.2` set has the same 34 package rows used by 0.3.1 and already checked on macOS and Windows.
|
|
80
|
+
- The `dsh-0.1.2-alpha.2` set contains 34 exact package name, version, and integrity rows originally extracted from the active macOS runtime and Web profile with dshmarket `1.38.1`, then matched in full on native Windows. Tests confirm that the TypeScript and JSON copies match.
|
|
81
|
+
- A source comparison found no change in the session events, Goal calls, tool definitions, or terminal results that the Guard uses. Internal DSH changes outside those inputs are not treated as compatibility evidence.
|
|
82
|
+
|
|
83
|
+
Verified source gates (macOS, Node.js 25.1.0, pnpm 11.x):
|
|
84
|
+
|
|
85
|
+
- Type checking, lint, build, and `git diff --check` pass. The 20-file suite passes 359 tests and skips one Windows-only test on macOS.
|
|
86
|
+
- `pnpm run pack:check` lists the expected 26 package files. `pnpm run test:release-pack` passes exact-commit binding, repeatable package output, dirty-tree rejection, and the portable relative-path extraction flow; it does not establish a final release artifact from the current documentation-inclusive tree.
|
|
87
|
+
- Read-only checking against the daily macOS Web profile reports `dsh-0.1.2-alpha.2` as supported with all 34 rows, Web control, and Goal support. The installed 0.2.1 plugin still rejects a generator-version mismatch as expected.
|
|
88
|
+
|
|
89
|
+
Native Windows source evidence (2026-09-01, PowerShell 5.1):
|
|
90
|
+
|
|
91
|
+
- Fresh checkout `a3e77de6d8260f16f0723491495cacab57b9f62d` passed install, build, release-pack (2/2), and `git diff --check`.
|
|
92
|
+
- The active DSH `0.1.2-alpha.2` / dshmarket `1.38.1` graph matched all 34 candidate rows; missing, extra, and duplicate counts were zero. This authorizes the Windows cohort registration, but it is source/host evidence rather than final package evidence.
|
|
93
|
+
|
|
94
|
+
The frozen artifact above closes the package and native-platform lifecycle
|
|
95
|
+
gates. Release mutation and public readback remain separate.
|
|
96
|
+
|
|
5
97
|
## v0.3.1 release-repair gates
|
|
6
98
|
|
|
7
99
|
Version 0.3.1 preserves the v0.3 runtime and digest behavior while repairing
|
|
@@ -22,6 +114,61 @@ host-lock, real restart, HTTP recovery, and cleanup lifecycle on native macOS
|
|
|
22
114
|
and Windows before publication. CI, native-platform evidence, registry
|
|
23
115
|
publication, tag identity, and GitHub Release remain separate gates.
|
|
24
116
|
|
|
117
|
+
### v0.3.1 completed public release (2026-08-31)
|
|
118
|
+
|
|
119
|
+
The release commit is
|
|
120
|
+
`00ed5c6456e15f0859c1ef7731157d07a3903af9`. Candidate CI run
|
|
121
|
+
33349603269, main CI run 33351918318, and tag CI run 33352017747 each
|
|
122
|
+
passed the six Ubuntu, macOS, and Windows combinations for Node.js 22 and
|
|
123
|
+
24. Public `main` readback returned the same commit. Annotated tag `v0.3.1`
|
|
124
|
+
has tag-object SHA `88e6842b289a0bf0df68fcc25d09e5358d7f457d` and peels to that release
|
|
125
|
+
commit.
|
|
126
|
+
|
|
127
|
+
The frozen `dsh-completion-guard-0.3.1.tgz` contains 26 files and is 172923
|
|
128
|
+
bytes. Its identities are:
|
|
129
|
+
|
|
130
|
+
- SHA-256
|
|
131
|
+
`df3c0cae29fdfa0014d5cfdb6ade72c42386555779f9f4d8b59e37a2557c5d7e`;
|
|
132
|
+
- npm shasum `b09f3844de9d957b5e15aa432833baf978483c55`;
|
|
133
|
+
- npm integrity
|
|
134
|
+
`sha512-TgCFFzIoj4tpDKIGr3QrgVjUq+nPySEFWS3f9RJR9VuNqBiWUvOBZrzS5QSd4+jXp3ug7uq91fPgdh44yVROcw==`;
|
|
135
|
+
- staged manifest `gitHead`
|
|
136
|
+
`00ed5c6456e15f0859c1ef7731157d07a3903af9`.
|
|
137
|
+
|
|
138
|
+
That exact tgz passed isolated Web and Headless installation, strict second
|
|
139
|
+
Web-install no-op, 26-of-26 package-byte parity, commit-blob parity, host-lock
|
|
140
|
+
inspection/injection/dump verification, package import, intentional Headless
|
|
141
|
+
`MISSING_CREDENTIAL`, fixed-port restart, HTTP recovery, and scoped cleanup on
|
|
142
|
+
native macOS. Native Windows repeated the same exact-artifact lifecycle under
|
|
143
|
+
an isolated supported DSH `0.1.1-rc.2` runtime after the daily runtime had
|
|
144
|
+
advanced to an unsupported alpha cohort; the fail-closed version mismatch and
|
|
145
|
+
the isolated rerun are both recorded in the Windows annex. The reported annex
|
|
146
|
+
is 45531 bytes with SHA-256
|
|
147
|
+
`5b46cac12973c287dd72445f7d0b118d91a9329d77fae1ad56e756f24a99365c`.
|
|
148
|
+
The raw Windows annex remains on the Windows host, so this repository records
|
|
149
|
+
its immutable identity and bounded result rather than claiming an independent
|
|
150
|
+
macOS read of that file.
|
|
151
|
+
|
|
152
|
+
The exact tgz was published as
|
|
153
|
+
[`dsh-completion-guard@0.3.1`](https://www.npmjs.com/package/dsh-completion-guard/v/0.3.1).
|
|
154
|
+
Anonymous registry readback returned `latest=0.3.1`, the exact `gitHead`,
|
|
155
|
+
shasum, integrity, 26-file count, and tarball URL. A fresh public-registry
|
|
156
|
+
download had the expected SHA-256 and was byte-identical to the frozen tgz.
|
|
157
|
+
|
|
158
|
+
The non-draft, non-prerelease
|
|
159
|
+
[`v0.3.1` GitHub Release](https://github.com/GreenLv/dsh-completion-guard/releases/tag/v0.3.1)
|
|
160
|
+
was published at `2026-08-31T03:04:09Z` and is the repository's latest public
|
|
161
|
+
Release. Its only assets are the 172923-byte frozen tgz and the 97-byte
|
|
162
|
+
`SHA256SUMS.txt`. Anonymous downloads of both assets were byte-identical to
|
|
163
|
+
the frozen local files; the GitHub asset digests are respectively
|
|
164
|
+
`sha256:df3c0cae29fdfa0014d5cfdb6ade72c42386555779f9f4d8b59e37a2557c5d7e`
|
|
165
|
+
and
|
|
166
|
+
`sha256:699764cfe8887f2a3abbaa35028abea18d6105794ea85983dff768d87239152f`.
|
|
167
|
+
The release is therefore closed across source commit, annotated tag, CI,
|
|
168
|
+
native-platform acceptance, npm metadata and bytes, GitHub metadata, and both
|
|
169
|
+
public assets. These facts do not make the separate 0.3.0 npm publication a
|
|
170
|
+
completed release and do not move or reuse its immutable identity.
|
|
171
|
+
|
|
25
172
|
## v0.3.0 incomplete publication (2026-08-31)
|
|
26
173
|
|
|
27
174
|
Release preparation froze one canonical pre-release package from commit
|
package/docs/PORTING_NOTES.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# Porting Notes
|
|
2
2
|
|
|
3
|
-
The DSH implementation
|
|
3
|
+
The DSH implementation started from `GreenLv/codex-context-guard` v0.8.8 and
|
|
4
|
+
replaced the Codex platform layer. That version is provenance, not the current
|
|
5
|
+
compatibility claim. Shared behavior now advances through pinned conformance
|
|
6
|
+
fixtures and an explicit delta ledger.
|
|
4
7
|
|
|
5
8
|
| Area | Treatment |
|
|
6
9
|
| --- | --- |
|
|
@@ -9,6 +12,13 @@ The DSH implementation ports deterministic Context Guard semantics from `GreenLv
|
|
|
9
12
|
| evidence and proof binding | Adapt to DSH durable tool-result events |
|
|
10
13
|
| recovery and stop policy | Adapt to DSH agent lifecycle |
|
|
11
14
|
| Codex hooks, cache manager, Python runtime | Delete from DSH runtime |
|
|
12
|
-
|
|
|
15
|
+
| portable protocol and digest fixtures | Mirror exact upstream bytes and verify their hashes |
|
|
16
|
+
| product-specific or newer Codex behavior | Record explicitly in the delta ledger before porting |
|
|
13
17
|
|
|
14
|
-
The DSH port derives
|
|
18
|
+
The DSH port derives guard state from native DSH session events, connects the
|
|
19
|
+
completion gate to Goal handling, and fails closed when it cannot verify the
|
|
20
|
+
host or evidence. Version 0.3.2 has passed same-package Web and Headless
|
|
21
|
+
lifecycle checks on macOS and Windows. This does not make the two products
|
|
22
|
+
interchangeable or imply full parity with Codex 0.9.5; current gaps are listed
|
|
23
|
+
in [`SEMANTIC_COMPATIBILITY.md`](SEMANTIC_COMPATIBILITY.md) and
|
|
24
|
+
[`upstream-deltas.json`](upstream-deltas.json).
|
|
@@ -29,15 +29,15 @@ Authority rules:
|
|
|
29
29
|
values are pinned in `tests/fixtures/conformance/UPSTREAM_PIN.json`; the
|
|
30
30
|
vitest suite fails when any mirror drifts from its pinned hash.
|
|
31
31
|
- `UPSTREAM_PIN.json` records the upstream head at mirror time, the mirror
|
|
32
|
-
date, and per-file hashes.
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
date, and per-file hashes. Its current `canonicalCommit` is the landed
|
|
33
|
+
upstream commit `b59fcfe1aaf8ead3f0438bc67dc7f725c869a473`; refresh the pin
|
|
34
|
+
whenever the mirrors are re-synced.
|
|
35
35
|
- New protocol cases discovered on the DSH side are turned into
|
|
36
36
|
platform-neutral fixture cases upstream first; host-specific expectations
|
|
37
37
|
never enter the shared fixture.
|
|
38
|
-
- `docs/UPSTREAM_BASE.md` records the
|
|
39
|
-
|
|
40
|
-
current
|
|
38
|
+
- `docs/UPSTREAM_BASE.md` records the Codex v0.8.8 source used for the first
|
|
39
|
+
DSH v0.1.0 port. It is a historical fact, not the current alignment claim;
|
|
40
|
+
current status lives in this document and the delta ledger.
|
|
41
41
|
|
|
42
42
|
## Digest v3
|
|
43
43
|
|
|
@@ -79,9 +79,18 @@ event vocabulary `root_message`, `delegated_message`, `tool_result`,
|
|
|
79
79
|
runner executes every mirrored case without skips and compares the bounded
|
|
80
80
|
result contract; it does not translate a missing capability into a pass.
|
|
81
81
|
|
|
82
|
-
## Current alignment status
|
|
82
|
+
## Current 0.4.0 alignment status
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
The semantic implementation described here entered the DSH `0.4.0` line from implementation baseline `ffc6fe9e1246a815f0bb630943c59d14b6505716`. The shared-contract reference is the Codex `0.10.0` source at `e4fccf690bcbc2be79d0b8d42a1a269f87072120`; this covers only the named contracts, not full product parity. Exact release commit, artifact, native-platform, and publication identities are recorded outside this semantic document because each is a separate evidence scope.
|
|
85
|
+
|
|
86
|
+
The 0.4.0 implementation baseline keeps the v0.3 digest and conformance work and adds:
|
|
87
|
+
|
|
88
|
+
- Proof obligations that must name a current pending item and use evidence matching the requested kind, surface, subject, operation, and outcome.
|
|
89
|
+
- Bounded subject readback, scope coverage, state verification, and replayable `sessionQuery` state.
|
|
90
|
+
- Fail-closed rejection for tampered asset or scope digests, empty subject sets, and evidence imported from another session.
|
|
91
|
+
- The alpha.3 host cohort as the implementation baseline: DSH `0.1.2-alpha.3`, dshmarket `1.39.0`, and Cordis `4.0.2`.
|
|
92
|
+
|
|
93
|
+
Retained from v0.3.0:
|
|
85
94
|
|
|
86
95
|
- Digest v3 derivation, byte-mirror pinning, and 29-vector agreement.
|
|
87
96
|
- All-case portable semantic fixture runner implemented as a thin adapter over production derive/checkpoint/boundary/Goal/stop functions, without fixture-ID rewrites or skipped cases.
|
|
@@ -94,14 +103,9 @@ Implemented in v0.3.0:
|
|
|
94
103
|
the Guard-owned `update_goal(action=complete)` path.
|
|
95
104
|
- Legacy generic-run and unprovable-authority fail-closed migration behavior.
|
|
96
105
|
|
|
97
|
-
This is not a full product-parity claim. It does not copy the Codex private
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
host-lock readback, Web restart lifecycle, and Headless load were exercised on
|
|
101
|
-
native macOS and Windows, with cross-platform CI and a bounded credentialed
|
|
102
|
-
model-session evidence/boundary round. Source, native-platform, model-session,
|
|
103
|
-
registry, tag, and GitHub Release evidence remain separate scopes; see
|
|
104
|
-
`LOCAL_ACCEPTANCE.md`.
|
|
106
|
+
This is not a full product-parity claim. It does not copy the Codex private ledger, Hook lifecycle, cache, or installer, and it cannot prevent all trusted in-process Goal/session bypasses.
|
|
107
|
+
|
|
108
|
+
Main CI run `33540907051` passed the implementation baseline. The release commit adds the packaged documentation and must pass its own CI; its deterministic tgz must then pass same-byte native macOS and Windows acceptance before publication. Historical candidate results remain bound to their recorded SHA-256 values and never transfer to changed bytes; see [`LOCAL_ACCEPTANCE.md`](LOCAL_ACCEPTANCE.md).
|
|
105
109
|
|
|
106
110
|
## Validation boundaries
|
|
107
111
|
|
package/docs/UPSTREAM_BASE.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This repository ports deterministic semantics from an existing Codex product; it is a new, independently owned repository with a fresh history.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Historical starting point
|
|
6
6
|
|
|
7
7
|
- Repository: `https://github.com/GreenLv/codex-context-guard`
|
|
8
8
|
- Version: `v0.8.8`
|
|
@@ -11,6 +11,13 @@ This repository ports deterministic semantics from an existing Codex product; it
|
|
|
11
11
|
- License: Apache-2.0
|
|
12
12
|
- Key contracts: private state schema 7, Proof protocol 1.0.0, Stop protocol 1.1.0
|
|
13
13
|
|
|
14
|
+
These values identify the source used for the first DSH port. They do not say
|
|
15
|
+
that current DSH behavior stops at Codex v0.8.8 or fully matches a later Codex
|
|
16
|
+
release. Current shared behavior and remaining gaps are tracked in
|
|
17
|
+
[`SEMANTIC_COMPATIBILITY.md`](SEMANTIC_COMPATIBILITY.md),
|
|
18
|
+
[`upstream-deltas.json`](upstream-deltas.json), and the pinned conformance
|
|
19
|
+
fixtures.
|
|
20
|
+
|
|
14
21
|
## Reused vs replaced
|
|
15
22
|
|
|
16
23
|
Reused as behavior: canonicalization, hashing, stable identity, requirement/acceptance/prohibition capture, append-only supersession, evidence outcome classification, subject/surface matching, proof and stop semantics, recovery priority, completion classification.
|
package/docs/distribution.md
CHANGED
|
@@ -21,29 +21,55 @@ installed profiles keep their runtime identity. The previous npm package
|
|
|
21
21
|
passed same-byte native macOS and Windows validation. The registry metadata
|
|
22
22
|
omits the release contract's required `gitHead`, however, so `v0.3.0` is not
|
|
23
23
|
listed as a completed destination and has no GitHub Release. The immutable npm
|
|
24
|
-
version and annotated tag are retained for audit history
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
`
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
version and annotated tag are retained for audit history; the npm version is
|
|
25
|
+
deprecated with `Release metadata incomplete; use dsh-completion-guard@0.3.1.`
|
|
26
|
+
Version 0.3.1 repairs the provenance-bearing frozen-package workflow.
|
|
27
|
+
|
|
28
|
+
## Published v0.3.2 destinations
|
|
29
|
+
|
|
30
|
+
1. [GitHub Release `v0.3.2`](https://github.com/GreenLv/dsh-completion-guard/releases/tag/v0.3.2)
|
|
31
|
+
is the latest non-draft, non-prerelease release. Its annotated tag peels to
|
|
32
|
+
release commit `22cde6106cdca511265bb4103375a263a0762b9c`. The attached
|
|
33
|
+
frozen tgz has SHA-256
|
|
34
|
+
`feb7fc29799820e08dfe6d2bdb94823e745df9b5aa7c34d46262e5df30dabac4`;
|
|
35
|
+
the separate `SHA256SUMS.txt` asset binds the same bytes.
|
|
36
|
+
2. [`dsh-completion-guard@0.3.2` on npm](https://www.npmjs.com/package/dsh-completion-guard/v/0.3.2)
|
|
37
|
+
is published and `latest` resolves to `0.3.2`. The registry `gitHead`
|
|
38
|
+
equals the release commit, and a fresh registry download is byte-identical
|
|
39
|
+
to the frozen release tgz.
|
|
40
|
+
3. Source commit, tag, CI, native macOS and Windows acceptance, npm metadata
|
|
41
|
+
and bytes, and both GitHub assets are reconciled in
|
|
42
|
+
[`docs/LOCAL_ACCEPTANCE.md`](LOCAL_ACCEPTANCE.md).
|
|
43
|
+
|
|
44
|
+
## Earlier v0.3.1 destinations
|
|
45
|
+
|
|
46
|
+
1. [GitHub Release `v0.3.1`](https://github.com/GreenLv/dsh-completion-guard/releases/tag/v0.3.1)
|
|
47
|
+
is published as a non-draft, non-prerelease release. Its annotated tag
|
|
48
|
+
peels to release commit `00ed5c6456e15f0859c1ef7731157d07a3903af9`.
|
|
49
|
+
The attached frozen tgz has SHA-256
|
|
50
|
+
`df3c0cae29fdfa0014d5cfdb6ade72c42386555779f9f4d8b59e37a2557c5d7e`;
|
|
51
|
+
the separate `SHA256SUMS.txt` asset binds the same bytes.
|
|
52
|
+
2. [`dsh-completion-guard@0.3.1` on npm](https://www.npmjs.com/package/dsh-completion-guard/v/0.3.1)
|
|
53
|
+
is published and `latest` resolves to `0.3.1`. The registry packument
|
|
54
|
+
`gitHead` equals the release commit above, and a fresh registry download is
|
|
55
|
+
byte-identical to the frozen release tgz.
|
|
56
|
+
3. Source commit, tag, CI, native macOS and Windows acceptance, npm metadata
|
|
57
|
+
and bytes, and both GitHub assets are reconciled in
|
|
58
|
+
[`docs/LOCAL_ACCEPTANCE.md`](LOCAL_ACCEPTANCE.md).
|
|
59
|
+
|
|
60
|
+
## Earlier v0.2.1 destinations
|
|
61
|
+
|
|
62
|
+
The [v0.2.1 GitHub Release](https://github.com/GreenLv/dsh-completion-guard/releases/tag/v0.2.1)
|
|
63
|
+
and [`dsh-completion-guard@0.2.1`](https://www.npmjs.com/package/dsh-completion-guard/v/0.2.1)
|
|
64
|
+
remain publicly readable as historical identities. They are not the current
|
|
65
|
+
install target.
|
|
41
66
|
|
|
42
67
|
## Community indexes
|
|
43
68
|
|
|
44
69
|
| Channel | Entry | Status | Evidence |
|
|
45
70
|
|---|---|---|---|
|
|
46
|
-
| [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) | `GreenLv/dsh-completion-guard` (category `security`) | Listed | Added via [PR #3693](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/3693) (merge commit `299f0b5c`, 2026-08-29)
|
|
71
|
+
| [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) | `GreenLv/dsh-completion-guard` (category `security`) | Listed | Added via [PR #3693](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/3693) (merge commit `299f0b5c`, 2026-08-29). The shorter plain-language English and Chinese descriptions merged via [PR #3977](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/3977) (merge commit `bdf5145`, 2026-09-01) and were read back from the current generated READMEs, source YAML, and public [`plugins.json`](https://awesome-dsh-plugin.com/plugins.json). The detail page still showed the earlier wording and GitHub install command at readback, so that page refresh remains pending. Screenshots are declared in this repository's [`screenshots.json`](../screenshots.json); image changes do not need a listing PR. |
|
|
72
|
+
| [dsh-market](https://dsh-market.com/) | `dsh-completion-guard` (Tools / Development workflow) | Listed | Added via [PR #1285](https://github.com/zhu1090093659/dsh-web/pull/1285) (merge commit `be426da`, 2026-08-31); read back on 2026-09-01 from the public [`manifest/plugins.json`](https://dsh-market.com/manifest/plugins.json) at rank 51. The market reads the listing text from its community index; npm download counts and likes are updated separately by the site. |
|
|
47
73
|
| [Awesome DeepSeek Harness](https://github.com/Dominic789654/awesome-deepseek-harness#security--permissions) | `GreenLv/dsh-completion-guard` | Listed | Rows merged via [PR #332](https://github.com/Dominic789654/awesome-deepseek-harness/pull/332) (merge commit `ba414c4`, 2026-08-29) and read back live the same day from both generated READMEs (`README.md` line 940, `README.zh-CN.md` line 946), under **Security & Permissions** alongside the other fail-closed gates and verifier plugins. |
|
|
48
74
|
|
|
49
75
|
## Update route
|
|
@@ -199,11 +199,11 @@
|
|
|
199
199
|
},
|
|
200
200
|
{
|
|
201
201
|
"capability": "surface-intent-and-capability-binding",
|
|
202
|
-
"sourceFact": "Codex v0.9.
|
|
202
|
+
"sourceFact": "Published Codex v0.9.5 narrows UI wording detection and binds task, file, Windows-path, and capability evidence to the exact item that was read.",
|
|
203
203
|
"disposition": "deferred",
|
|
204
204
|
"targetRelease": "dsh-completion-guard v0.4.0",
|
|
205
|
-
"rationale": "DSH
|
|
206
|
-
"planStatus": "
|
|
205
|
+
"rationale": "DSH should port the published Codex locator, capability priority, and clause-level binding rules through shared fixtures instead of creating different rules.",
|
|
206
|
+
"planStatus": "Codex v0.9.5 semantics are published; DSH implementation remains deferred to v0.4.0",
|
|
207
207
|
"implementationStatus": "not-implemented",
|
|
208
208
|
"tests": [],
|
|
209
209
|
"plannedTests": [
|