Precon RFI Drafting Workflow
Summary
RFI drafting helps estimators turn document questions and opportunity context into candidate communication. The system can extract candidate questions, select recipients, persist draft state, and expose editing controls, but the operator remains the final author.
The concept page Precon RFI Drafting covers the primitive. This thread explains how RFI drafting connects documents, contacts, workspace state, processing tasks, and model-assisted text.
Reader Question
How does Precon propose RFIs without letting generated text or extracted questions become unreviewed external communication?
Surface Or Workflow
Operators use the RFI workspace panel, candidate list, draft selector, draft editor, recipient selector, and RFI facts inside the estimator workspace. Engineers enter through RFI API routes, read services, persistence services, recipient selection, source-question extraction, processing tasks, and tests.
Lifecycle
The workflow starts with published documents and solicitation contacts. Runtime tasks extract candidate questions and relevant facts. The RFI read layer builds workspace state from candidates, drafts, recipients, and source evidence. Operators select, edit, and decide what is worth sending.
Persistence keeps draft state separate from final communication. That lets Precon support iteration while still treating outbound messages as deliberate operator action rather than automatic side effect.
Child Threads
- Precon Document Publication Workflow: provides the document context.
- Precon Estimator Workspace Workflow: hosts the RFI panel.
- AI In Operational Workflows: covers prompted assistance and human correction.
Implementation Boundaries
RFI UI lives under app/web/app/precon/opportunities/workspace/rfi; API routes under app/api/precon/rfi; services under services/precon/rfi; shared types under libs/precon/rfi; processing integration under services/precon/processing/runtime/rfi_tasks.py and services/precon/processing/tasks/rfi.py.
Tradeoffs
RFI drafting is useful only if it stays editable and evidence-backed. That means the module keeps candidate extraction, draft persistence, recipient selection, and operator send decisions distinct.
Visual
The current visual is a graph neighborhood. The intended visual is an RFI workflow diagram from document facts to candidate questions, recipient context, draft state, operator edit, and external communication boundary.
Source Evidence
docs/engineering/concepts/precon-rfi-drafting.mdapp/web/app/precon/opportunities/workspace/rfiapp/api/precon/rfiservices/precon/rfilibs/precon/rfiservices/precon/processing/runtime/rfi_tasks.pyservices/precon/processing/tasks/rfi.pytests/precon/precon_rfi_pure_helpers.pytests/precon/precon_rfi_state_helpers.py