@antoneeo/agentic-sdlc-skill 1.48.0 → 1.50.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 +57 -0
- package/README.md +56 -15
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/scripts/init.js +6 -6
- package/scripts/lib.js +19 -4
- package/scripts/postinstall.js +13 -1
- package/scripts/preuninstall.js +4 -7
- package/skills/agentic-sdlc-skill/ENFORCEMENT.md +44 -6
- package/skills/agentic-sdlc-skill/SKILL.md +6 -4
- package/skills/agentic-sdlc-skill/debugging.md +5 -5
- package/skills/agentic-sdlc-skill/docs_site/app.js +7 -1
- package/skills/agentic-sdlc-skill/docs_site/strings.js +9 -0
- package/skills/agentic-sdlc-skill/docs_site/style.css +2 -0
- package/skills/agentic-sdlc-skill/elicitation.md +2 -2
- package/skills/agentic-sdlc-skill/guides.md +8 -0
- package/skills/agentic-sdlc-skill/review.md +37 -1
- package/skills/agentic-sdlc-skill/scripts/docs_site.py +17 -3
- package/skills/agentic-sdlc-skill/scripts/knowledge.py +925 -33
- package/skills/agentic-sdlc-skill/scripts/sdlc_check.py +1 -0
- package/skills/agentic-sdlc-skill/scripts/sdlc_core.py +609 -29
- package/skills/agentic-sdlc-skill/templates.md +28 -4
|
@@ -307,7 +307,13 @@ checks: [marketing.funnel] # optional — extra portable checks to run on t
|
|
|
307
307
|
without replacing, the owner's own review. They keep the top of the funnel
|
|
308
308
|
from proposing what the vision does not want or the project does not have;
|
|
309
309
|
drafting is grounded in BOTH anchors first — the Vision (benefit + actors)
|
|
310
|
-
and the real system (summaries / existing features / source).
|
|
310
|
+
and the real system (summaries / existing features / source).
|
|
311
|
+
IDS: at L3 every use-case here opens with `UC<n>`, every item of
|
|
312
|
+
## Functional Spec with `FS<n>`, every threat of ## Security with `T<n>` — at
|
|
313
|
+
the start of a bullet, `###`/`####` heading or table row — so
|
|
314
|
+
`sdlc_check.py constraints --unit <id>` can show them. -->
|
|
315
|
+
|
|
316
|
+
- **UC1 (Actor)** — what they need and why. *Benefit: …*
|
|
311
317
|
|
|
312
318
|
## Functional Spec
|
|
313
319
|
<!-- [conditional] Fires when the change ADDS or ALTERS observable behavior —
|
|
@@ -371,7 +377,7 @@ checks: [marketing.funnel] # optional — extra portable checks to run on t
|
|
|
371
377
|
the responsibility-level flow that deliver them; it NAMES the components in
|
|
372
378
|
the flow, never their mechanism or file-level design (that is the Impact's
|
|
373
379
|
vocabulary). After
|
|
374
|
-
design approval, changing a contracted surface, flow or feedback is a scope
|
|
380
|
+
the owner's design approval (`review.md`), changing a contracted surface, flow or feedback is a scope
|
|
375
381
|
change the USER approves: the solution may propose it, never enact it
|
|
376
382
|
silently. Every contracted flow is covered by ## Test Strategy. -->
|
|
377
383
|
|
|
@@ -403,7 +409,20 @@ checks: [marketing.funnel] # optional — extra portable checks to run on t
|
|
|
403
409
|
|
|
404
410
|
## Impact
|
|
405
411
|
<!-- existing files touched, APIs/contracts, performance, new dependencies.
|
|
406
|
-
Derived from the ledger above: every INADEQUATE/MISSING row appears here.
|
|
412
|
+
Derived from the ledger above: every INADEQUATE/MISSING row appears here.
|
|
413
|
+
The blast radius (SKILL.md Phase 3) is the table below: one row per existing
|
|
414
|
+
symbol whose behaviour must survive the change. A unit that changes no
|
|
415
|
+
existing symbol writes the single line `No existing symbol changed.` instead.
|
|
416
|
+
Bound to: backticked repository-relative paths, optionally `path::symbol`
|
|
417
|
+
(an elided path binds nothing). Callers: the enumerated set, or "none outside
|
|
418
|
+
the file". Must stay true: one statement a test or probe could check.
|
|
419
|
+
Evidence: the enumeration instrument or the probe — never "to be done". -->
|
|
420
|
+
|
|
421
|
+
### Preservation constraints
|
|
422
|
+
|
|
423
|
+
| id | bound to | callers | must stay true | evidence |
|
|
424
|
+
|---|---|---|---|---|
|
|
425
|
+
| P1 | `path/to/store.py::OrderStore.save` | `api/orders.py`, `jobs/sync.py` | a saved order is readable by id before `save` returns | find-usages on `save`; `test_store.py` |
|
|
407
426
|
|
|
408
427
|
## Security and Threat Model
|
|
409
428
|
<!-- ALWAYS mandatory, also in Standalone.
|
|
@@ -530,6 +549,9 @@ Context (agent): "the question it answered, quoted"
|
|
|
530
549
|
entered only as `[NOT VERBATIM — from <source>]`, never as a quote.
|
|
531
550
|
- **Unattended**: R1 quotes the trigger that started the unit, labelled as such.
|
|
532
551
|
Declared assumptions are not owner statements and never enter the record.
|
|
552
|
+
- **Design approval** (L3): the owner's approval of the design is an entry whose
|
|
553
|
+
label begins `design approved`; a no or a correction takes its own label
|
|
554
|
+
(`review.md` §When a review is due).
|
|
533
555
|
- **Hybrid**: always on the filesystem; governed artifacts cite entries too; an
|
|
534
556
|
approval given in devPNT is named by its proposal, not quoted.
|
|
535
557
|
|
|
@@ -705,7 +727,9 @@ columns: Standalone adds `reviewer`, a Hybrid row adds `instrument` and
|
|
|
705
727
|
|
|
706
728
|
`tier` is the moment plus, in Hybrid, the reviewer weight: `design`, `design (late)`
|
|
707
729
|
and `closure` (Standalone); `deep`, `light`, `code`, `guide`, `vision` (devPNT gates
|
|
708
|
-
and the Vision blind check). `
|
|
730
|
+
and the Vision blind check). `post-merge` is not a review: the owner's report of a
|
|
731
|
+
wrong behaviour in a merged L3 change, with `model` `none (owner report)`, `reviewer`
|
|
732
|
+
`owner` and the owner's words in the notes (`review.md`). `model` is a different question about the same review: `tier` says WHICH GATE ran,
|
|
709
733
|
`model` says WHAT CAPABILITY ran it (`deep`, `light`, `economy`,
|
|
710
734
|
`single (client exposes no choice)`, `below floor: <reason>`, `none (not due)` on a
|
|
711
735
|
NOT DUE row — the floor and its
|