Skip to content

Keep recoverable connection errors quiet in the Timeline header - #118

Merged
RCmerci merged 4 commits into
mainfrom
codex/journal-recoverable-error-indicator-20261024
Oct 26, 2026
Merged

RCmerci merged 4 commits into
mainfrom
codex/journal-recoverable-error-indicator-20261024

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Ordinary disconnects repeatedly light the top-right error icon and replace serious sync notices, including after recovery. Carry a producer-owned presentation classification from typed transport failures through the scoped sync snapshot into the App. Known EOF, timeout, reset/refused/unreachable cases stay quiet; TLS/security, authentication needing action, integrity/storage and unknown failures retain attention.

Diagnostics keeps the existing detailed reasons and bounded history. Transient events preserve outstanding serious evidence, matching recovery clears attention, and account/graph retirement clears stale scope. Retry eligibility, reconnect/backoff and persistence behavior remain unchanged. The explicitly approved Core spec change adds presentation metadata only. The separate Timeline/integrity investigation and diagnostic instrumentation are outside this PR.

Validation on the final main-reconciled source: @ALL build; existing App 149, Sync 333, Worker runner 50, Worker reducer 20, startup and LUI service checks pass. The full Sync suite uses localhost fixture servers; it passes with the required local-network test access after a sandboxed attempt failed to bind. Existing tests cover quiet transient errors, retained TLS/unknown/integrity attention, repeated transient events, recovery and scope retirement. No Dune or CI route change.

An earlier graph-free A135 fixture exercised the same indicator path and Diagnostics for transient, TLS, unknown, integrity, repeated-reset, recovery and new-scope states. It used five documented fixture adapters and an experimental cross-ABI-unvalidated package; this is isolated presentation validation, not final-head live-account/network E2E. No additional GUI/App installation was done during main reconciliation. The five historical agent-document validation failures are unchanged from main; the edited decision validates.

Review follow-up: preserve manager attention already admitted for the replacement graph when its manager snapshot arrives before the Worker graph-state notification. Retire only attention owned by the previous scope, keeping any matching notice's original identity/expiry. The existing mounted chrome test now independently gates those publications: original-head regression RED, then manager-first/graph-first/healthy-retirement controls and App149/startup/@ALL GREEN. This is presentation ownership only; no Feed/sync repair or additional spec change.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-25T07:26:43.750468Z 95166a0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 95166a0067

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread app/application.ml Outdated
Comment on lines +1667 to +1668
; manager_attention = None
; sync_error = None

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve attention already received for the replacement graph

When a new graph's manager snapshot arrives before its Graph_state_changed push, apply_manager_state can already have populated manager_attention with that new scope's failure. The later graph push calls observe_graph_state → Graph_replaced → replace_graph, which unconditionally clears that attention and its notice, although state.manager.last_error still contains the unresolved failure. Consequently, the Error info control disappears until another manager publication happens, potentially indefinitely for a terminal failure. This is inferred from the two push handlers and the explicitly supported either-order delivery in apply_manager_transition; clear only attention belonging to the retired scope, preserving or rederiving attention from an already-current manager snapshot.

Useful? React with 👍 / 👎.

@RCmerci
RCmerci merged commit 8c27a67 into main Oct 26, 2026
2 checks passed
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.

1 participant