@ngocsangairvds/vsaf 5.4.7 → 5.5.1

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 (53) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/commands/run.d.ts.map +1 -1
  3. package/packages/cli/dist/commands/run.js +16 -2
  4. package/packages/cli/dist/commands/run.js.map +1 -1
  5. package/packages/cli/dist/commands/validate.d.ts.map +1 -1
  6. package/packages/cli/dist/commands/validate.js +7 -1
  7. package/packages/cli/dist/commands/validate.js.map +1 -1
  8. package/packages/core/dist/engine/dag-parser.d.ts.map +1 -1
  9. package/packages/core/dist/engine/dag-parser.js +7 -0
  10. package/packages/core/dist/engine/dag-parser.js.map +1 -1
  11. package/packages/core/dist/engine/expand-workflow.d.ts +8 -0
  12. package/packages/core/dist/engine/expand-workflow.d.ts.map +1 -0
  13. package/packages/core/dist/engine/expand-workflow.js +104 -0
  14. package/packages/core/dist/engine/expand-workflow.js.map +1 -0
  15. package/packages/core/dist/index.d.ts +1 -0
  16. package/packages/core/dist/index.d.ts.map +1 -1
  17. package/packages/core/dist/index.js +4 -2
  18. package/packages/core/dist/index.js.map +1 -1
  19. package/packages/core/dist/providers/default-adapters.d.ts +2 -1
  20. package/packages/core/dist/providers/default-adapters.d.ts.map +1 -1
  21. package/packages/core/dist/providers/default-adapters.js +79 -26
  22. package/packages/core/dist/providers/default-adapters.js.map +1 -1
  23. package/packages/core/dist/schema/workflow-schema.d.ts +4 -0
  24. package/packages/core/dist/schema/workflow-schema.d.ts.map +1 -1
  25. package/packages/core/dist/schema/workflow-schema.js +8 -6
  26. package/packages/core/dist/schema/workflow-schema.js.map +1 -1
  27. package/packages/core/dist/types/workflow.d.ts +2 -0
  28. package/packages/core/dist/types/workflow.d.ts.map +1 -1
  29. package/skills/sdlc/_shared/sonar-viettel/quality-gate.md +7 -0
  30. package/skills/sdlc/discovery/grill/step.md +6 -1
  31. package/skills/sdlc/implement/build-run/step.md +1 -1
  32. package/skills/sdlc/implement/tdd/step.md +9 -0
  33. package/skills/sdlc/pack.yaml +2 -4
  34. package/skills/sdlc/review/fix/SKILL.md +10 -0
  35. package/skills/sdlc/review/fix/step.md +33 -0
  36. package/skills/sdlc/srs/SKILL.md +129 -0
  37. package/skills/sdlc/test-design/cases/step.md +7 -0
  38. package/workflows/sdlc/master-sdlc-headless.yaml +18 -62
  39. package/workflows/sdlc/onboard-code.yaml +104 -0
  40. package/workflows/sdlc/onboard-docs.yaml +93 -0
  41. package/workflows/sdlc/onboarding.yaml +24 -7
  42. package/workflows/sdlc/sdlc-build-headless.yaml +34 -10
  43. package/workflows/sdlc/sdlc-design.yaml +4 -21
  44. package/workflows/sdlc/sdlc-review.yaml +9 -1
  45. package/workflows/sdlc/sdlc-srs.yaml +4 -25
  46. package/skills/sdlc/srs/interface/SKILL.md +0 -10
  47. package/skills/sdlc/srs/interface/step.md +0 -44
  48. package/skills/sdlc/srs/prereq/SKILL.md +0 -10
  49. package/skills/sdlc/srs/prereq/step.md +0 -19
  50. package/skills/sdlc/srs/validate/SKILL.md +0 -10
  51. package/skills/sdlc/srs/validate/step.md +0 -23
  52. package/skills/sdlc/srs/write/SKILL.md +0 -10
  53. package/skills/sdlc/srs/write/step.md +0 -19
@@ -10,27 +10,57 @@ const os_1 = __importDefault(require("os"));
10
10
  const path_1 = __importDefault(require("path"));
11
11
  function execFileAsync(cmd, args, opts) {
12
12
  return new Promise((resolve, reject) => {
13
- (0, child_process_1.execFile)(cmd, args, opts, (err, stdout) => {
14
- if (err)
13
+ (0, child_process_1.execFile)(cmd, args, opts, (err, stdout, stderr) => {
14
+ if (err) {
15
+ // Node attaches stdout/stderr to the error object, but ensure stderr is
16
+ // present so transient-error classification + enrichment can use it.
17
+ if (typeof err.stderr !== 'string') {
18
+ err.stderr = typeof stderr === 'string' ? stderr : '';
19
+ }
15
20
  reject(err);
16
- else
21
+ }
22
+ else {
17
23
  resolve({ stdout: stdout });
24
+ }
18
25
  });
19
26
  });
20
27
  }
28
+ // Transient-failure retry for the `claude` CLI, mirroring Archon's claude provider
29
+ // (packages/providers/src/claude/provider.ts): retry rate-limit / subprocess-crash
30
+ // failures with exponential backoff; never retry auth errors or node timeouts.
31
+ const MAX_CLAUDE_RETRIES = 3;
32
+ const RETRY_BASE_DELAY_MS = 2000;
33
+ const RATE_LIMIT_PATTERNS = ['rate limit', 'too many requests', '429', 'overloaded'];
34
+ const AUTH_PATTERNS = ['credit balance', 'unauthorized', 'authentication', 'invalid token', '401', '403'];
35
+ // CLI-crash signatures: Archon's SDK equivalents plus the Node execFile "Command failed" wrapper.
36
+ const SUBPROCESS_CRASH_PATTERNS = ['exited with code', 'killed', 'signal', 'operation aborted', 'command failed'];
37
+ function classifyClaudeError(message, stderr) {
38
+ const combined = `${message} ${stderr}`.toLowerCase();
39
+ if (RATE_LIMIT_PATTERNS.some((p) => combined.includes(p)))
40
+ return 'rate_limit';
41
+ if (AUTH_PATTERNS.some((p) => combined.includes(p)))
42
+ return 'auth';
43
+ if (SUBPROCESS_CRASH_PATTERNS.some((p) => combined.includes(p)))
44
+ return 'crash';
45
+ return 'unknown';
46
+ }
47
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
21
48
  class ClaudeCodeAdapter {
22
49
  execFn;
50
+ retryBaseDelayMs;
23
51
  name = 'claude';
24
- constructor(execFn = execFileAsync) {
52
+ constructor(execFn = execFileAsync, retryBaseDelayMs = RETRY_BASE_DELAY_MS) {
25
53
  this.execFn = execFn;
54
+ this.retryBaseDelayMs = retryBaseDelayMs;
26
55
  }
27
56
  async execute(prompt, config) {
28
57
  const startTime = Date.now();
29
58
  const args = ['--print', '--output-format', 'json', '--model', config.model];
30
- // Without a permission mode, non-interactive `claude --print` denies all
31
- // file writes SDLC phases cannot persist artifacts. acceptEdits allows
32
- // edits while still blocking arbitrary bash.
33
- const permissionMode = config.permissionMode ?? process.env.VSAF_CLAUDE_PERMISSION_MODE;
59
+ // Non-interactive `claude --print` denies all file writes without a permission
60
+ // mode, so SDLC phases cannot persist docs/artifacts. Default to bypassPermissions
61
+ // (matching Archon's claude provider) so headless phases can write; an explicit
62
+ // node permission_mode or VSAF_CLAUDE_PERMISSION_MODE still takes precedence.
63
+ const permissionMode = config.permissionMode ?? process.env.VSAF_CLAUDE_PERMISSION_MODE ?? 'bypassPermissions';
34
64
  if (permissionMode) {
35
65
  args.push('--permission-mode', permissionMode);
36
66
  }
@@ -53,30 +83,53 @@ class ClaudeCodeAdapter {
53
83
  if (config.cwd) {
54
84
  opts.cwd = config.cwd;
55
85
  }
56
- const { stdout } = await this.execFn('claude', args, opts);
57
- const durationMs = Date.now() - startTime;
58
- let output;
59
- let structuredOutput;
60
- let sessionId;
61
- try {
62
- const parsed = JSON.parse(stdout);
63
- output = parsed.result ?? stdout;
64
- if (typeof parsed.session_id === 'string' && parsed.session_id) {
65
- sessionId = parsed.session_id;
66
- }
67
- if (config.outputFormat) {
86
+ // Retry transient failures (rate limit / subprocess crash) with exponential
87
+ // backoff, mirroring Archon. Auth errors and node timeouts are never retried.
88
+ let lastError;
89
+ for (let attempt = 0; attempt <= MAX_CLAUDE_RETRIES; attempt++) {
90
+ try {
91
+ const { stdout } = await this.execFn('claude', args, opts);
92
+ const durationMs = Date.now() - startTime;
93
+ let output;
94
+ let structuredOutput;
95
+ let sessionId;
68
96
  try {
69
- structuredOutput = JSON.parse(output);
97
+ const parsed = JSON.parse(stdout);
98
+ output = parsed.result ?? stdout;
99
+ if (typeof parsed.session_id === 'string' && parsed.session_id) {
100
+ sessionId = parsed.session_id;
101
+ }
102
+ if (config.outputFormat) {
103
+ try {
104
+ structuredOutput = JSON.parse(output);
105
+ }
106
+ catch {
107
+ structuredOutput = undefined;
108
+ }
109
+ }
70
110
  }
71
111
  catch {
72
- structuredOutput = undefined;
112
+ output = stdout;
73
113
  }
114
+ return { output, structuredOutput, tokensUsed: 0, durationMs, sessionId };
115
+ }
116
+ catch (error) {
117
+ const err = error;
118
+ const stderr = typeof err.stderr === 'string' ? err.stderr : '';
119
+ // A node timeout kills the process; retrying only burns another full timeout.
120
+ const errorClass = err.killed ? 'timeout' : classifyClaudeError(err.message, stderr);
121
+ const detail = stderr ? `${err.message} (stderr: ${stderr.slice(0, 4000)})` : err.message;
122
+ const enriched = new Error(`claude ${errorClass}: ${detail}`);
123
+ enriched.cause = err;
124
+ const shouldRetry = errorClass === 'rate_limit' || errorClass === 'crash';
125
+ if (!shouldRetry || attempt >= MAX_CLAUDE_RETRIES) {
126
+ throw enriched;
127
+ }
128
+ lastError = enriched;
129
+ await sleep(this.retryBaseDelayMs * 2 ** attempt);
74
130
  }
75
131
  }
76
- catch {
77
- output = stdout;
78
- }
79
- return { output, structuredOutput, tokensUsed: 0, durationMs, sessionId };
132
+ throw lastError ?? new Error('claude query failed after retries');
80
133
  }
81
134
  async isAvailable() {
82
135
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"default-adapters.js","sourceRoot":"","sources":["../../src/providers/default-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-adapters.js","sourceRoot":"","sources":["../../src/providers/default-adapters.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,10 @@ export declare const workflowSchema: {
73
73
  type: "string";
74
74
  minLength: number;
75
75
  };
76
+ workflow: {
77
+ type: "string";
78
+ minLength: number;
79
+ };
76
80
  runtime: {
77
81
  type: "string";
78
82
  enum: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-schema.d.ts","sourceRoot":"","sources":["../../src/schema/workflow-schema.ts"],"names":[],"mappings":"AAwHA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC"}
1
+ {"version":3,"file":"workflow-schema.d.ts","sourceRoot":"","sources":["../../src/schema/workflow-schema.ts"],"names":[],"mappings":"AA0HA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC"}
@@ -15,12 +15,13 @@ const nodeSchema = {
15
15
  type: 'object',
16
16
  required: ['id'],
17
17
  oneOf: [
18
- { required: ['prompt'], not: { anyOf: [{ required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }] } },
19
- { required: ['bash'], not: { anyOf: [{ required: ['prompt'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }] } },
20
- { required: ['command'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }] } },
21
- { required: ['script'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['approval'] }, { required: ['cancel'] }] } },
22
- { required: ['approval'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['cancel'] }] } },
23
- { required: ['cancel'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }] } },
18
+ { required: ['prompt'], not: { anyOf: [{ required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }, { required: ['workflow'] }] } },
19
+ { required: ['bash'], not: { anyOf: [{ required: ['prompt'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }, { required: ['workflow'] }] } },
20
+ { required: ['command'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }, { required: ['workflow'] }] } },
21
+ { required: ['script'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['approval'] }, { required: ['cancel'] }, { required: ['workflow'] }] } },
22
+ { required: ['approval'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['cancel'] }, { required: ['workflow'] }] } },
23
+ { required: ['cancel'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['workflow'] }] } },
24
+ { required: ['workflow'], not: { anyOf: [{ required: ['prompt'] }, { required: ['bash'] }, { required: ['command'] }, { required: ['script'] }, { required: ['approval'] }, { required: ['cancel'] }] } },
24
25
  ],
25
26
  additionalProperties: false,
26
27
  properties: {
@@ -30,6 +31,7 @@ const nodeSchema = {
30
31
  bash: { type: 'string', minLength: 1 },
31
32
  command: { type: 'string', minLength: 1 },
32
33
  script: { type: 'string', minLength: 1 },
34
+ workflow: { type: 'string', minLength: 1 },
33
35
  runtime: { type: 'string', enum: ['bun', 'uv'] },
34
36
  deps: { type: 'array', items: { type: 'string' } },
35
37
  cancel: { type: 'string', minLength: 1 },
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-schema.js","sourceRoot":"","sources":["../../src/schema/workflow-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-schema.js","sourceRoot":"","sources":["../../src/schema/workflow-schema.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,SAAS,EAAE,CAAC,EAAE;QAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QACjC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EAAE;KAClD;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,CAAC,IAAI,CAAC;IAChB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;QACzM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;QACzM,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;QACzM,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;QACzM,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;QACzM,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;QACzM,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC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"}
@@ -46,6 +46,8 @@ export interface NodeDefinition {
46
46
  bash?: string;
47
47
  command?: string;
48
48
  script?: string;
49
+ /** Sub-workflow include. Must be expanded away (expandWorkflowYaml) before parseWorkflow. */
50
+ workflow?: string;
49
51
  runtime?: 'bun' | 'uv';
50
52
  deps?: string[];
51
53
  cancel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":"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"}
@@ -72,3 +72,10 @@ Run from this folder (`.claude/skills/_shared/sdlc/sonar-viettel/`). It prints e
72
72
  ## Phase-specific overrides
73
73
 
74
74
  - **Hotfix (`/sdlc-hotfix-implement`, `/sdlc-hotfix-review`):** apply the **New Code** conditions on changed files only, but tighten **Code Smells (new) = 0** — a surgical 1–3 line fix has no excuse to introduce a smell.
75
+
76
+ ## Framework correctness (MUST verify — beyond Sonar smells)
77
+
78
+ These are behavioural defects Sonar's generic ruleset misses; the implement phase MUST satisfy them and the review phase MUST confirm them:
79
+
80
+ - **Validation is wired, not just declared.** If a request DTO carries bean-validation constraints (`@NotNull`, `@Min`, `@Size`, `@FutureOrPresent`, …), the controller parameter MUST activate them (Spring `@Valid`/`@Validated` on `@RequestBody`/`@ModelAttribute`) so violations return **HTTP 400**. Constraints without an activating annotation are dead code — treat as a **MUST FIX**. Confirm with a real HTTP-layer test asserting 400 on invalid input (not a service mock).
81
+ - **Concurrency on state transitions.** A check-then-act state change on a shared row (e.g. "if not PAID → set PAID") MUST be race-safe — optimistic locking (`@Version`) or an atomic conditional update — when the PRD/SRS flags a concurrency risk. A bare read-modify-write is a **MUST FIX** for such endpoints.
@@ -15,7 +15,12 @@ Use `/bmad-advanced-elicitation` — grill questions BASED ON system understandi
15
15
  - ✅ Correct example: "Route `/api/orders` currently returns 5 fields. What additional fields does the new feature need?"
16
16
  - ⛔ Wrong example: "I suggest using event-driven architecture for this feature"
17
17
 
18
- **WAIT** for the user to respond BEFORE continuing to Step 4.
18
+ **REQUIREMENT FIDELITY (critical applies especially in headless/self-answer mode):**
19
+ - Every capability explicitly stated in the feature request (`$ARGUMENTS`) is a **binding requirement** and MUST remain in scope. Do NOT answer a grill question in a way that removes, weakens, or narrows an explicit requirement.
20
+ - Example of the failure to avoid: the request says "payment updates status PENDING→PAID on success **or PENDING→FAILED on failure**", and a self-answer decides "mock always succeeds" — this silently DROPS the FAILED path. Not allowed.
21
+ - If a requirement genuinely should be reduced or deferred, do NOT bake the reduction into the design. Instead record it verbatim under a **`## Descoped — needs approval`** section in `01-discovery.md` (original requirement + why proposed for descope) and keep it flagged for a human decision. Absent explicit approval, the requirement stays IN scope and flows to PRD/SRS/implementation.
22
+
23
+ **WAIT** for the user to respond BEFORE continuing to Step 4. In headless/self-answer mode (`VSAF_CI=1`), answer conservatively per the fidelity rule above — never self-approve a descope.
19
24
 
20
25
  ```
21
26
  [DISCOVERY] [3/6] Grill session — asking detailed questions... ✅
@@ -24,7 +24,7 @@
24
24
  - **Recommend Docker**: "Recommend using Docker to ensure a consistent environment. Create a Dockerfile if one does not exist."
25
25
  - If Docker available → prefer building in container
26
26
 
27
- 4. **Test suite run**: `npm test` / `mvn test` / equivalent → All tests PASS
27
+ 4. **Test suite run**: run the **FULL** suite (`mvn test` / `npm test` / equivalent — never a subset) all tests PASS. Report the runner's real total honestly (e.g. `Tests run: N, Failures: F, Errors: E`) — the number you report MUST match the full-suite run. A red build is a **hard gate**: `Failures+Errors` must be 0, or any genuinely-unrelated pre-existing failure must be explicitly quarantined (recorded with test name + rationale). Do NOT report "all pass" from a partial run.
28
28
 
29
29
  5. **Final SonarQube sweep**: Scan all new code one last time before exiting
30
30
  - Confirm both New Code and Overall Code conditions are green per the shared `quality-gate.md` (single source of truth)
@@ -14,6 +14,15 @@ For each test case in `06-testcases.md`:
14
14
  - No code smells (long method, deep nesting)
15
15
  - No duplicated code
16
16
  - Null-safe, proper error handling
17
+ - ⚠️ **Wire request validation, don't just declare it**: if a request DTO carries
18
+ bean-validation constraints (`@NotNull`, `@Min`, `@Size`, `@FutureOrPresent`, …),
19
+ the controller parameter MUST activate them — Spring: `@Valid`/`@Validated` on the
20
+ `@RequestBody`/`@ModelAttribute` param — so a violation returns **HTTP 400**.
21
+ Unwired constraints are dead code and a defect. Prove it with the endpoint's
22
+ invalid-input integration test (expects 400), never a service-level mock.
23
+ - ⚠️ **Controller cases use a real HTTP-layer test** (`@WebMvcTest`/`@SpringBootTest`
24
+ + `MockMvc`), exercising validation (400) and authz (401/403) through the real
25
+ stack — not Mockito on the service.
17
26
  3. **REFACTOR**: Clean code, do not change behavior
18
27
  - Refactor MUST improve SonarQube metrics, not degrade them
19
28
 
@@ -68,10 +68,7 @@ skills:
68
68
  - architecture/decision
69
69
  - architecture/epics
70
70
  - architecture/readiness
71
- - srs/prereq
72
- - srs/write
73
- - srs/validate
74
- - srs/interface
71
+ - srs
75
72
  - test-design/prereq
76
73
  - test-design/cases
77
74
  - test-design/boundary
@@ -89,6 +86,7 @@ skills:
89
86
  - review/code
90
87
  - review/impact
91
88
  - review/debate
89
+ - review/fix
92
90
  - complete/prereq
93
91
  - complete/context
94
92
  - complete/knowledge
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-fix
3
+ description: "Review 6/6 — implement MUST-FIX findings, then re-verify the full suite"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 6/6 — implement MUST-FIX findings
9
+
10
+ @include(step.md)
@@ -0,0 +1,33 @@
1
+ ### Step 6: Implement Review Fixes (close the loop)
2
+
3
+ ```
4
+ [REVIEW] [6/6] Implementing MUST-FIX findings + re-verifying... ⏳
5
+ ```
6
+
7
+ A review that only *reports* defects but leaves them in the shipped code is worthless. This step makes review **binding**: every blocking finding is fixed and re-verified before the feature can advance.
8
+
9
+ 1. **Collect blocking findings:**
10
+ - From `08-review.md` §Code Review / §Quality Gate — every finding classified **MUST FIX**.
11
+ - Carry-forward: any still-open **HIGH** adversarial finding from `02-prd.md` (§Adversarial) and `03-adr.md` (e.g. concurrency/race, data-isolation) — treat as MUST FIX.
12
+ 2. **Fix each MUST-FIX in the real project source.** Prefer TDD: add/adjust a test that fails on the defect, then fix. Follow the implementation standards — including the framework-correctness rules in `quality-gate.md` (wire `@Valid`/`@Validated` so invalid input returns 400; make check-then-act state transitions race-safe, e.g. `@Version`).
13
+ 3. **Re-verify the FULL suite:** `sh $ARTIFACTS_DIR/run-tests.sh 2>&1 | tee $ARTIFACTS_DIR/test-output.log`. The suite MUST be GREEN (0 failures, 0 errors). Fix until it is — never leave the suite red or a MUST-FIX unresolved.
14
+ 4. **Re-check the quality gate** (`quality-gate.md`) on the changed files.
15
+ 5. **Update `08-review.md`:** mark each finding `✅ Fixed` (name the file/change) or — only with explicit human approval — `⏸ Deferred (rationale)`. An unresolved MUST-FIX blocks the phase.
16
+
17
+ **Headless / `VSAF_CI=1`:** implement every MUST-FIX autonomously; do NOT self-defer a MUST-FIX. If a fix is genuinely impossible, leave it open and report — the phase fails rather than shipping a known MUST-FIX defect.
18
+
19
+ ```
20
+ [REVIEW] [6/6] Implementing MUST-FIX findings + re-verifying... ✅
21
+ ```
22
+
23
+ ## Output
24
+
25
+ - Code changes resolving all MUST-FIX findings; full suite green.
26
+ - `08-review.md` updated with per-finding resolution status.
27
+
28
+ ## Rules
29
+
30
+ - A MUST-FIX finding MUST NOT ship unresolved — this node is what makes the review binding, not advisory.
31
+ - Re-run the COMPLETE suite after fixes; green = 0 failures/errors (honor any quarantine entries recorded during implement).
32
+ - Keep fixes minimal and scoped to the findings — do not add unrequested scope.
33
+ - ⛔ DO NOT modify `graphify-out/` or `.gitnexus/`
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: sdlc-srs
3
+ description: "Phase 4 — SRS via sdlc-write-srs template + sdlc-validate-srs 8-dimension validation + GitNexus interface verification"
4
+ version: 2.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Phase 4: SRS (Software Requirements Specification)
9
+
10
+ You are a Senior Business Analyst. Your mission: write a detailed SRS using the v4 template, validate it across 8 quality dimensions, and verify interface contracts.
11
+
12
+ ## Language Rule
13
+
14
+ All output documents (05-srs.md) MUST be written in Vietnamese. Section headers, requirements, use cases, analysis — all in Vietnamese. Only keep English for: IDs (FR-001, NFR-001, UC-XX-01), technical terms (API, database, endpoint), and code references (class names, method signatures).
15
+
16
+ ## Index Protection
17
+
18
+ ⛔ **DO NOT modify** `graphify-out/` or `.gitnexus/` — READ only, never WRITE.
19
+
20
+ ## Phase Entry Protocol
21
+
22
+ ```
23
+ [SRS] [1/4] Checking input artifacts... ⏳
24
+ ```
25
+
26
+ 1. Input:
27
+ - `.vsaf/docs/features/{feature-name}/02-prd.md`
28
+ - `.vsaf/docs/features/{feature-name}/03-adr.md`
29
+ - `.vsaf/docs/features/{feature-name}/04-epics.md`
30
+ 2. Verify 02-prd.md AND 03-adr.md exist (04-epics.md optional):
31
+ - Any required file missing → Ask: "File not found. Have you run Phase 2 (PRD) and Phase 3 (Architecture)?"
32
+ 3. Read `.vsaf/docs/STATUS.md`
33
+ 4. Read `CONTEXT.md`
34
+ 5. Query `graph.json` for code structure + business mapping (if exists)
35
+
36
+ ```
37
+ [SRS] [1/4] Checking input artifacts... ✅
38
+ ```
39
+
40
+ ## Tasks
41
+
42
+ ### Step 2: Write SRS
43
+
44
+ ```
45
+ [SRS] [2/4] Writing SRS from PRD + ADR + Epics... ⏳
46
+ ```
47
+
48
+ Use `/sdlc-write-srs` — write SRS following the v4 template (12 sections) from PRD + Architecture + Epics.
49
+
50
+ Input:
51
+ - `02-prd.md` as PRD source
52
+ - `03-adr.md` as architecture context
53
+ - `04-epics.md` as epic breakdown (optional)
54
+ - Figma link from `CONTEXT.md` (optional)
55
+
56
+ Output: `.vsaf/docs/features/{feature-name}/05-srs.md`
57
+
58
+ ```
59
+ [SRS] [2/4] Writing SRS from PRD + ADR + Epics... ✅
60
+ ```
61
+
62
+ ### Step 3: Validate SRS
63
+
64
+ ```
65
+ [SRS] [3/4] Validating SRS (8 dimensions)... ⏳
66
+ ```
67
+
68
+ Use `/sdlc-validate-srs` — validate SRS across 8 dimensions with weighted scoring.
69
+
70
+ - Scope: single file (`05-srs.md`)
71
+ - Cross-validate against: `02-prd.md`, `03-adr.md`
72
+ - Output: `.vsaf/docs/features/{feature-name}/05-srs-validation-report.md`
73
+
74
+ **Decision handling:**
75
+
76
+ | Validation Result | Action |
77
+ |---|---|
78
+ | **GO** (≥80%, no CRITICAL) | Print score summary, proceed to Step 4 |
79
+ | **CONDITIONAL GO** (60-79% or HIGH findings) | Print warnings + finding summary. Ask user: "Proceed despite warnings? (Y/N)" |
80
+ | **NO-GO** (<60% or CRITICAL findings) | **STOP.** Print CRITICAL findings. Ask user to fix 05-srs.md and re-run `/sdlc-srs` |
81
+
82
+ ```
83
+ [SRS] [3/4] Validating SRS (8 dimensions)... ✅
84
+ ```
85
+
86
+ ### Step 4: Interface Verification
87
+
88
+ ```
89
+ [SRS] [4/4] Interface verification via GitNexus... ⏳
90
+ ```
91
+
92
+ Use GitNexus `shape_check` — verify code structure matches SRS assumptions.
93
+ Append results to `05-srs.md` §Interface Contracts.
94
+
95
+ ```
96
+ [SRS] [4/4] Interface verification via GitNexus... ✅
97
+ ```
98
+
99
+ ## Gate
100
+
101
+ Human must approve SRS. Write `## Gate: APPROVED` at the end of the file.
102
+
103
+ **Automated mode (opt-in):** when the environment has `VSAF_CI=1` or `VSAF_AUTO_APPROVE=1`, write the Gate yourself as `## Gate: APPROVED (auto · VSAF_CI · rationale: <one line>)` and proceed — the one-line rationale is REQUIRED for audit. Without the env flag, a human must approve (default).
104
+
105
+ ## Output
106
+
107
+ - `.vsaf/docs/features/{feature-name}/05-srs.md` — SRS document (v4 template format)
108
+ - `.vsaf/docs/features/{feature-name}/05-srs-validation-report.md` — Validation report with scores
109
+
110
+ ## Phase Exit Protocol
111
+
112
+ In PHASE REPORT:
113
+ - Output files: `05-srs.md`, `05-srs-validation-report.md`
114
+ - Validation score: {overall_score}% ({GO/CONDITIONAL GO/NO-GO})
115
+ - Suggestions: [1] Phase 5 Test Design (`/sdlc-test-design`) [2] Save artifacts
116
+
117
+ Update `.vsaf/docs/STATUS.md`.
118
+
119
+ **Notify the user:**
120
+ > Artifacts have been saved. If the session is interrupted, open a new session and run the next phase — data is safe.
121
+
122
+ ## Rules
123
+
124
+ - Every FR/NFR MUST have a unique traceability ID
125
+ - DO NOT use vague language: "should", "might", "optionally" → replace with "MUST", "MUST NOT"
126
+ - All terms MUST exist in CONTEXT.md
127
+ - Every FR MUST be testable (have clear pass/fail criteria)
128
+ - SRS MUST follow the v4 template structure (12 sections)
129
+ - ⛔ DO NOT modify `graphify-out/` or `.gitnexus/`
@@ -17,6 +17,13 @@ For each requirement, ensure ≥1 test case with:
17
17
 
18
18
  Prioritize: happy path first, then error paths, then edge cases.
19
19
 
20
+ **API / controller coverage (MANDATORY — no exceptions):** every REST controller endpoint MUST have at least one **real framework HTTP-layer integration test**, not a service-level mock relabelled "integration". For Spring that means `@WebMvcTest`/`@SpringBootTest` + `MockMvc` (or `WebTestClient`) that sends a real HTTP request and asserts the HTTP response. Each endpoint's cases MUST include:
21
+ 1. **Happy path** → 2xx + body shape.
22
+ 2. **Invalid input** (null/blank/out-of-range field on the request DTO) → **HTTP 400** (this fails unless bean validation is actually wired — that is the point).
23
+ 3. **Authorization** — unauthenticated → 401, wrong-owner/role → 403.
24
+
25
+ A test that only calls the service through Mockito does NOT satisfy the controller/integration requirement. Mark each case's **Type** honestly (`unit` = no framework context; `integration` = real MockMvc/HTTP).
26
+
20
27
  ```
21
28
  [TEST-DESIGN] [2/4] Generating test cases from SRS... ✅
22
29
  ```