gigafibre-fsm/docs/HANDOFF.md
louispaulb e50ea88c08 feat: unify vision on Gemini + port field tech scan/device into /j
- Invoice OCR migrated from Ollama (GPU-bound, local) to Gemini 2.5
  Flash via new targo-hub /vision/invoice endpoint with responseSchema
  enforcement. Ops VM no longer needs a GPU.
- Ops /j/* now has full camera scanner (TechScanPage) ported from
  apps/field with 8s timeout + offline queue + auto-link to Dispatch
  Job context on serial/barcode/MAC 3-tier lookup.
- New TechDevicePage reached via /j/device/:serial showing every
  ERPNext entity related to a scanned device: Service Equipment,
  Customer, Service Location, active Subscription, open Issues,
  upcoming Dispatch Jobs, OLT info.
- New docs/VISION_AND_OCR.md (full pipeline + §10 relationship graph
  + §8.1 secrets/rotation policy). Cross-linked from ARCHITECTURE,
  ROADMAP, HANDOFF, README.
- Nginx /ollama/ proxy blocks removed from both ops + field.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 11:26:01 -04:00

5.2 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
  4. VISION_AND_OCR.md — camera scanning workflow (barcodes, equipment labels, invoices) and offline queue

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
  4. VISION_AND_OCR.md — Gemini pipeline, AI_API_KEY config, hub /vision/* endpoints

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
VISION_AND_OCR.md Gemini-via-hub pipeline: barcode/equipment/invoice endpoints, scanner composable, offline retry queue Camera/scan/OCR work, onboarding anyone who'll touch /vision/*
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.