Junjie
2026-04-27 c5f3b072c71bfd34a50acae7da47dd29f4a871ed
docs: refresh auto tune verification notes
1个文件已修改
20 ■■■■■ 已修改文件
docs/superpowers/specs/2026-04-27-auto-tune-dispatch-verification.md 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/superpowers/specs/2026-04-27-auto-tune-dispatch-verification.md
@@ -1,22 +1,22 @@
# Auto Tune Dispatch Verification
- Verification time: 2026-04-27 12:50:15 CST
- Verification time: 2026-04-27 14:06:42 CST
- Branch: `codex/auto-tune-dispatch`
- HEAD: `0a13eab`
- Scope: Task 7 end-to-end verification and operator notes only. No business code was changed.
- Verified code HEAD: `2cc6134`
- Scope: full auto-tune dispatch branch after final safety fixes. This document update is a docs-only follow-up to refresh verification evidence.
## Command Results
| Command | Result | Notes |
| --- | --- | --- |
| `git status --short --branch` | PASS | Output: `## codex/auto-tune-dispatch`; no uncommitted files before this document was created. |
| `mvn -q -Dtest=FlowTopologySnapshotServiceImplTest,AutoTuneApplyServiceImplTest,AutoTuneCoordinatorServiceImplTest test` | PASS | Exit code 0. Output includes expected negative-path logs from tests that intentionally throw MCP, guard, log, and agent failures. Mockito/ByteBuddy dynamic agent warnings were also printed. |
| `git status --short --branch` | PASS | Output before this document refresh: `## codex/auto-tune-dispatch`; no uncommitted business-code files. |
| `mvn -q -Dtest=FlowTopologySnapshotServiceImplTest,AutoTuneApplyServiceImplTest,AutoTuneCoordinatorServiceImplTest,AutoTuneSnapshotServiceImplTest test` | PASS | Exit code 0. Output includes expected negative-path logs from tests that intentionally throw MCP, guard, cache refresh, lock, log, and agent failures. Mockito/ByteBuddy dynamic agent warnings were also printed. |
| `mvn -q -DskipTests compile` | PASS | Exit code 0. |
| `mvn -q -DskipTests spring-boot:run` | PASS with controlled stop | Started far enough to confirm `Tomcat started on port 9090 (http) with context path '/wcs'`; process was then stopped to avoid hanging. |
## Startup Verification
Startup log file from this run: `/tmp/zy-wcs-auto-tune-startup-43850.log`.
Startup log file from this run: `/tmp/zy-wcs-auto-tune-startup-1777269992.log`.
Observed runtime startup evidence:
@@ -24,8 +24,7 @@
- Embedded context path initialized as `/wcs`.
- MySQL/Hikari connection pool started successfully in this environment.
- `AiMcpMountInitializer` logged `AI MCP mounts initialized, insertedOrRecovered=1`.
- `AiPromptTemplateServiceImpl` logged default prompt block initialization for `sceneCode=wcs_auto_tune_dispatch`, `version=1`.
- `AiPromptTemplateInitializer` logged `AI prompt templates initialized, insertedOrRecovered=1`.
- `AiPromptTemplateInitializer` logged `AI prompt templates initialized, insertedOrRecovered=0`, meaning prompt rows already existed from prior initialization.
- `McpServerAutoConfiguration` logged tools capability enabled and `Registered tools: 12`.
Startup caveats:
@@ -50,8 +49,10 @@
Dry-run, apply, rollback, batch, buffer, and safety gate coverage:
- `AutoTuneApplyServiceImplTest` covers whitelist rejection, numeric validation, range limits, step limits, cooldown rejection, dry-run no-write behavior, mixed valid/invalid real batch rejection, successful mixed batch apply across `sys_config`, `station`, `crn`, and `dual_crn`, write failure rollback, successful rollback, and failed rollback.
- `AutoTuneApplyServiceImplTest` covers whitelist rejection, numeric validation, range limits, step limits, cooldown rejection, dry-run no-write behavior, mixed valid/invalid real batch rejection, successful mixed batch apply across `sys_config`, `station`, `crn`, and `dual_crn`, write failure rollback, successful rollback, failed rollback, apply/rollback lock rejection, apply/rollback audit/job transaction rollback, cache refresh failure isolation, and failure-job recovery.
- `rejectStationOutTaskLimitAboveDirectionalBufferCapacity` verifies `station.outTaskLimit` cannot exceed directional `bufferCapacity`.
- `rejectStationOutTaskLimitNullUnlimitedCurrentValue` and `rejectStationOutTaskLimitNegativeUnlimitedCurrentValue` verify `NULL` or negative station `outTaskLimit` values are treated as unlimited and rejected for automatic tuning until an operator initializes a finite value.
- `allowStationOutTaskLimitZeroToOneAsFiniteStep` verifies `0` is treated as a finite blocking value, not as unlimited.
- `AutoTuneCoordinatorServiceImplTest` covers MCP apply dry-run requirement, direct real-apply rejection without dry-run token, matching token apply, mismatched token rejection, expired token rejection, rollback tool delegation, allowed tool sequence, disallowed tool rejection, and allowed tool failure handling.
Scheduler/coordinator coverage:
@@ -63,6 +64,7 @@
- `coordinatorSkipsWhenRunningLockIsNotAcquired` covers distributed lock gating.
- `coordinatorSetsGuardWhenAgentReturnsFailure` and `coordinatorSetsGuardWhenAgentThrows` cover failure throttle guard behavior.
- `coordinatorKeepsAgentResultWhenOperateLogFails` and `coordinatorRunsAgentAndReleasesLockWhenGuardWriteFails` cover cleanup/release behavior around secondary write failures.
- `AutoTuneSnapshotServiceImplTest.loadActiveTasksIncludesNullWrkStatusInGroupedCondition` verifies the snapshot active-task predicate matches scheduler semantics and includes `wrk_sts IS NULL`.
## Not Fully Runtime-Verified