Skip to content

fix(reputation): save and restore the watched faction - #654

Merged
Mathih13 merged 3 commits into
mainfrom
t3/research-fix-issue-650
Oct 10, 2026
Merged

Mathih13 merged 3 commits into
mainfrom
t3/research-fix-issue-650

Conversation

@Mathih13

@Mathih13 Mathih13 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

The watched reputation bar appeared without a selection. Character creation did not send the no-selection value, and the Gateway could not save a watched faction.

Save the signed reputation-list index in the Character row. Send -1 when no faction is selected, restore it on world entry, and send a private update after a successful selection or clear. Refuse out-of-range indices without changing reputation standing. Existing Characters default to -1, and old Transfer snapshots remain readable.

Closes #650.

Verification

The missing-field regression failed before the fix and passes with it. Local checks passed:

  • 4,716 tests across the importer, Module, Gateway, Package API, Package Delta, shared code and test support. Normal ignored tests remain ignored.
  • Six durable watched-faction tests for fresh Characters, selection, clearing, unchanged standing, Actor authority, taxi flight, reconnects and map changes.
  • A Headless Client test through the real Gateway and a private Module verified selection, clearing and restoration after reconnecting.
  • A plain publish from the issue's baseline preserved all 45 existing Character fields and added signed -1. Offline schema inspection confirmed the encoded default.
  • Formatting, workspace clippy, the wasm check, generated-binding comparison and preflight.

After rebasing onto 99a5feec, all 2,133 Gateway tests, all 1,569 Module unit tests, workspace clippy and the durable Headless Client reconnect test passed again. A read-only adversarial review confirmed that the conflict resolution preserves both trainer spell data and watched-faction state.

Adversarial reviews used separate subagents. Standards: zero findings. Spec: zero implementation findings. Both reviewers checked the follow-up change to use the transfer-aware Character lookup.

Limits

The reporter confirmed that the affected display is the watched bar near the experience bar. I have not checked the result in a graphical build-5875 client or run a complete multi-shard Headless Client scenario. Durable map-change checks, Transfer tests and codec tests cover those component paths. Research and pinned protocol sources.

This appends a defaulted Character column and adds a Gateway Verb. Deploy the Module and Gateway together across the Realm. No production deployment is part of this PR.

Models: GPT-6-Astra and GPT-6.1-Sol. Harness: Codex in T3 Code.

@Mathih13
Mathih13 marked this pull request as ready for review October 10, 2026 21:26
@Mathih13
Mathih13 force-pushed the t3/research-fix-issue-650 branch from 546865b to a41777b Compare October 10, 2026 21:43
@Mathih13
Mathih13 merged commit e3dade7 into main Oct 10, 2026
9 checks passed
@Mathih13
Mathih13 deleted the t3/research-fix-issue-650 branch October 11, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The Bloodsail Buccaneers reputation bar appears unexpectedly

1 participant