Skip to content

Fail closed when TES edit_control lookup is Err - #32

Closed
Pitchfork-and-Torch wants to merge 19 commits into
mainfrom
cursor/edit-control-fail-closed-upstream-adfa
Closed

Fail closed when TES edit_control lookup is Err#32
Pitchfork-and-Torch wants to merge 19 commits into
mainfrom
cursor/edit-control-fail-closed-upstream-adfa

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown
Owner

Five-line proof

  • Entry: TesHydrator::hydrate_tweets get_edit_control (timed_results Found / NotFound / Failed)
  • Sink: omit-from-hydrate → FilterTweets Verdict::unresolved_author Drop
  • Break: Failed assembled as edit_control = None; is_stale_tweet treats None as current
  • Viewer effect: a superseded pre-edit tombstone (labeled old text) still serves
  • Twin: Fail closed when TES NSFW, takedown, nullcast, or media reads error xai-org/x-algorithm#134 fail-closes TES nsfw / takedown / nullcast / media. edit_control was the leftover.

Genuine NotFound / Ok(None) (never edited) is unchanged.

retain_candidates_with_usable_edit_control drops Failed ids before assemble.

Tests: Found / NotFound / empty batch stay; Failed RPC and timeout drop; retain keeps only usable ids; assemble still collapses Failed to None.

Standalone decision-table harness (same match arms): 12/12 passed.

cargo test cannot run. Public dump has no visibility-filtering crate manifest.

Fork PR: none

Open in Web Open in Cursor 

CI agent and others added 19 commits August 14, 2026 20:55
in_network_ids is passed to the VF client without deduplication, while
oon_ids is deduped four lines below. retweeted_tweet_id is pushed for
every candidate that has one, so the same ID repeats once per retweet of
a given post — most often when that post is going viral.

Neither VfClient implementation dedupes its input: StratoVfClient builds
one call per element, and XaiVfClient chunks by XAI_VF_MAX_BATCH_SIZE, so
duplicates consume batch slots and can force an extra round trip.

Not a correctness issue — results collapse into a HashMap keyed by tweet
ID — but redundant work on the For You serving path.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Deduplicate in_network_ids before VF lookup
A Failed get_edit_control was assembled as None, so is_stale_tweet
treated superseded (pre-edit) tombstones as current. Drop those ids
before assemble. Genuine NotFound (never edited) is unchanged.

Co-authored-by: Jon Bailey <Pitchfork-and-Torch@users.noreply.github.com>
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.

4 participants