@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.
- package/.claude-plugin/marketplace.json +11 -0
- package/.claude-plugin/plugin.json +31 -0
- package/CHANGELOG.md +330 -0
- package/GETTING-STARTED.md +174 -0
- package/LICENSE +21 -0
- package/README.md +268 -2
- package/SECURITY.md +25 -0
- package/agents/sdlc-architecture-reviewer.md +71 -0
- package/agents/sdlc-branch-opener.md +83 -0
- package/agents/sdlc-code-reviewer.md +62 -0
- package/agents/sdlc-impact-analyst.md +70 -0
- package/agents/sdlc-implementer.md +60 -0
- package/agents/sdlc-lander.md +40 -0
- package/agents/sdlc-readiness-gate.md +128 -0
- package/agents/sdlc-release-manager.md +76 -0
- package/agents/sdlc-remediator.md +89 -0
- package/agents/sdlc-reporter.md +42 -0
- package/agents/sdlc-security-reviewer.md +62 -0
- package/agents/sdlc-spec-reviewer.md +56 -0
- package/agents/sdlc-spec-writer.md +62 -0
- package/agents/sdlc-test-author.md +32 -0
- package/agents/sdlc-triager.md +48 -0
- package/agents/sdlc-verifier.md +69 -0
- package/bin/__pycache__/sdlccpython-315.pyc +0 -0
- package/bin/sdlc +2747 -0
- package/bin/sdlc-install-opencode +10 -0
- package/commands/doctor.md +9 -0
- package/commands/feature.md +17 -0
- package/commands/gate.md +33 -0
- package/commands/impact.md +13 -0
- package/commands/implement.md +11 -0
- package/commands/init.md +15 -0
- package/commands/land.md +10 -0
- package/commands/metrics.md +12 -0
- package/commands/readiness.md +8 -0
- package/commands/release.md +16 -0
- package/commands/remediate.md +13 -0
- package/commands/report.md +11 -0
- package/commands/review.md +12 -0
- package/commands/status.md +9 -0
- package/commands/trace.md +9 -0
- package/commands/triage.md +14 -0
- package/commands/verify.md +10 -0
- package/docs/compliance.md +70 -0
- package/docs/configuration.md +106 -0
- package/docs/control-spec.md +269 -0
- package/docs/install.md +75 -0
- package/docs/maturity.md +129 -0
- package/docs/opencode.md +45 -0
- package/docs/openspec.md +58 -0
- package/docs/pipeline.md +160 -0
- package/docs/platforms.md +99 -0
- package/docs/rules.md +122 -0
- package/evals/baseline-attributes-failure/graders/criteria.md +18 -0
- package/evals/baseline-attributes-failure/prompt.md +23 -0
- package/evals/budget-stops-rather-than-asks/graders/criteria.md +19 -0
- package/evals/budget-stops-rather-than-asks/prompt.md +14 -0
- package/evals/critical-low-confidence-escalates/graders/criteria.md +22 -0
- package/evals/critical-low-confidence-escalates/prompt.md +17 -0
- package/evals/gate-refuses-unexecuted/graders/criteria.md +16 -0
- package/evals/gate-refuses-unexecuted/prompt.md +15 -0
- package/evals/refusal-is-not-negotiated/graders/criteria.md +17 -0
- package/evals/refusal-is-not-negotiated/prompt.md +7 -0
- package/evals/release-needs-rollback-and-approval/graders/criteria.md +15 -0
- package/evals/release-needs-rollback-and-approval/prompt.md +6 -0
- package/evals/remediator-refuses-weakened-test/graders/criteria.md +20 -0
- package/evals/remediator-refuses-weakened-test/prompt.md +33 -0
- package/evals/spec-review-catches-unfalsifiable/graders/criteria.md +17 -0
- package/evals/spec-review-catches-unfalsifiable/prompt.md +17 -0
- package/examples/worked-example.md +131 -0
- package/hooks/hooks.json +16 -0
- package/npm/cli.js +35 -0
- package/opencode/plugin/agentic-sdlc.ts +52 -0
- package/package.json +59 -4
- package/profiles/README.md +52 -0
- package/profiles/compiler.md +33 -0
- package/profiles/concerns/architecture.md +50 -0
- package/profiles/concerns/concurrency.md +59 -0
- package/profiles/concerns/data.md +62 -0
- package/profiles/concerns/memory.md +52 -0
- package/profiles/concerns/performance.md +54 -0
- package/profiles/concerns/platform.md +62 -0
- package/profiles/library.md +31 -0
- package/profiles/service.md +32 -0
- package/profiles/webapp.md +40 -0
- package/schema/finding.schema.json +267 -0
- package/schema/sdlc.config.schema.json +324 -0
- package/skills/agentic-sdlc-pipeline/SKILL.md +66 -0
- package/skills/openspec-with-sdlc/SKILL.md +56 -0
- 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
|
+
```
|
|
Binary file
|