Watched subjects
403 Patient Witness
The standing watch
This surface is forbidden to everyone but you. Unlock the watch — health, spend, books, gated repair, and counsel when there is history to learn from.
Default is domain. Change with ADMIN_PASSWORD in .env.
Overview
The Vigil
The standing watch over The Domain. Not a customer product. Not ARC. Chambers below hold the charter — only The Pulse is the first slice to wire.
Known live
Local port
Health · first slice
The Pulse
Whether Fair Copy Bias, The Athenaeum, The Cartographer, Maethrillian.Domains, ARC, and this app itself are actually up. This app reports its own health. Sibling probes are not wired yet — the cards wait honestly.
Does not ping siblings. That comes when probes exist.
Sustainability · later
The Burn
Each application’s usage and the cost that follows. The meter is empty until collection exists. This page holds the reading.
| Application | Usage | Cost | Period |
|---|
Second slice. No invented numbers.
Finance · operations
The Books
Choose an entity, then open Year End, financial reports, or that entity’s settings. The Books is not only year-end.
Select entity
Choose a surface
Forerunner Appliance Services
—
Statement gaps
Open requests
Pack due
True North checklist
Statuses save as you change them
4f · Significant changes
6–7 · Address & CPA
4b · Sales
Download the fiscal-year sales summary spreadsheet for the accountant pack. Sheets: totals, outstanding invoices, the full register, and line detail.
4e · Inventory @ Aug 31
Year-end snapshot spreadsheet (template → fill → upload).
Income
Jack-only: invoices, line categories, payments ↔ bank deposits. Accountant packs stay proprietary — do not name the vendor on CPA exports.
—
—
Category totals
Gross invoices $ —
Click a category (e.g. Uncategorized) to assign line categories.
Sync to load line categories.
Lines
Invoices
Expand for line items + payments. Open in ops app opens a new tab.
No invoices yet — Sync after connecting in Entity settings.
Matched chains
Invoice → payment → deposit
No chains yet — Sync after connecting in Entity settings.
Outliers
Unbalanced income — queued as income_match requests. September deposits with no match can Search prev. FY (last 3 months of prior year).
No outliers.
Browse by month
E-transfer notes
Statement e-transfers land here as stubs. Inbound matches auto-label as Payment for invoice #… with the client as counterparty. Edit purpose on each row.
—
Log a note before the statement lands
Bulk statement upload
Drop many PDFs at once. BMO CC files labeled by
ending date map to that month
(e.g. November 5th 2025 → 2025-11).
Prefer names with ending dates, or set defaults below.
Closing August needs the Aug ending PDF
and the Sep ending PDF (bridge). CSV is optional.
Single upload
Task 1 — PDF per month; Aug close needs Aug + Sep ending PDFs (13 per account)
Coverage
| Account | Period | Need | CSV (opt.) |
|---|
Uploaded files
Statement ledger
Extract line items from vault PDFs (local only). Re-scan replaces rows for that document. After a parser fix, click Run scan to refresh amounts/dates/EFT flags — and rematch email receipts (see Receipts). EFT filter is Interac e-Transfer only (card payments stay kind=payment). Direction filters inbound vs outbound.
—
Receipts
Scan Gmail invoice labels, then match to ledger lines. Scan FY = since pack FY start (background).
—
Scan labels
Exact Gmail IMAP paths. Add a vendor label when you create one in Gmail — save once for every future scan.
No labels yet — add one above.
Ingested receipts
Matched expenses and outstanding lines. Each receipt link opens that file only.
Expenses
Built from statement purchases and fees, plus personally paid rows that are not already on a statement line. Receipt match state comes from ingested receipts. Transfers, card paydowns, deposits, and non-business lines stay off this sheet until they have an expense category. Uncategorized purchases are listed and kept out of the included total.
—
Included
Needs category
Missing receipts
Receipts not on a line
Unmatched receipt emails. Not added to the total.
Create log request
Notify target is set in entity settings
Open requests
Attention queue for EFT detail, missing receipts, uncategorized lines, large outlays, and income match gaps. Refresh rebuilds from the live ledger without wiping resolved history.
5c · Personally paid
5a · Mileage
Business km this FY: 0
5b · Home office month
Coming later
Financial reports
Live operational finance for this entity will land here — not year-end only. Nothing invented until the feed exists.
Entity configuration
Settings
Jack-tunable variables for this entity. Change them here — do not hard-code them in chamber logic.
Repair · later, gated
The Gate
When something goes down, investigate and restore — Cursor-backed, never silent. Propose first. Act only with your explicit approval. Nothing waits at the gate yet.
Proposal queue
Empty until a probe fails and a proposal is written
The gate is shut. That is the correct state.
A future proposal will name the subject, the finding, the intended repair, and wait here until you open the gate.
Pattern, not live
How a proposal will look
- Subject
- The watched app that went down
- Finding
- What the investigation claims — not an auto-edit
- Intended act
- The repair, held until you approve
- State
- Proposed → approved → acted, never skipped
Recommend · after history
The Counsel
Better performance. Lower spend. Possible new income. Counsel is mute until The Pulse and The Burn have a past. There is no named ancilla yet; any in-app AI sits under Luminous Spark.
After history
Performance
What is slow, fragile, or over-provisioned — once there is a record of how the system actually behaves.
After history
Cost
Where spend can fall without starving a working app.
After history
New income
Possible revenue the Domain is not capturing. Not a sales pitch — a reading of the books.