Skip to content

Fix bridge recovery deadlock after terminal removal - #38

Merged
ClaudiuSchuster merged 1 commit into
mainfrom
fix/bridge-recovery-catch22
Aug 27, 2026
Merged

Fix bridge recovery deadlock after terminal removal#38
ClaudiuSchuster merged 1 commit into
mainfrom
fix/bridge-recovery-catch22

Conversation

@ClaudiuSchuster

Copy link
Copy Markdown
Member

What changed

  • Allow the independent Proton bridge guard to recover after two separated,
    path-correlated block-upload 502 cycles only when a terminal remote-removal
    response follows at or after the newest cycle.
  • Preserve the existing safe-version, connectivity, bandwidth, activity,
    generation, queue, Dirty-cache, cooldown and restart-budget guards.
  • Report a fresh terminal recovery stall as Attention instead of Ready
    when the protected queue has no payload speed and no process-owned TCP
    connection.
  • Document the narrow two-cycle terminal signature and its conservative
    negative cases.

This closes a state-machine deadlock where a removed remote draft could leave
the block worker unable to emit the third failure cycle required by the normal
bridge path.

Fixes #37

Safety impact

  • Credentials and authentication state are unchanged.
  • The RC endpoint remains owner-local and is only read for the existing guarded
    observations and validation.
  • A restart is still possible only after two separated idle probes and every
    existing generation-bound safety check succeeds.
  • Dirty VFS data, metadata namespaces and remote files are never deleted or
    moved by this change.
  • No privileged setup behavior changes.

Verification

  • make verify
  • Behavior-specific positive and negative recovery fixtures were added.
  • UI changes were exercised in English and German, at minimum width and in
    both idle and active fixtures on an isolated GTK Broadway display.
  • No real credentials, tokens, private paths or personal filenames appear
    in code, fixtures, logs or screenshots.
  • The protected queue survived the controlled recovery and demonstrated
    renewed payload and process-network progress afterward.
  • User-facing Operations and Troubleshooting documentation is updated;
    version metadata is intentionally unchanged for this unreleased branch.
  • Super-Linter 8.7.0 passed locally, including Ruff format, ShellCheck,
    Gitleaks, Zizmor, Markdown/Prettier and YAML/Prettier.

@ClaudiuSchuster
ClaudiuSchuster merged commit ba60275 into main Aug 27, 2026
5 checks passed
@ClaudiuSchuster
ClaudiuSchuster deleted the fix/bridge-recovery-catch22 branch August 27, 2026 16:15
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.

Bridge recovery can deadlock before its third failure cycle

1 participant