@antoneeo/agentic-sdlc-skill 1.26.0 → 1.27.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.
@@ -65,6 +65,37 @@ Emits the `ai_docs/` orientation — reading guide (`README.md`), manifest (`IND
65
65
 
66
66
  **Wire it on every project that has `ai_docs/` and a Python interpreter.** It was opt-in until v1.16.0 and the field result was the defect this level exists to prevent: the guide router stayed unread unless the user asked for it by hand, so guides were written and never consulted. Prompt-level placement (Rule Zero declares the router verdict; Phase 1 reads the router) carries the process on its own — this hook is the backstop that survives long contexts, compaction and a session that never enters Phase 1 explicitly. Skip it only where Python is unavailable, and know what you are trading.
67
67
 
68
+ **`init` wires it for you (F-036).** Running `init` on a project that has a docs root
69
+ and a Python interpreter now installs this hook itself — it was a manual step until
70
+ 2026-08-25, and the field result was exactly the defect this level exists to prevent: an
71
+ agent worked a governed project without ever meeting the router. The snippet below is
72
+ the fallback for the cases init declines, and the list is exhaustive: **any client
73
+ other than Claude Code** (Codex and Gemini keep the manual snippet — no fixture in the
74
+ repository pins their hook schema, and writing one in an unverified shape is how a
75
+ wired-but-dead hook is born), no Python, the skill not installed yet, a settings file
76
+ that is not valid JSON or carries a `hooks`/`SessionStart` shape the writer does not
77
+ recognise (it never rewrites one it cannot read), a validator path holding a character
78
+ that cannot be placed in a command safely, or a settings file it cannot write. `init`
79
+ prints which case applied, per client — a silent skip is what let "documented default
80
+ that nobody installs" survive in the first place.
81
+
82
+ **Which settings file, and why it is not always the shared one.** The command names a
83
+ validator, and where that validator lives decides where the hook may be written:
84
+
85
+ | Case | Command | File |
86
+ |---|---|---|
87
+ | The repo vendors the validator (§2) | repo-relative | `.claude/settings.json` — portable, commit it |
88
+ | The validator is only in your skills directory (the normal case) | absolute | `.claude/settings.local.json` — machine-specific, git-ignored; each teammate runs `init` once |
89
+
90
+ Committing an absolute `C:\Users\<you>\...` path into the shared file hands every teammate a hook naming
91
+ a directory they do not have. `init` picks the file for you, and adds
92
+ `.claude/settings.local.json` to `.gitignore` when it uses the local one.
93
+
94
+ **A hook that is wired and DEAD is the worst of the three states**: it emits nothing at
95
+ every session AND it looks installed. `init` checks that an existing hook's validator
96
+ still resolves and reports it as BROKEN with the corrected command, rather than
97
+ reporting "already wired". It never rewrites the entry — it may be hand-tuned.
98
+
68
99
  Wire it via each client's SessionStart mechanism — the same command everywhere (add `--hybrid` on devPNT/Hybrid projects):
69
100
 
70
101
  Claude Code — in the project's `.claude/settings.json`: