Add an on-demand executable release-check lane for custom workflow reliability signoff. - Add a manifest-backed release-check runner with dry-run, JSON output, validation, and targeted Vitest command planning. - Define the custom workflow reliability checklist seams and cover runner validation, planning, reporting, and failure behavior with node tests. - Document the QA signoff command and manifest mapping while keeping the lane out of the merge gate. Files changed: docs/custom-workflow-reliability-acceptance-map.md | 29 +- docs/testing.md | 3 + package.json | 1 + .../workflow-reliability-release-check.test.mjs | 138 +++++++++ .../lib/workflow-reliability-release-check.json | 102 +++++++ scripts/workflow-reliability-release-check.mjs | 312 +++++++++++++++++++++ 6 files changed, 579 insertions(+), 6 deletions(-) Fusion-Task-Id: FN-6694 Fusion-Task-Lineage: 21d45bb5-6c45-4cb7-8b29-9eaea8b29ad4
103 lines
4.1 KiB
JSON
103 lines
4.1 KiB
JSON
{
|
|
"version": 1,
|
|
"_comment": "FNXC:CustomWorkflowReliability 2026-06-19-00:00: FN-6694 requires this manifest to encode goal G-MPW67VQR-0001-97S3's release-check checklist as objective, runnable seam evidence instead of prose-only QA signoff.",
|
|
"checklist": [
|
|
{
|
|
"id": "author-import-save-discover-reload",
|
|
"title": "Custom workflow authoring, import, invalid rejection, save, discovery, selection, and reload",
|
|
"journey": "A custom workflow can be authored/imported, rejected on invalid IR, saved, discovered, selected, and reloaded.",
|
|
"seams": [
|
|
{
|
|
"package": "@fusion/core",
|
|
"file": "packages/core/src/__tests__/workflow-definition-store.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/dashboard",
|
|
"file": "packages/dashboard/src/routes/__tests__/workflow-import-export.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/dashboard",
|
|
"file": "packages/dashboard/src/routes/__tests__/workflow-design-route.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/core",
|
|
"file": "packages/core/src/__tests__/workflow-selection-store.test.ts"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "selected-workflow-execution-fail-closed",
|
|
"title": "Selected workflow execution and fail-closed missing custom workflow IDs",
|
|
"journey": "A task can execute the selected workflow through runtime primitives, and explicit missing custom workflow IDs fail closed.",
|
|
"seams": [
|
|
{
|
|
"package": "@fusion/core",
|
|
"file": "packages/core/src/__tests__/workflow-selection-store.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/workflow-task-runtime.test.ts"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "gate-advisory-readonly-revise-required-artifact",
|
|
"title": "Gate, advisory, readonly, REVISE, and required-artifact observability",
|
|
"journey": "Gate/advisory/readonly/REVISE/required-artifact behavior is observable in task state, workflow results, task documents, and logs.",
|
|
"seams": [
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/workflow-malformed-verdict-gate.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/workflow-required-artifact-gate.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/workflow-step-readonly-allowlist.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/executor-workflow-revision-scope.test.ts"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "automerge-hard-cancel-file-scope-recovery",
|
|
"title": "autoMerge:false, hard-cancel, file-scope, and recovery invariants",
|
|
"journey": "autoMerge:false, hard-cancel, file-scope, and recovery invariants are preserved under custom workflow execution.",
|
|
"seams": [
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/reliability-interactions/workflow-and-file-scope.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/reliability-interactions/workflow-interpreter-cutover.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/self-healing-custom-workflow-recovery.test.ts"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "restart-selection-progress-run-audit",
|
|
"title": "Restart durability for workflow selection, progress, and recovery evidence",
|
|
"journey": "Engine/scheduler restart preserves workflow selection and progress, and any recovery emits typed run-audit evidence instead of silent lifecycle mutation.",
|
|
"seams": [
|
|
{
|
|
"package": "@fusion/core",
|
|
"file": "packages/core/src/__tests__/workflow-restart-durability.test.ts"
|
|
},
|
|
{
|
|
"package": "@fusion/engine",
|
|
"file": "packages/engine/src/__tests__/self-healing-custom-workflow-recovery.test.ts"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"manual": []
|
|
}
|