octwin-cli 0.8.4 → 0.8.6

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 CHANGED
@@ -5,6 +5,45 @@ Format: [Keep a Changelog](https://keepachangelog.com/) — newest first, bucket
5
5
  **Added · Changed · Deprecated · Removed · Fixed · Security**. The platform-wide view lives in the
6
6
  repo root [`CHANGELOG.md`](../../CHANGELOG.md); this file is the CLI-only cut that ships with the package.
7
7
 
8
+ ## [0.8.6] - 2026-09-04
9
+
10
+ ### Changed
11
+ - **`validate` can no longer print a `✓` for a check that did not run.** Each of the eight
12
+ checks now RETURNS an `Outcome` — `passed`, `findings`, or `not-run` — and a single printer
13
+ renders all of them, groups the skips by reason, and computes the exit code. Previously each
14
+ check printed its own `✓` inside the `if` that held its data, with a `skipped[]` array and a
15
+ `skipReasons` Map maintained alongside; it was correct because someone was careful, and the
16
+ next check added was one `if` away from lying again.
17
+
18
+ It had lied twice, in the same shape: the KB-dependent block once printed ONE `✓` above six
19
+ checks whose own `✓`s lived inside their `if`s (so a run with no pulled KB read as "one check,
20
+ passed", and an entire backlog batch reached production that way), and `yamlDocs()` once
21
+ dropped an unparseable file so `validate` printed all-green over a pack the platform's importer
22
+ then refused. **An unparseable file is not "no findings", it is "no idea", and those must never
23
+ print the same** — a check that returns nothing now cannot reach the `passed` branch at all.
24
+
25
+ Output is unchanged for a normal run. `passed` carries its own line, so the reserved-entity
26
+ check keeps the narrower wording it uses when the catalog rules are absent from an older pull.
27
+ `--require-kb` is now one line over the returned skip list.
28
+
29
+ Verified 2026-09-04: all 23 marketplace packs exit 0 with no findings; a pack with no pulled KB
30
+ prints zero `✓` for the six KB-dependent checks plus one grouped ⚠ naming all six, and
31
+ `--require-kb` exits 1; a duplicate YAML key still exits 1 naming the file.
32
+
33
+ ## [0.8.5] - 2026-09-02
34
+
35
+ ### Added
36
+ - **`octwin work --unrouted`** — the inbox filtered to items in NO queue. The route has always
37
+ supported the filter; the CLI never passed it, so `--queues` could tell you a count and not
38
+ show you the items behind it.
39
+
40
+ ### Changed
41
+ - **`octwin work --queues` leads with the unrouted count.** It was already printed, as
42
+ `(unrouted: N open)` tucked under the queue list. A routed item sits in a list someone works;
43
+ an unrouted one sits in nobody's, so it is the only line on that screen that means "these are
44
+ lost". It is now a warning block that names the likely cause and points at `--unrouted`. Still
45
+ silent at zero — a clean project stays quiet, or the warning stops meaning anything.
46
+
8
47
  ## [0.8.4] - 2026-09-02
9
48
 
10
49
  ### Fixed