dsh-policy-ledger 0.2.0-alpha.6 → 0.2.0-alpha.8
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 +20 -0
- package/CODE_OF_CONDUCT.md +31 -0
- package/CONTRIBUTING.md +35 -0
- package/PRIVACY.md +11 -0
- package/README-es.md +136 -9
- package/README-hi.md +136 -9
- package/README-pt.md +136 -9
- package/README-zh.md +136 -9
- package/README.md +128 -1
- package/SECURITY.md +19 -0
- package/icon.svg +5 -0
- package/package.json +10 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `dsh-policy-ledger` are documented here. The format follows Keep a Changelog; this project uses alpha versions.
|
|
4
|
+
|
|
5
|
+
## [0.2.0-alpha.8] — 2026-11-01
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Five-language READMEs: English, 简体中文, Español, Português, हिन्दी.
|
|
10
|
+
- Local workflow SVG at `docs/assets/dsh-policy-ledger-flow.svg`.
|
|
11
|
+
- Family cross-links (domain index, checker family, `dsh-kit`), compatibility, permissions, and related-work sections.
|
|
12
|
+
- Standard repository files: `SECURITY.md`, `PRIVACY.md`, `CODE_OF_CONDUCT.md`, `CONTRIBUTING.md`, and `icon.svg`.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- README aligned with the PerryLink DSH checker/plugin family style; package remains public/synthetic, alpha, not GA.
|
|
17
|
+
|
|
18
|
+
## [Earlier]
|
|
19
|
+
|
|
20
|
+
Earlier alpha builds are available from npm and GitHub Releases; this file starts at the family-standard documentation wave.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our pledge
|
|
4
|
+
|
|
5
|
+
We as members, contributors, and maintainers pledge to make participation in this project a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
6
|
+
|
|
7
|
+
## Our standards
|
|
8
|
+
|
|
9
|
+
Examples of behavior that contributes to a positive environment:
|
|
10
|
+
|
|
11
|
+
- Demonstrating empathy and kindness toward other people.
|
|
12
|
+
- Being respectful of differing opinions, viewpoints, and experiences.
|
|
13
|
+
- Giving and gracefully accepting constructive feedback.
|
|
14
|
+
- Accepting responsibility and apologizing to those affected by our mistakes.
|
|
15
|
+
- Focusing on what is best for the community and the project.
|
|
16
|
+
|
|
17
|
+
Examples of unacceptable behavior:
|
|
18
|
+
|
|
19
|
+
- Sexualized language or imagery, and sexual attention or advances.
|
|
20
|
+
- Trolling, insulting or derogatory comments, and personal or political attacks.
|
|
21
|
+
- Public or private harassment.
|
|
22
|
+
- Publishing others' private information without explicit permission.
|
|
23
|
+
- Other conduct which could reasonably be considered inappropriate in a professional setting.
|
|
24
|
+
|
|
25
|
+
## Enforcement
|
|
26
|
+
|
|
27
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to **novelnexusai@outlook.com**. All complaints will be reviewed and investigated promptly and fairly. Maintainers will respect the privacy and security of the reporter.
|
|
28
|
+
|
|
29
|
+
## Attribution
|
|
30
|
+
|
|
31
|
+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1, available at <https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for taking a look at `dsh-policy-ledger`.
|
|
4
|
+
|
|
5
|
+
## Before you start
|
|
6
|
+
|
|
7
|
+
- This is a **public/synthetic alpha** project, not a production product. Do not send customer data, customer documents, credentials, or private evidence.
|
|
8
|
+
- The project is alpha. Small, focused fixes and documentation corrections are welcome; large features should be discussed first.
|
|
9
|
+
- One pull request should do one thing. Keep generated evidence and unrelated formatting out of the diff.
|
|
10
|
+
|
|
11
|
+
## Local checks
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
pnpm install --frozen-lockfile
|
|
15
|
+
pnpm build && pnpm lint && pnpm typecheck && pnpm test
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
For the suite repositories, also run:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
node scripts/check.mjs
|
|
22
|
+
npm pack --dry-run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Pull requests
|
|
26
|
+
|
|
27
|
+
- Describe the user-visible problem and the failure before the fix.
|
|
28
|
+
- Include a regression test or a fixture-backed reproduction.
|
|
29
|
+
- Update `CHANGELOG.md` for user-visible changes.
|
|
30
|
+
- Do not add a network call, model call, telemetry, or a customer-data path without an explicit design discussion.
|
|
31
|
+
- By contributing, you agree your contribution is licensed under Apache-2.0.
|
|
32
|
+
|
|
33
|
+
## Security
|
|
34
|
+
|
|
35
|
+
Do not open a public issue for a vulnerability; see `SECURITY.md`.
|
package/PRIVACY.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Privacy
|
|
2
|
+
|
|
3
|
+
`dsh-policy-ledger` is a local, public/synthetic alpha project.
|
|
4
|
+
|
|
5
|
+
- It does **not** collect telemetry, analytics, or usage data.
|
|
6
|
+
- It does **not** upload files, call a model, or call a network service unless a tool in the README explicitly says so.
|
|
7
|
+
- Its fixtures are public/synthetic; no customer data is included.
|
|
8
|
+
- The package writes only to the local paths documented in its README and `DSH_*` environment variables.
|
|
9
|
+
- npm/GitHub/Gitee/GitCode process download and repository metadata under their own privacy policies; that is outside this package.
|
|
10
|
+
|
|
11
|
+
Questions: **novelnexusai@outlook.com**.
|
package/README-es.md
CHANGED
|
@@ -50,6 +50,16 @@ Desinstalar:
|
|
|
50
50
|
dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
### Canales de instalación
|
|
55
|
+
|
|
56
|
+
npm es el canal recomendado; los demás sirven para fijar versión u offline.
|
|
57
|
+
|
|
58
|
+
- **npm (recomendado):** `dsh plugin --profile <profile> add dsh-policy-ledger`
|
|
59
|
+
- **canal git:** `dsh plugin --profile <profile> add github:PerryLink/dsh-policy-ledger`
|
|
60
|
+
- **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-policy-ledger-<version>.tgz`
|
|
61
|
+
- **tienda 1024:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-policy-ledger`
|
|
62
|
+
|
|
53
63
|
## Qué hace
|
|
54
64
|
|
|
55
65
|
Doctor de instalación de solo lectura: instantánea de capacidades, verificación de tarball y diagnóstico. Se ejecuta localmente en DeepSeek Harness. La tabla siguiente es la superficie exacta de herramientas; los ejemplos usan la interfaz real.
|
|
@@ -58,16 +68,16 @@ La entrada y la salida permanecen locales; no se sube nada.
|
|
|
58
68
|
|
|
59
69
|
## Herramientas
|
|
60
70
|
|
|
61
|
-
Los nombres
|
|
71
|
+
Los nombres de herramientas son la API estable; las descripciones están localizadas.
|
|
62
72
|
|
|
63
|
-
| Herramienta | Propósito
|
|
73
|
+
| Herramienta | Propósito | Riesgo |
|
|
64
74
|
|---|---|---|
|
|
65
|
-
| `trust.capability_snapshot` |
|
|
66
|
-
| `trust.diff` |
|
|
67
|
-
| `trust.assert_tarball` |
|
|
68
|
-
| `install.diagnose` |
|
|
69
|
-
| `install.probe` |
|
|
70
|
-
| `install.bundle` |
|
|
75
|
+
| `trust.capability_snapshot` | Extraer las capacidades declaradas y el riesgo R0–R3 de un `.tgz` de npm local: herramientas, bundle/client/bin/skill, scripts de build, hosts de salida y referencias a credenciales | R0 local read |
|
|
76
|
+
| `trust.diff` | Comparar dos instantáneas guardadas: capacidades añadidas o eliminadas, escalada de riesgo y bloqueos | R0 |
|
|
77
|
+
| `trust.assert_tarball` | Releer un tarball y compararlo con una instantánea guardada: correcto/faltante/extra/cambiado/desconocido | R0 |
|
|
78
|
+
| `install.diagnose` | Clasificar un log de instalación en etapa, causa raíz y tres acciones; devolver desconocido en lugar de suponer | R0 |
|
|
79
|
+
| `install.probe` | Comprobar espacio libre en disco, permiso de escritura, proxy, RTT de registro opcional y node/pnpm | R0 |
|
|
80
|
+
| `install.bundle` | Escribir un ZIP de incidente redactado (diagnóstico + líneas de evidencia) | R1 local write |
|
|
71
81
|
|
|
72
82
|
## Inicio rápido
|
|
73
83
|
|
|
@@ -76,6 +86,22 @@ dsh plugin --profile <profile> add dsh-policy-ledger
|
|
|
76
86
|
dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
77
87
|
```
|
|
78
88
|
|
|
89
|
+
## Ejemplos
|
|
90
|
+
|
|
91
|
+
### Ejemplo respaldado por fixture
|
|
92
|
+
|
|
93
|
+
Entrada: [`ACCEPTANCE.csv`](ACCEPTANCE.csv)
|
|
94
|
+
|
|
95
|
+
Comando: `pnpm test`
|
|
96
|
+
|
|
97
|
+
Fila de aceptación:
|
|
98
|
+
|
|
99
|
+
| req_id | metric | threshold | actual | pass | source | counted |
|
|
100
|
+
|---|---|---|---|---|---|---|
|
|
101
|
+
| SKU-03-A01 | 能力快照抽取(3 包) | 3/3 | 3 | true | public/synthetic | false |
|
|
102
|
+
|
|
103
|
+
*Es una fila de aceptación respaldada por fixture, no una ejecución de cliente; no se inventa salida.*
|
|
104
|
+
|
|
79
105
|
## Límites
|
|
80
106
|
|
|
81
107
|
- Solo público/sintético; sin datos ni evidencia de clientes.
|
|
@@ -85,7 +111,7 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
85
111
|
|
|
86
112
|
## Muestra pública
|
|
87
113
|
|
|
88
|
-
Las fixtures públicas/sintéticas están en `
|
|
114
|
+
Las fixtures públicas/sintéticas están en `fixtures/`; `ACCEPTANCE.csv` registra las comprobaciones con `counted=false`.
|
|
89
115
|
|
|
90
116
|
## Desarrollo
|
|
91
117
|
|
|
@@ -145,6 +171,107 @@ Paquetes hermanos e índices de familia: [dsh-pim-lint](https://github.com/Perry
|
|
|
145
171
|
|
|
146
172
|
</details>
|
|
147
173
|
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary>Familia principal — 92 specs de instalación</summary>
|
|
177
|
+
|
|
178
|
+
| Package | npm |
|
|
179
|
+
|---|---|
|
|
180
|
+
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
|
|
181
|
+
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
|
|
182
|
+
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
|
|
183
|
+
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
|
|
184
|
+
| **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
|
|
185
|
+
| **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
|
|
186
|
+
| **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
|
|
187
|
+
| **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
|
|
188
|
+
| **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
|
|
189
|
+
| **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
|
|
190
|
+
| **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
|
|
191
|
+
| **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
|
|
192
|
+
| **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
|
|
193
|
+
| **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
|
|
194
|
+
| **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
|
|
195
|
+
| **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
|
|
196
|
+
| **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
|
|
197
|
+
| **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
|
|
198
|
+
| **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
|
|
199
|
+
| **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
|
|
200
|
+
| **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
|
|
201
|
+
| **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
|
|
202
|
+
| **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
|
|
203
|
+
| **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
|
|
204
|
+
| **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
|
|
205
|
+
| **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
|
|
206
|
+
| **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
|
|
207
|
+
| **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
|
|
208
|
+
| **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
|
|
209
|
+
| **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
|
|
210
|
+
| **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
|
|
211
|
+
| **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
|
|
212
|
+
| **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
|
|
213
|
+
| **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
|
|
214
|
+
| **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
|
|
215
|
+
| **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
|
|
216
|
+
| **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
|
|
217
|
+
| **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
|
|
218
|
+
| **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
|
|
219
|
+
| **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
|
|
220
|
+
| **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
|
|
221
|
+
| **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
|
|
222
|
+
| **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
|
|
223
|
+
| **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
|
|
224
|
+
| **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
|
|
225
|
+
| **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
|
|
226
|
+
| **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
|
|
227
|
+
| **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
|
|
228
|
+
| **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
|
|
229
|
+
| **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
|
|
230
|
+
| **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
|
|
231
|
+
| **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
|
|
232
|
+
| **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
|
|
233
|
+
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
|
|
234
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
|
|
235
|
+
| **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
|
|
236
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
|
|
237
|
+
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
|
|
238
|
+
| **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
|
|
239
|
+
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
|
|
240
|
+
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
|
|
241
|
+
| **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
|
|
242
|
+
| **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
|
|
243
|
+
| **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
|
|
244
|
+
| **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
|
|
245
|
+
| **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
|
|
246
|
+
| **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
|
|
247
|
+
| **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
|
|
248
|
+
| **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
|
|
249
|
+
| **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
|
|
250
|
+
| **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
|
|
251
|
+
| **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
|
|
252
|
+
| **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
|
|
253
|
+
| **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
|
|
254
|
+
| **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
|
|
255
|
+
| **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
|
|
256
|
+
| **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
|
|
257
|
+
| **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
|
|
258
|
+
| **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
|
|
259
|
+
| **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
|
|
260
|
+
| **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
|
|
261
|
+
| **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
|
|
262
|
+
| **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
|
|
263
|
+
| **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
|
|
264
|
+
| **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
|
|
265
|
+
| **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
|
|
266
|
+
| **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
|
|
267
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
268
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
269
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
270
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
271
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
272
|
+
|
|
273
|
+
</details>
|
|
274
|
+
|
|
148
275
|
## Licencia
|
|
149
276
|
|
|
150
277
|
Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.
|
package/README-hi.md
CHANGED
|
@@ -50,6 +50,16 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
50
50
|
dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
### इंस्टॉल चैनल
|
|
55
|
+
|
|
56
|
+
npm अनुशंसित है; बाकी वर्ज़न पिन या ऑफ़लाइन के लिए हैं।
|
|
57
|
+
|
|
58
|
+
- **npm (अनुशंसित):** `dsh plugin --profile <profile> add dsh-policy-ledger`
|
|
59
|
+
- **git चैनल:** `dsh plugin --profile <profile> add github:PerryLink/dsh-policy-ledger`
|
|
60
|
+
- **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-policy-ledger-<version>.tgz`
|
|
61
|
+
- **1024 स्टोर:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-policy-ledger`
|
|
62
|
+
|
|
53
63
|
## यह क्या करता है
|
|
54
64
|
|
|
55
65
|
केवल-पढ़ने वाला इंस्टॉल डॉक्टर: क्षमता स्नैपशॉट, tarball जाँच और इंस्टॉल निदान। DeepSeek Harness पर स्थानीय रूप से चलता है। नीचे दी गई तालिका ही सटीक टूल सतह है; उदाहरण वास्तविक कमांड का उपयोग करते हैं।
|
|
@@ -58,16 +68,16 @@ dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
|
58
68
|
|
|
59
69
|
## टूल्स
|
|
60
70
|
|
|
61
|
-
टूल नाम
|
|
71
|
+
टूल नाम स्थिर API हैं; विवरण स्थानीयकृत हैं।
|
|
62
72
|
|
|
63
|
-
| टूल | उद्देश्य
|
|
73
|
+
| टूल | उद्देश्य | जोखिम |
|
|
64
74
|
|---|---|---|
|
|
65
|
-
| `trust.capability_snapshot` |
|
|
66
|
-
| `trust.diff` |
|
|
67
|
-
| `trust.assert_tarball` |
|
|
68
|
-
| `install.diagnose` |
|
|
69
|
-
| `install.probe` |
|
|
70
|
-
| `install.bundle` |
|
|
75
|
+
| `trust.capability_snapshot` | स्थानीय npm `.tgz` से घोषित क्षमताएँ और R0–R3 जोखिम निकालें: टूल, bundle/client/bin/skill, बिल्ड स्क्रिप्ट, आउटबाउंड होस्ट, क्रेडेंशियल संदर्भ | R0 local read |
|
|
76
|
+
| `trust.diff` | दो संग्रहीत स्नैपशॉट की तुलना करें: जोड़ी/हटाई गई क्षमताएँ, जोखिम वृद्धि, ब्लॉकर | R0 |
|
|
77
|
+
| `trust.assert_tarball` | tarball को फिर से पढ़ें और संग्रहीत स्नैपशॉट से तुलना करें: pass/missing/extra/changed/unknown | R0 |
|
|
78
|
+
| `install.diagnose` | इंस्टॉल लॉग को चरण, मूल कारण और तीन क्रियाओं में वर्गीकृत करें; अनुमान लगाने के बजाय unknown लौटाएँ | R0 |
|
|
79
|
+
| `install.probe` | डिस्क खाली स्थान, लेखन अनुमति, प्रॉक्सी, वैकल्पिक registry RTT, node/pnpm जाँचें | R0 |
|
|
80
|
+
| `install.bundle` | रिडैक्टेड इंसिडेंट ZIP लिखें (निदान + प्रमाण पंक्तियाँ) | R1 local write |
|
|
71
81
|
|
|
72
82
|
## त्वरित शुरुआत
|
|
73
83
|
|
|
@@ -76,6 +86,22 @@ dsh plugin --profile <profile> add dsh-policy-ledger
|
|
|
76
86
|
dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
77
87
|
```
|
|
78
88
|
|
|
89
|
+
## उदाहरण
|
|
90
|
+
|
|
91
|
+
### fixture-आधारित उदाहरण
|
|
92
|
+
|
|
93
|
+
इनपुट: [`ACCEPTANCE.csv`](ACCEPTANCE.csv)
|
|
94
|
+
|
|
95
|
+
कमांड: `pnpm test`
|
|
96
|
+
|
|
97
|
+
स्वीकृति पंक्ति:
|
|
98
|
+
|
|
99
|
+
| req_id | metric | threshold | actual | pass | source | counted |
|
|
100
|
+
|---|---|---|---|---|---|---|
|
|
101
|
+
| SKU-03-A01 | 能力快照抽取(3 包) | 3/3 | 3 | true | public/synthetic | false |
|
|
102
|
+
|
|
103
|
+
*यह fixture-आधारित स्वीकृति पंक्ति है, ग्राहक रन नहीं; कोई आउटपुट नहीं गढ़ा गया।*
|
|
104
|
+
|
|
79
105
|
## सीमाएँ
|
|
80
106
|
|
|
81
107
|
- केवल सार्वजनिक/सिंथेटिक; ग्राहक डेटा या साक्ष्य नहीं।
|
|
@@ -85,7 +111,7 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
85
111
|
|
|
86
112
|
## सार्वजनिक नमूना
|
|
87
113
|
|
|
88
|
-
सार्वजनिक/सिंथेटिक fixtures `
|
|
114
|
+
सार्वजनिक/सिंथेटिक fixtures `fixtures/` में हैं; `ACCEPTANCE.csv` सार्वजनिक जाँचों को `counted=false` के साथ दर्ज करता है।
|
|
89
115
|
|
|
90
116
|
## विकास
|
|
91
117
|
|
|
@@ -145,6 +171,107 @@ pnpm build && pnpm lint && pnpm typecheck && pnpm test
|
|
|
145
171
|
|
|
146
172
|
</details>
|
|
147
173
|
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary>मुख्य परिवार — 92 वर्तमान इंस्टॉल spec</summary>
|
|
177
|
+
|
|
178
|
+
| Package | npm |
|
|
179
|
+
|---|---|
|
|
180
|
+
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
|
|
181
|
+
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
|
|
182
|
+
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
|
|
183
|
+
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
|
|
184
|
+
| **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
|
|
185
|
+
| **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
|
|
186
|
+
| **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
|
|
187
|
+
| **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
|
|
188
|
+
| **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
|
|
189
|
+
| **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
|
|
190
|
+
| **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
|
|
191
|
+
| **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
|
|
192
|
+
| **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
|
|
193
|
+
| **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
|
|
194
|
+
| **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
|
|
195
|
+
| **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
|
|
196
|
+
| **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
|
|
197
|
+
| **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
|
|
198
|
+
| **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
|
|
199
|
+
| **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
|
|
200
|
+
| **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
|
|
201
|
+
| **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
|
|
202
|
+
| **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
|
|
203
|
+
| **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
|
|
204
|
+
| **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
|
|
205
|
+
| **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
|
|
206
|
+
| **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
|
|
207
|
+
| **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
|
|
208
|
+
| **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
|
|
209
|
+
| **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
|
|
210
|
+
| **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
|
|
211
|
+
| **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
|
|
212
|
+
| **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
|
|
213
|
+
| **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
|
|
214
|
+
| **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
|
|
215
|
+
| **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
|
|
216
|
+
| **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
|
|
217
|
+
| **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
|
|
218
|
+
| **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
|
|
219
|
+
| **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
|
|
220
|
+
| **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
|
|
221
|
+
| **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
|
|
222
|
+
| **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
|
|
223
|
+
| **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
|
|
224
|
+
| **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
|
|
225
|
+
| **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
|
|
226
|
+
| **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
|
|
227
|
+
| **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
|
|
228
|
+
| **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
|
|
229
|
+
| **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
|
|
230
|
+
| **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
|
|
231
|
+
| **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
|
|
232
|
+
| **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
|
|
233
|
+
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
|
|
234
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
|
|
235
|
+
| **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
|
|
236
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
|
|
237
|
+
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
|
|
238
|
+
| **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
|
|
239
|
+
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
|
|
240
|
+
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
|
|
241
|
+
| **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
|
|
242
|
+
| **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
|
|
243
|
+
| **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
|
|
244
|
+
| **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
|
|
245
|
+
| **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
|
|
246
|
+
| **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
|
|
247
|
+
| **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
|
|
248
|
+
| **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
|
|
249
|
+
| **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
|
|
250
|
+
| **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
|
|
251
|
+
| **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
|
|
252
|
+
| **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
|
|
253
|
+
| **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
|
|
254
|
+
| **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
|
|
255
|
+
| **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
|
|
256
|
+
| **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
|
|
257
|
+
| **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
|
|
258
|
+
| **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
|
|
259
|
+
| **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
|
|
260
|
+
| **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
|
|
261
|
+
| **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
|
|
262
|
+
| **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
|
|
263
|
+
| **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
|
|
264
|
+
| **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
|
|
265
|
+
| **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
|
|
266
|
+
| **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
|
|
267
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
268
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
269
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
270
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
271
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
272
|
+
|
|
273
|
+
</details>
|
|
274
|
+
|
|
148
275
|
## लाइसेंस
|
|
149
276
|
|
|
150
277
|
Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.
|
package/README-pt.md
CHANGED
|
@@ -50,6 +50,16 @@ Desinstalar:
|
|
|
50
50
|
dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
### Canais de instalação
|
|
55
|
+
|
|
56
|
+
npm é o canal recomendado; os demais servem para fixar versão ou offline.
|
|
57
|
+
|
|
58
|
+
- **npm (recomendado):** `dsh plugin --profile <profile> add dsh-policy-ledger`
|
|
59
|
+
- **canal git:** `dsh plugin --profile <profile> add github:PerryLink/dsh-policy-ledger`
|
|
60
|
+
- **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-policy-ledger-<version>.tgz`
|
|
61
|
+
- **loja 1024:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-policy-ledger`
|
|
62
|
+
|
|
53
63
|
## O que faz
|
|
54
64
|
|
|
55
65
|
Doutor de instalação somente leitura: snapshot de capacidades, verificação de tarball e diagnóstico. Executa localmente no DeepSeek Harness. A tabela abaixo é a superfície exata de ferramentas; os exemplos usam a interface real.
|
|
@@ -58,16 +68,16 @@ Entrada e saída permanecem locais; nada é enviado.
|
|
|
58
68
|
|
|
59
69
|
## Ferramentas
|
|
60
70
|
|
|
61
|
-
|
|
71
|
+
Os nomes das ferramentas são a API estável; as descrições estão localizadas.
|
|
62
72
|
|
|
63
|
-
| Ferramenta | Finalidade
|
|
73
|
+
| Ferramenta | Finalidade | Risco |
|
|
64
74
|
|---|---|---|
|
|
65
|
-
| `trust.capability_snapshot` |
|
|
66
|
-
| `trust.diff` |
|
|
67
|
-
| `trust.assert_tarball` |
|
|
68
|
-
| `install.diagnose` |
|
|
69
|
-
| `install.probe` |
|
|
70
|
-
| `install.bundle` |
|
|
75
|
+
| `trust.capability_snapshot` | Extrai as capacidades declaradas e o risco R0–R3 de um `.tgz` npm local: ferramentas, bundle/client/bin/skill, scripts de build, hosts de saída, referências a credenciais | R0 local read |
|
|
76
|
+
| `trust.diff` | Compara dois snapshots armazenados: capacidades adicionadas/removidas, escalonamento de risco, bloqueadores | R0 |
|
|
77
|
+
| `trust.assert_tarball` | Relê um tarball e o compara com um snapshot armazenado: pass/missing/extra/changed/unknown | R0 |
|
|
78
|
+
| `install.diagnose` | Classifica um log de instalação em estágio, causa raiz e três ações; retorna unknown em vez de adivinhar | R0 |
|
|
79
|
+
| `install.probe` | Verifica espaço livre em disco, permissão de escrita, proxy, RTT opcional do registry, node/pnpm | R0 |
|
|
80
|
+
| `install.bundle` | Grava um ZIP de incidente com informações sensíveis removidas (diagnóstico + linhas de evidência) | R1 local write |
|
|
71
81
|
|
|
72
82
|
## Início rápido
|
|
73
83
|
|
|
@@ -76,6 +86,22 @@ dsh plugin --profile <profile> add dsh-policy-ledger
|
|
|
76
86
|
dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
77
87
|
```
|
|
78
88
|
|
|
89
|
+
## Exemplos
|
|
90
|
+
|
|
91
|
+
### Exemplo com fixture
|
|
92
|
+
|
|
93
|
+
Entrada: [`ACCEPTANCE.csv`](ACCEPTANCE.csv)
|
|
94
|
+
|
|
95
|
+
Comando: `pnpm test`
|
|
96
|
+
|
|
97
|
+
Linha de aceitação:
|
|
98
|
+
|
|
99
|
+
| req_id | metric | threshold | actual | pass | source | counted |
|
|
100
|
+
|---|---|---|---|---|---|---|
|
|
101
|
+
| SKU-03-A01 | 能力快照抽取(3 包) | 3/3 | 3 | true | public/synthetic | false |
|
|
102
|
+
|
|
103
|
+
*É uma linha de aceitação com fixture, não uma execução de cliente; nenhuma saída é inventada.*
|
|
104
|
+
|
|
79
105
|
## Limites
|
|
80
106
|
|
|
81
107
|
- Apenas público/sintético; sem dados ou evidência de clientes.
|
|
@@ -85,7 +111,7 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
85
111
|
|
|
86
112
|
## Amostra pública
|
|
87
113
|
|
|
88
|
-
As fixtures públicas/sintéticas ficam em `
|
|
114
|
+
As fixtures públicas/sintéticas ficam em `fixtures/`; `ACCEPTANCE.csv` registra as verificações com `counted=false`.
|
|
89
115
|
|
|
90
116
|
## Desenvolvimento
|
|
91
117
|
|
|
@@ -145,6 +171,107 @@ Pacotes irmãos e índices da família: [dsh-pim-lint](https://github.com/PerryL
|
|
|
145
171
|
|
|
146
172
|
</details>
|
|
147
173
|
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary>Família principal — 92 specs de instalação</summary>
|
|
177
|
+
|
|
178
|
+
| Package | npm |
|
|
179
|
+
|---|---|
|
|
180
|
+
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
|
|
181
|
+
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
|
|
182
|
+
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
|
|
183
|
+
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
|
|
184
|
+
| **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
|
|
185
|
+
| **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
|
|
186
|
+
| **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
|
|
187
|
+
| **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
|
|
188
|
+
| **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
|
|
189
|
+
| **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
|
|
190
|
+
| **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
|
|
191
|
+
| **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
|
|
192
|
+
| **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
|
|
193
|
+
| **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
|
|
194
|
+
| **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
|
|
195
|
+
| **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
|
|
196
|
+
| **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
|
|
197
|
+
| **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
|
|
198
|
+
| **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
|
|
199
|
+
| **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
|
|
200
|
+
| **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
|
|
201
|
+
| **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
|
|
202
|
+
| **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
|
|
203
|
+
| **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
|
|
204
|
+
| **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
|
|
205
|
+
| **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
|
|
206
|
+
| **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
|
|
207
|
+
| **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
|
|
208
|
+
| **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
|
|
209
|
+
| **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
|
|
210
|
+
| **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
|
|
211
|
+
| **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
|
|
212
|
+
| **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
|
|
213
|
+
| **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
|
|
214
|
+
| **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
|
|
215
|
+
| **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
|
|
216
|
+
| **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
|
|
217
|
+
| **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
|
|
218
|
+
| **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
|
|
219
|
+
| **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
|
|
220
|
+
| **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
|
|
221
|
+
| **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
|
|
222
|
+
| **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
|
|
223
|
+
| **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
|
|
224
|
+
| **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
|
|
225
|
+
| **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
|
|
226
|
+
| **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
|
|
227
|
+
| **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
|
|
228
|
+
| **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
|
|
229
|
+
| **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
|
|
230
|
+
| **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
|
|
231
|
+
| **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
|
|
232
|
+
| **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
|
|
233
|
+
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
|
|
234
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
|
|
235
|
+
| **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
|
|
236
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
|
|
237
|
+
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
|
|
238
|
+
| **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
|
|
239
|
+
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
|
|
240
|
+
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
|
|
241
|
+
| **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
|
|
242
|
+
| **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
|
|
243
|
+
| **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
|
|
244
|
+
| **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
|
|
245
|
+
| **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
|
|
246
|
+
| **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
|
|
247
|
+
| **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
|
|
248
|
+
| **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
|
|
249
|
+
| **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
|
|
250
|
+
| **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
|
|
251
|
+
| **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
|
|
252
|
+
| **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
|
|
253
|
+
| **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
|
|
254
|
+
| **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
|
|
255
|
+
| **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
|
|
256
|
+
| **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
|
|
257
|
+
| **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
|
|
258
|
+
| **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
|
|
259
|
+
| **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
|
|
260
|
+
| **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
|
|
261
|
+
| **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
|
|
262
|
+
| **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
|
|
263
|
+
| **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
|
|
264
|
+
| **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
|
|
265
|
+
| **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
|
|
266
|
+
| **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
|
|
267
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
268
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
269
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
270
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
271
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
272
|
+
|
|
273
|
+
</details>
|
|
274
|
+
|
|
148
275
|
## Licença
|
|
149
276
|
|
|
150
277
|
Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.
|
package/README-zh.md
CHANGED
|
@@ -50,6 +50,16 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
50
50
|
dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
### 安装通道
|
|
55
|
+
|
|
56
|
+
推荐 npm;其他通道用于固定版本或离线。
|
|
57
|
+
|
|
58
|
+
- **npm(推荐):** `dsh plugin --profile <profile> add dsh-policy-ledger`
|
|
59
|
+
- **git 通道:** `dsh plugin --profile <profile> add github:PerryLink/dsh-policy-ledger`
|
|
60
|
+
- **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-policy-ledger-<version>.tgz`
|
|
61
|
+
- **1024 商店:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-policy-ledger`
|
|
62
|
+
|
|
53
63
|
## 它做什么
|
|
54
64
|
|
|
55
65
|
只读安装诊断:能力快照、tarball 断言与安装日志分类。 在 DeepSeek Harness 本地运行;下表就是实际工具面,示例使用真实命令面。
|
|
@@ -58,16 +68,16 @@ dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
|
58
68
|
|
|
59
69
|
## 工具
|
|
60
70
|
|
|
61
|
-
|
|
71
|
+
工具名是稳定 API;说明已本地化。
|
|
62
72
|
|
|
63
|
-
| 工具 |
|
|
73
|
+
| 工具 | 用途 | 风险 |
|
|
64
74
|
|---|---|---|
|
|
65
|
-
| `trust.capability_snapshot` |
|
|
66
|
-
| `trust.diff` |
|
|
67
|
-
| `trust.assert_tarball` |
|
|
68
|
-
| `install.diagnose` |
|
|
69
|
-
| `install.probe` |
|
|
70
|
-
| `install.bundle` |
|
|
75
|
+
| `trust.capability_snapshot` | 从本地 npm `.tgz` 中提取声明的能力与 R0–R3 风险:tools、bundle/client/bin/skill、构建脚本、出站主机、凭据引用 | R0 local read |
|
|
76
|
+
| `trust.diff` | 比较两个已保存快照:新增/移除的能力、风险升级、阻断项 | R0 |
|
|
77
|
+
| `trust.assert_tarball` | 重新读取 tarball 并与已保存快照比对:通过/缺失/多余/变更/未知 | R0 |
|
|
78
|
+
| `install.diagnose` | 将安装日志归类为阶段、根因和三条行动建议;无法判断时返回未知而非猜测 | R0 |
|
|
79
|
+
| `install.probe` | 检查磁盘可用空间、写权限、代理、可选的 registry RTT 以及 node/pnpm | R0 |
|
|
80
|
+
| `install.bundle` | 写出经脱敏的事件 ZIP(诊断 + 证据行) | R1 local write |
|
|
71
81
|
|
|
72
82
|
## 快速开始
|
|
73
83
|
|
|
@@ -76,6 +86,22 @@ dsh plugin --profile <profile> add dsh-policy-ledger
|
|
|
76
86
|
dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
77
87
|
```
|
|
78
88
|
|
|
89
|
+
## 示例
|
|
90
|
+
|
|
91
|
+
### fixture 支撑的示例
|
|
92
|
+
|
|
93
|
+
输入: [`ACCEPTANCE.csv`](ACCEPTANCE.csv)
|
|
94
|
+
|
|
95
|
+
命令: `pnpm test`
|
|
96
|
+
|
|
97
|
+
验收行:
|
|
98
|
+
|
|
99
|
+
| req_id | metric | threshold | actual | pass | source | counted |
|
|
100
|
+
|---|---|---|---|---|---|---|
|
|
101
|
+
| SKU-03-A01 | 能力快照抽取(3 包) | 3/3 | 3 | true | public/synthetic | false |
|
|
102
|
+
|
|
103
|
+
*这是 fixture 支撑的验收行,不是客户运行;没有编造输出。*
|
|
104
|
+
|
|
79
105
|
## 边界
|
|
80
106
|
|
|
81
107
|
- 仅公开/合成样例;不含客户数据或客户证据。
|
|
@@ -85,7 +111,7 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
85
111
|
|
|
86
112
|
## 公开样例
|
|
87
113
|
|
|
88
|
-
公开/合成 fixture 在 `
|
|
114
|
+
公开/合成 fixture 在 `fixtures/`;`ACCEPTANCE.csv` 记录公开检查,全部 `counted=false`。
|
|
89
115
|
|
|
90
116
|
## 开发
|
|
91
117
|
|
|
@@ -145,6 +171,107 @@ pnpm build && pnpm lint && pnpm typecheck && pnpm test
|
|
|
145
171
|
|
|
146
172
|
</details>
|
|
147
173
|
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary>主线家族 — 92 个当前安装 spec</summary>
|
|
177
|
+
|
|
178
|
+
| Package | npm |
|
|
179
|
+
|---|---|
|
|
180
|
+
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
|
|
181
|
+
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
|
|
182
|
+
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
|
|
183
|
+
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
|
|
184
|
+
| **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
|
|
185
|
+
| **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
|
|
186
|
+
| **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
|
|
187
|
+
| **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
|
|
188
|
+
| **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
|
|
189
|
+
| **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
|
|
190
|
+
| **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
|
|
191
|
+
| **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
|
|
192
|
+
| **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
|
|
193
|
+
| **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
|
|
194
|
+
| **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
|
|
195
|
+
| **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
|
|
196
|
+
| **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
|
|
197
|
+
| **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
|
|
198
|
+
| **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
|
|
199
|
+
| **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
|
|
200
|
+
| **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
|
|
201
|
+
| **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
|
|
202
|
+
| **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
|
|
203
|
+
| **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
|
|
204
|
+
| **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
|
|
205
|
+
| **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
|
|
206
|
+
| **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
|
|
207
|
+
| **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
|
|
208
|
+
| **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
|
|
209
|
+
| **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
|
|
210
|
+
| **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
|
|
211
|
+
| **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
|
|
212
|
+
| **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
|
|
213
|
+
| **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
|
|
214
|
+
| **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
|
|
215
|
+
| **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
|
|
216
|
+
| **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
|
|
217
|
+
| **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
|
|
218
|
+
| **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
|
|
219
|
+
| **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
|
|
220
|
+
| **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
|
|
221
|
+
| **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
|
|
222
|
+
| **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
|
|
223
|
+
| **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
|
|
224
|
+
| **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
|
|
225
|
+
| **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
|
|
226
|
+
| **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
|
|
227
|
+
| **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
|
|
228
|
+
| **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
|
|
229
|
+
| **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
|
|
230
|
+
| **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
|
|
231
|
+
| **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
|
|
232
|
+
| **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
|
|
233
|
+
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
|
|
234
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
|
|
235
|
+
| **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
|
|
236
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
|
|
237
|
+
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
|
|
238
|
+
| **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
|
|
239
|
+
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
|
|
240
|
+
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
|
|
241
|
+
| **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
|
|
242
|
+
| **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
|
|
243
|
+
| **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
|
|
244
|
+
| **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
|
|
245
|
+
| **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
|
|
246
|
+
| **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
|
|
247
|
+
| **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
|
|
248
|
+
| **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
|
|
249
|
+
| **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
|
|
250
|
+
| **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
|
|
251
|
+
| **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
|
|
252
|
+
| **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
|
|
253
|
+
| **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
|
|
254
|
+
| **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
|
|
255
|
+
| **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
|
|
256
|
+
| **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
|
|
257
|
+
| **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
|
|
258
|
+
| **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
|
|
259
|
+
| **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
|
|
260
|
+
| **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
|
|
261
|
+
| **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
|
|
262
|
+
| **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
|
|
263
|
+
| **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
|
|
264
|
+
| **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
|
|
265
|
+
| **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
|
|
266
|
+
| **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
|
|
267
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
268
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
269
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
270
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
271
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
272
|
+
|
|
273
|
+
</details>
|
|
274
|
+
|
|
148
275
|
## 许可证
|
|
149
276
|
|
|
150
277
|
Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.
|
package/README.md
CHANGED
|
@@ -50,6 +50,16 @@ Uninstall:
|
|
|
50
50
|
dsh plugin --profile <profile> remove dsh-policy-ledger
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
### Install channels
|
|
55
|
+
|
|
56
|
+
npm is the recommended channel; the others are for pinning or offline use.
|
|
57
|
+
|
|
58
|
+
- **npm (recommended):** `dsh plugin --profile <profile> add dsh-policy-ledger`
|
|
59
|
+
- **git channel:** `dsh plugin --profile <profile> add github:PerryLink/dsh-policy-ledger`
|
|
60
|
+
- **tarball:** `pnpm pack` then `dsh plugin --profile <profile> add ./dsh-policy-ledger-<version>.tgz`
|
|
61
|
+
- **1024 store:** `npm i -g dsh1024` then `dsh1024 plugin --profile <profile> add dsh-policy-ledger`
|
|
62
|
+
|
|
53
63
|
## What it does
|
|
54
64
|
|
|
55
65
|
Read-only install doctor: capability snapshot, tarball assert and install diagnosis. Runs locally on DeepSeek Harness. The table below is the exact tool surface; the examples use the real command surface.
|
|
@@ -76,6 +86,22 @@ dsh plugin --profile <profile> add dsh-policy-ledger
|
|
|
76
86
|
dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
77
87
|
```
|
|
78
88
|
|
|
89
|
+
## Examples
|
|
90
|
+
|
|
91
|
+
### Fixture-backed example
|
|
92
|
+
|
|
93
|
+
Input: [`ACCEPTANCE.csv`](ACCEPTANCE.csv)
|
|
94
|
+
|
|
95
|
+
Command: `pnpm test`
|
|
96
|
+
|
|
97
|
+
Acceptance row:
|
|
98
|
+
|
|
99
|
+
| req_id | metric | threshold | actual | pass | source | counted |
|
|
100
|
+
|---|---|---|---|---|---|---|
|
|
101
|
+
| SKU-03-A01 | 能力快照抽取(3 包) | 3/3 | 3 | true | public/synthetic | false |
|
|
102
|
+
|
|
103
|
+
*This is a fixture-backed acceptance row, not a customer run; no output is invented.*
|
|
104
|
+
|
|
79
105
|
## Limits
|
|
80
106
|
|
|
81
107
|
- Public/synthetic only; no customer data or customer evidence.
|
|
@@ -85,7 +111,7 @@ dsh --profile <profile> --dump-config | grep dsh-policy-ledger
|
|
|
85
111
|
|
|
86
112
|
## Public sample
|
|
87
113
|
|
|
88
|
-
Public/synthetic fixtures live in `
|
|
114
|
+
Public/synthetic fixtures live in `fixtures/`; `ACCEPTANCE.csv` records the public checks with `counted=false`.
|
|
89
115
|
|
|
90
116
|
## Development
|
|
91
117
|
|
|
@@ -145,6 +171,107 @@ Sibling packages and family indexes: [dsh-pim-lint](https://github.com/PerryLink
|
|
|
145
171
|
|
|
146
172
|
</details>
|
|
147
173
|
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary>Mainline family — 92 current install specs</summary>
|
|
177
|
+
|
|
178
|
+
| Package | npm |
|
|
179
|
+
|---|---|
|
|
180
|
+
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | [npm](https://www.npmjs.com/package/dsh-aqua-input-check) |
|
|
181
|
+
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | [npm](https://www.npmjs.com/package/dsh-archive-check) |
|
|
182
|
+
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | [npm](https://www.npmjs.com/package/dsh-bid-ca-precheck) |
|
|
183
|
+
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | [npm](https://www.npmjs.com/package/dsh-bid-qual-check) |
|
|
184
|
+
| **[dsh-contract-stance](https://github.com/PerryLink/dsh-contract-stance)** | [npm](https://www.npmjs.com/package/dsh-contract-stance) |
|
|
185
|
+
| **[dsh-customs-doc-check](https://github.com/PerryLink/dsh-customs-doc-check)** | [npm](https://www.npmjs.com/package/dsh-customs-doc-check) |
|
|
186
|
+
| **[dsh-demurrage-ledger](https://github.com/PerryLink/dsh-demurrage-ledger)** | [npm](https://www.npmjs.com/package/dsh-demurrage-ledger) |
|
|
187
|
+
| **[dsh-drill-script-check](https://github.com/PerryLink/dsh-drill-script-check)** | [npm](https://www.npmjs.com/package/dsh-drill-script-check) |
|
|
188
|
+
| **[dsh-eia-guide-check](https://github.com/PerryLink/dsh-eia-guide-check)** | [npm](https://www.npmjs.com/package/dsh-eia-guide-check) |
|
|
189
|
+
| **[dsh-emergency-plan](https://github.com/PerryLink/dsh-emergency-plan)** | [npm](https://www.npmjs.com/package/dsh-emergency-plan) |
|
|
190
|
+
| **[dsh-essay-rubric-check](https://github.com/PerryLink/dsh-essay-rubric-check)** | [npm](https://www.npmjs.com/package/dsh-essay-rubric-check) |
|
|
191
|
+
| **[dsh-evidence-check](https://github.com/PerryLink/dsh-evidence-check)** | [npm](https://www.npmjs.com/package/dsh-evidence-check) |
|
|
192
|
+
| **[dsh-export-ctl-check](https://github.com/PerryLink/dsh-export-ctl-check)** | [npm](https://www.npmjs.com/package/dsh-export-ctl-check) |
|
|
193
|
+
| **[dsh-fmea-table-check](https://github.com/PerryLink/dsh-fmea-table-check)** | [npm](https://www.npmjs.com/package/dsh-fmea-table-check) |
|
|
194
|
+
| **[dsh-forecast-penalty](https://github.com/PerryLink/dsh-forecast-penalty)** | [npm](https://www.npmjs.com/package/dsh-forecast-penalty) |
|
|
195
|
+
| **[dsh-gongwen-flow-check](https://github.com/PerryLink/dsh-gongwen-flow-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-flow-check) |
|
|
196
|
+
| **[dsh-gongwen-word-check](https://github.com/PerryLink/dsh-gongwen-word-check)** | [npm](https://www.npmjs.com/package/dsh-gongwen-word-check) |
|
|
197
|
+
| **[dsh-guard-plan-qc](https://github.com/PerryLink/dsh-guard-plan-qc)** | [npm](https://www.npmjs.com/package/dsh-guard-plan-qc) |
|
|
198
|
+
| **[dsh-hazchem-check](https://github.com/PerryLink/dsh-hazchem-check)** | [npm](https://www.npmjs.com/package/dsh-hazchem-check) |
|
|
199
|
+
| **[dsh-hazplan-check](https://github.com/PerryLink/dsh-hazplan-check)** | [npm](https://www.npmjs.com/package/dsh-hazplan-check) |
|
|
200
|
+
| **[dsh-hidden-risk-map](https://github.com/PerryLink/dsh-hidden-risk-map)** | [npm](https://www.npmjs.com/package/dsh-hidden-risk-map) |
|
|
201
|
+
| **[dsh-hs-classify](https://github.com/PerryLink/dsh-hs-classify)** | [npm](https://www.npmjs.com/package/dsh-hs-classify) |
|
|
202
|
+
| **[dsh-icd-rule-check](https://github.com/PerryLink/dsh-icd-rule-check)** | [npm](https://www.npmjs.com/package/dsh-icd-rule-check) |
|
|
203
|
+
| **[dsh-lawcite-adapter](https://github.com/PerryLink/dsh-lawcite-adapter)** | [npm](https://www.npmjs.com/package/dsh-lawcite-adapter) |
|
|
204
|
+
| **[dsh-lc-doc-check](https://github.com/PerryLink/dsh-lc-doc-check)** | [npm](https://www.npmjs.com/package/dsh-lc-doc-check) |
|
|
205
|
+
| **[dsh-learning-gap-check](https://github.com/PerryLink/dsh-learning-gap-check)** | [npm](https://www.npmjs.com/package/dsh-learning-gap-check) |
|
|
206
|
+
| **[dsh-medrec-qc](https://github.com/PerryLink/dsh-medrec-qc)** | [npm](https://www.npmjs.com/package/dsh-medrec-qc) |
|
|
207
|
+
| **[dsh-nsfc-form-check](https://github.com/PerryLink/dsh-nsfc-form-check)** | [npm](https://www.npmjs.com/package/dsh-nsfc-form-check) |
|
|
208
|
+
| **[dsh-nurse-record-check](https://github.com/PerryLink/dsh-nurse-record-check)** | [npm](https://www.npmjs.com/package/dsh-nurse-record-check) |
|
|
209
|
+
| **[dsh-origin-rvc-check](https://github.com/PerryLink/dsh-origin-rvc-check)** | [npm](https://www.npmjs.com/package/dsh-origin-rvc-check) |
|
|
210
|
+
| **[dsh-ota-review-check](https://github.com/PerryLink/dsh-ota-review-check)** | [npm](https://www.npmjs.com/package/dsh-ota-review-check) |
|
|
211
|
+
| **[dsh-paper-doc-adapter](https://github.com/PerryLink/dsh-paper-doc-adapter)** | [npm](https://www.npmjs.com/package/dsh-paper-doc-adapter) |
|
|
212
|
+
| **[dsh-permit-report-check](https://github.com/PerryLink/dsh-permit-report-check)** | [npm](https://www.npmjs.com/package/dsh-permit-report-check) |
|
|
213
|
+
| **[dsh-pipeline-check](https://github.com/PerryLink/dsh-pipeline-check)** | [npm](https://www.npmjs.com/package/dsh-pipeline-check) |
|
|
214
|
+
| **[dsh-pleading-draft](https://github.com/PerryLink/dsh-pleading-draft)** | [npm](https://www.npmjs.com/package/dsh-pleading-draft) |
|
|
215
|
+
| **[dsh-policy-brief-draft](https://github.com/PerryLink/dsh-policy-brief-draft)** | [npm](https://www.npmjs.com/package/dsh-policy-brief-draft) |
|
|
216
|
+
| **[dsh-power-loss-split](https://github.com/PerryLink/dsh-power-loss-split)** | [npm](https://www.npmjs.com/package/dsh-power-loss-split) |
|
|
217
|
+
| **[dsh-power-ticket-check](https://github.com/PerryLink/dsh-power-ticket-check)** | [npm](https://www.npmjs.com/package/dsh-power-ticket-check) |
|
|
218
|
+
| **[dsh-ppap-check](https://github.com/PerryLink/dsh-ppap-check)** | [npm](https://www.npmjs.com/package/dsh-ppap-check) |
|
|
219
|
+
| **[dsh-protest-deadline](https://github.com/PerryLink/dsh-protest-deadline)** | [npm](https://www.npmjs.com/package/dsh-protest-deadline) |
|
|
220
|
+
| **[dsh-railway-window](https://github.com/PerryLink/dsh-railway-window)** | [npm](https://www.npmjs.com/package/dsh-railway-window) |
|
|
221
|
+
| **[dsh-repair-order-qc](https://github.com/PerryLink/dsh-repair-order-qc)** | [npm](https://www.npmjs.com/package/dsh-repair-order-qc) |
|
|
222
|
+
| **[dsh-review-reply-check](https://github.com/PerryLink/dsh-review-reply-check)** | [npm](https://www.npmjs.com/package/dsh-review-reply-check) |
|
|
223
|
+
| **[dsh-rulefile-check](https://github.com/PerryLink/dsh-rulefile-check)** | [npm](https://www.npmjs.com/package/dsh-rulefile-check) |
|
|
224
|
+
| **[dsh-safety-brief-check](https://github.com/PerryLink/dsh-safety-brief-check)** | [npm](https://www.npmjs.com/package/dsh-safety-brief-check) |
|
|
225
|
+
| **[dsh-site-log-check](https://github.com/PerryLink/dsh-site-log-check)** | [npm](https://www.npmjs.com/package/dsh-site-log-check) |
|
|
226
|
+
| **[dsh-soe-decision-check](https://github.com/PerryLink/dsh-soe-decision-check)** | [npm](https://www.npmjs.com/package/dsh-soe-decision-check) |
|
|
227
|
+
| **[dsh-soilwater-check](https://github.com/PerryLink/dsh-soilwater-check)** | [npm](https://www.npmjs.com/package/dsh-soilwater-check) |
|
|
228
|
+
| **[dsh-sop-sync-check](https://github.com/PerryLink/dsh-sop-sync-check)** | [npm](https://www.npmjs.com/package/dsh-sop-sync-check) |
|
|
229
|
+
| **[dsh-spc-gbt-adapter](https://github.com/PerryLink/dsh-spc-gbt-adapter)** | [npm](https://www.npmjs.com/package/dsh-spc-gbt-adapter) |
|
|
230
|
+
| **[dsh-tender-extract](https://github.com/PerryLink/dsh-tender-extract)** | [npm](https://www.npmjs.com/package/dsh-tender-extract) |
|
|
231
|
+
| **[dsh-tender-matrix](https://github.com/PerryLink/dsh-tender-matrix)** | [npm](https://www.npmjs.com/package/dsh-tender-matrix) |
|
|
232
|
+
| **[dsh-warranty-calc](https://github.com/PerryLink/dsh-warranty-calc)** | [npm](https://www.npmjs.com/package/dsh-warranty-calc) |
|
|
233
|
+
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | [npm](https://www.npmjs.com/package/dsh-auto-review) |
|
|
234
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | [npm](https://www.npmjs.com/package/dsh-autotier) |
|
|
235
|
+
| **[dsh-budget](https://github.com/PerryLink/dsh-budget)** | [npm](https://www.npmjs.com/package/dsh-budget) |
|
|
236
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | [npm](https://www.npmjs.com/package/dsh-cert-mcp) |
|
|
237
|
+
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | [npm](https://www.npmjs.com/package/dsh-checkpoint-rewind) |
|
|
238
|
+
| **[dsh-claude-move](https://github.com/PerryLink/dsh-claude-move)** | [npm](https://www.npmjs.com/package/dsh-claude-move) |
|
|
239
|
+
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | [npm](https://www.npmjs.com/package/dsh-click) |
|
|
240
|
+
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | [npm](https://www.npmjs.com/package/dsh-composer-history) |
|
|
241
|
+
| **[dsh-data-quality](https://github.com/PerryLink/dsh-data-quality)** | [npm](https://www.npmjs.com/package/dsh-data-quality) |
|
|
242
|
+
| **[dsh-defend](https://github.com/PerryLink/dsh-defend)** | [npm](https://www.npmjs.com/package/dsh-defend) |
|
|
243
|
+
| **[dsh-doublecheck](https://github.com/PerryLink/dsh-doublecheck)** | [npm](https://www.npmjs.com/package/dsh-doublecheck) |
|
|
244
|
+
| **[dsh-draw](https://github.com/PerryLink/dsh-draw)** | [npm](https://www.npmjs.com/package/dsh-draw) |
|
|
245
|
+
| **[dsh-fast](https://github.com/PerryLink/dsh-fast)** | [npm](https://www.npmjs.com/package/dsh-fast) |
|
|
246
|
+
| **[dsh-fund-research](https://github.com/PerryLink/dsh-fund-research)** | [npm](https://www.npmjs.com/package/dsh-fund-research) |
|
|
247
|
+
| **[dsh-industry-research](https://github.com/PerryLink/dsh-industry-research)** | [npm](https://www.npmjs.com/package/dsh-industry-research) |
|
|
248
|
+
| **[dsh-laya](https://github.com/PerryLink/dsh-laya)** | [npm](https://www.npmjs.com/package/dsh-laya) |
|
|
249
|
+
| **[dsh-library](https://github.com/PerryLink/dsh-library)** | [npm](https://www.npmjs.com/package/dsh-library) |
|
|
250
|
+
| **[dsh-local-ai](https://github.com/PerryLink/dsh-local-ai)** | [npm](https://www.npmjs.com/package/dsh-local-ai) |
|
|
251
|
+
| **[dsh-lsp-actions](https://github.com/PerryLink/dsh-lsp-actions)** | [npm](https://www.npmjs.com/package/dsh-lsp-actions) |
|
|
252
|
+
| **[dsh-mask](https://github.com/PerryLink/dsh-mask)** | [npm](https://www.npmjs.com/package/dsh-mask) |
|
|
253
|
+
| **[dsh-mcp-panel](https://github.com/PerryLink/dsh-mcp-panel)** | [npm](https://www.npmjs.com/package/dsh-mcp-panel) |
|
|
254
|
+
| **[dsh-memento](https://github.com/PerryLink/dsh-memento)** | [npm](https://www.npmjs.com/package/dsh-memento) |
|
|
255
|
+
| **[dsh-observe](https://github.com/PerryLink/dsh-observe)** | [npm](https://www.npmjs.com/package/dsh-observe) |
|
|
256
|
+
| **[dsh-output-styles](https://github.com/PerryLink/dsh-output-styles)** | [npm](https://www.npmjs.com/package/dsh-output-styles) |
|
|
257
|
+
| **[dsh-permission-rules](https://github.com/PerryLink/dsh-permission-rules)** | [npm](https://www.npmjs.com/package/dsh-permission-rules) |
|
|
258
|
+
| **[dsh-plugin-guide](https://github.com/PerryLink/dsh-plugin-guide)** | [npm](https://www.npmjs.com/package/dsh-plugin-guide) |
|
|
259
|
+
| **[dsh-plugin-upgrade](https://github.com/PerryLink/dsh-plugin-upgrade)** | [npm](https://www.npmjs.com/package/dsh-plugin-upgrade) |
|
|
260
|
+
| **[dsh-reach](https://github.com/PerryLink/dsh-reach)** | [npm](https://www.npmjs.com/package/dsh-reach) |
|
|
261
|
+
| **[dsh-research-report](https://github.com/PerryLink/dsh-research-report)** | [npm](https://www.npmjs.com/package/dsh-research-report) |
|
|
262
|
+
| **[dsh-score](https://github.com/PerryLink/dsh-score)** | [npm](https://www.npmjs.com/package/dsh-score) |
|
|
263
|
+
| **[dsh-session-sync](https://github.com/PerryLink/dsh-session-sync)** | [npm](https://www.npmjs.com/package/dsh-session-sync) |
|
|
264
|
+
| **[dsh-talk](https://github.com/PerryLink/dsh-talk)** | [npm](https://www.npmjs.com/package/dsh-talk) |
|
|
265
|
+
| **[dsh-test-drive](https://github.com/PerryLink/dsh-test-drive)** | [npm](https://www.npmjs.com/package/dsh-test-drive) |
|
|
266
|
+
| **[dsh-translate](https://github.com/PerryLink/dsh-translate)** | [npm](https://www.npmjs.com/package/dsh-translate) |
|
|
267
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
268
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
269
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
270
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
271
|
+
| **[](https://github.com/PerryLink/)** | [npm](https://www.npmjs.com/package/) |
|
|
272
|
+
|
|
273
|
+
</details>
|
|
274
|
+
|
|
148
275
|
## License
|
|
149
276
|
|
|
150
277
|
Apache-2.0. See `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES`.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Security policy
|
|
2
|
+
|
|
3
|
+
## Supported versions
|
|
4
|
+
|
|
5
|
+
The current `alpha` line of `dsh-policy-ledger` is supported for security reports. Older alpha builds are not supported.
|
|
6
|
+
|
|
7
|
+
## Reporting a vulnerability
|
|
8
|
+
|
|
9
|
+
Please **do not** open a public issue for a vulnerability. Email **novelnexusai@outlook.com** with:
|
|
10
|
+
|
|
11
|
+
- the package and version,
|
|
12
|
+
- a minimal reproduction,
|
|
13
|
+
- the impact you believe it has.
|
|
14
|
+
|
|
15
|
+
This is a public/synthetic alpha project. It has no bug bounty, no SLA, and no customer data. Reports are handled on a best-effort basis; a fix or a written “not affected / won't fix” answer will be recorded in the repository.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
In scope: the published npm package, its Cordis patch, local file handling, and the documented tool surface. Out of scope: findings that require customer data, a modified package, or a service this project does not ship.
|
package/icon.svg
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="PL">
|
|
2
|
+
<rect width="128" height="128" rx="28" fill="#0b1020"/>
|
|
3
|
+
<rect x="10" y="10" width="108" height="108" rx="22" fill="#141b30" stroke="#6ea8fe" stroke-width="3"/>
|
|
4
|
+
<text x="64" y="76" text-anchor="middle" fill="#e8edf7" font-family="ui-monospace,SFMono-Regular,Menlo,monospace" font-size="34" font-weight="700">PL</text>
|
|
5
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-policy-ledger",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.8",
|
|
4
4
|
"description": "Read-only install doctor: capability snapshot, tarball assert and install diagnosis.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/plugin/index.js",
|
|
@@ -26,7 +26,13 @@
|
|
|
26
26
|
"README-es.md",
|
|
27
27
|
"README-pt.md",
|
|
28
28
|
"README-hi.md",
|
|
29
|
-
"docs/assets"
|
|
29
|
+
"docs/assets",
|
|
30
|
+
"SECURITY.md",
|
|
31
|
+
"PRIVACY.md",
|
|
32
|
+
"CODE_OF_CONDUCT.md",
|
|
33
|
+
"CONTRIBUTING.md",
|
|
34
|
+
"CHANGELOG.md",
|
|
35
|
+
"icon.svg"
|
|
30
36
|
],
|
|
31
37
|
"dsh": {
|
|
32
38
|
"bundle": {
|
|
@@ -94,5 +100,6 @@
|
|
|
94
100
|
"homepage": "https://perrylink.github.io/dsh-plugins/packages/dsh-policy-ledger.html",
|
|
95
101
|
"bugs": {
|
|
96
102
|
"url": "https://github.com/PerryLink/dsh-policy-ledger/issues"
|
|
97
|
-
}
|
|
103
|
+
},
|
|
104
|
+
"icon": "icon.svg"
|
|
98
105
|
}
|