amsd-pipeline-workflow 0.1.25 → 0.1.26
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/hooks/attempt-verify.sh +19 -4
- package/package.json +1 -1
package/hooks/attempt-verify.sh
CHANGED
|
@@ -43,12 +43,27 @@ ruled=false
|
|
|
43
43
|
# the rung attribution.
|
|
44
44
|
retry_count="${ATTEMPT_RETRY:-}"; STORY_MODEL="${ATTEMPT_MODEL:-}"
|
|
45
45
|
_err="$TMPDIR/attempt-verify.log"; _out="$TMPDIR/attempt-output.log"; : > "$_out"
|
|
46
|
-
stage=""
|
|
46
|
+
stage=""; plan_note=""
|
|
47
|
+
# THE STRUCTURED NO-CHANGE ROUTE (run 11, 2026-10-21): verify_story_deliverables excuses "all declared files unchanged" only through the
|
|
48
|
+
# pipeline's prose handler (the consumer's change line is exactly "none"). A consumer whose fix sites ALL say changeRequired:false
|
|
49
|
+
# (generator/plan-no-change-structured.js) has had its plan carried out by a Writer that edited nothing. Only that one failure class
|
|
50
|
+
# (STORY_REJECTION_KEY unchanged-all:) is excused — a missing file or any other finding is not.
|
|
51
|
+
planned_no_change() {
|
|
52
|
+
case "${STORY_REJECTION_KEY:-}" in unchanged-all:*) ;; *) return 1 ;; esac
|
|
53
|
+
local _p _sj
|
|
54
|
+
for _p in "${PRD_FILE:-}" "${MAIN_PRD_FILE:-}"; do
|
|
55
|
+
[ -n "$_p" ] && [ -f "$_p" ] || continue
|
|
56
|
+
_sj=$("$NODE_BIN" "$(dirname "${BASH_SOURCE[0]}")/../generator/plan-no-change-structured.js" "$_p" "$STORY" "$EPAM_CODELINE" 2>/dev/null) || continue
|
|
57
|
+
plan_note="the story's plan gives ${EPAM_CODELINE} no change ($(printf '%s' "$_sj" | jq -r '.reason // empty')) — its declared files are unchanged, as planned"
|
|
58
|
+
STORY_REJECTION_KEY=""; return 0
|
|
59
|
+
done
|
|
60
|
+
return 1
|
|
61
|
+
}
|
|
47
62
|
complete_codeline_manifests "$PROJECT_ROOT" >/dev/null 2>&1
|
|
48
63
|
for s in deliverables typecheck lint tests; do
|
|
49
64
|
: > "$_err"
|
|
50
65
|
case "$s" in
|
|
51
|
-
deliverables) verify_story_deliverables "$STORY" 2>"$_err" ;;
|
|
66
|
+
deliverables) verify_story_deliverables "$STORY" 2>"$_err" || planned_no_change ;;
|
|
52
67
|
typecheck) run_tsc_verification "$STORY" "$_out" 2>"$_err" ;;
|
|
53
68
|
lint) run_repo_lint_verification "$STORY" "$_out" 2>"$_err" ;;
|
|
54
69
|
tests) run_external_verification "$STORY" "$_out" 2>"$_err" \
|
|
@@ -83,6 +98,6 @@ fi
|
|
|
83
98
|
# a passing attempt ends this writer process; a failing one leaves its globals to the failure handling and the next attempt
|
|
84
99
|
if [ "$passed" = true ]; then wp_clear "$STATE"; else wp_save "$STATE/writer-process.json"; fi
|
|
85
100
|
jq -cn --argjson p "$passed" --argjson ruled "$ruled" --arg st "$stage" --argjson d "$det" --arg vf "$VERIFICATION_FAILURE" --rawfile m "$_err" \
|
|
86
|
-
--argjson s "$same" --arg k "$([ "$passed" = false ] && printf '%s' "${STORY_REJECTION_KEY:-}")" --arg t "${LAST_TEST_CMD:-}" \
|
|
101
|
+
--arg pn "$plan_note" --argjson s "$same" --arg k "$([ "$passed" = false ] && printf '%s' "${STORY_REJECTION_KEY:-}")" --arg t "${LAST_TEST_CMD:-}" \
|
|
87
102
|
'{passed:$p, stage:(if $st == "" then null else $st end), deterministic:$d, verificationFailure:$vf, message:$m,
|
|
88
|
-
sameViolation:$s, rejectionKey:$k, testCommand:$t, ruledEnvironmental:$ruled}'
|
|
103
|
+
planNote:$pn, sameViolation:$s, rejectionKey:$k, testCommand:$t, ruledEnvironmental:$ruled}'
|
package/package.json
CHANGED