Commit Graph

49 Commits (5495b42e3012421ae63fb8d26d01470df18240c1)
 

Author SHA1 Message Date
Thomas Joise 5495b42e30 feat(hq): schedule monthly aws cost pull and owner-gated manual pull route
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise ea8c2b23ad feat(hq): company profile settings — owner-gated GET/PUT, audited
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise b7085ce56e feat(hq): payment receipts — own RCT/ series, zero-GST acknowledgment PDF
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 42cfa3d0b2 feat(hq): reports — dues aging, module revenue, client profitability with margin
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 51732df5e5 feat(hq): aws cost explorer ingestion — sigv4 signer and monthly tag-grouped pull
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 9d2eedc366 feat(hq): aws usage repo — upsert/list, cross-client cost ranking, routes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 3a09feab6f feat(hq): hq-3a schema — aws_usage table (per client per month)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 8267ef9257 docs: HQ-3a implementation plan (10 TDD tasks — reports, AWS costs, receipts, company profile)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 92fb5e6245 feat(hq-web): client 360 recurring, amc and interaction sections
Browser-walk fixes (Task 12 step 3): reload the reminder queue after a failed send so the row flips to 'failed' live, and reload AMC contracts after recording a payment so the Paid badge derives fresh.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise a9f78c4e3c feat(hq-web): client 360 recurring, amc and interaction sections
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 9e3886d0be feat(hq-web): dashboard money view with manual reminder queue as default route
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 06b5eb532c feat(hq): dashboard money view and 6-hourly scheduler wiring
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 7e1dcc1ad8 feat(hq): mailbox bounce detection with email_bounced reminders
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 1b14e49d86 feat(hq): recurring invoice generation with at-most-once auto-send
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 2d3b1a52a9 feat(hq): daily scan detection rules with idempotent reminders
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 3204a9af97 feat(hq): reminder email send reusing gmail, plus manual-queue routes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise a5f6b6fdaf feat(hq): reminder templates and idempotent reminder repo
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 868fe17a5d feat(hq): interaction log with types, follow-ups and routes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 0e66bd8ff8 feat(hq): amc contracts with renewal invoice and derived paid state
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 405ee2917f feat(hq): recurring plan repo and owner-gated routes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise c6a8058430 feat(hq): hq-2 schema — recurring/amc/interaction/reminder tables + bounce column + seeds
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise ea0bc146bb docs(security): SEC-A5 — /bills/offline commits bills with no authentication
Automated review (CRITICAL): route registered above requireAuth, identity
fields trusted from the body. Two fix options specified; must land before
any pilot. Companion to SEC-C6.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 1523ebbcce docs: HQ-2 implementation plan (12 TDD tasks — reminders, recurring, AMC, dashboard)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 507eec67f3 docs(security): SEC-C6 — override approval is client-asserted, audit forgery hole
Automated review flagged POST /api/bills trusting overrides[].approvedByUserId
from the client; verify-pin result never bound to the commit. Server-side
approval-token fix specified; must land before any pilot (Phase 1).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 406839659d chore: bring the full store-product codebase under version control
POS, back office, store-server, all packages, workspace configs, README/
BUILDING, and the WIP HQ-2 plan — everything except gitignored data
(client import staging, .env, local DBs).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise fbf39d7a51 docs+chore: HQ DDL snapshot, gitignored import-drop, Postgres locked pre-go-live (D15)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 7bc7976e4e chore: root typecheck now fans out to every workspace's own tsconfig
Closes the gap where app-level type errors escaped the standard gate
(root tsconfig covers packages/* only; apps each have their own).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 54d6a63e81 feat(hq): HQ-1.5 — module quote content, pack pick-lists, bundle isolation check
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 8c145d5a3b feat(hq-web): clients, modules, composer and document pages (HQ-1 task 16)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 10529beb42 docs(spec): module quote-content blocks + pack pick-lists (SMS 50k/1L) as HQ-1.5
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 3cfda5b55d docs: record one-repo/two-apps confirmation + HQ-DB-as-cloud-nucleus rule (D15)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise a08ab1aa79 feat(hq-web): react shell with login and email-status banner (HQ-1 task 15)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 3671c9c40f feat(hq): server assembly, build script and e2e smoke (HQ-1 task 14)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 4a025786aa feat(hq): seed + apex csv importer with verification and series seeding (HQ-1 task 13)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 60d5d38d92 feat(hq): one-time gmail oauth connect script (HQ-1 task 12)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 94734d04bf feat(hq): gmail send with token-death handling and email log (HQ-1 task 11)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 8c90b09595 feat(hq): letterhead HTML templates and puppeteer PDF (HQ-1 task 10)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 63b0d9932a docs(hq): comment ON CONFLICT portability quirk in doc series (D12 guardrail)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 5fc07b97ed feat(hq): payments with allocation, TDS and advances (HQ-1 task 9)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 21ccaff363 feat(hq): document lifecycle with GST compute and credit notes (HQ-1 task 8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 2710455b78 feat(hq): seedable per-FY document series (HQ-1 task 7)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 78771dad8d feat(hq): client-module lifecycle tracking (HQ-1 task 6)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise fa8bb9c50a feat(hq): module catalog with dated price book (HQ-1 task 5)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 9e4d53fb65 feat(hq): client registry with GSTIN validation (HQ-1 task 4)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise ac7aa891db feat(hq): staff auth with sessions and owner gate (HQ-1 task 3)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 89e468eeda feat(hq): sqlite schema + audit log (HQ-1 task 2)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise d17726941f feat(hq): app skeleton with health endpoint (HQ-1 task 1)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise 5c3c13c9d3 docs: HQ-1 implementation plan (16 TDD tasks)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago
Thomas Joise cb5df2f0d6 docs: HQ ops console spec (D15) + roadmap/decisions updates
New docs/14-SPEC-HQ-CONSOLE.md: internal ops console (apps/hq) for the
~300 Classic clients - quotations/proforma/invoices in minutes with Gmail
send, recurring billing + reminders, AMC, per-client AWS cost, interaction
log; replaces the internal Oracle APEX app. Doc-11 HQ Console started early.

Also: HQ workstream in 04-ROADMAP, D15 in 06-DECISIONS, cross-refs in
doc 11 + STATUS. First commit of the docs baseline (00-17).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 weeks ago