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,44 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Inline script execution
|
||||
Script nodes SHALL execute inline TypeScript (runtime: `bun`) or Python (runtime: `uv`) code and capture stdout as the node output.
|
||||
|
||||
#### Scenario: Bun inline execution
|
||||
- **WHEN** a script node has `runtime: bun` and `script: console.log("hello")`
|
||||
- **THEN** the executor SHALL run the script via `bun -e`
|
||||
- **THEN** stdout SHALL be captured as `$nodeId.output`
|
||||
|
||||
#### Scenario: Python inline execution
|
||||
- **WHEN** a script node has `runtime: uv` and `script: print("hello")`
|
||||
- **THEN** the executor SHALL run the script via `uv run python -c`
|
||||
- **THEN** stdout SHALL be captured as `$nodeId.output`
|
||||
|
||||
### Requirement: Dependency installation
|
||||
Script nodes SHALL support a `deps:` array that installs dependencies before execution.
|
||||
|
||||
#### Scenario: Bun with npm deps
|
||||
- **WHEN** a script node has `runtime: bun` and `deps: ["lodash", "zod"]`
|
||||
- **THEN** the executor SHALL run `bun install lodash zod` before executing
|
||||
|
||||
#### Scenario: Python with pip deps
|
||||
- **WHEN** a script node has `runtime: uv` and `deps: ["requests", "click"]`
|
||||
- **THEN** the executor SHALL run `uv pip install requests click` before executing
|
||||
|
||||
### Requirement: Named script files
|
||||
Script nodes MAY reference named scripts from a `.archon/scripts/` directory by name instead of inline code.
|
||||
|
||||
#### Scenario: Named script discovery
|
||||
- **WHEN** a script node has `script: analyze` and `scripts/analyze.ts` exists
|
||||
- **THEN** the executor SHALL load and execute the file
|
||||
|
||||
#### Scenario: Runtime inferred from extension
|
||||
- **WHEN** a script has `runtime: bun` and the named file has a `.ts` extension
|
||||
- **THEN** the executor SHALL run it via `bun run`
|
||||
|
||||
### Requirement: Script timeout
|
||||
Script nodes SHALL support a `timeout:` field in milliseconds. If execution exceeds the timeout, the process SHALL be killed and the node SHALL fail.
|
||||
|
||||
#### Scenario: Timeout exceeded
|
||||
- **WHEN** a script node sets `timeout: 5000` and the script runs for 10 seconds
|
||||
- **THEN** the process SHALL be killed after 5 seconds
|
||||
- **THEN** the node SHALL be marked as failed with a timeout error
|
||||
Reference in New Issue
Block a user