feature/149-runtime-status-contract
dev
Closes #149(仅在用户验收并合并后关闭)
runtime-status/v1
python -m unittest discover -s contracts/tests/runtime-status-v1 -p "test_*.py" -v
python -m unittest discover -s tests -v
python dev_scripts/harness.py check --strict
git diff --cached --check
未修改 Sense、Brain、Bell、docs/Wiki 或其他 contracts 路径;不包含产品 adapter 和真实传输联调。
按 #148/#150 的契约命名约定,仅在本工单授权路径内将 schema_version 统一:
schema_version
yovision.runtime-status/v1
runtime-status/v2
yovision.runtime-status/v2
验证结果:
git diff --check
54c58551ae1a3738889510984115ec38313ac2de
configuration
configurations[]
config_id
apply_state
applied_revision
error_code
stable_id
not_configured
applying
applied
rejected
python -m json.tool
a22d3ce0f16912af699af3269f7595bb8df53390
No dependencies set.
The note is not visible to the blocked user.
关联工单
Closes #149(仅在用户验收并合并后关闭)
实现
runtime-status/v1Draft 2020-12 JSON Schema验证
python -m unittest discover -s contracts/tests/runtime-status-v1 -p "test_*.py" -v:13/13 通过python -m unittest discover -s tests -v:48/48 通过python dev_scripts/harness.py check --strict:通过git diff --cached --check:通过边界
未修改 Sense、Brain、Bell、docs/Wiki 或其他 contracts 路径;不包含产品 adapter 和真实传输联调。
交叉一致性修订(2026-08-31)
按 #148/#150 的契约命名约定,仅在本工单授权路径内将
schema_version统一:runtime-status/v1→yovision.runtime-status/v1runtime-status/v2→yovision.runtime-status/v2验证结果:
python dev_scripts/harness.py check --strict:通过git diff --check:通过54c58551ae1a3738889510984115ec38313ac2de多配置流语义修订完成(2026-08-31)
对齐结果
configuration改为configurations[]。config_id、apply_state、applied_revision(integer ≥ 1 或 null)和error_code。config_id采用 #148stable_id的长度与字符规则;Sense 按config_id对比自身期望 revision。not_configured、applying、applied、rejected的 revision/error 约束;重复config_id使整条消息无效且不得覆盖 last-known。验证
python -m json.tool解析通过。python dev_scripts/harness.py check --strict:通过。git diff --check:通过。Git / PR
a22d3ce0f16912af699af3269f7595bb8df53390