@antoneeo/agentic-sdlc-skill 1.11.0 → 1.13.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
@@ -1,227 +1,248 @@
1
- # Changelog - Agentic SDLC Skill
2
-
3
- Tutte le modifiche significative a questa skill saranno documentate in questo file.
4
-
5
- ## [1.11.0] - 2026-07-03 (M4: Consolidation & Proactive Activation self-activating, self-consulting, self-testing skill)
6
- ### Added
7
- - **SessionStart orientation hook** (`sdlc_check.py orient`): emits a bounded, repo-sourced orientation (README + INDEX + guide router + handoff + Rule-Zero triage) at session start. Zero-execution, **fail-OPEN** (a missing/empty `ai_docs/` never blocks the session), size-capped. Manual per-client wiring in `ENFORCEMENT.md` §4; `--hybrid` points at the devPNT bootstrap instead of duplicating plan/KL. `test_session_start.py` (9 cases).
8
- - **Guide-layer consumption** (closes the write-only gapLayer D "point to them"): a **consult trigger** (before operative L2/L3 work, targeted router match, L1 exempt, never blanket) and a **proactive-creation trigger** (propose a guide after user-indication-governed reusable work; never silent, never from model knowledge). Mechanics in `guides.md` §0/§1; hooked from `SKILL.md` Operative Guides + Phase 4/5; reconciled with subagent dispatch in `dispatch.md`.
9
- - **Worktree/branch hygiene** in the closure discipline (`SKILL.md` Phase 4 isolate-on-branch / Phase 5 merge-decision + cleanup).
10
- - **Skill eval harness** (dev-only, not shipped): `test_skill_invariants.py` is the deterministic static release gate (`python -m unittest discover -s scripts -p "test_*.py"` — asserts the skill's own doctrine invariants: triggers/hook/worktree present and wired, indexes idempotent, support pointers resolve; zero LLM/network/subprocess). Opt-in behavioral corpus `evals/scenarios/` + `run_behavioral.py` (non-CI, never gates). `ENFORCEMENT.md` §5.
11
-
12
- ### Process note
13
- - Full governance per unit: M-VISION v2.1 (revised — added the guide-consumption unit) → D-UC + P-TM → per-unit E-ISP (deep review) + E-TDD (light review) → implement → §4.6 code review. The independent-review gate caught real defects at design time (incomplete eval invariant set, the M3↔M4 dispatch interaction, a REPO path off-by-one, a P-TM overclaim of unbuilt guards). Battery 51/51 green. ADR `adr_2026-07-03_skill_eval_harness`; KL architecture v1.4 + principles v1.2.
14
-
15
- ## [1.10.0] - 2026-07-03 (M3: Subagent Execution / Feature A — opt-in executable plan)
16
- ### Added
17
- - **`dispatch.md`**: subagent-execution doctrine (opt-in for L3). The dispatch loop validate the plan per-task brief economy-tier implementer one-shot review ledger with client-relative model tiers (no provider names), one-shot review slots (no iterative loops), degradation to same-session where subagents do not exist, and guides injected by pointer (never pasted).
18
- - **`sdlc_check.py plan` subcommand**: `plan validate` (schema check of the executable plan, fail-closed path/guide confinement, sidecar-ledger cross-check "no valid plan, no dispatch") and `plan brief --task <id>` (emits, to stdout, the task + prior-task interfaces + guide pointers). The validator is **zero-execution**: a task's `verify` command is emitted as text, never run.
19
- - **Executable-plan template** (`ai_docs/solutions/PLAN_[feature].md`) in `templates.md`: Markdown frontmatter (`status`, `derived-from`) + a fenced `json` task array + the sidecar `PLAN_[feature].ledger.json` shape (`task_id -> {status, verify_result, timestamp}`, git-tracked, survives compaction).
20
- - **`SKILL.md` §4** opt-in subagent-execution hook + the Hybrid `derived-from` seam (the plan is derived from the accepted E-TDD, never independently authored).
21
- - `test_plan.py`: stdlib-`unittest` battery for the `plan` subcommand (32 cases: schema, confinement, ledger, fail-fast JSON, zero-execution poka-yoke).
22
-
23
- ### Changed
24
- - **`confine_under(base, rel)` extracted** in `sdlc_check.py`: the fail-closed path-confinement pattern (absolute/`..`/resolve-escapereject), previously inlined twice (the `overrides:` and `distilled_from` checks), is now a single helper reused by both plus the new plan-path / guide-pointer confinement. Behavior-preserving (catches `(ValueError, OSError)`).
25
-
26
- ### Process note
27
- - 4th live **model-per-dispatch** run (economy implementer from the E-TDD shadow, battery 32/32, deep code review PASS zero BLOCK). Governance: M-VISION → D-UC → P-TM → E-ISP → E-TDD, all through the independent review gate — which killed 3 real BLOCKs at design time (T1 subprocess-invariant misstatement, a missing impacted file, a `confine_under` OSError-crash regression). ADR `adr_2026-07-03_executable_plan_json_in_md`.
28
-
29
- ## [1.9.0] - 2026-07-03 (M2 execution disciplines + Feature B unit 2 agent KB)
30
- ### Added
31
- - `tdd.md`: TDD discipline (RED/GREEN/REFACTOR, increment rule, AAA test shape, documented exemptions) the L2/L3 default for implementation work.
32
- - `debugging.md`: systematic debugging method (reproduce, isolate, root cause, fix, regression test, collateral check) with circuit-breaker integration.
33
- - `elicitation.md`: spec elicitation round (goal/benefit, scope boundaries, non-goals, constraints, acceptance signals) run before drafting the analysis in phase 3.
34
- - `review.md`: single definition of requesting, receiving, and performing code review, reused by the Hybrid review gates.
35
- - `SKILL.md` wiring: pointers to the four new files added at phase 3 (elicitation), phase 4 (TDD, debugging, circuit breaker), and phase 5 (review).
36
- - Agent-global KB (fixed root, project-wins precedence, `overrides:` with fail-closed confinement, collision warnings).
37
-
38
- ## [1.8.1] - 2026-07-02
39
- ### Fixed
40
- - **Guide freshness hash is now line-ending independent**: `sha256_file` in `sdlc_check.py` normalizes CRLF LF before hashing. Previously the raw-byte hash made a fresh Windows checkout with `core.autocrlf=true` rewrite `.sources/` snapshots and flag every guide `[stale]` (false positive). Backward compatible: recorded hashes were computed on LF content, and normalization maps CRLF copies back to the same digest. (Edge case: a hash recorded pre-1.8.1 on a snapshot that genuinely contained CRLF bytes will flag `[stale]` once — regenerate the hash.)
41
- - `guides.md` step 3 now states the hash is computed over LF-normalized content and recommends the `ai_docs/reference/.sources/** -text` `.gitattributes` rule to consumer projects (defense in depth: keeps snapshots byte-verbatim).
42
-
43
- ### Test battery addition
44
- - Scenario 10 (extends the unit-1 battery): snapshot checked out with CRLF endings + guide recording the LF-normalized hash → `stale` must NOT flag it; a genuine content edit must still flag `[stale]`.
45
-
46
- ## [1.8.0] - 2026-07-02 (Feature B unit 1: operative guides, project scope)
47
- ### Added
48
- - **Operative guides** (`ai_docs/reference/GUIDE_[topic].md`): a durable, source-faithful layer distilled from USER-PROVIDED indications — the capability neither agentic-sdlc nor superpowers had. New support file `guides.md` (pipeline: topic decomposition user confirmation verbatim snapshot in `reference/.sources/` with SHA-256source-anchored extraction per-section fidelity markers `[source: …]` / `[not covered by source]`); guide template with provenance frontmatter (`source`, `source_version`, `distilled_from`, `source_hash`) in `templates.md`; short "Operative Guides" section in `SKILL.md`.
49
- - **Generated guide router** `ai_docs/reference/INDEX.md` (emitted by `sdlc_check.py index`, alignment-checked by `validate`): path, status, when-to-consult line and provenance summary per guide — the pointer target for the devPNT Hybrid bridge.
50
- - **Mechanical fidelity controls** in `sdlc_check.py`: provenance-key and per-section marker checks (warn; fails CI under `--strict`); `distilled_from` path confinement — absolute paths, `..` and symlink escapes rejected, fail-closed (ERROR); guide freshness in `stale` recorded `source_hash` vs current snapshot, flagged in EVERY mode including `--hybrid` (guides are filesystem-first even in Hybrid).
51
-
52
- ### Changed
53
- - `stale --hybrid` no longer returns unconditionally 0: it still skips audit-plan staleness (delegated to devPNT/KL) but now checks guide-source drift.
54
- - `list_canonical_docs` skips dot-subdirectories of canonical dirs (e.g. `reference/.sources/`): snapshot files are no longer swept into the manifest. Projects that kept `.md` files under dot-subdirs of canonical dirs will see them leave `INDEX.md` (more correct).
55
-
56
- ### Process note
57
- - First live run of **model-per-dispatch**: implementation dispatched to an economy-tier subagent working from the accepted E-TDD shadow as a self-contained brief; independent deep code review passed first round with zero blocking findings. Governance: M-VISION → D-UC → P-TM → E-ISP → E-TDD, all through independent review gates (devPNT Hybrid).
58
-
59
- ## [1.7.0] - 2026-07-02 (Phases 0-1 of the evolution roadmap)
60
- ### Changed (breaking-soft)
61
- - **English is now the canonical language of the skill**: `SKILL.md`, `templates.md`, `ENFORCEMENT.md`, validator messages, generated indexes and the project protocol are in English. New ANALYSIS documents use English frontmatter keys (`status`, `level`, `start_date`, `end_date`) and English section headings. **Existing projects keep working**: the validator silently accepts the deprecated Italian keys (`stato`, `livello`, `data_inizio`, `data_fine`) and Italian headings.
62
- - The generated project protocol (`CLAUDE.md`/`GEMINI.md`/`AGENTS.md`/`.cursorrules`) is now a **thin pointer** to the skill (triage summary + where things live + closure gate) instead of a condensed copy of its rules, which had drifted from `SKILL.md`.
63
- - `init.js` now seeds `ai_docs/` from `templates.md` (single template source) instead of inline boilerplates; it creates `ai_docs/reference/` and the curated `ai_docs/README.md`, no longer seeds the generated `features_history.md`, and generates `INDEX.md` via the validator when Python is available, so the very first `sdlc_check.py check` on a fresh project is CLEAN.
64
- - Client detection unified between `init.js` and `postinstall.js` (`scripts/lib.js`): CLI on PATH **or** config home present (covers Claude Desktop with integrated Claude Code).
65
-
66
- ### Added
67
- - `sdlc_check.py validate --strict` / `check --strict`: warnings and a missing `ai_docs/` become failures (for CI).
68
- - **Coexistence with devPNT (Phase 1, the Hybrid seam)**: new SKILL.md section with the ownership matrix (who is master per artifact in Standalone vs Hybrid), the triage equivalence table (one significance threshold, two vocabularies), the ANALYSIS↔plan-node state mapping and the shadow discipline (`SHADOW_[doc_key]_vX.Y.md`, exported BEFORE implementation; never saved under an `ANALYSIS_*` name).
69
- - `sdlc_check.py --hybrid` (explicit, never auto-detected) on `check`/`stale` (audit-plan staleness delegated to devPNT/KL) and on `gate` (an approved E-TDD shadow in `solutions/` authorizes writes on protected paths).
70
- - devPNT MCP doctrine (`mcp_system_prompt.md`, devPNT repo) slimmed accordingly: process (triage, phases, lifecycle, closure) deferred to the skill; `ai_docs/` layout aligned (adds `vision/` and `reference/`); shadow naming and shadow-before-implementation rule; checklist items for methodology, shadow export and hybrid closure gate.
71
- - Evolution roadmap for v1.7.0 in `ai_docs/vision/roadmap_evoluzione_agenti.md` (subagent execution, operative guides + agent-level knowledge base, devPNT seam, open-core positioning).
72
-
73
- ### Fixed
74
- - Shadow detection is structural (filename `SHADOW_*` or `<!-- SHADOW` marker on the first line): an ANALYSIS merely *mentioning* shadows is no longer silently skipped from index and validation.
75
- - `mark`/`index` fail fast when `ai_docs/` is missing instead of silently creating a second documentation root in the wrong directory.
76
-
77
- ### Removed
78
- - Divergent `agentic-sdlc-v2/` copy (integrated in 1.5.0, the leftover risked edits on the wrong files).
79
- - `references/*_template.md` (duplicated `templates.md` and had already diverged).
80
-
81
- ## [1.6.0] - 2026-06-15
82
- ### Added
83
- - **Manifest generato dei documenti canonici** (`ai_docs/INDEX.md`): `sdlc_check.py index` ora produce, oltre a `features_history.md`, un indice completo di tutti i doc in `vision/`, `reference/`, `architecture/`, `functional/`, `strategic/`, con descrizione e stato letti dall'header. Si rigenera, quindi non drifta.
84
- - **Lifecycle dei documenti canonici**: convenzione header `status: CURRENT|SUPERSEDED|DRAFT|DEPRECATED` + `supersedes:`. `validate` avvisa se `status` manca/è invalido o se un doc superseduto è ancora `CURRENT`. Stop ai grep che riportano a guide obsolete.
85
- - **Modello a due indici** documentato nella sezione "Documenti ai_docs" di `SKILL.md`: `README.md` curato (must-read, a mano) vs `INDEX.md` generato (completo, meccanico) ruoli separati, prima confusi in un unico README che driftava.
86
-
87
- ### Changed
88
- - §1 Audit: leggere `README.md` + `INDEX.md` all'avvio per sapere cosa esiste prima di esplorare il codice.
89
- - §3 Analisi: cercare con glob/grep un'ANALYSIS esistente prima di crearne una nuova (anti-duplicazione).
90
- - §5 Chiusura: gate "Indici allineati" rigenerare `INDEX.md`, aggiornare il `README.md` curato per i must-read, marcare lo `status`; doc canonico non indicizzato o senza `status` = chiusura sporca.
91
- - `templates.md`: aggiunto il template dell'header dei documenti canonici.
92
-
93
- ### Fixed
94
- - `sdlc_check.py` legge ora i file con `utf-8-sig`: un BOM iniziale (file autorati su Windows) non impedisce più il riconoscimento del frontmatter `---`.
95
- - L'estrattore dell'header riconosce sia il frontmatter `status:` sia la riga in corpo `**Status:**`/`Stato:`, e gli stati di tutte le convenzioni in uso (canonici `CURRENT/SUPERSEDED/DRAFT/DEPRECATED`, vision `DRAFT/APPROVED`, ADR `Accepted/Proposed/Rejected`) — niente più falsi avvisi "status non riconosciuto" su `APPROVED`/`Accepted`.
96
- - La descrizione del manifest salta righe di metadati (`Date`, `Created`, `Task ref`, ...) e i commenti HTML, così non finiscono come descrizione del documento.
97
- - `index` non genera più un `INDEX.md` vuoto su progetti senza documenti canonici (solo `solutions/`+`audit/`).
98
-
99
- ### Migrazione (da 1.5.x)
100
- - Al primo `sdlc_check.py check`/`validate` dopo l'upgrade, un progetto con documenti canonici darà **un errore** `ai_docs/INDEX.md mancante`: è atteso — esegui **una volta** `sdlc_check.py index` per generarlo. Da lì in poi resta allineato.
101
- - I documenti canonici preesistenti senza `status:` produrranno **avvisi** (non errori): aggiungi l'header `description:`/`status:` per silenziarli. I nuovi progetti nascono già compatibili (template aggiornati).
102
-
103
- ## [1.5.0] - 2026-06-13
104
- ### Added
105
- - Introdotta la Regola Zero di triage (`L1`, `L2`, `L3`, `Spike`) per rendere il processo proporzionale al rischio.
106
- - Aggiunta simbiosi esplicita con devPNT: in Hybrid la `M-VISION` guida la milestone, il Master Plan resta roadmap strategica e l'Action Plan governa l'esecuzione tattica.
107
- - Aggiunti support file dentro la skill runtime: `templates.md`, `ENFORCEMENT.md`, `scripts/sdlc_check.py`.
108
- - `agentic-sdlc-install-skill` ora installa la skill nativa anche in `~/.gemini/skills/agentic-sdlc/`.
109
- - Aggiunto validatore meccanico opzionale per frontmatter ANALYSIS, Vision state, indice feature e audit stale.
110
-
111
- ### Changed
112
- - Il nome pubblico resta `agentic-sdlc`; la proposta v2 e' stata integrata come evoluzione, non come skill parallela.
113
- - Aggiornati `agentic-sdlc-init`, template, protocolli generati, README e metadata.
114
- - La modalita Standalone resta completa; devPNT e' un livello di governance superiore, non un prerequisito.
115
-
116
- ## [1.4.0] - 2026-06-07
117
- ### Added
118
- - Introdotta la governance della **Vision** con nuova struttura `ai_docs/vision/` (`project_vision.md`, `roadmap.md`, `principles.md`, `features/`).
119
- - Aggiunto il **Vision Gate** nel workflow operativo: ogni feature significativa deve essere verificata rispetto a obiettivi, non-obiettivi, benefici attesi e segnali di successo prima dell'analisi tecnica.
120
- - Aggiunti template Vision in `references/` e sezione `Allineamento alla Vision` nel template di analisi.
121
- - `agentic-sdlc-init` ora crea i documenti Vision boilerplate nei nuovi progetti.
122
-
123
- ## [1.3.1] - 2026-05-14
124
- ### Fixed
125
- - Correzione documentazione (README + CHANGELOG) della sintassi per invocare il bin `agentic-sdlc-install-skill`. La forma `npx @antoneeo/agentic-sdlc-skill agentic-sdlc-install-skill` documentata in 1.3.0 **non funziona** perché npx non riesce a disambiguare il bin quando il pacchetto ne espone più di uno (errore: `could not determine executable to run`). Sintassi corretta: lanciare `agentic-sdlc-install-skill` direttamente dopo `npm install -g`, oppure usare `npx -p @antoneeo/agentic-sdlc-skill agentic-sdlc-install-skill` con `-p` esplicito.
126
- - Nessuna modifica al codice della skill: il bin di 1.3.0 funziona correttamente, era solo la doc a indicare la sintassi sbagliata.
127
-
128
- ## [1.3.0] - 2026-05-14
129
- ### Added
130
- - Nuovo comando esplicito `agentic-sdlc-install-skill` (registrato come `bin`): installa la skill in `~/.claude/skills/agentic-sdlc/` e `~/.codex/skills/agentic-sdlc/` **senza dipendere dal `postinstall` hook**. Risolve i casi in cui `npm` salta gli script (configurazioni `ignore-scripts=true`, policy IT aziendali, alcuni installer Node) e l'auto-install fallisce silenziosamente.
131
- - Sezione "Troubleshooting" nel README con istruzioni per il caso in cui la skill non venga rilevata da Claude Code dopo `npm install -g`.
132
-
133
- ### Usage
134
- ```bash
135
- npm install -g @antoneeo/agentic-sdlc-skill@latest
136
- agentic-sdlc-install-skill
137
- ```
138
-
139
- ## [1.2.4] - 2026-05-14
140
- ### Fixed
141
- - `postinstall` ora rileva Claude Code anche quando il CLI `claude` non è nel PATH (es. Claude Desktop con Claude Code integrato): la presenza di `~/.claude/` o della variabile `CLAUDE_CONFIG_DIR` è sufficiente per attivare l'installazione della skill in `~/.claude/skills/agentic-sdlc/`. Stesso pattern già usato per Codex.
142
- - `preuninstall` rispetta `CLAUDE_CONFIG_DIR` per rimuovere la skill dalla directory di configurazione corretta.
143
-
144
- ## [1.2.2] - 2026-05-10
145
- ### Changed
146
- - README convertito in inglese per la pubblicazione npm.
147
- - Versione allineata a `1.2.2` in `package.json` e `gemini-extension.json`.
148
-
149
- ## [1.2.1] - 2026-05-10
150
- ### Fixed
151
- - `postinstall` ora registra la skill anche per Codex copiandola in `$CODEX_HOME/skills/agentic-sdlc/` oppure `~/.codex/skills/agentic-sdlc/`.
152
- - `preuninstall` rimuove anche la copia Codex della skill.
153
- - `agentic-sdlc-init` ora crea `AGENTS.md` per Codex invece di `.codex/hooks.json`, che Codex non carica come istruzioni di progetto.
154
-
155
- ## [1.2.0] - 2026-05-10
156
- ### Added
157
- - **Auto-installazione skill nativa Claude Code**: il `postinstall` ora copia `skills/agentic-sdlc-skill/` in `~/.claude/skills/agentic-sdlc/` quando rileva il CLI `claude`. La skill diventa disponibile come `agentic-sdlc` nel tool `Skill` di Claude Code dopo riavvio.
158
- - Nuovo script `preuninstall.js` che rimuove la skill da `~/.claude/skills/agentic-sdlc/` durante `npm uninstall`.
159
- - Fallback `copyRecursive` per Node < 16.7 (quando `fs.cpSync` non disponibile).
160
-
161
- ### Changed
162
- - `package.json`: bump versione a 1.2.0, aggiunti keyword `claude-code` e `claude-skill`, descrizione aggiornata per riflettere supporto Claude Code nativo.
163
-
164
- ### Fixed
165
- - Risolto bug per cui il pacchetto npm non registrava la skill in Claude Code (la cartella `~/.claude/skills/` non veniva mai popolata).
166
-
167
- ## [1.1.0] - 2026-05-10
168
- ### Fixed
169
- - Fixed path inconsistencies in the generated `CLAUDE.md`, `GEMINI.md`, and `.cursorrules` protocols. Added full paths (`ai_docs/strategic/`) to all document references to ensure AI agents (like Claude) can correctly find and update them.
170
- - Cleaned up encoding issues in initialization scripts.
171
-
172
- ## [1.0.9] - 2026-05-10
173
- ### Added
174
- - New **Smart Discovery** system during project initialization.
175
- - Official support for **Codex AI** via automatic `.codex/hooks.json` injection.
176
- - Support for **Cursor** and **Windsurf** via `.cursorrules`.
177
- - Binary command `agentic-sdlc-init` for use via `npx`.
178
- - `postinstall` script for global AI CLI detection (Claude, Gemini, Codex).
179
- - Full English localization for all user-facing messages and scripts.
180
-
181
- ### Changed
182
- - Updated `init.js` to support the new `ai_docs/` directory structure defined in v1.0.8.
183
-
184
- ## [1.0.8] - 2026-05-10
185
- ### Aggiunto
186
- - Skill evoluta in "Hybrid Edition": integrazione opzionale con **devPNT** (server MCP) per governance avanzata tramite database e piani gerarchici.
187
- - Fase di Discovery per il rilevamento automatico dell'ambiente (Standalone vs Hybrid).
188
- - Supporto per ADR (Architecture Decision Records) e Knowledge Layer (KL) nella fase di chiusura.
189
-
190
- ### Modificato
191
- - Riorganizzazione dei percorsi di documentazione (`ai_docs/strategic/`, `ai_docs/audit/`, `ai_docs/solutions/`).
192
- - Aggiornata la documentazione funzionale (`architecture_overview.md`, `external_interfaces.md`) con definizioni più precise.
193
-
194
- ## [1.0.7] - 2026-05-10
195
- ### Modificato
196
- - Aggiornata l'attribuzione dell'autore (Antonio Pinto) e il copyright in tutti i file (`package.json`, `README.md`, `SKILL.md`).
197
- - Aggiunto link al profilo GitHub ufficiale.
198
-
199
- ## [1.0.6] - 2026-05-10
200
- ### Aggiunto
201
- - Sincronizzazione completa dei file del progetto nel repository.
202
- - Supporto per il tracciamento delle feature e audit plan.
203
-
204
- ## [1.0.5] - 2026-04-17
205
- ### Aggiunto
206
- - File `CHANGELOG.md` per il tracciamento delle versioni.
207
-
208
- ## [1.0.4] - 2026-04-17
209
- ### Modificato
210
- - `README.md`: Aggiunte istruzioni specifiche per l'installazione da chiavetta USB e chiarimenti sulla disponibilità globale della skill.
211
-
212
- ## [1.0.3] - 2026-04-17
213
- ### Aggiunto
214
- - Primo `README.md` con istruzioni di installazione e attivazione.
215
-
216
- ## [1.0.2] - 2026-04-17
217
- ### Corretto
218
- - Riorganizzata la struttura delle cartelle secondo gli standard di Gemini CLI (`skills/agentic-sdlc-skill/SKILL.md`).
219
- - Aggiunto frontmatter YAML a `SKILL.md` per la scoperta automatica.
220
-
221
- ## [1.0.1] - 2026-04-17
222
- ### Corretto
223
- - Aggiunto `gemini-extension.json` (manifest dell'estensione) mancante nella versione iniziale.
224
-
225
- ## [1.0.0] - 2026-04-17
226
- ### Iniziale
227
- - Prima pubblicazione della skill (Protocollo SDLC Documentation-First).
1
+ # Changelog - Agentic SDLC Skill
2
+
3
+ Tutte le modifiche significative a questa skill saranno documentate in questo file.
4
+
5
+ ## [1.13.0] - 2026-07-05 (M2 amendment: review reads AND proves Vision + Use-Cases + Threat Model)
6
+ ### Changed
7
+ - **Review discipline hardened (M2.A7).** `review.md` now, for an impact/solution-analysis / design review: (a) §Requesting takes the **Vision + use-cases/user-needs + threat model** as explicit inputs the reviewer checks the artifact *against* (Hybrid: M-VISION/D-UC/P-TM; Standalone: the ANALYSIS Vision-Alignment / Use-Cases / Threat-Model sections); (b) §Reviewing requires the reviewer OUTPUT to carry a **conformance/traceability statement** each Vision benefit / use-case / threat mapped to where the artifact satisfies it, or a finding — and a PASS is **not valid on "found nothing"**. Scoped to analysis/design reviews (plain code reviews stay findings-only honors the "no enforcement theater" Non-Goal); it is the reviewer-side twin of the existing §Receiving anti-silent-drop rule.
8
+ - **`SKILL.md` §3 Request Analysis**: an authoring rule build + trace the Impact/solution ON the Vision, use-cases and threat model (so the closure review can verify conformance); a pointer to `review.md`, no restatement.
9
+ - **`templates.md`**: the ANALYSIS template gains a `## Use Cases / User Needs` section — the Standalone home for what Hybrid keeps in `D-UC`, giving the coverage-check a real target. Validator-inert (ANALYSIS_SECTIONS permits extra sections); the `Minimum sections` floor is deliberately left unchanged.
10
+
11
+ ### Process note
12
+ Governed M2 amendment (Hybrid). E-ISP `e_isp_review_input_hardening` v2.0 (deep review, 3 rounds — round-1 BLOCK caught that the "use-case coverage" check had no Standalone home; v2.0 added the output-evidence half) + E-TDD v1.0 (light review, conformance statement 8/8) + §4.6 code review (PASS, zero BLOCK — self-caught + reverted a Minimum-sections regression before review). Doc-only: `check --hybrid` CLEAN, eval battery 51/51, shadow exported. The Hybrid mirror in the devPNT doctrine §4.5 + `devpnt-tech-reviewer` output format is a separate devPNT-project follow-up.
13
+
14
+ ## [1.12.0] - 2026-07-03 (Client Roster: Google Antigravity 2.0 as a first-class client)
15
+ ### Added
16
+ - **Google Antigravity 2.0 support** in the install engine. The runtime skill now lands where all three Antigravity products (desktop, the `agy` CLI, the agentic IDE) discover global agent skills: `~/.gemini/config/skills/agentic-sdlc/`. `agentic-sdlc-init` writes the Antigravity project pointer to `AGENTS.md` (the Antigravity CLI surface), reusing the single `protocolContent` — no per-client drift.
17
+ - **Shared-home collision resolved** (`~/.gemini`). Antigravity's global skills root lives UNDER `~/.gemini`, the home the legacy `gemini` client claims. A new distinct `antigravity` CLIENTS entry de-collides via two backward-compatible registry generalizations: an optional `skillsSubdir` (`config/skills`) on `skillTarget`, and an optional `homeMarker` (`~/.gemini/config/skills`) on `clientDetected` so Antigravity is detected only by its own skills dir, the `agy` CLI, or `ANTIGRAVITY_HOME` never on bare `~/.gemini`. The existing three clients omit both fields and are byte-identical (no regression). See ADR `adr_2026-07-03_antigravity_gemini_home_collision`.
18
+ - **Node test battery** `scripts/test_clients.js` (dev-only, NOT shipped — excluded from the `package.json` `files` allowlist, which is now an explicit per-file list of the four lifecycle scripts). 8 cases covering the P-TM threats: T1 shared-home double-install (bare `~/.gemini` gemini TRUE / antigravity FALSE), T2 distinct skill-target + install/uninstall round-trip, T3 detection matrix (marker OR env OR CLI), T7 the three existing clients unchanged.
19
+
20
+ ### Changed
21
+ - `package.json` `files` allowlist: the wholesale `"scripts"` directory entry is replaced by the explicit four shipped lifecycle scripts (`lib.js`, `init.js`, `postinstall.js`, `preuninstall.js`), so the dev-only `test_clients.js` is never packaged (the same dev-only precedent as the Python `test_*.py` batteries).
22
+
23
+ ### Process note
24
+ - Full Hybrid governance (devPNT): M-VISION D-UC P-TM → E-ISP E-TDDADR, all governed. Implemented against the accepted **E-TDD** `e_tdd_antigravity_client` v1.0 (shadow exported to `ai_docs/solutions/` before coding). TDD: detection/target logic tests-first (RED→GREEN); prose/doc edits exempt (recorded). `postinstall.js`/`preuninstall.js` unchanged (pure registry consumers). Node battery 8/8 + skill eval battery 51/51 green; `check --hybrid` CLEAN. Owner inputs resolved in round 2: CLI binary `agy`, env override `ANTIGRAVITY_HOME`, Antigravity-specific reload string. The repo doc `ai_docs/solutions/antigravity_skills_guide.md` (plugin/mcp_config model) is superseded by the accepted skills-model decision (E-ISP/ADR).
25
+
26
+ ## [1.11.0] - 2026-07-03 (M4: Consolidation & Proactive Activation — self-activating, self-consulting, self-testing skill)
27
+ ### Added
28
+ - **SessionStart orientation hook** (`sdlc_check.py orient`): emits a bounded, repo-sourced orientation (README + INDEX + guide router + handoff + Rule-Zero triage) at session start. Zero-execution, **fail-OPEN** (a missing/empty `ai_docs/` never blocks the session), size-capped. Manual per-client wiring in `ENFORCEMENT.md` §4; `--hybrid` points at the devPNT bootstrap instead of duplicating plan/KL. `test_session_start.py` (9 cases).
29
+ - **Guide-layer consumption** (closes the write-only gap — Layer D "point to them"): a **consult trigger** (before operative L2/L3 work, targeted router match, L1 exempt, never blanket) and a **proactive-creation trigger** (propose a guide after user-indication-governed reusable work; never silent, never from model knowledge). Mechanics in `guides.md` §0/§1; hooked from `SKILL.md` Operative Guides + Phase 4/5; reconciled with subagent dispatch in `dispatch.md`.
30
+ - **Worktree/branch hygiene** in the closure discipline (`SKILL.md` Phase 4 isolate-on-branch / Phase 5 merge-decision + cleanup).
31
+ - **Skill eval harness** (dev-only, not shipped): `test_skill_invariants.py` is the deterministic static release gate (`python -m unittest discover -s scripts -p "test_*.py"` — asserts the skill's own doctrine invariants: triggers/hook/worktree present and wired, indexes idempotent, support pointers resolve; zero LLM/network/subprocess). Opt-in behavioral corpus `evals/scenarios/` + `run_behavioral.py` (non-CI, never gates). `ENFORCEMENT.md` §5.
32
+
33
+ ### Process note
34
+ - Full governance per unit: M-VISION v2.1 (revised added the guide-consumption unit) D-UC + P-TM → per-unit E-ISP (deep review) + E-TDD (light review) → implement → §4.6 code review. The independent-review gate caught real defects at design time (incomplete eval invariant set, the M3↔M4 dispatch interaction, a REPO path off-by-one, a P-TM overclaim of unbuilt guards). Battery 51/51 green. ADR `adr_2026-07-03_skill_eval_harness`; KL architecture v1.4 + principles v1.2.
35
+
36
+ ## [1.10.0] - 2026-07-03 (M3: Subagent Execution / Feature A — opt-in executable plan)
37
+ ### Added
38
+ - **`dispatch.md`**: subagent-execution doctrine (opt-in for L3). The dispatch loop — validate the plan → per-task brief → economy-tier implementer → one-shot review → ledger — with client-relative model tiers (no provider names), one-shot review slots (no iterative loops), degradation to same-session where subagents do not exist, and guides injected by pointer (never pasted).
39
+ - **`sdlc_check.py plan` subcommand**: `plan validate` (schema check of the executable plan, fail-closed path/guide confinement, sidecar-ledger cross-check — "no valid plan, no dispatch") and `plan brief --task <id>` (emits, to stdout, the task + prior-task interfaces + guide pointers). The validator is **zero-execution**: a task's `verify` command is emitted as text, never run.
40
+ - **Executable-plan template** (`ai_docs/solutions/PLAN_[feature].md`) in `templates.md`: Markdown frontmatter (`status`, `derived-from`) + a fenced `json` task array + the sidecar `PLAN_[feature].ledger.json` shape (`task_id -> {status, verify_result, timestamp}`, git-tracked, survives compaction).
41
+ - **`SKILL.md` §4** opt-in subagent-execution hook + the Hybrid `derived-from` seam (the plan is derived from the accepted E-TDD, never independently authored).
42
+ - `test_plan.py`: stdlib-`unittest` battery for the `plan` subcommand (32 cases: schema, confinement, ledger, fail-fast JSON, zero-execution poka-yoke).
43
+
44
+ ### Changed
45
+ - **`confine_under(base, rel)` extracted** in `sdlc_check.py`: the fail-closed path-confinement pattern (absolute/`..`/resolve-escape → reject), previously inlined twice (the `overrides:` and `distilled_from` checks), is now a single helper reused by both plus the new plan-path / guide-pointer confinement. Behavior-preserving (catches `(ValueError, OSError)`).
46
+
47
+ ### Process note
48
+ - 4th live **model-per-dispatch** run (economy implementer from the E-TDD shadow, battery 32/32, deep code review PASS zero BLOCK). Governance: M-VISIOND-UCP-TME-ISPE-TDD, all through the independent review gate which killed 3 real BLOCKs at design time (T1 subprocess-invariant misstatement, a missing impacted file, a `confine_under` OSError-crash regression). ADR `adr_2026-07-03_executable_plan_json_in_md`.
49
+
50
+ ## [1.9.0] - 2026-07-03 (M2 execution disciplines + Feature B unit 2 agent KB)
51
+ ### Added
52
+ - `tdd.md`: TDD discipline (RED/GREEN/REFACTOR, increment rule, AAA test shape, documented exemptions) — the L2/L3 default for implementation work.
53
+ - `debugging.md`: systematic debugging method (reproduce, isolate, root cause, fix, regression test, collateral check) with circuit-breaker integration.
54
+ - `elicitation.md`: spec elicitation round (goal/benefit, scope boundaries, non-goals, constraints, acceptance signals) run before drafting the analysis in phase 3.
55
+ - `review.md`: single definition of requesting, receiving, and performing code review, reused by the Hybrid review gates.
56
+ - `SKILL.md` wiring: pointers to the four new files added at phase 3 (elicitation), phase 4 (TDD, debugging, circuit breaker), and phase 5 (review).
57
+ - Agent-global KB (fixed root, project-wins precedence, `overrides:` with fail-closed confinement, collision warnings).
58
+
59
+ ## [1.8.1] - 2026-07-02
60
+ ### Fixed
61
+ - **Guide freshness hash is now line-ending independent**: `sha256_file` in `sdlc_check.py` normalizes CRLF LF before hashing. Previously the raw-byte hash made a fresh Windows checkout with `core.autocrlf=true` rewrite `.sources/` snapshots and flag every guide `[stale]` (false positive). Backward compatible: recorded hashes were computed on LF content, and normalization maps CRLF copies back to the same digest. (Edge case: a hash recorded pre-1.8.1 on a snapshot that genuinely contained CRLF bytes will flag `[stale]` once regenerate the hash.)
62
+ - `guides.md` step 3 now states the hash is computed over LF-normalized content and recommends the `ai_docs/reference/.sources/** -text` `.gitattributes` rule to consumer projects (defense in depth: keeps snapshots byte-verbatim).
63
+
64
+ ### Test battery addition
65
+ - Scenario 10 (extends the unit-1 battery): snapshot checked out with CRLF endings + guide recording the LF-normalized hash → `stale` must NOT flag it; a genuine content edit must still flag `[stale]`.
66
+
67
+ ## [1.8.0] - 2026-07-02 (Feature B unit 1: operative guides, project scope)
68
+ ### Added
69
+ - **Operative guides** (`ai_docs/reference/GUIDE_[topic].md`): a durable, source-faithful layer distilled from USER-PROVIDED indications — the capability neither agentic-sdlc nor superpowers had. New support file `guides.md` (pipeline: topic decomposition → user confirmation → verbatim snapshot in `reference/.sources/` with SHA-256 source-anchored extraction per-section fidelity markers `[source: …]` / `[not covered by source]`); guide template with provenance frontmatter (`source`, `source_version`, `distilled_from`, `source_hash`) in `templates.md`; short "Operative Guides" section in `SKILL.md`.
70
+ - **Generated guide router** `ai_docs/reference/INDEX.md` (emitted by `sdlc_check.py index`, alignment-checked by `validate`): path, status, when-to-consult line and provenance summary per guide the pointer target for the devPNT Hybrid bridge.
71
+ - **Mechanical fidelity controls** in `sdlc_check.py`: provenance-key and per-section marker checks (warn; fails CI under `--strict`); `distilled_from` path confinement — absolute paths, `..` and symlink escapes rejected, fail-closed (ERROR); guide freshness in `stale` — recorded `source_hash` vs current snapshot, flagged in EVERY mode including `--hybrid` (guides are filesystem-first even in Hybrid).
72
+
73
+ ### Changed
74
+ - `stale --hybrid` no longer returns unconditionally 0: it still skips audit-plan staleness (delegated to devPNT/KL) but now checks guide-source drift.
75
+ - `list_canonical_docs` skips dot-subdirectories of canonical dirs (e.g. `reference/.sources/`): snapshot files are no longer swept into the manifest. Projects that kept `.md` files under dot-subdirs of canonical dirs will see them leave `INDEX.md` (more correct).
76
+
77
+ ### Process note
78
+ - First live run of **model-per-dispatch**: implementation dispatched to an economy-tier subagent working from the accepted E-TDD shadow as a self-contained brief; independent deep code review passed first round with zero blocking findings. Governance: M-VISION → D-UC → P-TM → E-ISP → E-TDD, all through independent review gates (devPNT Hybrid).
79
+
80
+ ## [1.7.0] - 2026-07-02 (Phases 0-1 of the evolution roadmap)
81
+ ### Changed (breaking-soft)
82
+ - **English is now the canonical language of the skill**: `SKILL.md`, `templates.md`, `ENFORCEMENT.md`, validator messages, generated indexes and the project protocol are in English. New ANALYSIS documents use English frontmatter keys (`status`, `level`, `start_date`, `end_date`) and English section headings. **Existing projects keep working**: the validator silently accepts the deprecated Italian keys (`stato`, `livello`, `data_inizio`, `data_fine`) and Italian headings.
83
+ - The generated project protocol (`CLAUDE.md`/`GEMINI.md`/`AGENTS.md`/`.cursorrules`) is now a **thin pointer** to the skill (triage summary + where things live + closure gate) instead of a condensed copy of its rules, which had drifted from `SKILL.md`.
84
+ - `init.js` now seeds `ai_docs/` from `templates.md` (single template source) instead of inline boilerplates; it creates `ai_docs/reference/` and the curated `ai_docs/README.md`, no longer seeds the generated `features_history.md`, and generates `INDEX.md` via the validator when Python is available, so the very first `sdlc_check.py check` on a fresh project is CLEAN.
85
+ - Client detection unified between `init.js` and `postinstall.js` (`scripts/lib.js`): CLI on PATH **or** config home present (covers Claude Desktop with integrated Claude Code).
86
+
87
+ ### Added
88
+ - `sdlc_check.py validate --strict` / `check --strict`: warnings and a missing `ai_docs/` become failures (for CI).
89
+ - **Coexistence with devPNT (Phase 1, the Hybrid seam)**: new SKILL.md section with the ownership matrix (who is master per artifact in Standalone vs Hybrid), the triage equivalence table (one significance threshold, two vocabularies), the ANALYSIS↔plan-node state mapping and the shadow discipline (`SHADOW_[doc_key]_vX.Y.md`, exported BEFORE implementation; never saved under an `ANALYSIS_*` name).
90
+ - `sdlc_check.py --hybrid` (explicit, never auto-detected) on `check`/`stale` (audit-plan staleness delegated to devPNT/KL) and on `gate` (an approved E-TDD shadow in `solutions/` authorizes writes on protected paths).
91
+ - devPNT MCP doctrine (`mcp_system_prompt.md`, devPNT repo) slimmed accordingly: process (triage, phases, lifecycle, closure) deferred to the skill; `ai_docs/` layout aligned (adds `vision/` and `reference/`); shadow naming and shadow-before-implementation rule; checklist items for methodology, shadow export and hybrid closure gate.
92
+ - Evolution roadmap for v1.7.0 in `ai_docs/vision/roadmap_evoluzione_agenti.md` (subagent execution, operative guides + agent-level knowledge base, devPNT seam, open-core positioning).
93
+
94
+ ### Fixed
95
+ - Shadow detection is structural (filename `SHADOW_*` or `<!-- SHADOW` marker on the first line): an ANALYSIS merely *mentioning* shadows is no longer silently skipped from index and validation.
96
+ - `mark`/`index` fail fast when `ai_docs/` is missing instead of silently creating a second documentation root in the wrong directory.
97
+
98
+ ### Removed
99
+ - Divergent `agentic-sdlc-v2/` copy (integrated in 1.5.0, the leftover risked edits on the wrong files).
100
+ - `references/*_template.md` (duplicated `templates.md` and had already diverged).
101
+
102
+ ## [1.6.0] - 2026-06-15
103
+ ### Added
104
+ - **Manifest generato dei documenti canonici** (`ai_docs/INDEX.md`): `sdlc_check.py index` ora produce, oltre a `features_history.md`, un indice completo di tutti i doc in `vision/`, `reference/`, `architecture/`, `functional/`, `strategic/`, con descrizione e stato letti dall'header. Si rigenera, quindi non drifta.
105
+ - **Lifecycle dei documenti canonici**: convenzione header `status: CURRENT|SUPERSEDED|DRAFT|DEPRECATED` + `supersedes:`. `validate` avvisa se `status` manca/è invalido o se un doc superseduto è ancora `CURRENT`. Stop ai grep che riportano a guide obsolete.
106
+ - **Modello a due indici** documentato nella sezione "Documenti ai_docs" di `SKILL.md`: `README.md` curato (must-read, a mano) vs `INDEX.md` generato (completo, meccanico) ruoli separati, prima confusi in un unico README che driftava.
107
+
108
+ ### Changed
109
+ - §1 Audit: leggere `README.md` + `INDEX.md` all'avvio per sapere cosa esiste prima di esplorare il codice.
110
+ - §3 Analisi: cercare con glob/grep un'ANALYSIS esistente prima di crearne una nuova (anti-duplicazione).
111
+ - §5 Chiusura: gate "Indici allineati" — rigenerare `INDEX.md`, aggiornare il `README.md` curato per i must-read, marcare lo `status`; doc canonico non indicizzato o senza `status` = chiusura sporca.
112
+ - `templates.md`: aggiunto il template dell'header dei documenti canonici.
113
+
114
+ ### Fixed
115
+ - `sdlc_check.py` legge ora i file con `utf-8-sig`: un BOM iniziale (file autorati su Windows) non impedisce più il riconoscimento del frontmatter `---`.
116
+ - L'estrattore dell'header riconosce sia il frontmatter `status:` sia la riga in corpo `**Status:**`/`Stato:`, e gli stati di tutte le convenzioni in uso (canonici `CURRENT/SUPERSEDED/DRAFT/DEPRECATED`, vision `DRAFT/APPROVED`, ADR `Accepted/Proposed/Rejected`) — niente più falsi avvisi "status non riconosciuto" su `APPROVED`/`Accepted`.
117
+ - La descrizione del manifest salta righe di metadati (`Date`, `Created`, `Task ref`, ...) e i commenti HTML, così non finiscono come descrizione del documento.
118
+ - `index` non genera più un `INDEX.md` vuoto su progetti senza documenti canonici (solo `solutions/`+`audit/`).
119
+
120
+ ### Migrazione (da 1.5.x)
121
+ - Al primo `sdlc_check.py check`/`validate` dopo l'upgrade, un progetto con documenti canonici darà **un errore** `ai_docs/INDEX.md mancante`: è atteso — esegui **una volta** `sdlc_check.py index` per generarlo. Da lì in poi resta allineato.
122
+ - I documenti canonici preesistenti senza `status:` produrranno **avvisi** (non errori): aggiungi l'header `description:`/`status:` per silenziarli. I nuovi progetti nascono già compatibili (template aggiornati).
123
+
124
+ ## [1.5.0] - 2026-06-13
125
+ ### Added
126
+ - Introdotta la Regola Zero di triage (`L1`, `L2`, `L3`, `Spike`) per rendere il processo proporzionale al rischio.
127
+ - Aggiunta simbiosi esplicita con devPNT: in Hybrid la `M-VISION` guida la milestone, il Master Plan resta roadmap strategica e l'Action Plan governa l'esecuzione tattica.
128
+ - Aggiunti support file dentro la skill runtime: `templates.md`, `ENFORCEMENT.md`, `scripts/sdlc_check.py`.
129
+ - `agentic-sdlc-install-skill` ora installa la skill nativa anche in `~/.gemini/skills/agentic-sdlc/`.
130
+ - Aggiunto validatore meccanico opzionale per frontmatter ANALYSIS, Vision state, indice feature e audit stale.
131
+
132
+ ### Changed
133
+ - Il nome pubblico resta `agentic-sdlc`; la proposta v2 e' stata integrata come evoluzione, non come skill parallela.
134
+ - Aggiornati `agentic-sdlc-init`, template, protocolli generati, README e metadata.
135
+ - La modalita Standalone resta completa; devPNT e' un livello di governance superiore, non un prerequisito.
136
+
137
+ ## [1.4.0] - 2026-06-07
138
+ ### Added
139
+ - Introdotta la governance della **Vision** con nuova struttura `ai_docs/vision/` (`project_vision.md`, `roadmap.md`, `principles.md`, `features/`).
140
+ - Aggiunto il **Vision Gate** nel workflow operativo: ogni feature significativa deve essere verificata rispetto a obiettivi, non-obiettivi, benefici attesi e segnali di successo prima dell'analisi tecnica.
141
+ - Aggiunti template Vision in `references/` e sezione `Allineamento alla Vision` nel template di analisi.
142
+ - `agentic-sdlc-init` ora crea i documenti Vision boilerplate nei nuovi progetti.
143
+
144
+ ## [1.3.1] - 2026-05-14
145
+ ### Fixed
146
+ - Correzione documentazione (README + CHANGELOG) della sintassi per invocare il bin `agentic-sdlc-install-skill`. La forma `npx @antoneeo/agentic-sdlc-skill agentic-sdlc-install-skill` documentata in 1.3.0 **non funziona** perché npx non riesce a disambiguare il bin quando il pacchetto ne espone più di uno (errore: `could not determine executable to run`). Sintassi corretta: lanciare `agentic-sdlc-install-skill` direttamente dopo `npm install -g`, oppure usare `npx -p @antoneeo/agentic-sdlc-skill agentic-sdlc-install-skill` con `-p` esplicito.
147
+ - Nessuna modifica al codice della skill: il bin di 1.3.0 funziona correttamente, era solo la doc a indicare la sintassi sbagliata.
148
+
149
+ ## [1.3.0] - 2026-05-14
150
+ ### Added
151
+ - Nuovo comando esplicito `agentic-sdlc-install-skill` (registrato come `bin`): installa la skill in `~/.claude/skills/agentic-sdlc/` e `~/.codex/skills/agentic-sdlc/` **senza dipendere dal `postinstall` hook**. Risolve i casi in cui `npm` salta gli script (configurazioni `ignore-scripts=true`, policy IT aziendali, alcuni installer Node) e l'auto-install fallisce silenziosamente.
152
+ - Sezione "Troubleshooting" nel README con istruzioni per il caso in cui la skill non venga rilevata da Claude Code dopo `npm install -g`.
153
+
154
+ ### Usage
155
+ ```bash
156
+ npm install -g @antoneeo/agentic-sdlc-skill@latest
157
+ agentic-sdlc-install-skill
158
+ ```
159
+
160
+ ## [1.2.4] - 2026-05-14
161
+ ### Fixed
162
+ - `postinstall` ora rileva Claude Code anche quando il CLI `claude` non è nel PATH (es. Claude Desktop con Claude Code integrato): la presenza di `~/.claude/` o della variabile `CLAUDE_CONFIG_DIR` è sufficiente per attivare l'installazione della skill in `~/.claude/skills/agentic-sdlc/`. Stesso pattern già usato per Codex.
163
+ - `preuninstall` rispetta `CLAUDE_CONFIG_DIR` per rimuovere la skill dalla directory di configurazione corretta.
164
+
165
+ ## [1.2.2] - 2026-05-10
166
+ ### Changed
167
+ - README convertito in inglese per la pubblicazione npm.
168
+ - Versione allineata a `1.2.2` in `package.json` e `gemini-extension.json`.
169
+
170
+ ## [1.2.1] - 2026-05-10
171
+ ### Fixed
172
+ - `postinstall` ora registra la skill anche per Codex copiandola in `$CODEX_HOME/skills/agentic-sdlc/` oppure `~/.codex/skills/agentic-sdlc/`.
173
+ - `preuninstall` rimuove anche la copia Codex della skill.
174
+ - `agentic-sdlc-init` ora crea `AGENTS.md` per Codex invece di `.codex/hooks.json`, che Codex non carica come istruzioni di progetto.
175
+
176
+ ## [1.2.0] - 2026-05-10
177
+ ### Added
178
+ - **Auto-installazione skill nativa Claude Code**: il `postinstall` ora copia `skills/agentic-sdlc-skill/` in `~/.claude/skills/agentic-sdlc/` quando rileva il CLI `claude`. La skill diventa disponibile come `agentic-sdlc` nel tool `Skill` di Claude Code dopo riavvio.
179
+ - Nuovo script `preuninstall.js` che rimuove la skill da `~/.claude/skills/agentic-sdlc/` durante `npm uninstall`.
180
+ - Fallback `copyRecursive` per Node < 16.7 (quando `fs.cpSync` non disponibile).
181
+
182
+ ### Changed
183
+ - `package.json`: bump versione a 1.2.0, aggiunti keyword `claude-code` e `claude-skill`, descrizione aggiornata per riflettere supporto Claude Code nativo.
184
+
185
+ ### Fixed
186
+ - Risolto bug per cui il pacchetto npm non registrava la skill in Claude Code (la cartella `~/.claude/skills/` non veniva mai popolata).
187
+
188
+ ## [1.1.0] - 2026-05-10
189
+ ### Fixed
190
+ - Fixed path inconsistencies in the generated `CLAUDE.md`, `GEMINI.md`, and `.cursorrules` protocols. Added full paths (`ai_docs/strategic/`) to all document references to ensure AI agents (like Claude) can correctly find and update them.
191
+ - Cleaned up encoding issues in initialization scripts.
192
+
193
+ ## [1.0.9] - 2026-05-10
194
+ ### Added
195
+ - New **Smart Discovery** system during project initialization.
196
+ - Official support for **Codex AI** via automatic `.codex/hooks.json` injection.
197
+ - Support for **Cursor** and **Windsurf** via `.cursorrules`.
198
+ - Binary command `agentic-sdlc-init` for use via `npx`.
199
+ - `postinstall` script for global AI CLI detection (Claude, Gemini, Codex).
200
+ - Full English localization for all user-facing messages and scripts.
201
+
202
+ ### Changed
203
+ - Updated `init.js` to support the new `ai_docs/` directory structure defined in v1.0.8.
204
+
205
+ ## [1.0.8] - 2026-05-10
206
+ ### Aggiunto
207
+ - Skill evoluta in "Hybrid Edition": integrazione opzionale con **devPNT** (server MCP) per governance avanzata tramite database e piani gerarchici.
208
+ - Fase di Discovery per il rilevamento automatico dell'ambiente (Standalone vs Hybrid).
209
+ - Supporto per ADR (Architecture Decision Records) e Knowledge Layer (KL) nella fase di chiusura.
210
+
211
+ ### Modificato
212
+ - Riorganizzazione dei percorsi di documentazione (`ai_docs/strategic/`, `ai_docs/audit/`, `ai_docs/solutions/`).
213
+ - Aggiornata la documentazione funzionale (`architecture_overview.md`, `external_interfaces.md`) con definizioni più precise.
214
+
215
+ ## [1.0.7] - 2026-05-10
216
+ ### Modificato
217
+ - Aggiornata l'attribuzione dell'autore (Antonio Pinto) e il copyright in tutti i file (`package.json`, `README.md`, `SKILL.md`).
218
+ - Aggiunto link al profilo GitHub ufficiale.
219
+
220
+ ## [1.0.6] - 2026-05-10
221
+ ### Aggiunto
222
+ - Sincronizzazione completa dei file del progetto nel repository.
223
+ - Supporto per il tracciamento delle feature e audit plan.
224
+
225
+ ## [1.0.5] - 2026-04-17
226
+ ### Aggiunto
227
+ - File `CHANGELOG.md` per il tracciamento delle versioni.
228
+
229
+ ## [1.0.4] - 2026-04-17
230
+ ### Modificato
231
+ - `README.md`: Aggiunte istruzioni specifiche per l'installazione da chiavetta USB e chiarimenti sulla disponibilità globale della skill.
232
+
233
+ ## [1.0.3] - 2026-04-17
234
+ ### Aggiunto
235
+ - Primo `README.md` con istruzioni di installazione e attivazione.
236
+
237
+ ## [1.0.2] - 2026-04-17
238
+ ### Corretto
239
+ - Riorganizzata la struttura delle cartelle secondo gli standard di Gemini CLI (`skills/agentic-sdlc-skill/SKILL.md`).
240
+ - Aggiunto frontmatter YAML a `SKILL.md` per la scoperta automatica.
241
+
242
+ ## [1.0.1] - 2026-04-17
243
+ ### Corretto
244
+ - Aggiunto `gemini-extension.json` (manifest dell'estensione) mancante nella versione iniziale.
245
+
246
+ ## [1.0.0] - 2026-04-17
247
+ ### Iniziale
248
+ - Prima pubblicazione della skill (Protocollo SDLC Documentation-First).