Drop 9 batch proposals that are superseded by the boocode-lift-analysis (boocontext-audit, conductor upgrades, self-healing/verify-gate skills): add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform, conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul, agent-reliability. Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only) that provide zero documentation value over the existing CHANGELOG.md + git tags.
1.7 KiB
1.7 KiB
ADDED Requirements
Requirement: Approval gate pauses execution
An ApprovalNode SHALL pause workflow execution and send a message for human review. Execution SHALL only continue when the user approves or rejects.
Scenario: Approval pauses workflow
- WHEN an approval node executes
- THEN the workflow status SHALL transition to
paused - THEN a message SHALL be sent with the approval message text
Scenario: Approve resumes execution
- WHEN the user approves a paused workflow
- THEN the workflow SHALL resume with the next node in the DAG
Scenario: Reject fails the node
- WHEN the user rejects a paused workflow
- THEN the node SHALL be marked as failed
- THEN downstream nodes SHALL evaluate their trigger rules
Requirement: Capture response from approval
An approval node MAY support capture_response: true to store the user's comment as $nodeId.output.
Scenario: Approval with captured response
- WHEN an approval node has
capture_response: trueand the user provides a comment during approval - THEN the comment SHALL be stored as the node's output, available via
$nodeId.output
Requirement: On-reject retry
An approval node MAY specify on_reject with a prompt and optional max_attempts for re-presenting after rejection.
Scenario: Reject with retry prompt
- WHEN an approval node has
on_reject: { prompt: "..." }and the user rejects - THEN the on_reject prompt SHALL be executed (typically the AI revises based on feedback)
- THEN the approval gate SHALL be re-presented to the user
Scenario: Max attempts exceeded
- WHEN the number of rejections exceeds
on_reject.max_attempts - THEN the node SHALL fail permanently