fix: verify semantic rollout runtime
This commit is contained in:
+3
-3
@@ -437,9 +437,9 @@ sequence. A plain HTTP `200` is not substitute evidence:
|
||||
event, then a clear event. Verify the ambiguous/future facts do not score.
|
||||
4. Pause, reload, and resume from a second authenticated browser session.
|
||||
Verify no second rectification charge.
|
||||
5. Reach a candidate, verify the prior active time is still in force, reject a
|
||||
mismatched candidate confirmation, then explicitly confirm the exact
|
||||
candidate. Verify the time changes atomically.
|
||||
5. Reach a stable candidate range and verify the prior active time remains in
|
||||
force. Confirm that no exact minute can be accepted and that rectification
|
||||
does not write `profiles.active_birth_time`.
|
||||
6. Explicitly continue the saved ordinary question. Verify one normal
|
||||
consultation reservation. Delete its chat and verify the account case still
|
||||
resumes/loads.
|
||||
|
||||
@@ -151,6 +151,18 @@ compose=(docker compose -p jyotisha-staging --env-file .env.staging "${compose_f
|
||||
"${compose[@]}" config --quiet
|
||||
"${compose[@]}" up -d --no-build --pull never --force-recreate --no-deps web rectification-v4-worker
|
||||
|
||||
for service in web rectification-v4-worker; do
|
||||
container="$(docker ps -q --filter 'label=com.docker.compose.project=jyotisha-staging' --filter "label=com.docker.compose.service=$service" | head -n 1)"
|
||||
[ -n "$container" ] || {
|
||||
echo "staging $service container is missing after rollout" >&2
|
||||
false
|
||||
}
|
||||
runtime_env="$(docker inspect --format '{{range .Config.Env}}{{println .}}{{end}}' "$container")"
|
||||
grep -Fxq "RECTIFICATION_AGENT_V5_ENABLED=$creation_enabled" <<<"$runtime_env"
|
||||
grep -Fxq "RECTIFICATION_AGENT_V5_SHADOW=false" <<<"$runtime_env"
|
||||
grep -Fxq "RECTIFICATION_AGENT_V5_CANARY_PERCENT=100" <<<"$runtime_env"
|
||||
done
|
||||
|
||||
health=""
|
||||
for _ in $(seq 1 30); do
|
||||
health="$(curl --fail --silent --show-error "$STAGING_URL/api/health" 2>/dev/null || true)"
|
||||
|
||||
+2
-2
@@ -1644,7 +1644,7 @@
|
||||
- 用户现象:用户提交“2016 年 9 月离家去外地上大学”后,回复仍固定为“我记下了这段经历。接下来请继续讲另一件……”,没有进入 Semantic Question Renderer。
|
||||
- 根因:Case rollout 只写入 V3 创建门和 smoke 状态,没有写入 `RECTIFICATION_AGENT_V5_ENABLED`、`RECTIFICATION_AGENT_V5_SHADOW`、`RECTIFICATION_AGENT_V5_CANARY_PERCENT`;因此 `selectRectificationDeploymentMode()` 把新 Case 持久化为 `v4_legacy`,Orchestrator 必然调用 Legacy Projector。
|
||||
- 修复:受控 staging rollout 现在原子写入 V5 Agent 开关,public 与 smoke rollout 使用 `v5_agent`、100% canary,并重建 web/worker;staging 中唯一满足 V6 版本、未完成、无 open Job 条件的错误 Case 已原位升级为 `rectification-evidence-v5` / `v5_agent`,历史 Turn、Event、Job 与 Agent Run 保持不变。
|
||||
- 验证:rollout 脚本测试断言三项 V5 选择器只写一次;staging 运行容器已读取 `enabled=true`、`shadow=false`、`canary=100`;活跃 Case 聚合只剩 `v5_agent`;健康检查保持 exact SHA、public、ready。
|
||||
- 防复发:公开 Case rollout 必须同时控制创建门与 Agent deployment mode;仅有 `readyForNewCases=true` 不再视为新对话 Renderer 已启用的充分证据。
|
||||
- 验证:rollout 脚本测试断言三项 V5 选择器只写一次,并在成功前核对 web/worker 容器实际读取的 `enabled`、`shadow`、`canary`;staging 活跃 Case 聚合只剩 `v5_agent`;健康检查保持 exact SHA、public、ready。
|
||||
- 防复发:公开 Case rollout 必须同时控制创建门与 Agent deployment mode,并验证运行容器的实际环境;仅有 `readyForNewCases=true` 不再视为新对话 Renderer 已启用的充分证据。
|
||||
- 相关记录:BUG-085、BUG-086、BUG-087
|
||||
- 修复版本:`birth-time-rectification-v6` / `rectification-agent-v6-1`
|
||||
|
||||
@@ -458,7 +458,8 @@ test("public rectification rollout enables the semantic agent and recreates web
|
||||
[
|
||||
"#!/usr/bin/env bash",
|
||||
'if [ "$1" = ps ]; then echo web-container; exit 0; fi',
|
||||
`if [ "$1" = inspect ]; then echo ghcr.io/jesse-ux/jyotisha-web@sha256:${"b".repeat(64)}; exit 0; fi`,
|
||||
`if [ "$1" = inspect ] && [[ "$*" == *Config.Image* ]]; then echo ghcr.io/jesse-ux/jyotisha-web@sha256:${"b".repeat(64)}; exit 0; fi`,
|
||||
'if [ "$1" = inspect ] && [[ "$*" == *Config.Env* ]]; then printf "%s\n" RECTIFICATION_AGENT_V5_ENABLED=true RECTIFICATION_AGENT_V5_SHADOW=false RECTIFICATION_AGENT_V5_CANARY_PERCENT=100; exit 0; fi',
|
||||
`printf '%s\n' "$*" >>${join(root, "docker.log")}`,
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user