@maind-dev/cli 0.13.1 → 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 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,