@metasession.co/devaudit-cli 0.1.69 → 0.1.70

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 (28) hide show
  1. package/dist/index.js +11 -4
  2. package/dist/index.js.map +1 -1
  3. package/package.json +2 -2
  4. package/scripts/upload-evidence.sh +10 -1
  5. package/sdlc/CLAUDE.md +25 -2
  6. package/sdlc/SKILLS.md +1 -1
  7. package/sdlc/ai-rules/INSTRUCTIONS-SDLC.md +21 -5
  8. package/sdlc/files/_common/3-compile-evidence.md +63 -2
  9. package/sdlc/files/_common/4-submit-for-review.md +2 -1
  10. package/sdlc/files/_common/5-deploy-main.md +1 -0
  11. package/sdlc/files/_common/Test_Plan_TEMPLATE.md +1 -1
  12. package/sdlc/files/_common/Test_Strategy.md +1 -1
  13. package/sdlc/files/_common/governance/nil-incident-report.md.template +38 -0
  14. package/sdlc/files/_common/scripts/validate-compliance-artifacts.sh +13 -0
  15. package/sdlc/files/_common/skills/e2e-test-engineer/SKILL.md +12 -2
  16. package/sdlc/files/_common/skills/requirements-aligner/SKILL.md +6 -1
  17. package/sdlc/files/_common/skills/sdlc-implementer/SKILL.md +137 -25
  18. package/sdlc/files/_common/skills/sdlc-implementer/references/call-graph.md +1 -1
  19. package/sdlc/files/_common/skills/sdlc-implementer/references/change-request-loop.md +27 -2
  20. package/sdlc/files/ci/ci.yml.template +83 -13
  21. package/sdlc/files/ci/compliance-evidence.yml.template +353 -53
  22. package/sdlc/files/ci/feature-e2e.yml.template +3 -2
  23. package/sdlc/files/ci/incident-export.yml.template +306 -8
  24. package/sdlc/files/ci/label-retention.yml.template +144 -0
  25. package/sdlc/files/ci/post-deploy-prod.yml.template +80 -3
  26. package/sdlc/files/ci/python/ci.yml.template +60 -16
  27. package/sdlc/files/sdlc-config.example.json +1 -1
  28. package/sdlc/.claude/settings.local.json +0 -11
package/dist/index.js CHANGED
@@ -56,7 +56,7 @@ function emitJsonResult(payload) {
56
56
 
57
57
  // package.json
58
58
  var package_default = {
59
- version: "0.1.69"};
59
+ version: "0.1.70"};
60
60
 
61
61
  // src/lib/version.ts
62
62
  var CLI_VERSION = package_default.version;
@@ -652,6 +652,7 @@ function buildUploadForm(file, buf, opts) {
652
652
  if (opts.changeType) form.set("changeType", opts.changeType);
653
653
  if (opts.gateStatus) form.set("gateStatus", opts.gateStatus);
654
654
  if (opts.sdlcStage) form.set("sdlcStage", opts.sdlcStage);
655
+ if (opts.testCycleId) form.set("testCycleId", opts.testCycleId);
655
656
  return form;
656
657
  }
657
658
  function uploadFailureMessage(err, timeoutSeconds) {
@@ -766,7 +767,8 @@ async function uploadPresigned(file, buf, opts) {
766
767
  ...opts.releaseBranch ? { releaseBranch: opts.releaseBranch } : {},
767
768
  ...opts.environment ? { environment: opts.environment } : {},
768
769
  ...opts.evidenceCategory ? { evidenceCategory: opts.evidenceCategory } : {},
769
- ...opts.sdlcStage ? { sdlcStage: opts.sdlcStage } : {}
770
+ ...opts.sdlcStage ? { sdlcStage: opts.sdlcStage } : {},
771
+ ...opts.testCycleId ? { testCycleId: opts.testCycleId } : {}
770
772
  }),
771
773
  signal: controller.signal
772
774
  });
@@ -1009,6 +1011,7 @@ async function runPush(options) {
1009
1011
  ...options.changeType !== void 0 ? { changeType: options.changeType } : {},
1010
1012
  ...options.gateStatus !== void 0 ? { gateStatus: options.gateStatus } : {},
1011
1013
  ...options.sdlcStage !== void 0 ? { sdlcStage: options.sdlcStage } : {},
1014
+ ...options.testCycleId !== void 0 ? { testCycleId: options.testCycleId } : {},
1012
1015
  metadata
1013
1016
  });
1014
1017
  let okCount = 0;
@@ -2216,7 +2219,10 @@ var CI_TEMPLATES = [
2216
2219
  "periodic-review.yml.template",
2217
2220
  // DevAudit-Installer#98 WS4: fires on `label:incident` issue close →
2218
2221
  // auto-PR with the issue exported to compliance/governance/.
2219
- "incident-export.yml.template"
2222
+ "incident-export.yml.template",
2223
+ // DevAudit-Installer#210: enforces the `incident` label survives to
2224
+ // issue close so incident-export.yml fires and evidence lands on the portal.
2225
+ "label-retention.yml.template"
2220
2226
  ];
2221
2227
  var OLD_WORKFLOWS_TO_REMOVE = ["test-on-pr.yml", "check-uat-approval.yml"];
2222
2228
  function indentEnvBlock(env, indent) {
@@ -3147,7 +3153,7 @@ async function main(argv) {
3147
3153
  ...globals.dryRun !== void 0 ? { dryRun: Boolean(globals.dryRun) } : {}
3148
3154
  });
3149
3155
  });
3150
- program.command("push <project-slug> <requirement-id> <evidence-type> <file>").description("Upload evidence file(s) to DevAudit (port of scripts/upload-evidence.sh)").option("--release <version>", "release version (e.g. v1.0.0)").option("--create-release-if-missing", "auto-create the release as 'draft' if absent").option("--environment <env>", "uat | production").option("--category <cat>", "ci_pipeline | local_dev | planning | test_report | security_scan | release_artifact").option("--git-sha <sha>", "attached to metadata.gitSha").option("--ci-run-id <id>", "attached to metadata.ciRunId").option("--branch <name>", "git branch \u2014 sent as releaseBranch + metadata.branch").option("--release-title <text>", "human title for the release row (releaseTitle; portal no-clobbers)").option("--change-type <type>", "conventional-commit prefix for the release row (changeType)").option("--gate-status <status>", "passed | failed | skipped (gateStatus)").option("--sdlc-stage <stage>", "SDLC stage 1-5 (sdlcStage)").option(
3156
+ program.command("push <project-slug> <requirement-id> <evidence-type> <file>").description("Upload evidence file(s) to DevAudit (port of scripts/upload-evidence.sh)").option("--release <version>", "release version (e.g. v1.0.0)").option("--create-release-if-missing", "auto-create the release as 'draft' if absent").option("--environment <env>", "uat | production").option("--category <cat>", "ci_pipeline | local_dev | planning | test_report | security_scan | release_artifact").option("--git-sha <sha>", "attached to metadata.gitSha").option("--ci-run-id <id>", "attached to metadata.ciRunId").option("--branch <name>", "git branch \u2014 sent as releaseBranch + metadata.branch").option("--release-title <text>", "human title for the release row (releaseTitle; portal no-clobbers)").option("--change-type <type>", "conventional-commit prefix for the release row (changeType)").option("--gate-status <status>", "passed | failed | skipped (gateStatus)").option("--sdlc-stage <stage>", "SDLC stage 1-5 (sdlcStage)").option("--test-cycle <id>", "test cycle identifier (typically the CI run ID)").option(
3151
3157
  "--meta-key <pair>",
3152
3158
  "repeatable key=value merged into the metadata JSON",
3153
3159
  (val, acc) => [...acc, val],
@@ -3171,6 +3177,7 @@ async function main(argv) {
3171
3177
  ...opts.changeType !== void 0 ? { changeType: opts.changeType } : {},
3172
3178
  ...opts.gateStatus !== void 0 ? { gateStatus: opts.gateStatus } : {},
3173
3179
  ...opts.sdlcStage !== void 0 ? { sdlcStage: opts.sdlcStage } : {},
3180
+ ...opts.testCycle !== void 0 ? { testCycleId: opts.testCycle } : {},
3174
3181
  ...opts.metaKey !== void 0 && opts.metaKey.length > 0 ? { metaKeys: opts.metaKey } : {},
3175
3182
  ...opts.baseUrl !== void 0 ? { baseUrl: opts.baseUrl } : {},
3176
3183
  ...opts.apiKey !== void 0 ? { apiKey: opts.apiKey } : {},