@maind-dev/cli 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/build/index.js +114 -105
- package/build/meta.json +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -103,6 +103,34 @@ The CLI never posts the comment itself — your workflow posts the file via
|
|
|
103
103
|
| `1` | Only a server verdict crossing `--fail-on` (requires `--gate`) |
|
|
104
104
|
| `2` | Infra error, only under `--strict` |
|
|
105
105
|
|
|
106
|
+
### Detector findings (with `--gate`)
|
|
107
|
+
|
|
108
|
+
With `--gate`, the CLI also runs the four repo-health detectors from
|
|
109
|
+
`@maind/code-index` on this machine — number collisions in counter-style
|
|
110
|
+
namespaces (`ADR-263-*.md` twice), spec drift (a registry vs. the artefact it
|
|
111
|
+
declares), dead theme classes (a Tailwind v4 utility pointing at a token that
|
|
112
|
+
does not exist), and table ACL (Supabase default grants never revoked) — and
|
|
113
|
+
sends them to `review_verdict` as a third finding class next to convention
|
|
114
|
+
findings and risk flags (ADR-324).
|
|
115
|
+
|
|
116
|
+
Only a **commitment** leaves the machine: `detector_id`, `detector_version`,
|
|
117
|
+
`rule_id`, `level`, `baseline`, an `evidence_hash` (sha256 over the normalised
|
|
118
|
+
evidence) and a count. Paths, tokens, class names, table names and numbers
|
|
119
|
+
stay local — they appear in the report (`.maind/review.md`) but never in the
|
|
120
|
+
manifest, the PR comment or the wire.
|
|
121
|
+
|
|
122
|
+
Block-eligible is only a finding this branch **introduces** (`level: open`,
|
|
123
|
+
`baseline: introduced`). Objective detectors (number collisions, spec drift,
|
|
124
|
+
dead theme classes) block by default; table ACL warns, because it encodes an
|
|
125
|
+
architecture opinion — a team policy can override either way, with a reason.
|
|
126
|
+
|
|
127
|
+
`diff_stats.detector_coverage` reports whether every detector ran or honestly
|
|
128
|
+
abstained (`full`), whether one could not run or could not grade against the
|
|
129
|
+
merge base (`partial`), or whether none ran (`none`). Only `full` keeps a run
|
|
130
|
+
attestation-grade; `partial` never does — the verdict still stands. Servers
|
|
131
|
+
before 0.48.0 ignore the section silently; the CLI detects the missing echo
|
|
132
|
+
and says so (`server_acknowledged: false` in the manifest).
|
|
133
|
+
|
|
106
134
|
## Fail-open contract
|
|
107
135
|
|
|
108
136
|
A context pull must never fail a build. On any error (missing key, network,
|