Commit graph

2 commits

Author SHA1 Message Date
0xkite
c473a0e102
fix(control): bind Pi wallet status content to connected state and harden wallet fuzz clock
GLM complementary review remediation on the wallet stack:
- The Pi status adapter content string now reflects the structured
  connected flag ("Wallet is not connected.") instead of an
  unconditional "Wallet status is available." that contradicted
  connected:false; bound by a new REQUIRE on the disconnected path.
- The wallet_status_json fuzzer clock now advances its monotonic
  component from fuzz input, so fuzzed frames traverse the deeper
  revalidation ladder and deadline paths instead of a single fixed-
  authority success path.
- docs/architecture.md: documented the one-strike authority teardown
  contract (no retry/resync by the bridge) and the ABA generation-
  reuse defense living in authority contracts, gated on adversarial
  authority tests before any live composition.

Validation (umask 0022): dev CTest 79/79, ASan/UBSan 79/79,
TSan 79/79; wallet_status_json fuzzer 10,000 units fuzz_exit=0;
clang-format clean; git diff --check clean.
2026-08-29 10:49:09 -06:00
0xkite
e55889afa7
feat(control): add Glove wallet status bridge core
Wallet status bridge: strict typed JSON wire, bounded channel, and
no-mutation status surface. Includes the wallet_status_json fuzzer
with a seed corpus (duplicate method keys, escaped duplicates,
malformed surrogates, nested duplicates, out-of-range requests,
unknown fields, and valid request/response shapes) and the
wallet_status_bridge unit suite.

Layer 3 of the reviewed Glove wallet-status stack; status-only,
disabled by default, and no capability advertisement.

Validation: dev CTest, ASan/UBSan, TSan, and libFuzzer 10,000 units
on the final stacked tree (see workflow184 layer records).
2026-08-29 09:47:49 -06:00