@dzhechkov/skills-feature-adr 1.3.58 β 1.3.59
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 +32 -0
- package/bin/cli.js +0 -0
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -471,6 +471,38 @@ Step 3 and Step 8 share an ADR best-practices contract distilled from the
|
|
|
471
471
|
The pipeline **dog-foods** this: a harness test runs the gate against feature-adr's own generated ADR, so a
|
|
472
472
|
Step-3βStep-8 drift fails CI rather than shipping.
|
|
473
473
|
|
|
474
|
+
### Amendments are mini-ADRs + the π¦ Gates line (v1.3.58)
|
|
475
|
+
|
|
476
|
+
Three additions derived from a real post-release incident analysis (a pipeline shipped slices whose defects
|
|
477
|
+
only a *full* post-push review caught), organized by one principle β the **cost-of-detection ladder**: every
|
|
478
|
+
check lives on the cheapest layer that reliably holds it (deterministic test > always-loaded file > pipeline
|
|
479
|
+
gate > reviewer judgment > memory). A miss usually means a check lived one layer too weak.
|
|
480
|
+
|
|
481
|
+
- **Amendment Confirmation discipline.** Corrections folded into a run (a Step-3.5 CONDITIONAL condition, a
|
|
482
|
+
challenge-panel confirmed finding, a user checkpoint steer) were historically the least-tested part of the
|
|
483
|
+
pipeline β prose deltas with no proving test. Now every amendment is a **mini-ADR** in a `## Amendments`
|
|
484
|
+
section with a fixed, lintable shape:
|
|
485
|
+
```
|
|
486
|
+
AM-N (qcsd|challenge-panel|user-steer): <change>. Confirmation: <property> β test `test_name` (fails if reverted).
|
|
487
|
+
```
|
|
488
|
+
Step 8 verifies each named test **exists** and is **non-vacuous** β amendment tests join the ADR property
|
|
489
|
+
test in the same `dz discrimination-check` run (a test that stays green at pre-feature base proves
|
|
490
|
+
nothing). A *safeguard* amendment needs a test proving it actually **fires** on a real input, not just
|
|
491
|
+
that its code path exists. No `## Amendments` section β the gate skips silently (zero cost).
|
|
492
|
+
- **The `π¦ Gates:` line.** Every checkpoint banner (and the workflow's return objects) carries a gate map
|
|
493
|
+
**derived from machine state** β artifact existence, JSON verdicts, test results β never from what the
|
|
494
|
+
orchestrator remembers. `β` passed Β· `β` failed Β· `not-run` pending Β· `β` N/A. The line doesn't make a
|
|
495
|
+
gate run; it makes NOT running one loud.
|
|
496
|
+
- **I/O-on-pure-path rule.** A change that adds I/O (DB/network/file) to a previously-pure path β above all
|
|
497
|
+
startup/lifespan/health β must carry a **negative resource-down test** (broken resource β the declared
|
|
498
|
+
degradation contract: fail-open for advisory, fail-fast for load-bearing), and Step 8 hunts the
|
|
499
|
+
**fixture-swap smell**: replacing a broken fixture with a healthy one silently deletes the negative
|
|
500
|
+
control that proved the path was I/O-free. The bundled role-default skills gained the matching entries
|
|
501
|
+
(`code-impl` P25, `code-critic` AP14).
|
|
502
|
+
|
|
503
|
+
Both forms carry all of it: the interactive skill (step modules + banner template) and the deterministic
|
|
504
|
+
workflow (stage prompts + derived `gates` in its returns) β same shapes, same vocabulary.
|
|
505
|
+
|
|
474
506
|
### The `Model` / `Fable?` columns β read this before swapping models
|
|
475
507
|
|
|
476
508
|
The `Model` column is the **default recommendation, fully overridable** β the routing rule is
|
package/bin/cli.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzhechkov/skills-feature-adr",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.59",
|
|
4
4
|
"description": "Adaptive Feature Development skill pack for Claude Code β 11-step pipeline with Complexity Router (S/M/L/XL), ADR-driven architecture, 15 agentic-qe skills, multi-agent fleet QE. Supports --full-qe, --full-qe-extended, --with-learning, and --knowledge-extractor modes.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"skills-feature-adr": "./bin/cli.js"
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"CHANGELOG.md",
|
|
14
14
|
"docs/"
|
|
15
15
|
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test": "node --test \"test/**/*.test.js\"",
|
|
18
|
+
"prepack": "node -e \"const fs=require('fs');const bad=['.claude','.skills-feature-adr.json'].filter(p=>fs.existsSync(p));if(bad.length){console.error('prepack guard: stray init artifacts in package dir: '+bad.join(', ')+' β remove before packing');process.exit(1)}\""
|
|
19
|
+
},
|
|
16
20
|
"keywords": [
|
|
17
21
|
"claude",
|
|
18
22
|
"claude-code",
|
|
@@ -57,8 +61,5 @@
|
|
|
57
61
|
},
|
|
58
62
|
"publishConfig": {
|
|
59
63
|
"access": "public"
|
|
60
|
-
},
|
|
61
|
-
"scripts": {
|
|
62
|
-
"test": "node --test \"test/**/*.test.js\""
|
|
63
64
|
}
|
|
64
|
-
}
|
|
65
|
+
}
|