@dzhechkov/harness-cli 0.3.201 → 0.3.202

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.
Files changed (2) hide show
  1. package/README.md +34 -3
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -531,11 +531,21 @@ pre-emptive probe, not reactive detection, is the real defense.
531
531
 
532
532
  ### Claim check (`dz claim-check`)
533
533
 
534
- Makes the Integrity Rule *"no fake claims; verify before claiming success"* a runnable check
535
- instead of prose. Every quantitative claim (coverage, test/skill/command counts, benchmarks) must be
534
+ **Why you want this.** Docs accumulate numbers nobody can reproduce things like `99% accuracy`,
535
+ `10× faster`, `100% coverage` and an AI agent writing your README is especially good at inventing
536
+ them. A rule like *"no fake claims; verify before claiming success"* enforced only by discipline
537
+ eventually loses. This makes it a runnable check with an exit code.
538
+
539
+ **What it does.** Every quantitative claim (coverage, test/skill/command counts, benchmarks) must be
536
540
  tagged `MEASURED` / `CLAIMED` / `SYNTHETIC` / `ESTIMATED` / `UNVALIDATED` / `BASELINE`, and a
537
541
  `MEASURED` claim must name its reproducer (`npm test`, a coverage report, `npm view`, a git ref).
538
- "100% / perfect" framing is always high severity.
542
+ A `100%` or `perfect` framing is always high severity — it is the claim most likely to be untrue.
543
+ (The backticks are load-bearing: this paragraph quotes the claims it forbids, and a backticked
544
+ literal reads as code, not as an assertion.)
545
+
546
+ So `coverage 92%` is flagged; `coverage 92% (MEASURED — npm test)` is not. `2136 tests` is flagged;
547
+ a shields.io badge URL is not (the URL is machinery, not prose). A number inside backticks still
548
+ counts: ``accuracy reached `0.95` `` is a claim.
539
549
 
540
550
  ```bash
541
551
  dz claim-check # scans root README, every package README, features/*/08_qe_report.md
@@ -557,6 +567,27 @@ dz publish --filter harness-cli --claim-check error # a high finding fails THIS
557
567
  dz publish --filter harness-cli --claim-check off # disable the gate entirely
558
568
  ```
559
569
 
570
+ #### From Claude Code — just ask in plain language
571
+
572
+ There is no slash command: `dz` is a CLI, and the agent runs it for you.
573
+
574
+ > "Проверь наши README на непроверяемые утверждения перед релизом"
575
+ >
576
+ > "Run dz claim-check and fix the high findings by tagging them MEASURED with a reproducer"
577
+ >
578
+ > "Before we publish, make sure no doc claims 100% of anything"
579
+
580
+ Claude runs `dz claim-check --json`, reads the findings, and edits the offending lines. Two habits
581
+ worth asking for explicitly: **do not silence a finding by deleting the number** (a claim you cannot
582
+ reproduce should be removed or downgraded, not hidden), and **do not weaken the rules** to make the
583
+ gate green.
584
+
585
+ #### In CI
586
+
587
+ ```bash
588
+ dz claim-check --fail-on high || exit 1 # block a release on a "100%" claim
589
+ ```
590
+
560
591
  Ported from rUv's [`ruview`](https://www.npmjs.com/package/@ruvnet/ruview) `src/guardrails.js` (MIT),
561
592
  which was itself written after a documented AI-slop incident. The detection semantics are kept
562
593
  verbatim — including a deliberately `\b`-free `100%` regex that looks like a bug and is not.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/harness-cli",
3
- "version": "0.3.201",
3
+ "version": "0.3.202",
4
4
  "description": "The dz CLI — install AI skills for Claude Code, Codex, OpenCode, Hermes, OpenClaude, GitHub Copilot. 35 commands, 13 presets, 6 platform targets.",
5
5
  "type": "module",
6
6
  "license": "MIT",