@metasession.co/devaudit-sdlc 0.3.18 → 0.3.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metasession.co/devaudit-sdlc",
3
- "version": "0.3.18",
3
+ "version": "0.3.19",
4
4
  "description": "DevAudit SDLC CLI Engine — cross-agent terminal-driven SDLC orchestrator.",
5
5
  "bin": {
6
6
  "devaudit-sdlc": "./src/bin/devaudit-sdlc.js"
@@ -82,7 +82,7 @@ A release is classified by version shape and release mode. **Most of this doc wa
82
82
 
83
83
  ### Housekeeping outcomes
84
84
 
85
- Normal housekeeping skips the per-requirement evidence and approval path. Run the relevant gates, obtain terminal-green PR review, and merge to `develop`; the bare-date portal row is integration history. When a tracked release later absorbs the work, its bundled-change manifest preserves the source title, evidence ownership, stage, and cycles.
85
+ Normal housekeeping skips the per-requirement evidence and approval path. Run the relevant gates, obtain terminal-green PR review, and merge to `develop`; the bare-date portal row is integration history. When a tracked release later absorbs the work, its bundled-change manifest preserves the source title, evidence ownership, stage, and executions.
86
86
 
87
87
  Use standalone housekeeping only when the change cannot reasonably wait for that tracked release. Follow `docs/release-playbooks/housekeeping-release.md`: add the validated `STANDALONE-HOUSEKEEPING-vYYYY.MM.DD.json` declaration, document why promotion is necessary, pass the required checks, and verify production. There is no automatic release-ticket or security-summary stub PR for either housekeeping outcome.
88
88
 
@@ -173,27 +173,27 @@ Rules:
173
173
  - `environment_gap` and `precondition_gap` skips must be resolved before listing — if they appear here, the gate is not truly `SKIPPED` with operator approval.
174
174
  - A skipped test never proves an acceptance criterion.
175
175
 
176
- ## Test Cycles
176
+ ## Test Executions
177
177
 
178
- Prefer the first-class release-journey / cycle API when the portal exposes it. Generate the table from the API response rather than inferring cycles from uploaded files:
178
+ Prefer the first-class release-journey / execution API when the portal exposes it. Generate the table from the API response rather than inferring executions from uploaded files:
179
179
 
180
180
  ```bash
181
181
  # Example:
182
182
  curl -s -H "Authorization: Bearer ${DEVAUDIT_API_KEY}" \
183
183
  "${DEVAUDIT_BASE_URL%/}/api/projects/<slug>/releases/REQ-XXX/journey" \
184
184
  > /tmp/release-journey.json
185
- bash scripts/render-test-cycles.sh /tmp/release-journey.json
185
+ bash scripts/render-test-executions.sh /tmp/release-journey.json
186
186
  ```
187
187
 
188
- The helper renders a first-class table when `.cycles[]` is present, and falls back to legacy `testCycleId` grouping when the portal has not yet rolled out cycle records.
188
+ The helper renders a first-class table when `.testExecutions[]` is present. It must not infer executions from legacy artifact grouping.
189
189
 
190
- | Source Release | SDLC Stage | Cycle | Kind | Outcome | Workflow / Run | Related Evidence | Incident / Remediation | Date |
190
+ | Source Release | SDLC Stage | Execution | Kind | Outcome | Workflow / Run | Related Evidence | Incident / Remediation | Date |
191
191
  | --- | --- | --- | --- | --- | --- | --- | --- | --- |
192
192
  | REQ-XXX | 2 implement_test | #1 | quality_gate | passed | [Quality Gates](https://github.com/example/repo/actions/runs/123) (run 123, attempt 1) | quality-gates.json | None | 2026-07-16 11:03:00 |
193
193
  | REQ-XXX | 2 implement_test | #2 | e2e | passed | [E2E Regression](https://github.com/example/repo/actions/runs/124) (run 124, attempt 2) | e2e-results.json, screenshots.zip | Incident #501 fixed in PR #507 | 2026-07-16 11:19:00 |
194
194
  | REQ-089 | 4 uat_review | #1 | uat | passed | [UAT Review](https://devaudit.example/releases/REQ-089) | uat-checklist.md | None | 2026-07-16 12:02:00 |
195
195
 
196
- **Final assessment:** [First-class cycle records show all stage cycles passed / N cycles failed — see incidents]
196
+ **Final assessment:** [First-class test execution records show all stage executions passed / N executions failed — see incidents]
197
197
 
198
198
  ## Bundled Release Context
199
199
 
@@ -338,12 +338,12 @@ status: "nil"
338
338
 
339
339
  ## Attestation
340
340
 
341
- No incidents or defects were discovered during the test cycle for release `<version>`.
341
+ No incidents or defects were discovered during the test execution for release `<version>`.
342
342
 
343
343
  ## Scope
344
344
 
345
345
  - **Release:** <version>
346
- - **Test cycle:** <description>
346
+ - **Test execution:** <description>
347
347
  - **Test cases executed:** <count>
348
348
  - **Test cases passed:** <count>
349
349
  - **Test cases failed:** 0
@@ -352,7 +352,7 @@ No incidents or defects were discovered during the test cycle for release `<vers
352
352
 
353
353
  ## Framework attribution
354
354
 
355
- - [x] `ISO29119.3.5.4` (Test incident report — nil report for this release cycle)
355
+ - [x] `ISO29119.3.5.4` (Test incident report — nil report for this release execution)
356
356
 
357
357
  ## Sign-off
358
358
 
@@ -179,7 +179,7 @@ CI runs automatically on this PR. The following gates must pass before merge:
179
179
  - [ ] Implementation plan present and matches implementation (MEDIUM/HIGH risk)
180
180
  - [ ] Release ticket created
181
181
  - [ ] Test evidence saved
182
- - [ ] Test execution summary includes Test Cycles section (all CI runs for this release listed)
182
+ - [ ] Test execution summary includes Test Executions section (all CI runs for this release listed)
183
183
  - [ ] Security evidence saved
184
184
  - [ ] AI use documented
185
185
 
@@ -151,7 +151,7 @@ The backend stores both with reviewer identity, SHA, and timestamp. This satisfi
151
151
 
152
152
  1. Wait for `post-deploy-prod.yml` to complete successfully **and** for its host-deployment check to confirm terminal success for the merged SHA.
153
153
  2. Open the release in DevAudit: `https://[DEVAUDIT_BASE_URL]/projects/[PROJECT_SLUG]/releases/[releaseId]`.
154
- 3. Review the production deployment and smoke cycle records, their evidence, and any post-deploy actions logged in the release ticket. Do not approve while either cycle or the host deployment remains queued/in progress.
154
+ 3. Review the production deployment and smoke test execution records, their evidence, and any post-deploy actions logged in the release ticket. Do not approve while either execution or the host deployment remains queued/in progress.
155
155
  4. Click **Approve Production** — status transitions to `prod_approved`.
156
156
  5. Click **Mark as Released** — status transitions to `released`. This dispatches the automated close-out flow.
157
157
 
@@ -67,7 +67,7 @@ The [`sdlc-implementer`](#skills-inventory) skill is the **default way to implem
67
67
  > Implement issue #N under the SDLC.
68
68
  ```
69
69
 
70
- It **triages first** (Phase 0): it reads the issue + labels, classifies the change-type against the [change-workflows](https://github.com/metasession-dev/DevAudit-Installer/blob/main/docs/change-workflows.md) taxonomy, announces a **Workflow Decision** (which path, which gates, which approvals, what's skipped), and routes — only a tracked change continues into the full cycle; housekeeping / trivial / doc-only is announced and handed off to its lighter path. So pointing the skill at an issue no longer defaults to maximum ceremony — it decides the path at pickup.
70
+ It **triages first** (Phase 0): it reads the issue + labels, classifies the change-type against the [change-workflows](https://github.com/metasession-dev/DevAudit-Installer/blob/main/docs/change-workflows.md) taxonomy, announces a **Workflow Decision** (which path, which gates, which approvals, what's skipped), and routes — only a tracked change continues into the full execution; housekeeping / trivial / doc-only is announced and handed off to its lighter path. So pointing the skill at an issue no longer defaults to maximum ceremony — it decides the path at pickup.
71
71
 
72
72
  For a tracked change it then runs Phases 1–4 unattended (with a plan-approval pause for HIGH/CRITICAL risk, or always-on via `--require-plan-approval`): classify risk, assign the next `REQ-XXX`, write the implementation plan, update `RTM.md`, implement, delegate all end-to-end / visual test work to [`e2e-test-engineer`](#skills-inventory), run the gates, compile evidence, open the PR, and submit for UAT review on the portal. It then **halts** at the UAT gate. After a reviewer approves on the portal:
73
73
 
@@ -77,9 +77,9 @@ For a tracked change it then runs Phases 1–4 unattended (with a plan-approval
77
77
 
78
78
  It runs Phase 5: merge, monitor post-deploy, confirm production smoke evidence, advance the release. If changes are requested at UAT instead of approval, it addresses them and re-submits for UAT re-review. It **refuses** issues that decompose into multiple requirements (split them first).
79
79
 
80
- **Where it routes (the Phase-0 decision):** the skill now makes this call at pickup rather than you discovering mid-PR that you over- (or under-) ceremonied. It still **drives each path to completion** — these are the paths it takes *instead of* the full tracked cycle, not points where it abandons you:
80
+ **Where it routes (the Phase-0 decision):** the skill now makes this call at pickup rather than you discovering mid-PR that you over- (or under-) ceremonied. It still **drives each path to completion** — these are the paths it takes *instead of* the full tracked execution, not points where it abandons you:
81
81
 
82
- - **Trivial / housekeeping changes** → the skill drives the lightweight escape hatch (above) to merge: branch → all gates locally → `chore:`/`docs:`/`ci:` PR → review → merge. No requirement, no tracked cycle, but it guides every step. Docs, formatting, dependency bumps, CI tweaks (`docs:` / `chore:` / `ci:` …) don't need a requirement. (Note: `feat` / `fix` / `refactor` / `perf` commits **do** require a `[REQ-XXX]` / `Ref: REQ-XXX` and are rejected by commitlint + `validate-commits.sh` without one.)
82
+ - **Trivial / housekeeping changes** → the skill drives the lightweight escape hatch (above) to merge: branch → all gates locally → `chore:`/`docs:`/`ci:` PR → review → merge. No requirement, no tracked execution, but it guides every step. Docs, formatting, dependency bumps, CI tweaks (`docs:` / `chore:` / `ci:` …) don't need a requirement. (Note: `feat` / `fix` / `refactor` / `perf` commits **do** require a `[REQ-XXX]` / `Ref: REQ-XXX` and are rejected by commitlint + `validate-commits.sh` without one.)
83
83
  - **Compliance-doc-only** → the skill drives a docs push against an **existing** `REQ-XXX` through to merge; no new requirement, no quality gates.
84
84
  - **Stage-1 planning in isolation, or e2e test work alone** → run the manual walkthrough / invoke `e2e-test-engineer` directly.
85
85
  - **Cross-issue refactors** spanning multiple `REQ-XXX` scopes → out of the one-issue contract; the skill refuses and asks you to split.