# Task Catalog This catalog is the official index of completed ALLA OS task history. Use it to answer these questions before implementation: - Which task created this feature or foundation? - Which ADR governs this area? - Which foundation was created or modified? - Which implementation note should be reviewed first? This file complements: - `AGENTS.md` - `docs/standards/project-foundations.md` - `docs/standards/architecture-rules.md` - `docs/standards/ui-ux-rules.md` - `docs/standards/task-review-checklist.md` - `docs/adr/**` - `docs/business/**` ## How To Use This Catalog Before changing any feature, foundation, report, PDF flow, or authorization behavior: 1. Identify the related foundation in `project-foundations.md`. 2. Find the creating and modifying tasks in this catalog. 3. Review the linked ADRs. 4. Review the listed implementation notes before coding. 5. Reuse the established pattern before creating a new one. ## Foundation -> Task Map | Foundation | Created By | Key Follow-up Tasks | | --- | --- | --- | | Auth Context Foundation | Task B | Task B.1, Task D.1 | | Organization Context Foundation | Task B | Task B.1 | | Permission Foundation | Task B | Task L, Task J.1 | | Branch Scope Foundation | Task B | Task B.1, Task L, Task L.3 | | Audit Foundation | Task B | Tasks C-I, K.1, K.2, L.3 | | Master Data Foundation | Task B | Task B.1, Task D.4, Task J.1, Task K.1, Hotfix 1 | | Document Sequence Foundation | Task B | Task B.1, Task D, Task E, Task J.1 | | Customer Ownership Foundation | Task C.1 | Task L.3.1 | | Contact Sharing Foundation | Task C.1 | Task L.3.1 | | Approval Foundation | Task F | Task H.3, Task J.1, Task L.3, Task L.3.1 | | Document Template Foundation | Task G | Task H.2, Task H.3, Task H.5, Task H.5.3, Task J.1 | | PDF Foundation | Task H | Task H.1, Task H.2, Task H.3, Task H.5, Task H.5.1, Task H.5.3, Task I | | Document Artifact Foundation | Task I | Task L.3 | | Storage Foundation | Task I | Task L.3 | | Dashboard Foundation | Task J | Task D.3, Task D.4, Task J.0, Task L.3, UX.1 | | Reporting Foundation | Task K.1 | Task K.2 | | Role Management Foundation | Task L | Task L.1, Task L.2 | | CRM Role Assignment Foundation | Task L.1 | Task L.2 | | Authorization Foundation | Task L | Task L.1, Task L.2, Task L.3, Task L.3.1 | | Lead Foundation | Task D.5 | Task D.5.1, Task D.5.2 | | Follow-Up Foundation | Task D plus Task E | Task J, Task K.2 | | Revenue Attribution Foundation | Task D.2.1 | Task J, Task K.1, Task K.2 | ## ADR -> Task Map | ADR | Related Tasks | | --- | --- | | ADR-0006 Branch Domain Model | Task B, Task B.1, Task J.1 | | ADR-0007 Quotation Revision Strategy | Task E.1, Task F | | ADR-0008 Attachment Storage Strategy | Task E.1, Task I | | ADR-0009 Approved Document Storage Lifecycle | Task H.1, Task I | | ADR-0010 Revenue Attribution Governance | Task D.2.1, Task J, Task K.1, Task K.2 | | ADR-0011 Lead and Enquiry Ownership Model | Task D.3, Task D.3.1, Task J, Task K.2 | | ADR-0012 Approval Signature Strategy | Task H.3, Task J.1 | | ADR-0013 PDF Visual Parity Strategy | Task H.5, Task H.5.1, Task H.5.3 | | ADR-0014 CRM Multi-Role User Assignment | Task L, Task L.1, Task L.2, Task L.3 | | ADR-0015 Customer Ownership and Contact Sharing | Task C.1, Task L.3.1 | | ADR-0016 Won / Lost Lifecycle Governance | Task D.4, Task J, Task K.2 | | ADR-0017 CRM Report Foundation | Task K.1, Task K.2 | | ADR-0018 Lead / Enquiry Domain Separation | Task D.5, Task D.5.1 | ## Task Dependency Map - Task B depends on: Task A - Task B.1 depends on: Task B - Task C depends on: Task B, Task B.1 - Task C.1 depends on: Task C, Task L.3 context for later security hardening - Task D depends on: Task B, Task B.1, Task C - Task D.1 depends on: Task D, Task B foundations - Task D.2 depends on: Task D, Task E - Task D.2.1 depends on: Task D.2, Task J.0 - Task D.3 depends on: Task D, Task D.1 - Task D.3.1 depends on: Task D.3 - Task D.4 depends on: Task D, Task D.3 - Task D.5 depends on: Task D.3, Task D.4, Task J, Task K.2, Task L.3 - Task D.5.1 depends on: Task D.5 - Task E depends on: Task D, Task B foundations - Task E.1 depends on: Task E - Task F depends on: Task E, Task E.1 - Task G depends on: Task E, Task F - Task H depends on: Task G, Task F - Task H.1 depends on: Task H - Task H.2 depends on: Task H, Task H.1 - Task H.3 depends on: Task F, Task H.2 - Task H.5 depends on: Task H.2, Task H.3 - Task H.5.1 depends on: Task H.5 - Task H.5.2 depends on: historical record missing - Task H.5.3 depends on: Task H.5, Task H.5.1 - Task I depends on: Task H, Task H.1 - Task J.0 depends on: Task D.2 - Task J depends on: Task J.0, Task D.2.1, Task D.3, Task D.4, Task F - Task J.1 depends on: Task B, Task F, Task G - Task K.1 depends on: Task J, Task L foundations - Task K.2 depends on: Task K.1, Task D.3, Task D.4, Task L.3 - Task L depends on: Task D.1, Task J - Task L.1 depends on: Task L - Task L.2 depends on: Task L.1, users foundation - Task L.3 depends on: Task L, Task L.1, Task I, Task J - Task L.3.1 depends on: Task C.1, Task L.3, Task F - Task UX.1 depends on: Task D.3, Task J - Hotfix 1 depends on: Task C, Task B master options ## Task Entries ### Task A - Task ID: `Task A` - Task Name: `Template Audit` - Status: `Completed` - Objective: Freeze the initial project conventions and identify which repo areas were app-owned versus template/demo seams before CRM production work began. - Related ADRs: `None dedicated` - Foundations Created: `None` - Foundations Modified: `None` - Major Deliverables: project structure audit, tenant-boundary freeze, module-pattern guidance, `Layout.md` usage guidance, migrated-pattern references. - Key Files: `docs/implementation/task-a-template-audit.md` - Read Before Modify: `task-a-template-audit.md`, `AGENTS.md`, `architecture-rules.md` ### Task B - Task ID: `Task B` - Task Name: `Template Audit` - Status: `Completed` - Objective: Create the shared foundation layer without introducing CRM business modules. - Related ADRs: `None dedicated` - Foundations Created: `Auth Context Foundation`, `Organization Context Foundation`, `Permission Foundation`, `Branch Scope Foundation`, `Master Data Foundation`, `Document Sequence Foundation`, `Audit Foundation` - Foundations Modified: `None` - Major Deliverables: schema and migration for early foundations, master-options API, shared helpers, audit helper, initial master-options UI path. - Key Files: `docs/implementation/task-b-template-audit.md`, `src/features/foundation/**`, `src/app/api/foundation/master-options/route.ts` - Read Before Modify: `task-b-template-audit.md`, `project-foundations.md`, `task-b1-foundation-stabilization.md` ### Task B.1 - Task ID: `Task B.1` - Task Name: `Foundation Stabilization` - Status: `Completed` - Objective: Stabilize foundation seed data and isolate production CRM routes from demo seams. - Related ADRs: `ADR-0006` - Foundations Created: `None` - Foundations Modified: `Master Data Foundation`, `Document Sequence Foundation`, `Branch Scope Foundation`, `Auth Context Foundation`, `Organization Context Foundation`, `Permission Foundation` - Major Deliverables: repeatable foundation seed, production-safe CRM routes, demo isolation, schema and service review notes. - Key Files: `docs/implementation/task-b1-foundation-stabilization.md`, `src/db/seeds/foundation.seed.ts`, `src/app/dashboard/crm/**` - Read Before Modify: `task-b1-foundation-stabilization.md`, `task-b-template-audit.md`, `project-foundations.md` ### Task C - Task ID: `Task C` - Task Name: `Customer + Contact Production Module` - Status: `Completed` - Objective: Deliver the first production customer and contact CRUD module on top of the shared foundations. - Related ADRs: `None dedicated` - Foundations Created: `None dedicated` - Foundations Modified: `Audit Foundation`, `Master Data Foundation`, `Document Sequence Foundation` - Major Deliverables: `crm_customers`, `crm_customer_contacts`, customer and contact APIs, production list/detail UI, audit integration, search/filter plumbing. - Key Files: `docs/implementation/task-c-customer-contact.md`, `src/features/crm/customers/**`, `src/app/api/crm/customers/**` - Read Before Modify: `task-c-customer-contact.md`, `project-foundations.md`, `task-c1-customer-ownership-contact-sharing-governance.md`, `task-l31-customer-contact-approval-visibility.md` ### Task C.1 - Task ID: `Task C.1` - Task Name: `Customer Ownership and Contact Sharing Governance` - Status: `Completed` - Objective: Add persistent customer ownership and persistent contact sharing to close CRM visibility and routing gaps. - Related ADRs: `ADR-0015` - Foundations Created: `Customer Ownership Foundation`, `Contact Sharing Foundation` - Foundations Modified: `Authorization Foundation`, `Lead / Enquiry Foundation` - Major Deliverables: owner fields and history, `crm_contact_shares`, owner/share APIs, owner UI, contact sharing UI, lead owner suggestion behavior, audit events. - Key Files: `docs/implementation/task-c1-customer-ownership-contact-sharing-governance.md`, `docs/adr/0015-customer-ownership-contact-sharing.md`, `src/app/api/crm/customers/[id]/owner/route.ts`, `src/app/api/crm/customers/[id]/contacts/[contactId]/shares/**` - Read Before Modify: `0015-customer-ownership-contact-sharing.md`, `task-c1-customer-ownership-contact-sharing-governance.md`, `project-foundations.md`, `crm-authorization-boundaries.md` ### Task D - Task ID: `Task D` - Task Name: `Enquiry Production Module` - Status: `Completed` - Objective: Deliver the production enquiry module and the first live follow-up flows. - Related ADRs: `None dedicated` - Foundations Created: `Follow-Up Foundation` (enquiry slice) - Foundations Modified: `Document Sequence Foundation`, `Audit Foundation`, `Master Data Foundation` - Major Deliverables: `crm_enquiries`, `crm_enquiry_followups`, enquiry CRUD APIs, follow-up APIs, enquiry detail UI, customer integration, sequence generation. - Key Files: `docs/implementation/task-d-enquiry-production.md`, `src/features/crm/enquiries/**`, `src/app/api/crm/enquiries/**` - Read Before Modify: `task-d-enquiry-production.md`, `project-foundations.md`, `task-d1-enquiry-assignment-role-stabilization.md`, `task-d3-lead-enquiry-ownership-refinement.md`, `task-d4-won-lost-lifecycle-governance.md` ### Task D.1 - Task ID: `Task D.1` - Task Name: `Enquiry Assignment and CRM Role Stabilization` - Status: `Completed` - Objective: Stabilize assignment behavior and early CRM role handling around enquiries. - Related ADRs: `None dedicated` - Foundations Created: `None` - Foundations Modified: `Auth Context Foundation`, `Permission Foundation`, early `Authorization Foundation` lineage - Major Deliverables: assignment routes, assignment permissions, auth-context refinements, UI assignment support, audit integration. - Key Files: `docs/implementation/task-d1-enquiry-assignment-role-stabilization.md`, `src/features/foundation/auth-context/service.ts`, `src/app/api/crm/enquiries/[id]/assign/route.ts` - Read Before Modify: `task-d1-enquiry-assignment-role-stabilization.md`, `task-d-enquiry-production.md`, `task-l-crm-permission-role-management.md` ### Task D.2 - Task ID: `Task D.2` - Task Name: `Billing Customer + Project Parties` - Status: `Completed` - Objective: Freeze separate billing-customer and project-party modeling for enquiries and quotations. - Related ADRs: `None dedicated` - Foundations Created: `None dedicated` - Foundations Modified: `Revenue Attribution Foundation` lineage, `Master Data Foundation`, CRM shared project-party usage - Major Deliverables: `crm_enquiry_customers`, quotation party remark support, shared `crm_project_party_role` sourcing, synchronized project-party UI. - Key Files: `docs/implementation/task-d2-billing-customer-project-parties.md`, `src/features/crm/components/project-parties-editor.tsx`, `src/features/crm/shared/project-party.ts` - Read Before Modify: `task-d2-billing-customer-project-parties.md`, `task-d21-revenue-attribution-governance.md`, `task-j0-kpi-definition-freeze.md` ### Task D.2.1 - Task ID: `Task D.2.1` - Task Name: `Revenue Attribution and Party Governance` - Status: `Completed` - Objective: Freeze revenue-owner attribution and relationship analytics before dashboard and report expansion. - Related ADRs: `ADR-0010` - Foundations Created: `Revenue Attribution Foundation` - Foundations Modified: `Dashboard Foundation`, `Reporting Foundation` lineage - Major Deliverables: grouped revenue helpers, project-party governance, fallback rules, ADR freeze for reporting attribution. - Key Files: `docs/implementation/task-d21-revenue-attribution-governance.md`, `docs/adr/0010-revenue-attribution-governance.md`, `src/features/crm/reporting/server/service.ts` - Read Before Modify: `0010-revenue-attribution-governance.md`, `task-d21-revenue-attribution-governance.md`, `task-j-crm-dashboard-kpi.md`, `task-k1-report-foundation.md` ### Task D.3 - Task ID: `Task D.3` - Task Name: `Lead / Enquiry Ownership Refinement` - Status: `Completed` - Objective: Freeze the single-record lead/enquiry lifecycle, ownership, visibility, and KPI language. - Related ADRs: `ADR-0011` - Foundations Created: `Lead / Enquiry Foundation` - Foundations Modified: `Dashboard Foundation`, `Authorization Foundation` - Major Deliverables: `pipelineStage`, marketing role, lead/enquiry visibility rules, KPI wording changes, ADR freeze. - Key Files: `docs/implementation/task-d3-lead-enquiry-ownership-refinement.md`, `docs/adr/0011-lead-enquiry-ownership-model.md`, `src/features/crm/enquiries/server/service.ts` - Read Before Modify: `0011-lead-enquiry-ownership-model.md`, `task-d3-lead-enquiry-ownership-refinement.md`, `task-d31-leads-enquiries-navigation-separation.md`, `task-k2-pipeline-reports.md` ### Task D.3.1 - Task ID: `Task D.3.1` - Task Name: `Leads / Enquiries Navigation Separation` - Status: `Completed` - Objective: Split lead and enquiry into separate UX workspaces while preserving one shared backend model. - Related ADRs: `ADR-0011` - Foundations Created: `None` - Foundations Modified: `Lead / Enquiry Foundation`, `Dashboard Foundation` - Major Deliverables: `/dashboard/crm/leads`, workspace-specific query invalidation, lead permissions, ADR clarification for navigation separation. - Key Files: `docs/implementation/task-d31-leads-enquiries-navigation-separation.md`, `src/app/dashboard/crm/leads/**`, `src/features/crm/enquiries/**` - Read Before Modify: `0011-lead-enquiry-ownership-model.md`, `task-d31-leads-enquiries-navigation-separation.md`, `task-d3-lead-enquiry-ownership-refinement.md` ### Task D.4 - Task ID: `Task D.4` - Task Name: `Won / Lost Lifecycle Governance` - Status: `Completed` - Objective: Freeze official won/lost outcome behavior on enquiries rather than deriving it from quotation status. - Related ADRs: `ADR-0016` - Foundations Created: `Won / Lost Governance Foundation` - Foundations Modified: `Dashboard Foundation`, `Reporting Foundation`, `Master Data Foundation` - Major Deliverables: won/lost outcome fields, PO attachments, lost reason master data, mark-won/mark-lost/reopen APIs, outcome card, reporting helpers. - Key Files: `docs/implementation/task-d4-won-lost-lifecycle-governance.md`, `docs/adr/0016-won-lost-lifecycle-governance.md`, `src/app/api/crm/enquiries/[id]/mark-won/route.ts` - Read Before Modify: `0016-won-lost-lifecycle-governance.md`, `task-d4-won-lost-lifecycle-governance.md`, `task-j-crm-dashboard-kpi.md`, `task-k2-pipeline-reports.md` ### Task D.5 - Task ID: `Task D.5` - Task Name: `Lead / Enquiry Domain Separation` - Status: `In progress` - Objective: Replace the single-record lead/enquiry persistence model with a split-domain direction built around `crm_leads` plus lead-linked enquiries. - Related ADRs: `ADR-0018` - Foundations Created: `Lead Foundation` - Foundations Modified: `Lead / Enquiry Foundation` lineage, `Document Sequence Foundation`, `Master Data Foundation` - Major Deliverables: ADR-0018 target direction, `crm_leads`, `crm_enquiries.lead_id`, lead option seeds, lead/enquiry split foundation planning. - Key Files: `docs/adr/0018-lead-enquiry-domain-separation.md`, `docs/implementation/task-d5-lead-enquiry-domain-separation.md`, `src/db/schema.ts`, `src/db/seeds/foundation.seed.ts` - Read Before Modify: `0018-lead-enquiry-domain-separation.md`, `task-d5-lead-enquiry-domain-separation.md`, `0011-lead-enquiry-ownership-model.md`, `task-d31-leads-enquiries-navigation-separation.md`, `task-k2-pipeline-reports.md` ### Task D.5.1 - Task ID: `Task D.5.1` - Task Name: `Lead Foundation Stabilization & Output Completion` - Status: `Completed` - Objective: Audit the existing D.5 phase-1 foundation work, avoid duplicate schema creation, complete missing registrations, and document compatibility status before lead API work begins. - Related ADRs: `ADR-0018` - Foundations Created: `None` - Foundations Modified: `Lead Foundation`, `Master Data Foundation` registration, `Document Sequence Foundation` audit visibility - Major Deliverables: lead foundation audit, master-option category contract completion, foundation registry registration, task catalog registration, D.5.1 implementation note. - Key Files: `docs/implementation/task-d51-lead-foundation-stabilization.md`, `docs/standards/project-foundations.md`, `docs/standards/task-catalog.md`, `src/features/foundation/master-options/types.ts` - Read Before Modify: `task-d51-lead-foundation-stabilization.md`, `0018-lead-enquiry-domain-separation.md`, `task-d5-lead-enquiry-domain-separation.md`, `src/db/schema.ts`, `src/db/seeds/foundation.seed.ts` ### Task E - Task ID: `Task E` - Task Name: `Quotation Production Module` - Status: `Completed` - Objective: Deliver the production quotation module and its core child-resource model. - Related ADRs: `None dedicated at creation time` - Foundations Created: `Quotation Foundation` - Foundations Modified: `Document Sequence Foundation`, `Audit Foundation`, `Follow-Up Foundation` - Major Deliverables: quotation CRUD, items, customers/project parties, topics, follow-ups, attachments metadata, revisions, detail UI, customer/enquiry linkage. - Key Files: `docs/implementation/task-e-quotation-production.md`, `src/features/crm/quotations/**`, `src/app/api/crm/quotations/**` - Read Before Modify: `task-e-quotation-production.md`, `task-e1-quotation-stabilization.md`, `0007-quotation-revision-strategy.md`, `0008-attachment-storage-strategy.md` ### Task E.1 - Task ID: `Task E.1` - Task Name: `Quotation Stabilization Before Approval` - Status: `Completed` - Objective: Freeze quotation revision and attachment assumptions before approval work begins. - Related ADRs: `ADR-0007`, `ADR-0008` - Foundations Created: `None` - Foundations Modified: `Quotation Foundation`, `Master Data Foundation` - Major Deliverables: status vocabulary expansion, revision guard, quotation-related master options, approval readiness rules, ADRs for revision and attachment strategy. - Key Files: `docs/implementation/task-e1-quotation-stabilization.md`, `docs/adr/0007-quotation-revision-strategy.md`, `docs/adr/0008-attachment-storage-strategy.md` - Read Before Modify: `task-e1-quotation-stabilization.md`, `0007-quotation-revision-strategy.md`, `0008-attachment-storage-strategy.md`, `task-f-approval-production.md` ### Task F - Task ID: `Task F` - Task Name: `Approval Production` - Status: `Completed` - Objective: Introduce the first production approval workflow on top of quotation flows and keep it generic for future documents. - Related ADRs: `ADR-0007` - Foundations Created: `Approval Foundation` - Foundations Modified: `Quotation Foundation`, `Audit Foundation` - Major Deliverables: approval persistence, approval APIs, approval UI, quotation approval submission, seeded workflow steps, approval permissions. - Key Files: `docs/implementation/task-f-approval-production.md`, `src/features/foundation/approval/**`, `src/app/api/crm/approvals/**` - Read Before Modify: `task-f-approval-production.md`, `project-foundations.md`, `task-h3-approval-signature-strategy.md`, `task-l31-customer-contact-approval-visibility.md` ### Task G - Task ID: `Task G` - Task Name: `Quotation Document Preview Foundation` - Status: `Completed` - Objective: Add governed document templates and a production document-preview path before binary PDF generation. - Related ADRs: `None dedicated at creation time` - Foundations Created: `Document Template Foundation` - Foundations Modified: `Quotation Foundation` - Major Deliverables: template schema tables, template APIs, template settings UI, mapping resolver, preview APIs, approved snapshot preparation. - Key Files: `docs/implementation/task-g-document-preview-foundation.md`, `src/features/foundation/document-template/**`, `src/features/crm/quotations/document/**` - Read Before Modify: `task-g-document-preview-foundation.md`, `task-h-pdf-generation-persistence.md`, `task-h53-pdf-template-version-remap.md` ### Task H - Task ID: `Task H` - Task Name: `PDF Generation and Approved Document Persistence` - Status: `Completed` - Objective: Add server-side PDF generation and the first approved-document persistence path. - Related ADRs: `None dedicated at creation time` - Foundations Created: `PDF Foundation` - Foundations Modified: `Quotation Foundation`, `Approval Foundation` - Major Deliverables: pdfme generation service, preview/download/approved PDF APIs, approved snapshot fields, local-file persistence, PDF permissions. - Key Files: `docs/implementation/task-h-pdf-generation-persistence.md`, `src/features/foundation/pdf-generator/server/service.ts`, `src/app/api/crm/quotations/[id]/pdf-preview/route.ts` - Read Before Modify: `task-h-pdf-generation-persistence.md`, `task-h1-pdf-generation-stabilization.md`, `task-i-storage-artifact-lifecycle.md` ### Task H.1 - Task ID: `Task H.1` - Task Name: `PDF Generation Stabilization` - Status: `Completed` - Objective: Validate and harden the Task H PDF flow with fixtures, verification scripts, and storage-lifecycle clarification. - Related ADRs: `ADR-0009` - Foundations Created: `None` - Foundations Modified: `PDF Foundation` - Major Deliverables: repeatable fixture data, verification script, persistence checks, lifecycle ADR, debt documentation. - Key Files: `docs/implementation/task-h1-pdf-generation-stabilization.md`, `docs/adr/0009-approved-document-storage-lifecycle.md`, `scripts/verify-task-h1.js` - Read Before Modify: `task-h1-pdf-generation-stabilization.md`, `0009-approved-document-storage-lifecycle.md`, `task-i-storage-artifact-lifecycle.md` ### Task H.2 - Task ID: `Task H.2` - Task Name: `PDFME Dynamic Topic Engine + Mapping Hotfix` - Status: `Completed` - Objective: Replace brittle static topic mappings with a dynamic runtime topic engine and fix PDF data transforms. - Related ADRs: `None dedicated` - Foundations Created: `Dynamic topic engine within PDF Foundation` - Foundations Modified: `PDF Foundation`, `Document Template Foundation` - Major Deliverables: runtime topic engine, PDF transforms, product-topic mapping, mapping cleanup, preview payload hardening. - Key Files: `docs/implementation/task-h2-pdfme-mapping-transform-hotfix.md`, `src/features/crm/quotations/document/server/pdf-topic-engine.ts`, `src/features/crm/quotations/document/server/pdfme-transforms.ts` - Read Before Modify: `task-h2-pdfme-mapping-transform-hotfix.md`, `task-h5-pdf-mapping-audit-visual-parity.md`, `pdf-mapping-registry.md`, `pdf-placeholder-registry.md` ### Task H.3 - Task ID: `Task H.3` - Task Name: `Approval Signature Strategy` - Status: `Completed` - Objective: Resolve prepared-by, approved-by, and authorized-by signatures from live approval and membership data. - Related ADRs: `ADR-0012` - Foundations Created: `Signature strategy within PDF Foundation` - Foundations Modified: `PDF Foundation`, `Approval Foundation`, `Master Data Foundation` - Major Deliverables: signature resolver, position lookup, mapping updates for `app1/app2/app3`, snapshot signature persistence, preview signature section. - Key Files: `docs/implementation/task-h3-approval-signature-strategy.md`, `docs/adr/0012-approval-signature-strategy.md`, `src/features/crm/quotations/document/server/signature-resolver.ts` - Read Before Modify: `0012-approval-signature-strategy.md`, `task-h3-approval-signature-strategy.md`, `pdf-mapping-registry.md` ### Task H.5 - Task ID: `Task H.5` - Task Name: `PDF Mapping Audit & Visual Parity` - Status: `Completed` - Objective: Establish an auditable PDF mapping and parity review process for runtime payloads and templates. - Related ADRs: `ADR-0013` - Foundations Created: `PDF audit layer within PDF Foundation` - Foundations Modified: `PDF Foundation`, `Document Template Foundation` - Major Deliverables: audit scripts, fixture strategy, parity checklist, mapping registry, visual parity ADR. - Key Files: `docs/implementation/task-h5-pdf-mapping-audit-visual-parity.md`, `docs/adr/0013-pdf-visual-parity-strategy.md`, `docs/implementation/pdf-parity-checklist.md` - Read Before Modify: `0013-pdf-visual-parity-strategy.md`, `task-h5-pdf-mapping-audit-visual-parity.md`, `pdf-mapping-registry.md`, `pdf-placeholder-registry.md` ### Task H.5.1 - Task ID: `Task H.5.1` - Task Name: `PDF Integrity Audit & Payload Parity` - Status: `Completed` - Objective: Extend H.5 into integrity checks for active versions, placeholders, payload hashes, and approved snapshot parity. - Related ADRs: `ADR-0013` - Foundations Created: `None` - Foundations Modified: `PDF Foundation`, `Document Template Foundation` - Major Deliverables: integrity audit scripts, placeholder registry, parity hash checks, audit artifact generation, stricter integrity gating. - Key Files: `docs/implementation/task-h51-pdf-integrity-audit.md`, `docs/business/pdf-placeholder-registry.md`, `scripts/audit-approved-snapshot-parity.ts` - Read Before Modify: `task-h51-pdf-integrity-audit.md`, `task-h5-pdf-mapping-audit-visual-parity.md`, `task-h53-pdf-template-version-remap.md` ### Task H.5.2 - Task ID: `Task H.5.2` - Task Name: `Historical Record Missing` - Status: `Missing historical record` - Objective: No dedicated completed implementation document was found for `Task H.5.2` in `docs/implementation/**`. - Related ADRs: `Not confirmed` - Foundations Created: `Unknown` - Foundations Modified: `Unknown` - Major Deliverables: no task note found; review adjacent H.5, H.5.1, H.5.3, `pdf-audit-report.md`, and `pdf-audit-report.json` for continuity. - Key Files: `docs/implementation/task-h5-pdf-mapping-audit-visual-parity.md`, `docs/implementation/task-h51-pdf-integrity-audit.md`, `docs/implementation/task-h53-pdf-template-version-remap.md`, `docs/implementation/pdf-audit-report.md` - Read Before Modify: `task-h5-pdf-mapping-audit-visual-parity.md`, `task-h51-pdf-integrity-audit.md`, `task-h53-pdf-template-version-remap.md` ### Task H.5.3 - Task ID: `Task H.5.3` - Task Name: `PDF Template Version Remap + Static Labels` - Status: `Completed` - Objective: Move active templates to remapped versioned records and restore runtime-managed static labels. - Related ADRs: `ADR-0013` - Foundations Created: `Template remap workflow within Document Template Foundation` - Foundations Modified: `Document Template Foundation`, `PDF Foundation` - Major Deliverables: active `1.1` template versions, remap workflow, retained inactive historical versions, restored static labels, passing audit suite. - Key Files: `docs/implementation/task-h53-pdf-template-version-remap.md`, `src/pdfme_template/*.json`, `docs/business/pdf-mapping-registry.md` - Read Before Modify: `task-h53-pdf-template-version-remap.md`, `task-h51-pdf-integrity-audit.md`, `pdf-mapping-registry.md`, `pdf-placeholder-registry.md` ### Task I - Task ID: `Task I` - Task Name: `Storage Abstraction and Approved Artifact Lifecycle` - Status: `Completed` - Objective: Replace raw public-file assumptions with a storage provider and artifact lifecycle foundation. - Related ADRs: `ADR-0008`, `ADR-0009` - Foundations Created: `Storage Foundation`, `Document Artifact Foundation` - Foundations Modified: `PDF Foundation`, `Approval Foundation` - Major Deliverables: storage provider abstraction, artifact schema, secure download route, checksum support, approved-artifact locking, compatibility migration path. - Key Files: `docs/implementation/task-i-storage-artifact-lifecycle.md`, `src/features/foundation/storage/**`, `src/features/foundation/document-artifact/**` - Read Before Modify: `task-i-storage-artifact-lifecycle.md`, `0009-approved-document-storage-lifecycle.md`, `task-l3-full-crm-scope-enforcement.md` ### Task J.0 - Task ID: `Task J.0` - Task Name: `KPI Definition Freeze` - Status: `Completed` - Objective: Freeze KPI semantics, party terminology, and revenue rules before dashboard implementation. - Related ADRs: `Pre-ADR governance freeze; later intersected by ADR-0010, ADR-0011, ADR-0016` - Foundations Created: `None` - Foundations Modified: `Dashboard Foundation` lineage, `Revenue Attribution Foundation` lineage - Major Deliverables: KPI definitions, pipeline semantics, party terminology freeze, governance rule that later KPI changes require an ADR. - Key Files: `docs/implementation/task-j0-kpi-definition-freeze.md` - Read Before Modify: `task-j0-kpi-definition-freeze.md`, `task-j-crm-dashboard-kpi.md`, `0010-revenue-attribution-governance.md`, `0011-lead-enquiry-ownership-model.md` ### Task J - Task ID: `Task J` - Task Name: `CRM Dashboard KPI and Sales Analytics` - Status: `Completed` - Objective: Deliver the live CRM dashboard and operational KPI surfaces on top of frozen governance rules. - Related ADRs: `ADR-0010`, `ADR-0011`, `ADR-0016` - Foundations Created: `Dashboard Foundation` - Foundations Modified: `Revenue Attribution Foundation`, `Follow-Up Foundation`, `Approval Foundation` - Major Deliverables: dashboard APIs, summary/funnel/revenue/sales/follow-up/approval widgets, export support, dashboard permissions. - Key Files: `docs/implementation/task-j-crm-dashboard-kpi.md`, `src/features/crm/dashboard/**`, `src/app/api/crm/dashboard/**` - Read Before Modify: `task-j-crm-dashboard-kpi.md`, `task-j0-kpi-definition-freeze.md`, `task-d21-revenue-attribution-governance.md`, `task-d4-won-lost-lifecycle-governance.md` ### Task J.1 - Task ID: `Task J.1` - Task Name: `CRM Admin Configuration Center` - Status: `Completed` - Objective: Expose settings foundations through organization-scoped admin routes and usable production UI. - Related ADRs: `ADR-0006`, `ADR-0012` - Foundations Created: `None` - Foundations Modified: `Approval Foundation`, `Document Sequence Foundation`, `Document Template Foundation`, `Master Data Foundation` - Major Deliverables: approval-workflow settings UI and APIs, document-sequence settings UI and APIs, template edit/version/mapping UI and APIs, settings navigation. - Key Files: `docs/implementation/task-j1-crm-admin-configuration-center.md`, `src/app/api/crm/settings/**`, `src/app/dashboard/crm/settings/**` - Read Before Modify: `task-j1-crm-admin-configuration-center.md`, `project-foundations.md`, `task-g-document-preview-foundation.md`, `task-f-approval-production.md` ### Task K.1 - Task ID: `Task K.1` - Task Name: `Report Foundation` - Status: `Completed` - Objective: Establish the shared CRM report platform before business report execution pages are added. - Related ADRs: `ADR-0017` - Foundations Created: `Reporting Foundation` - Foundations Modified: `Master Data Foundation`, `Authorization Foundation`, `Audit Foundation` - Major Deliverables: report registry, report category seed, report discovery APIs, dataset/builder/filter/export layers, report landing page. - Key Files: `docs/implementation/task-k1-report-foundation.md`, `docs/adr/0017-report-foundation.md`, `src/features/crm/reports/**` - Read Before Modify: `0017-report-foundation.md`, `task-k1-report-foundation.md`, `task-k2-pipeline-reports.md`, `project-foundations.md` ### Task K.2 - Task ID: `Task K.2` - Task Name: `Pipeline Reports` - Status: `Completed` - Objective: Deliver the first production report suite on top of the shared report foundation. - Related ADRs: `ADR-0010`, `ADR-0011`, `ADR-0016`, `ADR-0017` - Foundations Created: `None` - Foundations Modified: `Reporting Foundation`, `Follow-Up Foundation`, `Authorization Foundation` - Major Deliverables: pipeline, lead-aging, and enquiry-aging reports; export route; dataset layer; scoped security enforcement; report navigation. - Key Files: `docs/implementation/task-k2-pipeline-reports.md`, `src/app/api/crm/reports/**`, `src/features/crm/reports/server/datasets/pipeline-report.dataset.ts` - Read Before Modify: `task-k2-pipeline-reports.md`, `task-k1-report-foundation.md`, `0017-report-foundation.md`, `task-d3-lead-enquiry-ownership-refinement.md`, `task-d4-won-lost-lifecycle-governance.md` ### Task L - Task ID: `Task L` - Task Name: `CRM Permission & Role Management` - Status: `Completed` - Objective: Replace template-era authorization behavior with app-owned CRM role profiles, permissions, and scope-aware access resolution. - Related ADRs: `ADR-0014` - Foundations Created: `Role Management Foundation`, `Authorization Foundation` - Foundations Modified: `Dashboard Foundation`, `Permission Foundation` - Major Deliverables: role profiles, permissions for pricing and admin settings, resolved CRM access helper, roles page and APIs, early server-side scope enforcement. - Key Files: `docs/implementation/task-l-crm-permission-role-management.md`, `src/features/foundation/role-management/**`, `src/lib/auth/crm-access.ts` - Read Before Modify: `task-l-crm-permission-role-management.md`, `0014-crm-multi-role-user-assignment.md`, `crm-authorization-boundaries.md`, `crm-access-enforcement-inventory.md` ### Task L.1 - Task ID: `Task L.1` - Task Name: `CRM Multi-Role User Assignment` - Status: `Completed` - Objective: Move CRM authorization from one business role per membership to multi-role assignment rows. - Related ADRs: `ADR-0014` - Foundations Created: `CRM Role Assignment Foundation` - Foundations Modified: `Authorization Foundation`, `Role Management Foundation` - Major Deliverables: `crm_user_role_assignments`, assignment permissions, assignment APIs, compatibility backfill, union-based resolved access. - Key Files: `docs/implementation/task-l1-crm-multi-role-user-assignment.md`, `docs/adr/0014-crm-multi-role-user-assignment.md`, `src/features/foundation/crm-role-assignments/**` - Read Before Modify: `0014-crm-multi-role-user-assignment.md`, `task-l1-crm-multi-role-user-assignment.md`, `task-l2-user-management-integration.md` ### Task L.2 - Task ID: `Task L.2` - Task Name: `User Management Integration` - Status: `Completed` - Objective: Make user management the primary operational surface for CRM role assignments. - Related ADRs: `ADR-0014` - Foundations Created: `None` - Foundations Modified: `CRM Role Assignment Foundation`, `Authorization Foundation`, users feature integration - Major Deliverables: user create/edit payload changes, CRM role assignment editing in user form, effective-access preview, reference endpoints, migration utility. - Key Files: `docs/implementation/task-l2-user-management-integration.md`, `src/app/api/users/_lib.ts`, `src/app/api/users/[id]/effective-access-preview/route.ts` - Read Before Modify: `task-l2-user-management-integration.md`, `task-l1-crm-multi-role-user-assignment.md`, `0014-crm-multi-role-user-assignment.md` ### Task L.3 - Task ID: `Task L.3` - Task Name: `Full CRM Scope Enforcement` - Status: `Completed` - Objective: Harden scope and pricing visibility enforcement around resolved CRM access. - Related ADRs: `ADR-0014` - Foundations Created: `Security enforcement layer within Authorization Foundation` - Foundations Modified: `Authorization Foundation`, `Document Artifact Foundation`, `Dashboard Foundation`, `Quotation Foundation` - Major Deliverables: security helpers, pricing guards for quotation outputs, dashboard export restriction, quotation scope enforcement, security inventory docs, verification script. - Key Files: `docs/implementation/task-l3-full-crm-scope-enforcement.md`, `src/features/crm/security/server/service.ts`, `docs/security/crm-authorization-boundaries.md` - Read Before Modify: `task-l3-full-crm-scope-enforcement.md`, `crm-authorization-boundaries.md`, `crm-access-enforcement-inventory.md`, `team-scope-limitations.md` ### Task L.3.1 - Task ID: `Task L.3.1` - Task Name: `Customer, Contact & Approval Visibility Hardening` - Status: `Completed` - Objective: Extend resolved-access enforcement to customer, contact, and approval visibility. - Related ADRs: `ADR-0015` - Foundations Created: `None` - Foundations Modified: `Customer Ownership Foundation`, `Contact Sharing Foundation`, `Approval Foundation`, `Authorization Foundation`, `Dashboard Foundation` - Major Deliverables: customer visibility filters, contact visibility inheritance, approval visibility narrowing, dashboard approval reuse, extra security audit actions. - Key Files: `docs/implementation/task-l31-customer-contact-approval-visibility.md`, `src/features/crm/customers/server/service.ts`, `src/features/foundation/approval/server/service.ts` - Read Before Modify: `task-l31-customer-contact-approval-visibility.md`, `0015-customer-ownership-contact-sharing.md`, `crm-authorization-boundaries.md`, `task-c1-customer-ownership-contact-sharing-governance.md` ### Task UX.1 - Task ID: `Task UX.1` - Task Name: `Thai CRM Terminology Standardization` - Status: `Completed` - Objective: Freeze Thai business-facing CRM terminology while keeping internal codes stable. - Related ADRs: `None dedicated` - Foundations Created: `Terminology registry support for UI governance` - Foundations Modified: `Dashboard Foundation`, `Lead / Enquiry Foundation`, `PDF Foundation` - Major Deliverables: terminology registry, shared terminology helper, menu copy updates, dashboard/report/PDF copy updates. - Key Files: `docs/implementation/task-ux1-thai-crm-terminology-standardization.md`, `docs/business/crm-terminology.md`, `src/features/crm/shared/terminology.ts` - Read Before Modify: `task-ux1-thai-crm-terminology-standardization.md`, `crm-terminology.md`, `ui-ux-rules.md` ### Hotfix 1 - Task ID: `Hotfix 1` - Task Name: `Customer Sub Group` - Status: `Completed` - Objective: Add customer subgroup hierarchy without creating a parallel category system. - Related ADRs: `None dedicated` - Foundations Created: `None` - Foundations Modified: `Master Data Foundation`, `Customer module` - Major Deliverables: `customerSubGroup` field, seeded `crm_customer_group` and `crm_customer_sub_group`, parent/child validation, filtered customer form behavior. - Key Files: `docs/implementation/hotfix-1-customer-sub-group.md`, `src/db/seeds/foundation.seed.ts`, `src/features/crm/customers/server/service.ts` - Read Before Modify: `hotfix-1-customer-sub-group.md`, `project-foundations.md`, `task-c-customer-contact.md` ## Supporting Historical Records These are not primary task IDs, but they remain valuable historical review documents: - `docs/implementation/pdfme-legacy-audit.md` - `docs/implementation/pdfme-runtime-audit.md` - `docs/implementation/pdf-parity-checklist.md` - `docs/implementation/pdf-audit-report.md` - `docs/implementation/pdf-audit-report.json` - `docs/implementation/technical-debt.md` ## Missing Historical Records - `Task H.5.2` has no dedicated implementation note in `docs/implementation/**`. - No standalone ADR was found for the low-level early foundations created in Task B: - `Auth Context Foundation` - `Organization Context Foundation` - `Permission Foundation` - `Audit Foundation` - `Document Sequence Foundation` ## Catalog Outcome - ALLA OS Historical Knowledge Base = ESTABLISHED - ALLA OS Task Discovery = READY - ALLA OS AI Context Retention = IMPROVED