Skip to content

[Pipeline B] Wire fill flow to accept input_id and use stored transcript - #649

Merged
marcvergees merged 1 commit into
fireform-core:development-approach-bfrom
abhishek-8081:issue-638-fill-input-id
Aug 5, 2026
Merged

[Pipeline B] Wire fill flow to accept input_id and use stored transcript#649
marcvergees merged 1 commit into
fireform-core:development-approach-bfrom
abhishek-8081:issue-638-fill-input-id

Conversation

@abhishek-8081

Copy link
Copy Markdown
Collaborator

Closes #638.

Changes the fill endpoints to accept input_id and use the stored Input.transcript instead
of a raw input_text in the request — the core of Pipeline B's "store the transcript once,
reuse it" model.

  • FormFill / AsyncFormFill now take input_id (UUID) instead of input_text.
  • Shared InputService.resolve_transcript(session, input_id): looks up the Input via
    get_input, raises 404 INPUT_NOT_FOUND if missing, 409 INPUT_NOT_READY (with the actual
    status in the detail) if status != ready, else returns the transcript. Both routes use it,
    so the rule lives in one place.
  • Sync (/forms/fill) resolves after the template check; async (/forms/jobs) resolves up
    front, before the Celery dispatch, so 404/409 return synchronously and no job is queued
    on a bad input_id.
  • Contract (form-record.yaml, forms.yaml) updated to input_id (uuid) with 409 examples —
    this is the input_text → input_id switch deferred from the contract-reshape PR, now done
    with the code together.
  • FormSubmission still stores the resolved transcript (the FormSubmission → Input FK is a
    separate follow-up issue).

Note: input_id is a UUID (matching the Input model / input-record.yaml), not int as the
issue text said - corrected here.

Please Review @marcvergees @vharkins1 @chetanr25 .

@marcvergees
marcvergees merged commit 8441182 into fireform-core:development-approach-b Aug 5, 2026
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.

2 participants