Hub#1075 follow-up: admin5969 / idem_88a583a52a4a78bd963f8e2c54017b9105cebc83.
Source baseline main dded9963dbfabcdae4845ff4b35446741d24ef13.
Observed2026-10-13: target TMA门户鲸2号 reports runtime138, Hub /health128;
its private config has node_id/network_id, yet the UI refuses the key list.
Frozen source b61c0e49 runtime reports config_snapshot.node_secrets_capable;
Hub tools.ts report_status schema omitted it, so Zod stripped it before nodes
snapshot persistence. requestNodeSecrets checks stored flag exactly true and
returns node_secrets_upgrade_required. Version floor alone cannot repair this.
Minimal fix declares optional boolean (same convention as daemon scoped flag).
Missing/false remain unsupported; node tokens do not gain human secret access.
New Actions Docker wire test traverses actual HTTP/MCP report -> database ->
unbound list -> exact-node pull/ACK -> metadata-only read, then existing private
store/startup core. No capability injection into the DB in the new wire test.
Initial head1269c72e73b20fd0fddba785b6fe71e5a7399a07 focused Actions
38280125413/job114915145751 SUCCESS:actual HTTP/MCP wire2/2,40 assertions;
existing private-store/startup core1/1,28 assertions, below1s total test time.
Other precise failures: doc-symbol pin send_reply moved2603->2606; Provider
HTTP audience budgets all-tools85520B exceeded85500B by20 in Hub-provider and
daemon-provider-store jobs. Keep original limits/assertions, shorten existing
Provider description by23 ASCII bytes and update exact definition links only.
New head CI pending; no old-head result inherited or production deployment yet.
No real key values/production probe/login/account/node restart performed here.
No migration, port, startup, secret source or database layout changes. Existing
deploy/hub/hub-daemon.sh and Hub deployment/recovery runbooks remain authority;
data/credentials come from existing encrypted backups, not clone. Rollback uses
the prior exact-main installation; the optional capability addition is compatible
with old reporters. No new empty-machine recovery drill claimed. Production128
has not been patched by this source-only change; release/deploy requires exact
merged main and fresh target-node heartbeat before claiming save usable.
