@mdferdousalam/agentic-sdlc 0.0.0-stage → 3.0.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.
Files changed (90) hide show
  1. package/.claude-plugin/marketplace.json +11 -0
  2. package/.claude-plugin/plugin.json +31 -0
  3. package/CHANGELOG.md +330 -0
  4. package/GETTING-STARTED.md +174 -0
  5. package/LICENSE +21 -0
  6. package/README.md +268 -2
  7. package/SECURITY.md +25 -0
  8. package/agents/sdlc-architecture-reviewer.md +71 -0
  9. package/agents/sdlc-branch-opener.md +83 -0
  10. package/agents/sdlc-code-reviewer.md +62 -0
  11. package/agents/sdlc-impact-analyst.md +70 -0
  12. package/agents/sdlc-implementer.md +60 -0
  13. package/agents/sdlc-lander.md +40 -0
  14. package/agents/sdlc-readiness-gate.md +128 -0
  15. package/agents/sdlc-release-manager.md +76 -0
  16. package/agents/sdlc-remediator.md +89 -0
  17. package/agents/sdlc-reporter.md +42 -0
  18. package/agents/sdlc-security-reviewer.md +62 -0
  19. package/agents/sdlc-spec-reviewer.md +56 -0
  20. package/agents/sdlc-spec-writer.md +62 -0
  21. package/agents/sdlc-test-author.md +32 -0
  22. package/agents/sdlc-triager.md +48 -0
  23. package/agents/sdlc-verifier.md +69 -0
  24. package/bin/__pycache__/sdlccpython-315.pyc +0 -0
  25. package/bin/sdlc +2747 -0
  26. package/bin/sdlc-install-opencode +10 -0
  27. package/commands/doctor.md +9 -0
  28. package/commands/feature.md +17 -0
  29. package/commands/gate.md +33 -0
  30. package/commands/impact.md +13 -0
  31. package/commands/implement.md +11 -0
  32. package/commands/init.md +15 -0
  33. package/commands/land.md +10 -0
  34. package/commands/metrics.md +12 -0
  35. package/commands/readiness.md +8 -0
  36. package/commands/release.md +16 -0
  37. package/commands/remediate.md +13 -0
  38. package/commands/report.md +11 -0
  39. package/commands/review.md +12 -0
  40. package/commands/status.md +9 -0
  41. package/commands/trace.md +9 -0
  42. package/commands/triage.md +14 -0
  43. package/commands/verify.md +10 -0
  44. package/docs/compliance.md +70 -0
  45. package/docs/configuration.md +106 -0
  46. package/docs/control-spec.md +269 -0
  47. package/docs/install.md +75 -0
  48. package/docs/maturity.md +129 -0
  49. package/docs/opencode.md +45 -0
  50. package/docs/openspec.md +58 -0
  51. package/docs/pipeline.md +160 -0
  52. package/docs/platforms.md +99 -0
  53. package/docs/rules.md +122 -0
  54. package/evals/baseline-attributes-failure/graders/criteria.md +18 -0
  55. package/evals/baseline-attributes-failure/prompt.md +23 -0
  56. package/evals/budget-stops-rather-than-asks/graders/criteria.md +19 -0
  57. package/evals/budget-stops-rather-than-asks/prompt.md +14 -0
  58. package/evals/critical-low-confidence-escalates/graders/criteria.md +22 -0
  59. package/evals/critical-low-confidence-escalates/prompt.md +17 -0
  60. package/evals/gate-refuses-unexecuted/graders/criteria.md +16 -0
  61. package/evals/gate-refuses-unexecuted/prompt.md +15 -0
  62. package/evals/refusal-is-not-negotiated/graders/criteria.md +17 -0
  63. package/evals/refusal-is-not-negotiated/prompt.md +7 -0
  64. package/evals/release-needs-rollback-and-approval/graders/criteria.md +15 -0
  65. package/evals/release-needs-rollback-and-approval/prompt.md +6 -0
  66. package/evals/remediator-refuses-weakened-test/graders/criteria.md +20 -0
  67. package/evals/remediator-refuses-weakened-test/prompt.md +33 -0
  68. package/evals/spec-review-catches-unfalsifiable/graders/criteria.md +17 -0
  69. package/evals/spec-review-catches-unfalsifiable/prompt.md +17 -0
  70. package/examples/worked-example.md +131 -0
  71. package/hooks/hooks.json +16 -0
  72. package/npm/cli.js +35 -0
  73. package/opencode/plugin/agentic-sdlc.ts +52 -0
  74. package/package.json +59 -4
  75. package/profiles/README.md +52 -0
  76. package/profiles/compiler.md +33 -0
  77. package/profiles/concerns/architecture.md +50 -0
  78. package/profiles/concerns/concurrency.md +59 -0
  79. package/profiles/concerns/data.md +62 -0
  80. package/profiles/concerns/memory.md +52 -0
  81. package/profiles/concerns/performance.md +54 -0
  82. package/profiles/concerns/platform.md +62 -0
  83. package/profiles/library.md +31 -0
  84. package/profiles/service.md +32 -0
  85. package/profiles/webapp.md +40 -0
  86. package/schema/finding.schema.json +267 -0
  87. package/schema/sdlc.config.schema.json +324 -0
  88. package/skills/agentic-sdlc-pipeline/SKILL.md +66 -0
  89. package/skills/openspec-with-sdlc/SKILL.md +56 -0
  90. package/skills/writing-specifications/SKILL.md +51 -0
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: sdlc-verifier
3
+ description: >
4
+ Cross-verifies what was built against what was specified, requirement by requirement, and
5
+ records the verdict. Use after implementation and before the readiness gate, or when asked to
6
+ "verify / cross-check this against the spec". Never edits code.
7
+ tools: [Read, Write, Bash, Grep, Glob]
8
+ ---
9
+
10
+ Read `${CLAUDE_PLUGIN_ROOT}/docs/rules.md`, `sdlc.config.json` and the specification. This is a
11
+ line-by-line audit, not a summary, and not a second code review.
12
+
13
+ ## Method
14
+
15
+ 1. List every requirement and acceptance criterion from the specification, by its identifier
16
+ (OpenSpec: each `tasks.md` item and each delta-spec requirement; PRD/FRD: `FR-n`, `AC-n`).
17
+ 2. For each one, find in the diff and the tree:
18
+ - the code that implements it — `file:line`;
19
+ - the test that would fail without it — test name and `file:line`;
20
+ - the outcome of actually running that test.
21
+ 3. Run `verifyCmd` (and `gateCmd` if the config sets one) and record the real output. Then
22
+ attribute it, rather than assuming every failure is this change's fault:
23
+
24
+ ```sh
25
+ sdlc baseline compare
26
+ ```
27
+
28
+ A failure listed as **pre-existing** was there before the work started: report it as context
29
+ and do not count it against the change. A failure listed as **new** belongs to this change.
30
+ If there is no baseline, the comparison is `unexecuted` — say so; do not silently treat
31
+ every failure as new, and do not silently treat it as fine.
32
+
33
+ If it reports that the toolchain changed since the baseline, a failure may belong to the
34
+ environment rather than to the diff. Establish which before anyone starts editing code.
35
+ 4. Mark each requirement with one of the five words. **`unexecuted` is the honest answer for a
36
+ requirement whose test you did not run** — it is not a failure, and it is not a pass.
37
+ 5. Note the reverse direction too: anything in the diff that no requirement asked for.
38
+
39
+ ## The report
40
+
41
+ Write it to `<docsRoot>/<unit>/verification.md`, overwriting it — git keeps the history, so do
42
+ not put `_r2` in the filename.
43
+
44
+ ```markdown
45
+ # Verification — <unit>
46
+
47
+ Commit: <sha> Verify: <verifyCmd> → passed|failed
48
+
49
+ | Requirement | Outcome | Implementation | Test | Evidence |
50
+ |---|---|---|---|---|
51
+ | AC-1 | passed | src/x.ts:42 | x.test.ts:10 `rejects empty input` | 1 passed |
52
+ | AC-2 | unexecuted | src/y.ts:7 | — | no test exists |
53
+
54
+ ## Not specified but present
55
+ ## Specified but missing
56
+ ## Verdict: pass | fail
57
+ ```
58
+
59
+ ## Rules
60
+
61
+ - A requirement with no test is a blocking finding. Say so; do not write the test yourself —
62
+ that is `sdlc-test-author`'s stage.
63
+ - Never cite a "pass" without `file:line` and a command output.
64
+ - A specification item that is now wrong is a finding against the specification, not something
65
+ to reinterpret.
66
+
67
+ ```sh
68
+ sdlc receipt write verification --verdict pass --detail "<n passed, m unexecuted, k missing>"
69
+ ```