@@ -149,15 +149,16 @@ chittyfinance/
149149│ ├── worker.ts # Cloudflare Workers entry point
150150│ ├── index.ts # Legacy Express entry (standalone dev)
151151│ ├── routes.ts # Legacy Express routes (reference only)
152- │ ├── routes/ # Hono route modules (20 files)
152+ │ ├── routes/ # Hono route modules (22 files)
153153│ │ ├── health.ts # /health, /api/v1/status
154154│ │ ├── docs.ts # /api/v1/documentation (OpenAPI spec)
155155│ │ ├── accounts.ts # /api/accounts
156156│ │ ├── summary.ts # /api/summary
157157│ │ ├── tenants.ts # /api/tenants
158158│ │ ├── properties.ts # /api/properties (CRUD + financials + rent roll + P&L)
159- │ │ ├── transactions.ts # /api/transactions
159+ │ │ ├── transactions.ts # /api/transactions (+ CSV/OFX/QFX export)
160160│ │ ├── integrations.ts # /api/integrations
161+ │ │ ├── allocations.ts # /api/allocations (inter-company rules + execution)
161162│ │ ├── tasks.ts # /api/tasks
162163│ │ ├── ai.ts # /api/ai-messages
163164│ │ ├── mercury.ts # /api/mercury (via ChittyConnect)
@@ -168,8 +169,9 @@ chittyfinance/
168169│ │ ├── forensics.ts # /api/forensics (21 endpoints)
169170│ │ ├── valuation.ts # /api/properties/:id/valuation (multi-source AVM)
170171│ │ ├── session.ts # /api/session (KV-backed cookie auth)
171- │ │ ├── import.ts # /api/import (TurboTenant CSV + Wave sync)
172- │ │ └── webhooks.ts # Stripe/Mercury webhooks
172+ │ │ ├── email.ts # /api/email (Cloudflare Email Service)
173+ │ │ ├── import.ts # /api/import (TurboTenant, Mercury, HD Pro, Amazon CSV + Wave sync)
174+ │ │ └── webhooks.ts # Stripe/Mercury/Wave webhooks (per-tenant HMAC)
173175│ ├── middleware/ # auth, tenant, error middleware
174176│ ├── storage/ # SystemStorage (Drizzle queries)
175177│ ├── db/ # connection.ts (Neon HTTP), schema.ts
@@ -192,7 +194,7 @@ chittyfinance/
192194├── shared/ # Shared types and schemas
193195│ └── schema.ts # Legacy schema with forensic tables (integer-ID)
194196└── deploy/
195- └── system-wrangler.toml # Cloudflare Workers config
197+ └── system-wrangler.jsonc # Cloudflare Workers config (JSONC)
196198```
197199
198200## Database Architecture
@@ -879,57 +881,77 @@ VALUES ('demo', 'any_value', 'Demo User', 'demo@example.com', 'user');
879881- ✅ Hierarchy-aware tenant switcher with consolidated portfolio view (PR #52 )
880882
881883### Phase 1.5: Hono Route Migration (COMPLETED)
882- - ✅ All 17 route modules migrated from Express to Hono
884+ - ✅ All route modules migrated from Express to Hono (22 route files)
883885- ✅ Edge-compatible: Web Crypto API, Neon HTTP driver, no Node.js dependencies
884886- ✅ Per-prefix middleware registration (avoids blocking public routes)
885887- ✅ Deployed to Cloudflare Workers at ` finance.chitty.cc `
886- - ✅ 30/30 tests passing
888+ - ✅ Dev server migrated to Hono ( ` server/dev.ts ` ), 15 legacy lib modules deleted (PR # 81 )
887889
888890### Phase 2: ChittyConnect Integration (Partially Completed)
889891- ✅ Mercury Bank via ChittyConnect backend (multi-account support)
890892- ✅ Registered with ChittyRegistry (` did:chitty:REG-XE6835 ` , PR #49 )
893+ - ✅ Log to ChittyChronicle (audit trail for classification + COA mutations, PR #92 )
894+ - ✅ JWT session auth behind ChittyAuth (PR #96 )
891895- ⏳ Integrate with ChittyConnect MCP
892- - ⏳ Log to ChittyChronicle
893- - ⏳ Use ChittyAuth tokens
896+ - ⏳ Issue ChittyCert certificates for secure connections
894897
895898### Phase 3: Real Third-Party Integrations (COMPLETED ✅)
896899- ✅ ** Wave Accounting** - OAuth 2.0 flow + GraphQL API (` server/lib/wave-api.ts ` )
897900- ✅ ** Stripe** - Payment processing, checkout, webhooks (` server/lib/stripe.ts ` )
898901- ✅ ** Mercury Bank** - Multi-account via ChittyConnect (static egress IP)
899- - ✅ ** OAuth Security** - CSRF-protected state tokens (` server/lib/oauth-state.ts ` )
902+ - ✅ ** Mercury Native Webhooks** - Per-tenant HMAC-SHA256 verification, 7 registrations (PR #99 )
903+ - ✅ ** OAuth Security** - CSRF-protected state tokens (` server/lib/oauth-state-edge.ts ` )
900904- ✅ ** Integration Monitoring** - Config validation endpoint (` /api/integrations/status ` )
901- - ✅ ** Webhook Infrastructure** - Idempotent event processing (` webhook_events ` table)
902- - ~~ DoorLoop~~ - Sunset (mock code is cleanup candidate, not roadmap)
903-
904- ### Phase 4: Property Financial API (Partially Completed)
905+ - ✅ ** Webhook Infrastructure** - Idempotent event processing (KV-based dedup, 7-day TTL)
906+ - ~~ DoorLoop~~ - Sunset, all code removed (PR #78 , -35K lines)
907+
908+ ### Phase 3.5: COA Trust-Path + Classification (COMPLETED ✅)
909+ - ✅ Database-backed Chart of Accounts with 80 REI accounts seeded (PR #86 )
910+ - ✅ L0→L4 trust-path enforcement with concurrency-safe reconciled lock (PR #86 )
911+ - ✅ AI-assisted classification via GPT-4o-mini with defense-in-depth fallbacks (PR #87 )
912+ - ✅ Classification review UI with bulk-accept guardrails (PR #88 )
913+ - ✅ Admin COA editor with code-range validation (PR #89 )
914+ - ✅ Mercury webhook real-time classification at ingest (PR #90 )
915+ - ✅ Classification enhancements — bulk-accept opt-out, L3 audit trail, tenant settings (PR #94 )
916+ - ✅ Schedule E tax workspace + line summary (PRs #91 , #96 )
917+ - ✅ 246+ tests passing
918+
919+ ### Phase 4: Property Financial API + Data Import (COMPLETED ✅)
905920- ✅ ` property_valuations ` table in system schema
906921- ✅ Property/unit/lease CRUD in SystemStorage
907922- ✅ Financial aggregation methods (NOI, cap rate, cash-on-cash, occupancy, rent roll, P&L)
908923- ✅ Property mutation + financial endpoints (10 new routes in ` properties.ts ` )
909924- ✅ Multi-source valuation providers (Zillow, Redfin, HouseCanary, ATTOM, County)
910- - ✅ Confidence-weighted valuation aggregation
911- - ✅ Valuation routes (current, refresh, history)
925+ - ✅ Confidence-weighted valuation aggregation + valuation routes
912926- ✅ TurboTenant CSV import with deduplication
927+ - ✅ Mercury CSV import with account auto-resolution (PR #101 )
928+ - ✅ HD Pro CSV import (3K items, 24 job name normalizations) (PR #93 )
929+ - ✅ Amazon Business import (2K items, returns dedup, payment card tracking) (PR #93 )
913930- ✅ Wave sync import endpoint
914- - ✅ Valuation Tab component (` client/src/components/property/ValuationTab.tsx ` ) — generalized, takes ` propertyId ` prop
915- - ✅ Deployed to Cloudflare Workers (35 tests passing)
916- - ✅ Frontend property management UI (Add/Edit property, Add unit/lease dialogs, detail panel with 5 tabs)
917- - ✅ Lease expiration notifications (cron trigger + API endpoint + action queue + dashboard widget)
931+ - ✅ Frontend property management UI (Add/Edit property, units, leases, 5-tab detail panel)
932+ - ✅ Lease expiration notifications (cron trigger + API + dashboard widget, PR #70 )
918933
919934### Phase 5: ChittyOS Ecosystem Integration (Partially Completed)
920- - ✅ Replace demo auth with ChittyID (default login path with graceful email/password fallback)
921- - ✅ Expose financial data as MCP resources
922- - ✅ Log to ChittyChronicle (audit trail for classification + COA mutations)
935+ - ✅ Replace demo auth with ChittyID SSO via OAuth 2.0 PKCE (PR #72 )
936+ - ✅ Expose financial data as MCP resources (PR #92 )
937+ - ✅ Log to ChittyChronicle (PR #92 )
938+ - ✅ ChittyDiscovery self-registration + heartbeat (PR #79 )
939+ - ✅ Fractal scope projection via shared ` @chittyos/schema/scope-projector ` (PR #103 )
940+ - ✅ Governance workflow gates (PR #95 )
923941- ⏳ Issue ChittyCert certificates for secure connections
942+ - ⏳ Integrate with ChittyConnect MCP
924943
925- ### Phase 6: Advanced Features
944+ ### Phase 6: Advanced Features (COMPLETED ✅)
926945- ✅ Consolidated reporting across all entities (` server/lib/consolidated-reporting.ts ` )
927946- ✅ Multi-currency schema support (ISO 4217, PR #53 )
928- - Inter-company allocation automation
929- - Tax optimization and reporting
930- - Advanced AI forecasting (beyond GPT-4o)
931- - Mobile app (React Native)
932- - Export/import (CSV, QFX, OFX)
947+ - ✅ Inter-company allocation automation engine (PR #75 ) + management UI (PR #80 )
948+ - ✅ Transaction export CSV/OFX/QFX (PR #76 )
949+ - ✅ Complete ledger audit coverage across all financial mutations (PR #77 )
950+ - ✅ Cloudflare Email Service integration (PR #102 )
951+ - ✅ Wrangler config TOML → JSONC (PR #104 )
952+ - ⏳ Tax optimization and reporting (Schedule E data classified, export page shipped)
953+ - ⏳ Advanced AI forecasting (beyond GPT-4o)
954+ - ⏳ Mobile app (React Native)
933955
934956### Phase 7: furnished-condos.com (Planned)
935957- Cooperative marketplace for small furnished rental operators (under 10 units)
0 commit comments