@kira905/dsh-diagnostics-extra 0.0.0-stage → 0.1.1

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 ADDED
@@ -0,0 +1,54 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here.
4
+ Format loosely follows [Keep a Changelog](https://keepachangelog.com/); versions follow SemVer.
5
+
6
+ ## [0.1.0] - 2026-10-19
7
+
8
+ ### Added
9
+
10
+ - **`attachments-audit.mjs`** — read-only reconciliation of image attachments referenced by session
11
+ logs against on-disk objects (`<DSH_HOME>/attachments/v1/objects/<2>/<sha256>`). Cache with
12
+ relative-path + size + mtimeMs keys; `--json` / `--quiet` / `--no-cache` / `--sessions-only` /
13
+ `--verify-objects`. Exit codes `0/3/2/4` (`4` = fail-closed environment unavailable).
14
+ - **`attachments-fetch.mjs`** — fetch missing objects by sha256 from explicit sources, relay
15
+ directories or local derived sources; `--probe`, `--export`, `--rollback`, `--dry-run`, `--report`,
16
+ `--force`; atomic placement (temp file → verify → rename → re-verify).
17
+ - **`dsh-why.mjs`** — one-command read-only health check: host, dsh main process (owner of the
18
+ LISTEN socket on port 3080), guard bodies vs launchers, port connections, guard state and log tail;
19
+ `--json`, `--log-lines`, `--procs-file`; secret-shaped output redacted.
20
+ - **`owner-todo-scan.mjs`** — merges owner-pending items from board-card descriptions, handoff
21
+ documents and peer-machine run sheets; autonomy grade split (self / red-line / unknown);
22
+ `--all` / `--json` / `--write` (writes `docs\your-todo-<device>.md`).
23
+ - Shared `lib/dsh-home.mjs`, `lib/attach-refs.mjs`, `lib/session-file-name.mjs`,
24
+ `lib/powershell-exe.mjs`, `lib/redact.mjs`, `lib/generated-docs.mjs`.
25
+ - `package.json` with `bin` entries for all four CLIs, AGPL-3.0 + commercial dual licensing.
26
+
27
+ ### Changed (relative to the private source tree)
28
+
29
+ - All machine-absolute paths replaced with `DSH_ROOT` / `os.homedir()` / environment variables /
30
+ relative paths; host and user names replaced with generic placeholders.
31
+ - **`owner-todo-scan.mjs` upgrade-lock dependency**: the static `import { status } from
32
+ './dsh-butler/lib/upgrade-lock.mjs'` became a **dynamic, optional load** from
33
+ `DSH_TOOLS_DIR` / `DSH_BUTLER_LIB` with an explicit degraded branch. When the kernel is absent it
34
+ prints one "upgrade lock: not probeable" line and continues; when present, the judged states are
35
+ byte-for-byte the same as the private tree (no judging rule was copied or rewritten).
36
+ - `lane-gate.mjs` / `residue-reaper.mjs` dynamic paths are now resolved from `DSH_BUTLER_LIB` instead
37
+ of a fixed absolute path (still optional, still silently skipped when absent).
38
+ - `dsh-why.mjs` device short code generalized: host name is slugified (override with
39
+ `DSH_DEVICE_LABEL`); the two hard-coded machine names were removed.
40
+ - `owner-todo-scan.mjs` device label generalized (`DSH_DEVICE_LABEL`, default host name) and the
41
+ peer-run-sheet judge made configurable (`DSH_PEER_LABEL`, default `对端机`).
42
+ - `lib/generated-docs.mjs`: `<host>` family placeholder generalized from a fixed two-host alternation
43
+ to `([a-z][a-z0-9-]*)`; sample paths use `example-host`; the drive-letter prefix rule accepts both
44
+ separators; fixture variants use a placeholder drive (`X:`) instead of a real one.
45
+ - `lib/powershell-exe.mjs`: hard-coded system paths are composed from `SystemDrive` / `SystemRoot` /
46
+ `ProgramFiles` fallbacks instead of literal drive paths.
47
+
48
+ ### Notes
49
+
50
+ - **`owner-todo-scan.mjs` has no help flag**: unknown arguments are ignored and the real action runs
51
+ (`--write` writes the list). The other three scripts reject unknown arguments with usage.
52
+ - Write actions exist only in `attachments-fetch.mjs` (dry-run available) and
53
+ `owner-todo-scan.mjs --write`.
54
+ - No network calls, no credential reads.