amsd-pipeline-workflow 0.1.27 → 0.1.29
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/doctor/profile.json
CHANGED
|
@@ -372,7 +372,7 @@ let reviewedTree = null, prevBlocker = false, retiredThisCycle = 0, reReview = n
|
|
|
372
372
|
let reproDone = false, repro = null, gate = null, uit = null, coverage = null, uncoveredVc = null
|
|
373
373
|
async function reproStep(prep) {
|
|
374
374
|
const at = prep.findingMode ? 'review test findings' : '3.54'
|
|
375
|
-
if (prep.skip) { log(\`\${at}: \${prep.skip}\`); return { committed: false, reason: prep.skip } }
|
|
375
|
+
if (prep.skip) { log(\`\${at}: \${prep.skip}\`); return { committed: false, reason: prep.skip, noFix: !!prep.noFix } }
|
|
376
376
|
if (prep.error) { log(\`\${at}: the test writer cannot run — \${prep.error}\${prep.findingMode ? '' : ' (Step 3.55 will block)'}\`); return { committed: false, reason: prep.error } }
|
|
377
377
|
let source = null
|
|
378
378
|
if (prep.targetQuestion) {
|
|
@@ -572,6 +572,14 @@ async function implementedSteps(checks, attempt) {
|
|
|
572
572
|
const end = (r) => ({ end: done(r) })
|
|
573
573
|
if (!reproDone && checks.repro) {
|
|
574
574
|
reproDone = true; repro = await reproStep(checks.repro)
|
|
575
|
+
// NOTHING TO GATE (repro.noFix, hooks/repro-prep.sh): no fix file is in the diff at all, so Step 3.55's gate has no
|
|
576
|
+
// change to ask about. Run 11, metrolinx, AMSD-2974: the plan correctly gave this codeline no change (every fix site
|
|
577
|
+
// NO EDIT REQUIRED, the detective's structured analysis), the writer made no change either, and the real Step 3.55
|
|
578
|
+
// gate still ran and blocked it ("no test file accompanies the change") because its own no-change bypass does not
|
|
579
|
+
// know this workflow's structured-analysis fallback (generator/plan-no-change-structured.js). This workflow's own
|
|
580
|
+
// Step 3.54 preparation already answered the only question the gate would ask — asking it again cannot do anything
|
|
581
|
+
// but repeat a question already answered, so it is not asked.
|
|
582
|
+
if (repro.noFix) return { checks }
|
|
575
583
|
// STEP 3.545 — tests the fix legitimately invalidated (update-invalidated-tests.sh): the step runner checks the whole suite;
|
|
576
584
|
// when it is red, the agent (its write fence: only tests that existed before the story) updates them or reports a
|
|
577
585
|
// regression, and its judge decides. An unresolved RED suite blocks after the reproduction gate (below).
|
package/hooks/repro-prep.sh
CHANGED
|
@@ -54,7 +54,15 @@ if [ -n "$_FINDING_FILE" ]; then
|
|
|
54
54
|
else
|
|
55
55
|
# :164–165 (no gate finding: a test that accompanies the change is enough)
|
|
56
56
|
[ "${#TEST_FILES[@]}" -gt 0 ] && say --arg t "${TEST_FILES[0]}" '{skip: ("a test already accompanies the change (" + $t + ") — nothing to write")}'
|
|
57
|
-
|
|
57
|
+
# noFix: true — a machine-readable mark, distinct from the "a test already accompanies it" skip above: there is no fix at
|
|
58
|
+
# all to reproduce, so nothing downstream (Step 3.545, Step 3.55's gate) has anything to ask about. Run 11, metrolinx,
|
|
59
|
+
# AMSD-2974: the story's plan correctly gave this codeline no change (every fix site NO EDIT REQUIRED, confirmed by the
|
|
60
|
+
# detective's structured analysis — generator/plan-no-change-structured.js), yet the real Step 3.55 gate still ran and
|
|
61
|
+
# blocked it for shipping no test, because its own no-change bypass (brownfield-repro-test-gate.sh:93-99) only recognizes
|
|
62
|
+
# the pipeline's prose check (plan-gives-no-change.js), not the structured-analysis fallback this workflow also honours.
|
|
63
|
+
# Reported, not patched there (orchestrations/ is the bash pipeline); this flag lets the workflow stop asking the gate
|
|
64
|
+
# a question that has already been answered, here, correctly.
|
|
65
|
+
[ "${#FIX_FILES[@]}" -gt 0 ] || say '{skip: "no fix files in the diff — nothing to test", noFix: true}'
|
|
58
66
|
fi
|
|
59
67
|
|
|
60
68
|
# :195–216 — testable source, asked of the codeline
|
package/package.json
CHANGED