Integration health
What is connected, what is not, and what is blocking each one.
Nothing is connected. No adapter in this build has contacted a Como, Heartland, WooCommerce or Cloudflare system, and no credential exists anywhere in the repository.
Transaction sources
Scroll the table sideways to see every column.
| Source | What it would supply | State | Blocking |
|---|---|---|---|
| Como | Customer and transaction facts from the loyalty platform | Not connected | Five unknowns: auth, transaction endpoint, amount decomposition, customer identity, promo and refund reporting |
| Heartland Genius for Restaurants | In-store pickup transactions | Not connected | Adapter not written. The API surface is documented in docs/02-heartland-integration-decision.md; the partner-platform mapping is not. |
| WooCommerce Store API | Monday delivery orders from fitgrill.fit | Not connected | Adapter not written. Public read-only Store API is documented; no customer identity link to the other systems exists. |
| Fixture source | In-memory deterministic transactions for tests and this prototype | Configured | Working. This is what the prototype runs on. |
Feed warnings
A refund for an order that was never ingested means the feed is out of order. It is surfaced rather than swallowed, because the qualifying dollars behind it are wrong until it is resolved.
Scroll the table sideways to see every column.
| Warning |
|---|
| refund or chargeback references unknown order como:TXN-88213 |
| refund or chargeback references unknown order como:TXN-88477 |
Como readiness
Five questions have to be answered before the adapter can be written. Guessing any of them would put unverified revenue into partner credit calculations, which is the worst failure this system can have.
Scroll the table sideways to see every column.
| Unknown | Question | State |
|---|---|---|
| auth | Authentication scheme and credential provisioning for FitGrill's Como tenant. Not documented to this build. | Unanswered |
| transactions | The endpoint or export that lists paid transactions for a date range, and whether it is pull, push/webhook, or file drop. | Unanswered |
| decomposition | Whether Como reports product revenue, discount, tax, delivery fee, gratuity and applied loyalty credit as separate fields. Qualifying dollars cannot be computed from a total alone. | Unanswered |
| customer_identity | The stable customer identifier, and whether it is shared with the Heartland POS and the WooCommerce store, or needs cross-system identity resolution. | Unanswered |
| promo_and_refunds | How a promo code applied at checkout is reported, and how refunds, chargebacks and voids are represented and dated. | Unanswered |
Platform services
These are Nebula's to provide, not FitGrill's to build.
Scroll the table sideways to see every column.
| Port | What Nebula would provide | State |
|---|---|---|
| IdentityResolutionPort | Collapse customer records across commerce systems | blocked on OQ-20: no documented shared customer key |
| NotificationPort | Deliver messages outside the product | not started: no transport chosen, no opt-out model decided |
| AssetPort | Store and serve approved partner-facing content | not started: no approved resources exist yet |
| AuditSink | Append-only record of who did what | contract defined; no storage implementation |
Identity resolution is the one that changes money. FitGrill runs two commerce systems with different catalogs plus Como, and whether a person is one customer or three decides whether a referral qualifies at all. That is OQ-20, and the port refuses rather than guessing.