chore(openspec): drop 9 superseded proposals + 11 stub archive files
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.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
## 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: true` and 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
|
||||
Reference in New Issue
Block a user