Precon Document Publication Workflow
Summary
Document publication turns portal, mailbox, and staged file evidence into canonical opportunity documents. It decides what is current, superseded, duplicative, irrelevant, or suspect, and then writes opportunity-owned document state for review, sizing, RFI, and estimator workflows.
The concept page Precon Document Publication covers the primitive. This thread explains publication as the boundary between observed external files and internal project-document truth.
Reader Question
How does Precon decide which external files become canonical opportunity documents and which downstream processing they should trigger?
Surface Or Workflow
Operators see publication through document sections, manifest item editors, document explorer, portal review state, readiness banners, and workspace artifacts. Engineers enter through storage services, publish services, document precedence, blob lifecycle, portal document observation, and document indexing tasks.
Lifecycle
Publication starts with candidate files from portals, messages, or staged downloads. The service classifies relevance, resolves semantic families, compares current and unchanged files, applies precedence rules, writes document versions, records provenance, and enqueues downstream tasks for indexing, sizing, or RFI context.
When the system cannot determine the right family or precedence, it creates review issues rather than publishing blindly. Blob backfill and cleanup jobs support the storage model without becoming the workflow authority.
Child Threads
- Precon Sizing Workflow: consumes the published corpus.
- Precon RFI Drafting Workflow: uses document context and source questions.
- Precon Estimator Workspace Workflow: exposes canonical documents to operators.
Implementation Boundaries
services/precon/portals/publish owns publication behavior, issue sync, family state, downloads, document indexing, and downstream task creation. services/precon/storage owns SharePoint-backed storage and blob services. Document explorer services live under services/precon/opportunities/document_explorer; models live under services/lkci_lakehouse/models/precon.
Tradeoffs
Document publication is heavier than keeping portal files in place, but it creates a stable opportunity-owned corpus. That is the only reasonable source for sizing, RFI drafting, estimator review, and future audit.
Visual
The current visual is a graph neighborhood. The intended visual is a document lineage map from external observation to candidate, family selection, version, provenance, canonical corpus, and downstream tasks.
Source Evidence
docs/engineering/concepts/precon-document-publication.mdservices/precon/documentsservices/precon/storageservices/precon/portals/publishservices/precon/opportunities/document_explorerservices/lkci_lakehouse/models/precon/records_blobs.pyjobs/precon/publish_portal_documents/run.pyjobs/precon/backfill_document_blobs/run.pytests/precon/test_precon_portal_publication_runtime_contracts.py