Federated from workspace ·
PRD-000·zaixos-company-platform/app/Modules/Proposal/README.mdDo not edit canonical truth here — update the source repo, then re-runnpm run docs:sync.
Proposal
Interactive solution proposals generated from completed Discovery sessions.
Status: WP-PRD000-05 — Proposal Engine @ v0.6.0-proposal
Responsibilities
| Component | Role |
|---|---|
ProposalGenerationPipeline | Orchestrates read → generate → persist |
ProposalAiGenerator | Structured proposal via AiGatewayContract::complete() |
RuleBasedProposalGenerator | Fail-closed fallback when AI unavailable |
DatabaseCompletedDiscoverySessionReader | Reads completed discovery data without Discovery Infrastructure imports |
API
| Method | Path | Description |
|---|---|---|
POST | /api/v1/proposals/generate | Generate proposal from completed discovery token |
GET | /api/v1/proposals/{id} | Fetch current proposal version |
POST | /api/v1/proposals/{id}/regenerate | Create new proposal version |
Configuration
config/proposal.php— required section keysAI_PROPOSAL_ENABLED— enable AI generation (defaultfalse)AI_PROPOSAL_PROVIDER/AI_PROPOSAL_MODEL— PL-003 provider routing
Boundaries
- Consumes completed discovery sessions only
- No Discovery questions inside Proposal
- All LLM calls via
AiGatewayContractonly - No CRM, quotation, contract, or portal logic in this module
Tests
bash
php artisan test --filter=Proposal