gigafibre-fsm/docs/HANDOFF.md
louispaulb 41d9b5f316 feat: flow editor, Gemini QR scanner with offline queue, dispatch planning v2
Major additions accumulated over 9 days — single commit per request.

Flow editor (new):
- Generic visual editor for step trees, usable by project wizard + agent flows
- PROJECT_KINDS / AGENT_KINDS catalogs decouple UI from domain
- Drag-and-drop reorder via vuedraggable with scope isolation per peer group
- Chain-aware depends_on rewrite on reorder (sequential only — DAGs preserved)
- Variable picker with per-applies_to catalog (Customer / Quotation /
  Service Contract / Issue / Subscription), insert + copy-clipboard modes
- trigger_condition helper with domain-specific JSONLogic examples
- Global FlowEditorDialog mounted once in MainLayout, Odoo inline pattern
- Server: targo-hub flow-runtime.js, flow-api.js, flow-templates.js
- ERPNext: Flow Template/Run doctypes, scheduler, 5 seeded system templates
- depends_on chips resolve to step labels instead of opaque "s4" ids

QR/OCR scanner (field app):
- Camera capture → Gemini Vision via targo-hub with 8s timeout
- IndexedDB offline queue retries photos when signal returns
- Watcher merges late-arriving scan results into the live UI

Dispatch:
- Planning mode (draft → publish) with offer pool for unassigned jobs
- Shared presets, recurrence selector, suggested-slots dialog
- PublishScheduleModal, unassign confirmation

Ops app:
- ClientDetailPage composables extraction (useClientData, useDeviceStatus,
  useWifiDiagnostic, useModemDiagnostic)
- Project wizard: shared detail sections, wizard catalog/publish composables
- Address pricing composable + pricing-mock data
- Settings redesign hosting flow templates

Targo-hub:
- Contract acceptance (JWT residential + DocuSeal commercial tracks)
- Referral system
- Modem-bridge diagnostic normalizer
- Device extractors consolidated

Migration scripts:
- Invoice/quote print format setup, Jinja rendering
- Additional import + fix scripts (reversals, dates, customers, payments)

Docs:
- Consolidated: old scattered MDs → HANDOFF, ARCHITECTURE, DATA_AND_FLOWS,
  FLOW_EDITOR_ARCHITECTURE, BILLING_AND_PAYMENTS, CPE_MANAGEMENT,
  APP_DESIGN_GUIDELINES
- Archived legacy wizard PHP for reference
- STATUS snapshots for 2026-04-18/19

Cleanup:
- Removed ~40 generated PDFs/HTMLs (invoice_preview*, rendered_jinja*)
- .gitignore now covers invoice preview output + nested .DS_Store

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 10:44:17 -04:00

4.8 KiB

Gigafibre FSM — Handoff Index

Purpose: one-page map of every doc in this repo. Pick the path for your role, read in order, stop when you have enough.

Last refreshed: 2026-04-18


Start here (everyone)

# Doc Why
1 STATUS_2026-04-18.md 10-minute snapshot: where the system stands today, what just shipped, what's next
2 ARCHITECTURE.md Service map: ERPNext, Ops PWA, targo-hub, DocuSeal, Authentik, Traefik
3 ROADMAP.md Phases 1 → 5 with completion status

If you only have 15 minutes, read those three.


By role

New engineer joining the project

  1. STATUS_2026-04-18.md — orientation
  2. ARCHITECTURE.md — services and how they talk
  3. DATA_AND_FLOWS.md — ERPNext doctypes + wizard flows
  4. APP_DESIGN_GUIDELINES.md — UI conventions (light mode default, dispatch dark mode exception)
  5. Clone the repo, read README.md, then the apps/ops and services/targo-hub READMEs

Stakeholder / non-technical reader

  1. STATUS_2026-04-18.md — TL;DR + "Where we are" table
  2. Gigafibre-FSM-Features.pptx — feature deck
  3. Gigafibre-Billing-Handoff.pptx — billing migration deck
  4. ROADMAP.md — what's done vs. queued

Accountant / billing ops

  1. BILLING_AND_PAYMENTS.md — full billing architecture, Stripe flow, subscription logic
  2. STATUS_2026-04-18.md §"ERPNext customizations" — custom fields on Item / Quotation Item / Sales Invoice Item
  3. Gigafibre-Billing-Handoff.pptx — visual walkthrough

Dispatcher / field ops lead

  1. STATUS_2026-04-18.md §"Features inventory" — Ops, Dispatch, Field
  2. DATA_AND_FLOWS.md — Issue → Job → Technician flow
  3. CPE_MANAGEMENT.md — CPE lifecycle, GenieACS, modem-bridge

Infrastructure / DevOps

  1. ARCHITECTURE.md — network + container map
  2. STATUS_2026-04-18.md §"Integrations" — external services and credentials location
  3. CPE_MANAGEMENT.md — GenieACS + OLT + SNMP

Document catalog

Doc What it covers When to read
STATUS_2026-04-18.md Full state snapshot, features, integrations, known issues, gotchas Always first
ARCHITECTURE.md Services, containers, networks, routes Onboarding or infra changes
ROADMAP.md Phase plan with checkboxes Planning or standups
DATA_AND_FLOWS.md Data model and user/workflow flows Building features that touch ERPNext
BILLING_AND_PAYMENTS.md Subscription lifecycle, invoice generation, Stripe, payment reconciliation Billing work
CPE_MANAGEMENT.md CPE database, GenieACS, provisioning, diagnostics CPE or network work
APP_DESIGN_GUIDELINES.md UI tokens, theming, component conventions Frontend work
Gigafibre-FSM-Features.pptx Feature deck for demo / training Sharing with non-engineers
Gigafibre-Billing-Handoff.pptx Billing deck for finance handoff Sharing with finance team
archive/ Deprecated docs kept for reference Historical questions only

Conventions used across these docs

  • Status emoji: shipped · 🚧 in progress · 🆕 just shipped this cycle · ⏸ paused · 🗃 legacy/read-only
  • Brand: "Gigafibre" = consumer-facing brand, "TARGO" = parent company (both appear; not a rename)
  • Environments: production-only at erp.gigafibre.ca. Legacy DB on 10.100.80.100 is read-only.
  • Dates: always ISO (YYYY-MM-DD). "Current" means 2026-04-18 unless noted.

Where things live outside this repo

  • Memory notes: ~/.claude/projects/-Users-louispaul-Documents-testap/memory/ — context for Claude across sessions
  • Production server: ssh root@96.125.196.67 (ssh-agent + ~/.ssh/proxmox_vm)
  • ERPNext containers: frappe_docker-backend-1, frappe_docker-db-1 (PostgreSQL)
  • targo-hub: /opt/targo-hub/ on prod (volume-mounted lib/)
  • DocuSeal: /opt/docuseal/ on prod

Next doc-writing priorities

  • PROVISIONING.md — ONT/OLT/GenieACS workflow when onboarding a new subscriber
  • DEPLOY.md — step-by-step deploy for each app (currently scattered across feedback memory)
  • INCIDENTS.md — post-mortem log format + template

Add new docs to the catalog table above when you create them.