1
0
Files
DiAL/openspec/changes/archive/2026-05-11-simplify-judgment-model/specs/command-checker/spec.md

27 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## MODIFIED Requirements
### Requirement: 命令执行
系统 SHALL 使用 Bun.spawn 执行命令类型目标,继承父进程环境变量并支持覆盖。
#### Scenario: 禁止 stdin 交互
- **THEN** 系统 MUST 设置 stdin 为 "ignore",防止子进程等待标准输入而阻塞
### Requirement: 结果记录
系统 SHALL 记录命令执行的完整结果。
#### Scenario: 命令成功执行
- **WHEN** 命令正常退出
- **THEN** 系统 SHALL 记录 durationMs、statusDetail="exitCode=N",并进入 expect 校验
#### Scenario: 命令启动失败
- **WHEN** 命令无法启动
- **THEN** 系统 SHALL 记录 matched=false并在 failure 中写入 kind=error 和具体错误信息
#### Scenario: 命令超时
- **WHEN** 命令执行超过 timeout 限制
- **THEN** 系统 MUST 终止该子进程,记录 matched=false并在 failure 中写入命令超时信息
#### Scenario: 输出超限
- **WHEN** 命令输出超过 maxOutputBytes 限制
- **THEN** 系统 MUST 停止收集输出并终止该检查,记录 matched=false并在 failure 中写入输出超限信息