Add safe bank failure diagnostics for T5 and T6
Address #14 with request correlation, bounded parser reasons, startup version reporting, and rate-limited storage and settlement logs. Preserve accounting and API identity contracts, extend portable tests, and update release versions and rollout guidance.
This commit is contained in:
@@ -4,6 +4,48 @@ Changes are listed newest first, with an independent version for every individua
|
||||
T5/T6 script and each native plugin. Current versions are recorded in
|
||||
[versions.json](versions.json); see the [version policy](README.md#versioning).
|
||||
|
||||
## 2026-10-13
|
||||
|
||||
### Bank failure diagnostics — TWS #14
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_bank.gsc` | `2.0.2` | `t5/scripts/tws_t5_bank.gsc` |
|
||||
| `tws_t6_bank.gsc` | `2.0.2` | `t6/scripts/tws_t6_bank.gsc` |
|
||||
| `t5-plugin` | `1.2.0` | `t5/plugins/tws-t5-gsc-utils/src/component/bank.cpp`, `src/utils/bank.cpp`, `src/utils/bank.hpp` |
|
||||
| `t6-plugin` | `1.2.0` | `t6/plugins/tws-t6-gsc-utils/src/component/bank.cpp`, `src/utils/bank.cpp`, `src/utils/bank.hpp` |
|
||||
|
||||
- Both engines log startup script/loaded TWS plugin versions, effective endpoint,
|
||||
safe server identity, credential format validation and pending journal count.
|
||||
Add diagnostic correlation for every HTTP attempt without changing API IDs;
|
||||
balance requests keep their empty acknowledgment ID contract.
|
||||
- Distinguish creation, transport, HTTP, missing diagnostics, JSON/schema,
|
||||
response-ID and application failures, with safe HTTP/curl/timing fields.
|
||||
Native acknowledgment parsing adds fixed failure reasons without changing
|
||||
existing validity rules. Only known bounded response codes reach logs; never
|
||||
log credentials, headers, bodies or native exception contents.
|
||||
- Log journal load/write/removal failures and settlement decision, attempts,
|
||||
pending duration, next retry delay and resolution. Suppress identical failures
|
||||
for 30 seconds, report suppression counts, and log reason changes and recovery
|
||||
immediately. Recovered pending duration starts at this map's journal load.
|
||||
Preserve points, durable decisions, retry behavior and player-facing messages.
|
||||
- Compatibility: both scripts require matching plugin `1.2.0+` for the additive
|
||||
`bankVersion()` native and parser reason field. No new EC/agent or third-party
|
||||
dependency requirement; existing common/telemetry and migration requirements
|
||||
remain. Upstream pins and native loader `plugin_version()` are unchanged.
|
||||
- Deployment: build/install both DLLs and **restart the full server processes**;
|
||||
install matching scripts, restarting the map if copied after process startup.
|
||||
Verify installed DLL/GSC hashes against the release artifacts and startup
|
||||
version logs, particularly Ascension's reported stale GSC artifact. No deployment
|
||||
performed. Windows DLL builds, GSC compilation and live T5/T6 checks remain
|
||||
required; see [bank diagnostics](README.md#bank-diagnostics--tws-14).
|
||||
- Validation: 44 portable script fixture groups passed, including actual EC
|
||||
bank service/SQLite integration at checkout `d614707`. Fixtures assert safe
|
||||
startup/outcome logs, missing diagnostics, HTTP 401, timeout, malformed/schema
|
||||
acknowledgments, ID mismatch, storage failures, rate limiting and recovery,
|
||||
alongside existing accounting/replay tests. Native parser/storage/process-restart
|
||||
and registration-adapter checks run with address/undefined-behavior sanitizers.
|
||||
|
||||
## 2026-10-12
|
||||
|
||||
### String bank identities — TWS #15
|
||||
|
||||
Reference in New Issue
Block a user