amsd-pipeline-workflow 0.1.17 → 0.1.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.
@@ -23,17 +23,18 @@
23
23
  "command": [
24
24
  "{node}",
25
25
  "--test",
26
+ "--test-reporter=spec",
26
27
  "{files}"
27
28
  ],
28
29
  "envUnset": [
29
30
  "NODE_TEST_CONTEXT"
30
31
  ],
31
32
  "greenPatterns": [
32
- "ℹ pass [1-9]",
33
- "ℹ fail 0",
34
- "✔ (?!\\S+\\.js \\()"
33
+ "\u2139 pass [1-9]",
34
+ "\u2139 fail 0",
35
+ "\u2714 (?!\\S+\\.js \\()"
35
36
  ],
36
- "failedPattern": "ℹ fail [1-9]"
37
+ "failedPattern": "\u2139 fail [1-9]"
37
38
  },
38
39
  "install": {
39
40
  "dest": "claude-workflows",
@@ -61,6 +62,10 @@
61
62
  "cannot resume run",
62
63
  "operator's yes",
63
64
  "needs the operator"
65
+ ],
66
+ "faultMarks": [
67
+ "\\(exit undefined\\)",
68
+ "\\(exit NaN\\)"
64
69
  ]
65
70
  },
66
71
  "settings": {
@@ -90,9 +95,9 @@
90
95
  "prefix": "doctor/"
91
96
  },
92
97
  "boundaries": [
93
- "the ticket (any AMSD-… story) and its Jira content",
98
+ "the ticket (any AMSD-\u2026 story) and its Jira content",
94
99
  "every client repository and every codeline copy the run works in (cx-shared, gotransit, metrolinx, upexpress and any other)",
95
- "the bash pipeline (the install's orchestrations/ folder) — a defect there is reported, never repaired",
100
+ "the bash pipeline (the install's orchestrations/ folder) \u2014 a defect there is reported, never repaired",
96
101
  "package.json, bin/, docs/ and everything outside the repairable directories",
97
102
  "the pipeline's own prompt templates, agent roster, seams, ladders and system instructions in the install's orchestrations/ folder (the generators' prompts in generator/ are the agentic layer the doctor may repair)"
98
103
  ],
@@ -114,13 +114,11 @@ function completeLineByCommit(env, wt, lineLog, linePrd, branch, log) {
114
114
  if (git(wt, 'rev-parse', '--verify', '--quiet', branch).status !== 0) return;
115
115
  if (git(wt, 'checkout', '-q', branch).status !== 0) { log(`[orch] could not check out ${branch} to read its committed work`); return; }
116
116
  bash({ ...env, PROJECT_ROOT: wt }, 'story_resume_completed_by_commit', [wt, lineLog, linePrd], { log });
117
- // THE PIPELINE'S FUNCTION SETS completed ONLY; the line's done test reads status (lib/release-lines.sh:96), so a line
118
- // completed by its commit read as not done, took the --reset path and was rewritten (LIVE-AMSD-2974-11, 2026-10-20).
119
- // A Writer-completed story carries both; this one does too.
117
+ // B78 (RS-5): the shared function sets `completed` AND `status` (a Writer-completed story carries both), which the line's done test reads. The driver used to
118
+ // patch `status` itself, behind the pipeline's back; it now only CHECKS, and an install whose function predates the fix is said — never worked around silently.
120
119
  const p = JSON.parse(fs.readFileSync(linePrd, 'utf8'));
121
- let changed = false;
122
- for (const s of p.stories || []) if (s.completed === true && s.status !== 'completed' && s.status !== 'deprecated') { s.status = 'completed'; changed = true; }
123
- if (changed) fs.writeFileSync(linePrd, JSON.stringify(p, null, 2));
120
+ const half = (p.stories || []).filter((s) => s.completed === true && s.status !== 'completed' && s.status !== 'deprecated');
121
+ if (half.length) throw new Error(`the install's story_resume_completed_by_commit marked ${half.map((s) => s.id).join(', ')} completed without a status — it predates the fix (needs amsd-pipeline-shared >= 0.5.3: amsd-pipeline-shared install --into <install>)`);
124
122
  }
125
123
 
126
124
  /** A line whose every story is completed — the pipeline's own test (lib/release-lines.sh:96). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amsd-pipeline-workflow",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "The AMSD pipeline as Claude workflows. Installed by the amsd-pipeline installer: install.sh --workflows",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {