Add runtime validation gate and known issues baseline

This commit is contained in:
server
2026-04-14 18:32:25 +02:00
parent 7b193cb7f1
commit ae70796e80
12 changed files with 649 additions and 26 deletions

View File

@@ -47,6 +47,8 @@ delivery gradually, not through a single risky cutover.
- decompression failures
- manifest signature failures
- key mismatch by `key_id`
- runtime smoke against the real client
- scenario gate with known-issues baseline
## Practical migration loop
@@ -55,8 +57,31 @@ delivery gradually, not through a single risky cutover.
3. Verify it.
4. Diff it against the source tree.
5. Boot the client with runtime keys.
6. Validate asset loads in logs and in-game.
7. Move to the next pack group.
6. Run the runtime scenario gate.
7. Validate asset loads in logs and in-game.
8. Move to the next pack group.
Recommended gate command:
```bash
python3 scripts/validate_runtime_gate.py \
--runtime-root /tmp/m2dev-client-runtime-http
```
For release tightening:
```bash
python3 scripts/validate_runtime_gate.py \
--runtime-root /tmp/m2dev-client-runtime-http \
--strict-known-issues
```
The shared baseline lives in:
- `known_issues/runtime_known_issues.json`
This lets the migration fail only on new regressions while still tracking
historical client data problems explicitly.
## Confirmed startup-safe pack group
@@ -170,6 +195,13 @@ effect files and reports 12 concrete missing references:
- `effect/background/turtle_statue_tree_roof_light01.mse` missing `turtle_statue_tree_roof_light01.mde`
- `effect/etc/compete/ready.mse` missing `ready.DDS`
Those current actor and effect findings are also recorded in:
- `known_issues/runtime_known_issues.json`
That file is now the shared runtime baseline used by the validators and the
aggregated release gate.
Recommended next pack groups:
1. remaining startup-adjacent patch packs