Skip to content

fix(pipeline): force_reingest escape hatch is dead -- getattr always False on frozen dataclass with no such field #289

Closed

Description

@piyushmakhija28

Summary

pipeline.py at line 445 uses getattr(doc, "force_reingest", False) to check if force re-ingest is requested. But IngestInput is a frozen=True dataclass with no force_reingest field. getattr on a frozen dataclass with a missing field and a default always returns the default (False). Callers cannot add this field (TypeError on construction, FrozenInstanceError on setattr). The force re-ingest escape hatch is permanently dead code.

Fix

Either add force_reingest: bool = False field to IngestInput dataclass, or remove the dead getattr call and document that re-ingest requires a new doc_id.

Impact

There is no way to force re-ingest of an existing document by content hash. Any workflow that needs to force re-processing of identical content is silently blocked with no error.

Activity

  1. piyushmakhija28 commented on Jun 21, 2026

    @piyushmakhija28
    ContributorAuthor

    Fixed in PR #280 (Sprint R3/R4: fix(sprint-r3): root-cause fixes for all 39 bugs from code review round 3 + Sprint R4 round 4)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcode-reviewFound via automated code reviewpriority: mediumFunctional error with workaround

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions