Skip to content

Bid Aggregates

Why This Exists

This document defines aggregate boundaries for the Bid Domain using Domain-Driven Design.

Owner

The owner is the Chief Product Officer and Enterprise Architect.

Business Value

Aggregate boundaries protect consistency for bid workspace state, planning, collaboration, proposal artefacts, approvals, submission packs, and outcomes.

Aggregate Catalogue

Aggregate Purpose Boundary
Tender Workspace Root aggregate for bid preparation. Workspace status, opportunity reference, team, plan, major artefact references.
Bid Plan Planning aggregate for milestones and task structure. Plan state, milestones, task groups, due dates.
Proposal Draft Drafting aggregate for proposal sections and review state. Sections, versions, comments, accepted AI content.
Submission Package Submission aggregate for checklist, electronic request, manual pack, and validation. Submission readiness and records.
Approval Workflow Approval aggregate for reviewers, approval steps, decisions, and conditions. Approval state and audit.
Bid Outcome Outcome aggregate for result, feedback, and lessons learned. Award/loss state, feedback, lessons.

Aggregate Diagram

flowchart TD
    Workspace[Tender Workspace]
    Plan[Bid Plan]
    Draft[Proposal Draft]
    Submission[Submission Package]
    Approval[Approval Workflow]
    Outcome[Bid Outcome]
    Opportunity[Opportunity Reference]

    Opportunity --> Workspace
    Workspace --> Plan
    Workspace --> Draft
    Workspace --> Approval
    Workspace --> Submission
    Workspace --> Outcome

Core Invariants

Invariant Description
Workspace requires opportunity A Tender Workspace must reference a TenderOpportunityId.
Bid owns preparation state Tasks, draft artefacts, approvals, and submission records are Bid-owned.
Approval before final submission Final submission pack requires approval according to policy.
Compliance evidence is referenced Bid references Compliance state; it does not own compliance facts.
Contract delivery excluded Awarded contract execution belongs to Contract Domain.

Cross-Domain Reference Rule

Bid references TenderOpportunityId, OrganizationId, ComplianceEvidenceId or readiness summaries, and Intelligence session IDs. It does not own those source facts.