@topy-ai/maggie 0.7.52 → 0.7.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-zh-TW.md +28 -4
- package/README.md +93 -60
- package/bin/maggie.js +67 -12
- package/bundled-contracts/maggie-assistant-tools/booking-receptionist-example-v1.json +161 -0
- package/bundled-contracts/maggie-assistant-tools/tool-registry-v1.schema.json +268 -20
- package/bundled-contracts/maggie-deployment/bridge-host-example-v1.json +49 -7
- package/bundled-contracts/maggiedash/booking-email-templates-v1.json +181 -13
- package/bundled-contracts/maggiedash/booking-rules-v1.json +1699 -0
- package/bundled-contracts/maggiedash/stripe-booking-capabilities-v1.json +398 -39
- package/bundled-references/maggiedash-booking/PRD.md +22 -11
- package/bundled-references/maggiedash-booking/QA-TEST-PLAN.md +1 -1
- package/bundled-references/maggiedash-booking/RULES.md +167 -0
- package/bundled-references/maggiedash-booking/RUNTIME-OPERATIONS.md +2 -2
- package/bundled-references/maggiedash-booking/STRIPE-INTEGRATION.md +42 -4
- package/bundled-references/provider-adapter-contract.md +16 -3
- package/bundled-skills/catalog.json +1 -1
- package/bundled-skills/maggie-assistant-tools/SKILL.md +54 -3
- package/bundled-skills/maggie-assistant-tools/references/approvals-and-audit.md +27 -0
- package/bundled-skills/maggie-assistant-tools/references/booking-receptionist.md +45 -0
- package/bundled-skills/maggie-assistant-tools/references/bridge-host.md +54 -0
- package/bundled-skills/maggie-auth-reference/SKILL.md +18 -0
- package/bundled-skills/maggie-blog/SKILL.md +8 -0
- package/bundled-skills/maggie-booking/SKILL.md +66 -14
- package/bundled-skills/maggie-content-localization/SKILL.md +26 -0
- package/bundled-skills/maggie-dash/SKILL.md +28 -2
- package/bundled-skills/maggie-deployment/SKILL.md +48 -0
- package/bundled-skills/maggie-deployment/references/cloudflare.md +19 -0
- package/bundled-skills/maggie-deployment/references/vps.md +92 -0
- package/bundled-skills/maggie-design/SKILL.md +98 -3
- package/bundled-skills/maggie-design/references/app-ui-patterns.md +79 -0
- package/bundled-skills/maggie-feedback/SKILL.md +27 -2
- package/bundled-skills/maggie-marketplace/SKILL.md +12 -0
- package/bundled-skills/maggie-marketplace/references/directory-search.md +51 -0
- package/bundled-skills/maggie-marketplace/references/directory.mjs +112 -0
- package/bundled-skills/maggie-mobile-app/SKILL.md +65 -6
- package/bundled-skills/maggie-mobile-app/references/payments-and-push.md +78 -0
- package/bundled-skills/maggie-qa-workflow/SKILL.md +60 -0
- package/bundled-skills/maggie-seo-geo/SKILL.md +33 -0
- package/bundled-skills/maggie-service-booking/SKILL.md +28 -3
- package/bundled-skills/maggie-social-share/SKILL.md +56 -4
- package/bundled-skills/maggie-social-share/references/queue-and-connections.md +28 -0
- package/bundled-tools/clis/maggie_assistant_tools.py +84 -3
- package/bundled-tools/clis/maggie_booking.py +24 -12
- package/bundled-tools/clis/maggie_booking_connect_qa.py +136 -0
- package/bundled-tools/clis/maggie_booking_rules.py +476 -0
- package/bundled-tools/clis/maggie_bridge_host.py +77 -1
- package/bundled-tools/clis/maggie_dash.py +173 -3
- package/bundled-tools/clis/maggie_deployment_ops.py +524 -0
- package/bundled-tools/clis/maggie_design.py +15 -2
- package/bundled-tools/clis/maggie_design_bulk.py +290 -0
- package/bundled-tools/clis/maggie_design_lint.py +205 -3
- package/bundled-tools/clis/maggie_feedback.py +138 -28
- package/bundled-tools/clis/maggie_live_urls.py +138 -0
- package/bundled-tools/clis/maggie_localization.py +3 -0
- package/bundled-tools/clis/maggie_localization_keys.py +151 -0
- package/bundled-tools/clis/maggie_media_generate.py +174 -0
- package/bundled-tools/clis/maggie_mobile.py +219 -4
- package/bundled-tools/clis/maggie_product_release.py +49 -1
- package/bundled-tools/clis/maggie_qa_app_preflight.py +122 -4
- package/bundled-tools/clis/maggie_qa_fit.py +217 -0
- package/bundled-tools/clis/maggie_qa_workflow.py +5 -0
- package/bundled-tools/clis/maggie_schema_complexity.py +84 -0
- package/bundled-tools/clis/maggie_seo_routes.py +154 -0
- package/bundled-tools/clis/maggie_service_migration.py +272 -0
- package/bundled-tools/clis/maggie_social_queue.py +2 -0
- package/bundled-tools/clis/maggie_social_share.py +174 -7
- package/bundled-tools/integrations/maggie-api-pull.md +22 -0
- package/bundled-tools/runtime/assistant_approval.py +98 -0
- package/package.json +1 -1
- package/references/provider-adapter-contract.md +16 -3
- package/bundled-contracts/maggiedash/execution-board.json +0 -5463
- package/bundled-references/maggiedash-booking/CURRENT-STATE.md +0 -210
- package/bundled-references/maggiedash-booking/EXECUTION-BOARD.json +0 -5463
- package/bundled-references/maggiedash-booking/ORAWELLNESS-INTEGRATION-AUDIT.md +0 -270
- package/bundled-references/maggiedash-booking/PROGRESS.md +0 -279
- package/bundled-references/maggiedash-booking/README.md +0 -288
- package/bundled-references/maggiedash-booking/SKILLS-AND-CLI.md +0 -551
- package/bundled-references/maggiedash-booking/TASK-RUNBOOK.md +0 -107
- package/bundled-references/maggiedash-booking/TASKS.md +0 -178
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
# MaggieDash Booking workspace
|
|
2
|
-
|
|
3
|
-
This folder is the product and engineering documentation for the Booking
|
|
4
|
-
workspace at `/_maggie/booking`. The canonical current snapshot and gap list is
|
|
5
|
-
[`CURRENT-STATE.md`](./CURRENT-STATE.md); this README explains the surface and
|
|
6
|
-
links the deeper contracts.
|
|
7
|
-
|
|
8
|
-
The target is a first-party booking management system for store managers. It
|
|
9
|
-
must own the booking domain while keeping payment providers replaceable. Stripe
|
|
10
|
-
is the first adapter, not the database, booking engine, or public API contract.
|
|
11
|
-
|
|
12
|
-
## What is true today
|
|
13
|
-
|
|
14
|
-
This repository currently provides:
|
|
15
|
-
|
|
16
|
-
- the `maggie-service-booking` skill for provider-backed service catalogues,
|
|
17
|
-
variants, provider URLs, sync, factual validation, and service-page output;
|
|
18
|
-
- a provider-neutral booking adapter reference with Fresha as the first
|
|
19
|
-
catalogue provider and Google Calendar as a limited fallback;
|
|
20
|
-
- MaggieDash installation into `./_maggie/admin`;
|
|
21
|
-
- MaggieDash distribution of a separate `./_maggie/booking` React workspace,
|
|
22
|
-
Booking UI v1 and the provider-neutral Booking host adapter v1;
|
|
23
|
-
- a provider-neutral PostgreSQL Booking starter schema with idempotency, audit,
|
|
24
|
-
outbox, payment, hold, allocation, and database overlap constraints;
|
|
25
|
-
- `maggie booking install` (including explicit `--install-dependencies`, `--bootstrap`, the combined `--ready` path, and reviewed `--schedule systemd|cron` generation), `worker-schedule`, `inspect`, the read-only first-run `setup` checklist,
|
|
26
|
-
`contract`, `runtime-validate`, `ops-validate`, task-board, and fail-closed
|
|
27
|
-
`release-gate` checks in ai-cmo-skills;
|
|
28
|
-
- a non-destructive Astro host bootstrap that installs email/password auth,
|
|
29
|
-
first-owner registration, manager/public routes, PostgreSQL/Stripe wiring,
|
|
30
|
-
the schema command, Resend worker, and middleware rewrite starter;
|
|
31
|
-
- Booking access management for email/password staff, manager, and finance
|
|
32
|
-
accounts is covered by the installable `booking-access-v1` contract, including
|
|
33
|
-
granular permissions, Resend invitations, password reset, revocation,
|
|
34
|
-
disabled-account protection, staff-profile linking, and server-enforced
|
|
35
|
-
granular permissions;
|
|
36
|
-
- tenant-scoped Booking email template management for ten Resend events,
|
|
37
|
-
allowlisted variables, sandboxed preview, audited draft/publish/rollback, and
|
|
38
|
-
worker fallback resolution without exposing provider secrets or recipients;
|
|
39
|
-
- server-side staff assignment scope for bookings, calendar, availability,
|
|
40
|
-
customer summaries, schedule, resources, and lifecycle mutations;
|
|
41
|
-
- a source/install-side runtime plan regression gate for concrete route
|
|
42
|
-
parameters, query parameters, and mutation bodies;
|
|
43
|
-
- a protected operational-evidence workflow that rejects fixture artifacts at
|
|
44
|
-
the host release boundary;
|
|
45
|
-
- a separate public-noindex customer-flow contract and route handler for
|
|
46
|
-
catalogue, availability, holds, checkout start, payment-return recovery,
|
|
47
|
-
cancellation, token-bound customer rescheduling, customer-manage history,
|
|
48
|
-
waitlist joining, safe DTO
|
|
49
|
-
redaction, and notification intents;
|
|
50
|
-
- a tenant-scoped waitlist queue with manager filtering, priority/status
|
|
51
|
-
actions, audit records, a linked booking conversion transaction, and a Resend
|
|
52
|
-
availability-notification intent;
|
|
53
|
-
- a worker-side waitlist matcher that orders eligible entries by priority/FIFO,
|
|
54
|
-
persists the offered slot, and queues one idempotent Resend availability
|
|
55
|
-
notification without auto-reserving the appointment;
|
|
56
|
-
- separate short-lived payment tokens and 30-day sealed customer-manage
|
|
57
|
-
tokens, with Resend worker links for customer self-service follow-up;
|
|
58
|
-
- a public customer-manage history view that lists only redacted appointment
|
|
59
|
-
summaries for the tenant/customer bound to the 30-day token;
|
|
60
|
-
- a manager customer directory with searchable tenant-scoped customer details,
|
|
61
|
-
consent summary, and appointment history;
|
|
62
|
-
- editable schedule-rule management for working hours, staff shifts, time off,
|
|
63
|
-
and location closures without destructive snapshot writes;
|
|
64
|
-
- editable service and treatment catalogue management with stable service and
|
|
65
|
-
variant IDs, payment policy controls, search, and active/inactive status;
|
|
66
|
-
- editable location management with tenant-scoped timezone, locale, address,
|
|
67
|
-
active state, and online-booking controls;
|
|
68
|
-
- editable staff and resource management with assignment, bookable, capacity,
|
|
69
|
-
and active-state controls;
|
|
70
|
-
- editable Booking defaults for venue timezone/currency, accepting new
|
|
71
|
-
bookings, and automatic/manual payment capture policy;
|
|
72
|
-
- editable tenant-scoped treatment package catalogue with included treatment
|
|
73
|
-
quantities, package pricing, currency, expiry, and active state;
|
|
74
|
-
- manager-granted customer package entitlements with tenant/customer-scoped
|
|
75
|
-
balances, expiry checks, and atomic redemption when creating manager
|
|
76
|
-
bookings; public package checkout, provider reconciliation/webhook fulfillment,
|
|
77
|
-
manager purchase listing, and guarded package refund routes are included;
|
|
78
|
-
- Overview bookability readiness that identifies missing active locations,
|
|
79
|
-
catalogue variants, assigned bookable staff, working hours, payment
|
|
80
|
-
capability, and the resulting overall `bookable` state;
|
|
81
|
-
- manager booking creation driven by live catalogue, location, staff, and
|
|
82
|
-
resource selectors with required allocation;
|
|
83
|
-
- install-time configuration forms that read tenant locations and live service
|
|
84
|
-
assignments instead of relying on fixture IDs;
|
|
85
|
-
- an installable public customer booking page source and Astro route starter
|
|
86
|
-
for the same hold/checkout/pending-return journey;
|
|
87
|
-
- public multi-treatment selection with combined-duration availability, summed
|
|
88
|
-
checkout pricing, safe segment DTOs, segment-safe customer rescheduling, and
|
|
89
|
-
tenant location selection with location-scoped availability;
|
|
90
|
-
- a deterministic public customer reference-host journey validator covering
|
|
91
|
-
hold replay, checkout pending state, payment return, token-bound cancel, and
|
|
92
|
-
manager-session isolation;
|
|
93
|
-
- provider-neutral runtime rules and worker runner for availability, hold
|
|
94
|
-
expiry, payment webhook/reconciliation, priority/FIFO waitlist matching, and
|
|
95
|
-
notification outbox delivery;
|
|
96
|
-
- a dated Stripe API/resource/event audit and installable capability contract;
|
|
97
|
-
the host still supplies the concrete official SDK adapter;
|
|
98
|
-
- a manager Reports screen and tenant-scoped `/reports.json` read model for
|
|
99
|
-
period totals plus day, service, staff, and location breakdowns;
|
|
100
|
-
- venue-time manager booking displays and wall-clock inputs, with DST-gap
|
|
101
|
-
rejection and explicit choices for repeated fall-back times;
|
|
102
|
-
- an idempotent 24-hour reminder worker job that queues confirmed-booking
|
|
103
|
-
reminders into the existing Resend notification outbox;
|
|
104
|
-
- service-level payment policies (`full`, `deposit`, `pay_later`, and
|
|
105
|
-
`no_payment`), purpose-labelled payment attempts, captured/refunded payment
|
|
106
|
-
projection, and manager controls for deposits and outstanding balances;
|
|
107
|
-
- systemd/cron scheduling templates and a protected Playwright browser-evidence
|
|
108
|
-
capture/validation workflow;
|
|
109
|
-
- provider-neutral MaggieDash host, auth, activity, navigation, content, media,
|
|
110
|
-
migration, and runtime-evidence contracts;
|
|
111
|
-
- a PostgreSQL starter schema for MaggieDash content and audit records.
|
|
112
|
-
- a tenant-scoped Notifications screen for delivery-state inspection and
|
|
113
|
-
reasoned dead-letter replay, with recipient redaction and audit evidence.
|
|
114
|
-
- policy-safe cancellation settlement that allocates full/deposit refunds,
|
|
115
|
-
invokes the injected payment provider after the lifecycle write, returns
|
|
116
|
-
`manual_required` on provider failure, and queues accepted/pending refund
|
|
117
|
-
notices through the existing Resend outbox;
|
|
118
|
-
|
|
119
|
-
The manager workspace, distribution contracts, starter schema, provider-neutral
|
|
120
|
-
runtime rules, worker runner, scheduling templates, browser-evidence gate, and
|
|
121
|
-
customer-flow boundary are implemented locally. A secret-free reference host
|
|
122
|
-
and an Astro host scaffold are also available for contract/browser work. A host
|
|
123
|
-
must still apply the schema, prove PostgreSQL transactions, verify a real
|
|
124
|
-
payment account and webhook, enable notification delivery and tenant locking,
|
|
125
|
-
and capture authenticated browser/runtime/ops evidence against a dedicated
|
|
126
|
-
HTTPS test tenant before real bookings can be enabled. Test evidence workflows
|
|
127
|
-
must not target production; any production observation needs its own approved,
|
|
128
|
-
read-only plan.
|
|
129
|
-
Resend is the server-side notification and account-email transport. Staff
|
|
130
|
-
invitation, first-login setup, password reset, one-time token expiry, and
|
|
131
|
-
session revocation are implemented in the Astro host scaffold; real delivery
|
|
132
|
-
and browser evidence remain host deployment gates.
|
|
133
|
-
Stripe setup is likewise server-side: configure the host secret store, then
|
|
134
|
-
verify the account from Booking Overview. For a single-business host, an
|
|
135
|
-
owner/manager can alternatively enter both Stripe values in the secure
|
|
136
|
-
dashboard form; the host verifies them first and stores only encrypted
|
|
137
|
-
ciphertext derived from `BOOKING_TOKEN_SECRET`. Secret presence alone is only
|
|
138
|
-
`pending`; `connected` requires a successful API check, explicit Stripe
|
|
139
|
-
charges/payouts enablement, and a webhook secret. Raw Stripe credentials are
|
|
140
|
-
never returned by the API or stored as plaintext Booking data. Deployment
|
|
141
|
-
secrets take precedence over dashboard-managed credentials.
|
|
142
|
-
|
|
143
|
-
## Verification snapshot — 2026-09-28
|
|
144
|
-
|
|
145
|
-
This dated snapshot records the earlier 0.7.48 candidate review and 15-route
|
|
146
|
-
local browser smoke. It is historical; for the current task count, browser
|
|
147
|
-
contract, and release blockers, use [`CURRENT-STATE.md`](./CURRENT-STATE.md).
|
|
148
|
-
|
|
149
|
-
| Item | Current evidence |
|
|
150
|
-
|---|---|
|
|
151
|
-
| MaggieDash and ai-cmo source | MaggieDash package `0.2.11`; ai-cmo `0.7.48` (published) |
|
|
152
|
-
| Email-template boundary | Ten events, including `payment.no_show_fee`; confirmed bookings allow a host-supplied, escaped `arrivalNote` |
|
|
153
|
-
| ORA source CLI check | Local ai-cmo source `email-templates-contract` and `inspect --project` pass; the installed global package still carries the old nine-event contract and requires a package release/install readback |
|
|
154
|
-
| Regression evidence | MaggieDash `npm test`, 25 targeted ai-cmo Booking Python tests, and ORA email-template/customer validators pass; ORA Astro build passes |
|
|
155
|
-
|
|
156
|
-
## Historical verification snapshot — 2026-09-21
|
|
157
|
-
|
|
158
|
-
| Item | Current evidence |
|
|
159
|
-
|---|---|
|
|
160
|
-
| MaggieDash source | Package `0.2.8`, `HEAD`/`origin/main` [`9d99de7`](https://github.com/TOPY-AI-LTD/MaggieDash/commit/9d99de7); the working tree contains newer uncommitted Booking changes |
|
|
161
|
-
| Delivery board | 101 implementation tasks passed and 3 real-host evidence tasks pending (BK-030, BK-031, BK-032). The current browser contract requires all 17 manager routes across three viewports (51 screens), including Packages and Email templates; prior 45-screen captures are historical subset evidence. |
|
|
162
|
-
| Local code gates | MaggieDash `npm test`, contract/UI/security/customer/runtime validators, and Python task-board/link checks passed |
|
|
163
|
-
| Installer projection | The default public GitHub source installed 139 source artifacts plus 23 Astro host files in a fresh disposable project; dependency completion added the missing SSR adapter, and the installed host bootstrap validator, `maggie booking inspect`, and `astro build` all passed. Existing host deployment configs are preserved |
|
|
164
|
-
| Published npm parity | Local CLI source is `0.7.39`; npm still serves `@topy-ai/maggie@0.7.38`, which has the older Booking contract and needs a release/published-tarball verification |
|
|
165
|
-
| Access boundary | Standard Booking schema owns `maggiedash_booking_user_roles`; host access API, explicit permissions, linked `staff_id`, and repository data-scope checks passed |
|
|
166
|
-
| Reference host | 47 manager endpoint checks plus public customer-flow checks passed, including explicit no-show fee route coverage, location setup, package catalogue management, customer package grant/balance/redemption, public package redemption from hold to zero-price booking, package checkout/payment-return, Stripe connection verification, notification replay, and multi-treatment hold/checkout/reschedule |
|
|
167
|
-
| Local browser smoke | At this historical snapshot the browser contract covered 15 manager routes (`45` route/viewport screens). The current v2 contract now covers 17 routes and requires route-specific path/heading evidence; the earlier artifact is not reused as complete evidence. |
|
|
168
|
-
| Production proof | Not yet complete; reference-host and fixture artifacts are explicitly not production evidence |
|
|
169
|
-
|
|
170
|
-
## Current product limits
|
|
171
|
-
|
|
172
|
-
The local Booking release supports both manager-led and public customer package
|
|
173
|
-
redemption. After a confirmed package purchase, the customer can continue to
|
|
174
|
-
the public booking page; the server binds the entitlement to the customer's
|
|
175
|
-
email, locks the balance during checkout, and creates a zero-price confirmed
|
|
176
|
-
booking when all selected treatments are covered. A successful cancellation
|
|
177
|
-
restores each active redemption once and records the reversal; completed and
|
|
178
|
-
no-show visits remain consumed by policy. Memberships, gift cards, and
|
|
179
|
-
recurring appointments are not yet part of the v1 contract. No-show fees are
|
|
180
|
-
supported only through the separate consented, explicitly confirmed
|
|
181
|
-
off-session charge route; there is no automatic charge on status transition.
|
|
182
|
-
|
|
183
|
-
## Evidence inspected
|
|
184
|
-
|
|
185
|
-
| Evidence | What it establishes |
|
|
186
|
-
|---|---|
|
|
187
|
-
| `/home/balalior/Dev/MaggieDash/maggiedash.json` | Distribution targets `_maggie/admin` plus the separate `_maggie/booking` workspace |
|
|
188
|
-
| `/home/balalior/Dev/MaggieDash/backend/booking-adapter-contract.d.ts` | Booking host owns the email/password session, API prefix, manager service surface, and injected provider boundary |
|
|
189
|
-
| `/home/balalior/Dev/MaggieDash/contracts/booking-host-adapter-v1.json` | Current 47-endpoint Booking host contract and response policy, including treatment packages, customer package balances/redemption, package purchase/refund, Stripe verification, consented no-show fee charging, and notification inspection/replay |
|
|
190
|
-
| `/home/balalior/Dev/MaggieDash/contracts/booking-customer-surface-v1.json` | Current eleven-endpoint public customer boundary and noindex/idempotency policy, including package checkout/payment return |
|
|
191
|
-
| `/home/balalior/Dev/MaggieDash/package.json` | Current `0.2.8` package scripts and executable Booking validators |
|
|
192
|
-
| `skills/maggie-service-booking/SKILL.md` | Current provider-backed catalogue and booking-link scope |
|
|
193
|
-
| `references/provider-adapter-contract.md` | Existing provider-neutral booking/payment direction |
|
|
194
|
-
| `tools/clis/maggie_dash.py` | Installer maps both admin and Booking workspaces, plus root contracts/schema |
|
|
195
|
-
| `tools/clis/maggie_booking.py` | Booking installer plus inspect, contract, runtime, and release gates |
|
|
196
|
-
| `/home/balalior/Dev/MaggieDash/adapters/astro/host/` | Generic non-destructive Astro host scaffold for auth, routes, PostgreSQL, Stripe, schema, Resend worker, and middleware |
|
|
197
|
-
| `/home/balalior/Dev/MaggieDash/contracts/booking-email-templates-v1.json` | Ten-event tenant-scoped template contract and server-only Resend/recipient policy |
|
|
198
|
-
| `/home/balalior/Dev/MaggieDash/backend/booking/email-templates.mjs` | Provider-neutral fallback, placeholder allowlist, HTML escaping, and renderer |
|
|
199
|
-
|
|
200
|
-
## Documents
|
|
201
|
-
|
|
202
|
-
| Document | Diataxis role | Use it for |
|
|
203
|
-
|---|---|---|
|
|
204
|
-
| [PRD](./PRD.md) | Reference | Product scope, requirements, personas, and acceptance criteria |
|
|
205
|
-
| [Architecture](./ARCHITECTURE.md) | Explanation | System boundary, modules, state ownership, and runtime topology |
|
|
206
|
-
| [User journeys](./USER-JOURNEYS.md) | Tutorial / explanation | Manager, customer, staff, finance, and failure journeys |
|
|
207
|
-
| [Data flow](./DATA-FLOW.md) | Explanation / reference | DFD, events, consistency, and source-of-truth rules |
|
|
208
|
-
| [Data model](./DATA-MODEL.md) | Reference | Entities, constraints, indexes, and migration order |
|
|
209
|
-
| [Payment gateway](./PAYMENT-GATEWAY.md) | Reference / explanation | Provider port, Stripe adapter, webhooks, refunds, and future providers |
|
|
210
|
-
| [Stripe integration audit](./STRIPE-INTEGRATION.md) | Reference / runbook | Verified API matrix, webhook set, Tax/Billing/Terminal/Connect choices, and gift-card/referral boundary |
|
|
211
|
-
| [Host adapter](./HOST-ADAPTER.md) | Reference | Routes, payloads, auth, errors, and conformance evidence |
|
|
212
|
-
| [Skills and CLI](./SKILLS-AND-CLI.md) | How-to / reference | How ai-cmo-skills supports implementation, checks, and release gates |
|
|
213
|
-
| [Security and compliance](./SECURITY-COMPLIANCE.md) | Explanation / reference | Secrets, tenancy, audit, PCI scope, privacy, and operational controls |
|
|
214
|
-
| [QA plan](./QA-TEST-PLAN.md) | How-to / reference | Contract, state, concurrency, payment, browser, and release tests |
|
|
215
|
-
| [Runtime operations](./RUNTIME-OPERATIONS.md) | How-to / runbook | Worker jobs, webhook flow, notification outbox, cron/systemd, browser evidence, alerts and rollback |
|
|
216
|
-
| [Current state](./CURRENT-STATE.md) | Reference / runbook | Verified surface, release blockers, host sequence, and gaps |
|
|
217
|
-
| [Decision log](./DECISIONS.md) | Explanation | Durable architecture decisions and unresolved choices |
|
|
218
|
-
| [Execution board](./EXECUTION-BOARD.json) | Reference | Leaf tasks with dependencies, implementation files, tests, docs, and acceptance evidence |
|
|
219
|
-
| [Task runbook](./TASK-RUNBOOK.md) | How-to | Task → plan → implement → test → docs → progress operating loop |
|
|
220
|
-
| [ORA integration audit](./ORAWELLNESS-INTEGRATION-AUDIT.md) | Reference | Host-specific Booking, Stripe, Resend, migration, and production-readiness status |
|
|
221
|
-
|
|
222
|
-
## Diagrams
|
|
223
|
-
|
|
224
|
-
The source files live in [`diagrams/`](./diagrams/). Rendered images are linked
|
|
225
|
-
from the data-flow and architecture documents so the documentation does not
|
|
226
|
-
depend on GitHub Mermaid rendering.
|
|
227
|
-
|
|
228
|
-
- [System context](./diagrams/system-context.svg)
|
|
229
|
-
- [Manager journey](./diagrams/manager-journey.svg)
|
|
230
|
-
- [Booking data-flow diagram](./diagrams/booking-dfd.svg)
|
|
231
|
-
- [Payment sequence](./diagrams/payment-sequence.svg)
|
|
232
|
-
- [Booking state machine](./diagrams/booking-state-machine.svg)
|
|
233
|
-
|
|
234
|
-
Each diagram also has an editable `.mmd` source. Flowcharts include an
|
|
235
|
-
`.excalidraw` scene; the sequence and state diagrams intentionally include only
|
|
236
|
-
SVG and PNG because the renderer's editable-scene converter supports flowcharts
|
|
237
|
-
only.
|
|
238
|
-
|
|
239
|
-
## Recommended host rollout
|
|
240
|
-
|
|
241
|
-
1. Read [`CURRENT-STATE.md`](./CURRENT-STATE.md) and run the read-only install,
|
|
242
|
-
schema, contract, and build checks.
|
|
243
|
-
2. Back up the host database and rehearse restore into an empty disposable
|
|
244
|
-
database.
|
|
245
|
-
3. Apply Booking/access migrations only after owner approval, then register the
|
|
246
|
-
first owner and seed a staging location/catalogue/staff schedule.
|
|
247
|
-
4. Configure and verify Stripe test credentials plus the signed webhook secret.
|
|
248
|
-
5. Enable one worker scheduler with lock, alert, retry, and dead-letter proof;
|
|
249
|
-
verify Resend invitation, reset, reminder, waitlist, refund, package, and
|
|
250
|
-
no-show delivery.
|
|
251
|
-
6. Capture the 47-endpoint runtime, 51-screen browser, and ops evidence bundle;
|
|
252
|
-
run the final release gate before a one-location canary.
|
|
253
|
-
|
|
254
|
-
The detailed execution board is maintained by
|
|
255
|
-
[`EXECUTION-BOARD.json`](./EXECUTION-BOARD.json). Use
|
|
256
|
-
`maggie booking tasks validate` before starting a task and record the evidence
|
|
257
|
-
in [`PROGRESS.md`](./PROGRESS.md). A final delivery decision must require
|
|
258
|
-
runtime, browser, ops, and board evidence:
|
|
259
|
-
|
|
260
|
-
```bash
|
|
261
|
-
maggie booking release-gate --project . --require-runtime \
|
|
262
|
-
--evidence .maggie/booking/runtime-evidence.json \
|
|
263
|
-
--require-browser --browser-evidence .maggie/booking/browser/evidence.json \
|
|
264
|
-
--require-ops --ops-evidence .maggie/booking/ops-evidence.json \
|
|
265
|
-
--require-board
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
## Non-negotiable truths
|
|
269
|
-
|
|
270
|
-
- PostgreSQL is business truth.
|
|
271
|
-
- The availability engine and database constraints are booking truth.
|
|
272
|
-
- The payment gateway is payment truth, but never booking truth.
|
|
273
|
-
- A payment redirect is not proof of payment; a verified webhook or provider
|
|
274
|
-
read is required.
|
|
275
|
-
- A hold is a first-class record with an expiry and an idempotency key.
|
|
276
|
-
- All monetary values use integer minor units plus an ISO currency.
|
|
277
|
-
- All stored instants are UTC; venue-local input carries an IANA timezone.
|
|
278
|
-
- Manager actions are authenticated, authorized, idempotent, and auditable.
|
|
279
|
-
- Provider credentials stay server-side and never enter dashboard props or
|
|
280
|
-
browser bundles.
|
|
281
|
-
|
|
282
|
-
## Evidence boundary
|
|
283
|
-
|
|
284
|
-
The existing MaggieDash source and ai-cmo-skills contracts were inspected on
|
|
285
|
-
2026-09-21. Statements marked **current** describe repository evidence.
|
|
286
|
-
Statements marked **proposed** describe the implementation target and must not
|
|
287
|
-
be presented to a user as an already-supported feature until the relevant
|
|
288
|
-
contract, adapter, tests, and runtime evidence land.
|