Internal documentation
Four kinds of document, because they have four different jobs. Reference is generated from the code and cannot go stale; everything else is written by a person and carries an owner.
Reference
11 documentsWritten by CI from the code on every merge. Cannot go stale — if one of these is wrong, the generator is wrong.
- GraphQL API (68 queries, 93 mutations)
- Backend ↔ mobile contract
- Scheduled jobs (24 active, 4 disabled)
- Customer emails (28 templates)
- Data model (53 collections, 15 embedded types)
- Documentation freshness
- Environment variables (91)
- Infrastructure
- Admin permissions (16)
- Push notifications (12 types, 9 deeplinks)
- Vocabulary drift
How it works
6 documentsWhy the system is built the way it is. Owned, reviewed on a schedule.
Runbooks
6 documentsDoing a specific operational job.
Decisions
10 documentsFrozen records of a decision at a point in time. Never updated — superseded by a new record instead.
- Bundle Run Redesign — Execution Plan (Tracker)
- Bundle Run Redesign — Payments, Automation & Bundul-ing
- Docs move into a database
- Admin "All Money Movements" tab
- Payment Charge-Gating & Resilience Plan
- Payment Resilience Hardening
- Payment Resilience — Research & Findings
- Split Conversion — converting an existing single One Sub to split payment
- True-Up Withdrawal — Schedule on Passport (not our cron)
- Utility bills: telling customers what's coming, and keeping their monthly price honest
Archive
9 documentsFinished work and one-off investigations. Kept for history only.
- api migration.md
- Bundul Engineering Quality Plan
- Executive Brief: Multi-Provider Email Integration
- Split conversion — first live run (betatesting@bundul.io, 2026-08-17)
- Split Payment — Frontend Integration Guide
- test strategy.md
- Utility bill insights — executive brief
- Utility bill insights — what the mobile app needs to build
- Virtual Card Lifecycle: CPX Concepts & Bundul Approach