Skip to content

kernel: IngestJob — state machine pending→running→(completed|failed), queryable progress, idempotency via content addressing #19

Description

@JArmandoAnaya

Context

The IngestJob is the (potentially long) process Source → Assets in a Batch.

Deliverables

  • State machine pending → running → (completed | failed); failure captures a structured
    error report (per-file errors + fatal cause).
  • Progress: processed/total counters queryable mid-run (SDK polling contract that the API
    and UI will reuse).
  • Idempotency: same source + same params ⇒ same content hashes ⇒ no duplicate assets or
    blobs; re-running a failed job resumes/redoes safely.
  • Runs synchronously in-process for the beta (background execution arrives with the server;
    keep the service API future-proof for that).

Acceptance criteria

  • Re-run test: second run creates zero new blobs/assets
  • Mid-run progress observable in a test (hook/callback)
  • Failed run reports which files failed and why

Activity

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

    kernelvisionset.kernel — domain, ports, adapters, servicesm2M2 — Ingest and assets (0.0.1-alpha.2)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions