@antoneeo/agentic-sdlc-skill 1.25.0 → 1.26.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/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
Tutte le modifiche significative a questa skill saranno documentate in questo file.
|
|
4
4
|
|
|
5
|
+
## [1.26.0 / kb 1.4.6 / mkt 0.4.6] - 2026-08-06
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Execution Integrity — Tranche A (F-034).** Three observed/irreversible gaps close as
|
|
9
|
+
wording in existing owners, from a firsthand comparative study of Superpowers 6.2.0 (MIT;
|
|
10
|
+
concepts reimplemented, no text copied, no dependency) gated by the standing weight
|
|
11
|
+
criterion: (1) **claim-to-evidence** — every completion claim binds to a proof run AFTER
|
|
12
|
+
the final relevant edit; a narrower check never supports a broader claim; delegated work is
|
|
13
|
+
verified on the diff, never on the subagent's report; unavailable proof is reported, never
|
|
14
|
+
claimed (observed failure: a closure artifact claimed "check clean" while the gate was NOT
|
|
15
|
+
CLEAN — REVIEW_LOG F-033). (2) **Scoped re-review of review-driven corrections**
|
|
16
|
+
(`review.md`, shared spine — ACTIVE in kb/mkt too): a fix is unreviewed work; per-finding
|
|
17
|
+
verdicts ADDRESSED/NOT ADDRESSED/CONTESTED, correction-only scope, new breakage in the fix
|
|
18
|
+
joins the findings, two rounds are the norm inside the existing cap of 3, one logical
|
|
19
|
+
review = one REVIEW_LOG row. (3) **Destructive guards** — integration is the user's choice;
|
|
20
|
+
discard only on explicit request naming branch/commits/worktree; no unauthorized
|
|
21
|
+
force-push; no foreign-worktree cleanup; project guides own the specific commands.
|
|
22
|
+
- **Enforcement-writing technique** on the touched rules: a triage rationalization table
|
|
23
|
+
(`Excuse | Reality`) in Rule Zero and red-flag stop-words in the verification rule — the
|
|
24
|
+
study's key finding was that Superpowers' asset is HOW it writes rules (pre-refuting the
|
|
25
|
+
escape thought), not any mechanism.
|
|
26
|
+
- **Reviewer output honesty:** `CANNOT VERIFY` is a first-class reviewer output (a claim not
|
|
27
|
+
checkable from the provided inputs is reported, not silently passed); pre-judging findings
|
|
28
|
+
in a review request ("don't flag X") is forbidden. Companion change in the devPNT reviewer
|
|
29
|
+
agents ships in that repo.
|
|
30
|
+
Tranche B (tdd/debugging) rides the next admitted touch of those overlays; Tranche C
|
|
31
|
+
(dispatch ledger machinery) stays frozen until an observed failure reopens it. Rationale:
|
|
32
|
+
`ai_docs/architecture/ADR_2026-08-06_execution_integrity_tranche_a.md`.
|
|
33
|
+
|
|
5
34
|
## [1.25.0 / kb 1.4.5 / mkt 0.4.5] - 2026-08-06
|
|
6
35
|
|
|
7
36
|
### Added
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antoneeo/agentic-sdlc-skill",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"description": "Documentation-First SDLC protocol for Claude Code, Gemini CLI, Google Antigravity and Codex with risk triage, Vision governance, installed support files and optional devPNT integration.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agentic-sdlc
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.26.0
|
|
4
4
|
description: Documentation-First SDLC protocol with risk-proportional triage, Vision as a guide, a complete Standalone mode and optional symbiosis with devPNT. Use for features, significant bugs, refactors, audits and documented maintenance.
|
|
5
5
|
author: Antonio Pinto (https://github.com/Antoneeo)
|
|
6
6
|
copyright: (c) 2026 Antonio Pinto
|
|
@@ -56,6 +56,16 @@ Cross-cutting rules:
|
|
|
56
56
|
- **Before asking the user anything — any phase, any level — the question must pass the legality test: search first and name the search with its result; name the decision or fact blocked without the answer.** Blocking the work is the exception, not the default. `elicitation.md` §The question discipline owns the rule and is the only place it is stated — read it before you ask, and do not work from a summary of it.
|
|
57
57
|
- The full audit does not start for L1/L2 unless explicitly requested.
|
|
58
58
|
|
|
59
|
+
Triage rationalizations — the thought on the left is the signal to STOP and re-triage:
|
|
60
|
+
|
|
61
|
+
| Excuse | Reality |
|
|
62
|
+
|---|---|
|
|
63
|
+
| "Too simple to need the process" | Simple is where unexamined assumptions bite; L1's process IS proportionally simple — use it, don't skip it |
|
|
64
|
+
| "It's just a fix" | A "fix" that delivers a new capability or client is a new feature wearing a fix label — the framing does not set the level, the criteria do |
|
|
65
|
+
| "It's small, so L2" | Size is one criterion of several: one touched contract, security surface or non-obvious design makes it L3 at any size |
|
|
66
|
+
| "I'll reclassify later if it grows" | Later is after the unscoped edits exist; reclassify the moment the bigger impact emerges, not at closure |
|
|
67
|
+
| "The doubt itself is small" | When in doubt, pick the higher level — that rule exists precisely for this thought |
|
|
68
|
+
|
|
59
69
|
## Write Triggers
|
|
60
70
|
|
|
61
71
|
Triage decides IF documentation is due; this table decides WHICH document each event produces, and when. **One event, one destination:** when the trigger fires and the document does not exist, create it; when it exists, update it — never duplicate it. This table is the authoritative write index — the workflow phases carry the surrounding procedure and point here for the trigger.
|
|
@@ -262,6 +272,7 @@ Hybrid L3:
|
|
|
262
272
|
### 5. Closure
|
|
263
273
|
|
|
264
274
|
- Run the relevant tests/lint/smoke checks.
|
|
275
|
+
- **Claim-to-evidence (fires at EVERY completion claim, any phase, any level).** Before stating or implying that anything passes, works, is fixed, is clean or is complete: name the claim, run the proof that establishes *that* claim **after the final relevant edit**, read the full result, and report the actual status with the evidence. Freshness: a check run before a later relevant change proves nothing about the current tree. Breadth: a narrower check never supports a broader claim — targeted tests ≠ full suite; lint ≠ build; "tests pass" ≠ "requirements complete" (that claim maps to the Functional Spec acceptance criteria where the artifact carries them; "gate clean" maps to a fresh gate run reporting clean). **Delegated work is verified on the diff/files, never on the agent's report** — "the subagent said success" is a claim, not evidence. If the environment cannot run the proof, say so and give the alternative evidence — never claim the unavailable result. Red flags that mean STOP and run the proof: "should", "probably", "seems to", "still passes", "just this once", any satisfaction expressed before verification.
|
|
265
276
|
- For the review itself follow `review.md` (requesting and receiving findings) — the single definition, intended for reuse by the Hybrid review gates (devPNT-side wiring out of this unit's scope).
|
|
266
277
|
- Verify alignment with the local Vision or the devPNT M-VISION.
|
|
267
278
|
- If the work was governed by user-provided indications and is reusable, **PROPOSE distilling a guide** (proactive trigger, `guides.md` §1) — a proposal for the user, never a silent write, never from model knowledge.
|
|
@@ -279,6 +290,7 @@ Hybrid L3:
|
|
|
279
290
|
- In Standalone, if the project adopts `sdlc_check.py`, run `python <skill_dir>/scripts/sdlc_check.py check --root <project_root>` or the equivalent local copy.
|
|
280
291
|
- Updated documents must travel in the same commit/PR as the code they describe.
|
|
281
292
|
- **Branch/worktree hygiene**: an L3 ran on its own branch (Phase 4) — close it with an explicit merge decision (merge, keep open, or discard) and clean up the branch/worktree; never leave orphan branches. In Hybrid, the running devPNT server locks `.devpnt/*.db`, so the merge is done from a separate git worktree or via a ref-only push, never an in-place branch switch in the primary worktree.
|
|
293
|
+
- **Destructive guards (integration is the user's; destruction is explicit).** The integration choice — merge, push/PR, keep — belongs to the user. Discard happens ONLY on the user's explicit request, and the confirmation names exactly what dies: the branch, its commits, the worktree path. Never force-push without explicit authorization; a rejected push means the remote moved — investigate, don't force. Never clean up a worktree this workflow did not create — the host or another workflow owns it. Repository-specific release/finish commands are the project guide layer's (the router in `## Operative Guides`): the skill owns this discipline, the matched `GUIDE_*.md` owns the commands — cite it, never restate it.
|
|
282
294
|
|
|
283
295
|
## ai_docs documents: two indexes + lifecycle
|
|
284
296
|
|
|
@@ -99,6 +99,12 @@ conversation instead of reviewing the change itself. Say which finding
|
|
|
99
99
|
classes you want covered (correctness, security, conformance to the design,
|
|
100
100
|
test coverage) if the default scope is not obvious.
|
|
101
101
|
|
|
102
|
+
Never pre-judge findings for the reviewer: do not instruct them to ignore or
|
|
103
|
+
not flag a specific issue ("don't treat X as a defect", "at most minor"). If
|
|
104
|
+
you believe a finding would be a false positive, let the reviewer raise it and
|
|
105
|
+
resolve it with evidence in §Receiving — pre-judging is usually the requester
|
|
106
|
+
sparing themselves a round.
|
|
107
|
+
|
|
102
108
|
## Receiving
|
|
103
109
|
|
|
104
110
|
**MUST answer findings one by one — fix, or justify with evidence; why:
|
|
@@ -111,6 +117,22 @@ resolve a disagreement by rewording the finding until it goes away. When the
|
|
|
111
117
|
project keeps a `REVIEW_LOG` (or equivalent), log the outcome of each
|
|
112
118
|
finding there.
|
|
113
119
|
|
|
120
|
+
### Review-driven corrections (scoped re-review)
|
|
121
|
+
|
|
122
|
+
A fix made in response to a finding is new, unreviewed work — stopping after
|
|
123
|
+
"I fixed it" ships the one version nobody reviewed. Every review-driven change
|
|
124
|
+
therefore gets a **scoped re-review** before the review can PASS: hand the
|
|
125
|
+
re-reviewer the original findings and ONLY the correction (the fix diff/range
|
|
126
|
+
for code, the amended sections for a document), and require a per-finding
|
|
127
|
+
verdict — `ADDRESSED`, `NOT ADDRESSED`, or `CONTESTED` with evidence. The
|
|
128
|
+
re-review also checks the correction itself for new blocker-level
|
|
129
|
+
breakage — and nothing else: out-of-scope observations become separately
|
|
130
|
+
recorded findings, never an extension of the loop. Expect two rounds as the
|
|
131
|
+
norm, not the exception — round 1 finds, round 2 verifies the fixes — inside
|
|
132
|
+
the same cap of 3 (§When a review is due). One logical review stays ONE
|
|
133
|
+
REVIEW_LOG row, its rounds narrated inside; a scoped re-review is a round,
|
|
134
|
+
not a new review.
|
|
135
|
+
|
|
114
136
|
## Reviewing
|
|
115
137
|
|
|
116
138
|
When you are the reviewer:
|
|
@@ -123,6 +145,12 @@ When you are the reviewer:
|
|
|
123
145
|
(see `## Requesting`).
|
|
124
146
|
- Cite evidence as `file:line` for every finding — a finding without a
|
|
125
147
|
location is not actionable.
|
|
148
|
+
- **Say what you could NOT verify.** When a claim in the artifact cannot be
|
|
149
|
+
verified from the inputs you were given (it lives in unchanged code, another
|
|
150
|
+
document, or an environment you cannot reach), report it as a
|
|
151
|
+
`CANNOT VERIFY` item instead of silently passing it — the requester holds
|
|
152
|
+
the context to resolve it, and must do so before closing. A PASS that
|
|
153
|
+
silently skipped unverifiable claims is review theater.
|
|
126
154
|
- Keep severity honest: do not inflate a style preference to a blocker, and
|
|
127
155
|
do not soften a real correctness or security issue to a nit.
|
|
128
156
|
- No praise padding. A review reports problems and their fixes, not a
|