POTS Workspace 40-Phase Project Map
Purpose
Create a single enterprise-grade POTS replacement workspace that can run as a quick estimator or full onboarding workflow, supports save/resume, supports delegated completion, and generates complete quote/survey artifacts for Masters Telecom operations.
Scope Guardrails
- Keep existing policy/guardrail behavior and hard timeout behavior unchanged unless a phase explicitly targets guardrail improvements.
- Do not implement this deferred backlog item in this cycle:
Paste order lines parser (5 CR602, 2 RX60) to auto-fill quantities/models. - External customer contribution flow is deferred to Phase 2+ (not in Phase 1 execution).
Operating Model
- One commit per phase (or split only if phase is too large).
- Each phase must end with explicit verification commands and pass/fail report.
- Keep docs synced each phase:
docs/dev/session_handoff.mddocs/dev/decisions.mddocs/dev/open_tasks.md
Execution Status (2026-03-06)
Phase 1-8: completePhase 9-16: complete (seedocs/dev/pots_workspace_phase9_16_guided_intake.md)Phase 17-24: complete (seedocs/dev/pots_workspace_phase17_24_quote_financial.md)Phase 25-32: complete (seedocs/dev/pots_workspace_phase25_32_collaboration_ai.md)Phase 33-40: complete (seedocs/dev/pots_workspace_phase33_40_readiness_launch.md)
Phase Tracks
- Track A (
1-8): Foundation and orchestration shell. - Track B (
9-16): Guided discovery and site/line intake UX. - Track C (
17-24): BOM, quote, and financial workflow. - Track D (
25-32): Collaboration, handoff, and AI acceleration. - Track E (
33-40): Quality, compliance, deployment, and adoption.
Detailed Phases
Phase 1 - Workspace Foundation API + Shell
- Goal: establish project-backed workspace skeleton scoped per authenticated user.
- Build:
- backend project store API (
create/list/get/update), triage endpoint, estimate snapshot endpoint. - frontend POTS workspace shell wrapping existing estimator/intake tabs.
- owner scoping so one user cannot see another user’s workspace records.
- backend project store API (
- Verification:
python3 -m pytest -q backend/app/test_pots_workspace_api.pynpm --prefix frontend run build
- Exit criteria:
- project can be created/re-opened in workspace.
- triage recommendation is saved to project record.
Phase 2 - Roles + Collaboration Model (Internal-first)
- Goal: finalize who can create/edit/review and what collaboration means in-app.
- Build:
- role matrix for Verizon rep vs Masters employee actions.
- contribution boundaries for delegated completion (internal first).
- explicit deferral decision on external customer contribution path.
- Verification:
- architecture note + acceptance checklist signed.
- Exit criteria:
- role/collaboration contract documented and approved.
Phase 3 - Project Lifecycle States
- Goal: define deterministic project state machine.
- Build:
- statuses (
draft,discovery,needs_survey,estimating,ready_for_review,handoff_ready,closed). - state transition guards and reason codes.
- statuses (
- Verification:
- state-machine unit tests.
- Exit criteria:
- invalid transitions are blocked with actionable reason text.
Phase 4 - Tenant/User Data Isolation Hardening
- Goal: harden per-user and per-account isolation behavior.
- Build:
- storage partition rules.
- API-level isolation tests.
- secure fallback behavior when auth context is missing.
- Verification:
- auth-context simulation tests with mixed users.
- Exit criteria:
- zero cross-user data leakage in tests.
Phase 5 - Workspace Home UX
- Goal: make project home highly usable and plain-English.
- Build:
- “start quick estimate” vs “run full onboarding” cards.
- recent projects, status chips, next-action cards.
- Verification:
- responsive UI validation on desktop/tablet/mobile.
- Exit criteria:
- users can start or resume in <=2 clicks.
Phase 6 - Intake Progress Model
- Goal: normalize progress tracking for partially known answers.
- Build:
- per-question status (
answered,unknown,deferred,needs_owner). - completion score by section.
- per-question status (
- Verification:
- progress-calculation unit tests.
- Exit criteria:
- project completion reflects unknown/deferred answers correctly.
Phase 7 - Delegation Skeleton (Internal Contributors)
- Goal: allow reassignment of unanswered sections to internal teammates.
- Build:
- assign question/section owner.
- notify in workspace activity feed.
- Verification:
- assignment and visibility tests.
- Exit criteria:
- delegated sections persist and route to right owner.
Phase 8 - Audit Log v1
- Goal: capture defensible audit trail.
- Build:
- immutable timeline events (created, edited, assigned, submitted).
- Verification:
- event ordering and integrity tests.
- Exit criteria:
- key actions are fully traceable.
Phase 9 - Guided Discovery Question Tree v1
- Goal: provide adaptive question-by-question flow.
- Build:
- branching logic based on line types and known/unknown answers.
- Verification:
- branch-coverage tests.
- Exit criteria:
- no dead-end question paths.
Phase 10 - Multi-Location Wizard
- Goal: support one-to-many locations with repeatable templates.
- Build:
- add/remove location flow.
- clone prior location skeleton.
- Verification:
- wizard integration tests.
- Exit criteria:
- users can create projects with variable site counts.
Phase 11 - Line Inventory Capture v1
- Goal: capture line inventory in structured model.
- Build:
- line types, criticality, current provider, notes.
- Verification:
- schema validation tests.
- Exit criteria:
- all required minimum fields captured for estimate path.
Phase 12 - “I Don’t Know” Pathways
- Goal: remove friction when customer does not know details.
- Build:
- explicit unknown states and follow-up requirements.
- unresolved-question report.
- Verification:
- unknown-path regression tests.
- Exit criteria:
- users can continue without blocking on unknowns.
Phase 13 - Survey-Now vs Survey-Later Routing
- Goal: support both immediate and deferred survey intent.
- Build:
- route selection and saved intent.
- follow-up checklist based on chosen route.
- Verification:
- route persistence tests.
- Exit criteria:
- route choice consistently controls next workflow.
Phase 14 - Site Survey Packet Generator v1
- Goal: generate actionable survey tasks from missing fields.
- Build:
- per-site survey checklist output.
- Verification:
- checklist generation tests.
- Exit criteria:
- unresolved site requirements are exportable.
Phase 15 - Critical Endpoint Heuristics
- Goal: detect life-safety/critical-path lines and elevate priority.
- Build:
- rule-based criticality scoring.
- Verification:
- deterministic rule tests.
- Exit criteria:
- critical lines flagged in UX and exports.
Phase 16 - Intake QA Guardrails
- Goal: prevent invalid or contradictory intake payloads.
- Build:
- cross-field validations and warning tiers.
- Verification:
- invalid payload matrix tests.
- Exit criteria:
- contradictory states blocked or clearly warned.
Phase 17 - Estimate Engine Integration v2
- Goal: tie guided intake directly to estimator inputs.
- Build:
- deterministic mapping from intake data to estimator payload.
- Verification:
- mapper contract tests.
- Exit criteria:
- estimator runs from project snapshot without manual re-entry.
Phase 18 - Savings Scenario Builder
- Goal: support best/base/worst case scenarios.
- Build:
- scenario assumptions with transparent labels.
- Verification:
- scenario math tests.
- Exit criteria:
- multi-scenario summary appears in project.
Phase 19 - BOM Draft Generator v1
- Goal: generate initial BOM based on site/line profile.
- Build:
- device + accessory + service placeholders.
- Verification:
- BOM structure tests.
- Exit criteria:
- BOM output generated with no fabricated pricing.
Phase 20 - Missing Inputs Resolver
- Goal: identify exactly what is blocking quote readiness.
- Build:
- blocking-input report with owner assignment.
- Verification:
- blocker detection tests.
- Exit criteria:
- users get clear next steps to become quote-ready.
Phase 21 - Cost/Savings Narrative Generator
- Goal: produce plain-English business-case summary.
- Build:
- deterministic narrative from estimate fields.
- Verification:
- snapshot tests for narrative sections.
- Exit criteria:
- summary is readable and source-backed.
Phase 22 - Quote Review Checklist
- Goal: enforce quote quality before handoff.
- Build:
- pre-submit checklist and validation gate.
- Verification:
- checklist enforcement tests.
- Exit criteria:
- handoff blocked until required checks complete.
Phase 23 - Excel Export v2
- Goal: produce comprehensive workbook for operations and customer materials.
- Build:
- tabs for sites, lines, assumptions, estimate summary, open items.
- Verification:
- workbook content tests.
- Exit criteria:
- export includes all required sections and consistent IDs.
Phase 24 - PDF Summary Packet v1
- Goal: produce concise executive summary PDF.
- Build:
- project overview, counts, savings highlights, next actions.
- Verification:
- render and content smoke tests.
- Exit criteria:
- packet is attachable and readable by non-technical stakeholders.
Phase 25 - Save/Resume Reliability Hardening
- Goal: guarantee stable resume across sessions and tabs.
- Build:
- durable autosave with conflict-safe merges.
- Verification:
- resume regression tests.
- Exit criteria:
- no data loss in interrupted sessions.
Phase 26 - Workspace Activity Feed
- Goal: improve transparency across contributors.
- Build:
- event feed with filters (changes, assignments, exports, submissions).
- Verification:
- feed ordering tests.
- Exit criteria:
- team can audit progress without opening every section.
Phase 27 - Internal Handoff to Masters Ops
- Goal: formalize handoff package and API/event.
- Build:
- handoff payload contract.
- submission receipt tracking.
- Verification:
- contract + integration tests.
- Exit criteria:
- handoff package is complete and machine-parseable.
Phase 28 - Follow-Up Task Queue
- Goal: manage outstanding items after handoff.
- Build:
- owner, due date, status, notes.
- Verification:
- queue workflow tests.
- Exit criteria:
- unresolved dependencies are tracked until closure.
Phase 29 - Notification Hooks
- Goal: notify contributors about assignments/status changes.
- Build:
- in-app notification and optional email hook.
- Verification:
- notification trigger tests.
- Exit criteria:
- assigned users receive timely prompts.
Phase 30 - Helper Bot Context Bridging
- Goal: let helper chatbots answer within active project context.
- Build:
- project-context payload to helper endpoints.
- Verification:
- context propagation tests.
- Exit criteria:
- helper responses reference current project facts.
Phase 31 - Plain-English Copilot Answers
- Goal: return full-sentence guidance with low jargon.
- Build:
- response style contract and lint checks.
- Verification:
- response-format tests.
- Exit criteria:
- answers are concise, clear, and actionable.
Phase 32 - External Research Assist (Guarded)
- Goal: support web-sourced insights only when internal docs are weak.
- Build:
- explicit web-source labeling and confidence tiers.
- Verification:
- source-labeling tests.
- Exit criteria:
- web-sourced content is clearly marked and not mixed silently.
Phase 33 - Performance Budgeting
- Goal: keep workspace responsive under realistic project sizes.
- Build:
- latency budgets per endpoint/stage.
- Verification:
- synthetic performance tests.
- Exit criteria:
- p95 within agreed thresholds.
Phase 34 - Error Recovery UX
- Goal: graceful recovery from network/API failures.
- Build:
- retry flows, offline warnings, unsaved-change prompts.
- Verification:
- failure-mode UI tests.
- Exit criteria:
- no silent failures, clear recovery path always present.
Phase 35 - Security & PII Logging Review
- Goal: ensure SOC2-style defaults remain enforced.
- Build:
- PII-safe logging checks, token-handling review, secret scan.
- Verification:
- security checklist and tests.
- Exit criteria:
- no sensitive data leakage in logs or client payloads.
Phase 36 - Contract Freeze for Integrations
- Goal: freeze API + export contracts for dependent teams.
- Build:
- versioned contracts and migration notes.
- Verification:
- contract snapshot tests.
- Exit criteria:
- downstream integrations can adopt without breakage.
Phase 37 - UAT Pilot (Internal Sales + SE)
- Goal: validate with real workflows and feedback loops.
- Build:
- pilot script, scoring rubric, issue triage board.
- Verification:
- pilot completion report.
- Exit criteria:
- blockers triaged and prioritized.
Phase 38 - Enablement Package
- Goal: prepare launch materials for internal teams.
- Build:
- quick-start guide, walkthrough video/script, FAQ.
- Verification:
- dry-run with pilot users.
- Exit criteria:
- new users can onboard without live handholding.
Phase 39 - Production Readiness Gate
- Goal: go/no-go with measurable criteria.
- Build:
- readiness checklist across quality, security, performance, support.
- Verification:
- gate sign-off artifact.
- Exit criteria:
- release criteria explicitly met.
Phase 40 - Launch + Continuous Optimization
- Goal: release and establish operating cadence.
- Build:
- launch metrics dashboard.
- weekly optimization backlog loop.
- Verification:
- first 30-day adoption and cycle-time report.
- Exit criteria:
- measurable reduction in quote cycle time and rework.
Immediate Execution (Now)
- Start with Phase 1 implementation in this cycle.
- Keep external customer contribution design in Phase 2 as requested.