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.
2.0 KiB
2.0 KiB
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: bunandscript: 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: uvandscript: 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: bunanddeps: ["lodash", "zod"] - THEN the executor SHALL run
bun install lodash zodbefore executing
Scenario: Python with pip deps
- WHEN a script node has
runtime: uvanddeps: ["requests", "click"] - THEN the executor SHALL run
uv pip install requests clickbefore 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: analyzeandscripts/analyze.tsexists - THEN the executor SHALL load and execute the file
Scenario: Runtime inferred from extension
- WHEN a script has
runtime: bunand the named file has a.tsextension - 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: 5000and 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