Skip to content

Make semantic analysis a durable asynchronous job #25

Description

@haasonsaas

Context

The semantic pass runs after artifact finalization and currently returns an error that is treated as a warning so ingestion can complete. That protects ingestion availability but can leave semantic analysis without a durable retry/status contract.

Proposal

Create a durable analysis job state for semantic extraction/linking, with idempotent enqueueing, lease-based workers, retry/backoff, terminal failure, and per-artifact status. Ingestion should report that analysis is queued rather than implying it completed.

Acceptance criteria

  • Artifact ingestion succeeds independently of semantic analyzer availability.
  • Every accepted semantic job is recoverable after a process restart.
  • Retries are bounded and terminal failures retain an actionable limitation.
  • The API/CLI distinguishes queued, running, completed, partial, and failed analysis.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions