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 +39 -0
- package/dist/index.js +518 -489
- package/dist/lib/outcome.js +79 -0
- package/package.json +1 -1
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
|