You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1df136a
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@
47
47
- Wallet xpub onboarding lives at `/wallet/settings`; invoices expect a configured wallet or redirect there.
48
48
-**Data hygiene:** As of 2025-11-16 the app only holds seed/test data—no real customers yet. Remove this note (and treat production emails accordingly) once live customer data exists.
49
49
- CryptoZing must remain watch-only: never put private keys or seed phrases into tracked repo files, app config, database seeders, fixtures, tests, or normal application flows. If local testnet funding keys are needed for developer-only scenario setup, keep them only in untracked local storage (for example under `.cybercreek/`) and outside the product boundary.
50
-
- Email delivery currently rewrites recipients to the CryptoZing catch-all via `MAIL_ALIAS_ENABLED/MAIL_ALIAS_DOMAIN` (set to `mailer.cryptozing.app` so Mailgun routes everything to Proton). Disable the aliasing before RC or any real-customer deployment.
50
+
- Email delivery currently rewrites recipients to the CryptoZing catch-all via `MAIL_ALIAS_ENABLED/MAIL_ALIAS_DOMAIN` (set to `mailer.cryptozing.app` so Mailgun routes everything to Proton). Disable the aliasing before open beta or any real-customer deployment.
51
51
-`SUPPORT_AGENT_EMAILS` controls which accounts are treated as support accounts, and `SUPPORT_ACCESS_HOURS` should remain the fixed server-side expiration window for temporary owner-granted support access.
52
52
- The CryptoZing.app domain is reserved solely for this project; feel free to provision DNS/subdomains/mail for app needs without saving it for other products.
53
53
- Set `APP_PUBLIC_URL` to whatever domain should appear in public invoice links (localhost for dev, `https://cryptozing.app` for production) so emails never point at the wrong host.
Copy file name to clipboardExpand all lines: docs/BACKLOG.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ _Last updated: 2026-04-08_
4
4
This is the canonical post-MVP backlog.
5
5
6
6
Use this file only for deferred or future work.
7
-
Anything still in RC scope belongs in [`docs/PLAN.md`](PLAN.md) and its linked canonical docs instead.
7
+
Anything still in open-beta scope belongs in [`docs/PLAN.md`](PLAN.md) and its linked canonical docs instead.
8
8
9
9
## Near-Term Product UX
10
10
1.**Invoices + Clients Search and Filtering**
@@ -43,21 +43,21 @@ _Carry-forward guardrail from active roadmap scope: suppress duplicate sends for
43
43
- Reuse `InvoicePaid` events and delivery log updates to emit notifications without polling.
44
44
45
45
6.**Notification Preference Expansion**
46
-
- Consider allowing issuers to configure alert thresholds per profile instead of keeping the RC-wide default threshold.
46
+
- Consider allowing issuers to configure alert thresholds per profile instead of keeping the open-beta-wide default threshold.
47
47
48
48
7.**Configurable Past-Due Reminder Cadence**
49
49
- Expose the hardcoded day-offset schedule (day 1, 7, 14 past due) as issuer-configurable notification settings.
50
-
-RC ships a sane fixed default; this item adds issuer control post-RC.
50
+
-The open beta ships a sane fixed default; this item adds issuer control post-open-beta.
51
51
52
52
8.**Custom Outbound Mail Logo Uploads**
53
53
- Allow issuers to upload a custom logo for outbound mail instead of only showing or hiding the default CryptoZing logo.
54
54
- Include storage, validation, replacement/removal, and email-client-safe fallback behavior.
55
-
- Keep this separate from the RC KISS mail-branding controls, which are limited to brand-shell text fields plus a default-logo on/off toggle.
55
+
- Keep this separate from the open-beta KISS mail-branding controls, which are limited to brand-shell text fields plus a default-logo on/off toggle.
56
56
57
57
## Support & Admin Roles
58
58
59
59
20.**Support agent / maintainer role separation**
60
-
- For RC, the support agent role doubles as the operational maintainer: one email allowlist, one dashboard, full visibility into both issuer grants and service health monitoring.
60
+
- For the open beta, the support agent role doubles as the operational maintainer: one email allowlist, one dashboard, full visibility into both issuer grants and service health monitoring.
61
61
- Post-MVP, split these into distinct roles if the team grows:
62
62
- A **maintainer** role that has access to the monitoring panel (queue depth, delivery failures, watcher health) but not to issuer grant browsing.
63
63
- A **support agent** role that has access to issuer grant browsing but not to the monitoring panel, if a dedicated support function separate from engineering is needed.
@@ -96,7 +96,7 @@ _Carry-forward guardrail from active roadmap scope: suppress duplicate sends for
- Separate product idea, not RC scope for CryptoZing itself.
116
+
- Separate product idea, not open-beta scope for CryptoZing itself.
117
117
- Explore a companion wallet app that can spend/send but does not receive, and only shares public derivation material with CryptoZing.
118
118
- Goal: reduce accidental outside receive activity on the same account namespace while keeping CryptoZing watch-only.
119
119
- Future direction to evaluate later: whether a tighter CryptoZing + companion-wallet pairing should be encouraged or even required in a future product generation.
Copy file name to clipboardExpand all lines: docs/CONTENT_PROMISES.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Content Promises Catalog
2
2
3
-
A living catalog of promises and expectations that customer-facing content sets about CryptoZing — both directly and implicitly. Maintained as content is written so the product can be trued up to it before RC (see MS19).
3
+
A living catalog of promises and expectations that customer-facing content sets about CryptoZing — both directly and implicitly. Maintained as content is written so the product can be trued up to it ahead of the open beta (see MS19).
4
4
5
5
## Why this exists
6
6
@@ -58,7 +58,7 @@ When an entry is a **critical omission** about a future product decision (for ex
58
58
59
59
## Reconciliation
60
60
61
-
Every major entry needs individual reconciliation before RC. Minor entries get a bulk verification pass. MS19 will include a phase to walk this catalog and either confirm the product honors each entry or trigger a content revision. New entries added after MS19 reconciliation will need to be caught in the next pre-release pass.
61
+
Every major entry needs individual reconciliation before the open beta. Minor entries get a bulk verification pass. MS19 will include a phase to walk this catalog and either confirm the product honors each entry or trigger a content revision. New entries added after MS19 reconciliation will need to be caught in the next pre-release pass.
- Primary next doc: [`docs/milestones/19_RC_HARDENING_OPS.md`](milestones/19_RC_HARDENING_OPS.md)
22
+
- Primary next doc: [`docs/milestones/19_OB_HARDENING_OPS.md`](milestones/19_OB_HARDENING_OPS.md)
23
23
- Most recently completed milestone doc: [`docs/milestones/x18_PRERELEASE_CONTENT_SEO.md`](milestones/x18_PRERELEASE_CONTENT_SEO.md)
24
24
25
25
## Published Release Target
26
-
-**First public release: mid-to-late 2027.** The RC milestone timeline (MS21, targeting 2026-08-11) covers the release candidate. The published release target accounts for post-RC work needed before an official first release.
26
+
-**First public release: mid-to-late 2027.** The open beta milestone timeline (MS21, targeting 2026-08-11) covers the open beta. The published release target accounts for post-open-beta work needed before an official first release.
27
27
28
28
## Active and Upcoming Milestones
29
29
| Status | ID | Milestone | Short intent | Target | Primary doc |
|[]| 20 | Mainnet Cutover Preparation | Define and rehearse env flips, wallet validation, mail sanity checks, and backout steps for mainnet cutover. | 2026-07-30 |[`docs/milestones/20_MAINNET_CUTOVER_PREP.md`](milestones/20_MAINNET_CUTOVER_PREP.md)|
33
-
|[]| 21 | CryptoZing.app Deployment (RC) | Deploy the RC under `cryptozing.app`, replace the GitHub Pages placeholder at `/` with the live app landing page without breaking the SEO baseline established in MS15, remove temporary mail aliasing, and complete rollout verification. | 2026-08-11 |[`docs/milestones/21_RC_DEPLOYMENT.md`](milestones/21_RC_DEPLOYMENT.md)|
33
+
|[]| 21 | CryptoZing.app Deployment (Open Beta) | Deploy the open beta under `cryptozing.app`, replace the GitHub Pages placeholder at `/` with the live app landing page without breaking the SEO baseline established in MS15, remove temporary mail aliasing, and complete rollout verification. | 2026-08-11 |[`docs/milestones/21_OB_DEPLOYMENT.md`](milestones/21_OB_DEPLOYMENT.md)|
34
34
35
35
## Completed Milestones
36
36
| Status | ID | Milestone | Short intent | Primary doc |
Copy file name to clipboardExpand all lines: docs/PRODUCT_SPEC.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Use [`docs/PLAN.md`](PLAN.md) for milestone order, current focus, and the primar
8
8
Use detailed docs under `docs/specs/` and `docs/milestones/` for local scope, acceptance criteria, and implementation-impacting notes.
9
9
10
10
## Canonical Doc Roles
11
-
-[`docs/PLAN.md`](PLAN.md): human-facing execution dashboard for RC milestone order, current focus, and the primary next doc.
11
+
-[`docs/PLAN.md`](PLAN.md): human-facing execution dashboard for open-beta milestone order, current focus, and the primary next doc.
12
12
-[`docs/BACKLOG.md`](BACKLOG.md): post-MVP and deferred work only.
13
13
-[`docs/UX_GUARDRAILS.md`](UX_GUARDRAILS.md): global UX, accessibility, and interaction rules.
14
14
-`docs/milestones/**`: milestone execution docs when a milestone is active or large enough to need detailed checklist tracking.
@@ -89,7 +89,7 @@ Issuers create invoices in USD, derive a unique Bitcoin receive address per invo
89
89
### Public links, print output, and outbound communication
90
90
- Public-share and email links must use `APP_PUBLIC_URL`.
91
91
- Public and print surfaces must honor public-safe boundaries and status-specific behavior defined in [`docs/specs/PRINT_PUBLIC_POLISH.md`](specs/PRINT_PUBLIC_POLISH.md) and [`docs/milestones/x13_UX_OVERHAUL.md`](milestones/x13_UX_OVERHAUL.md).
92
-
- Outbound mail in pre-production may be recipient-aliased via `MAIL_ALIAS_ENABLED` and `MAIL_ALIAS_DOMAIN`; this aliasing must be disabled before RC or real-customer use.
92
+
- Outbound mail in pre-production may be recipient-aliased via `MAIL_ALIAS_ENABLED` and `MAIL_ALIAS_DOMAIN`; this aliasing must be disabled before open-beta launch or real-customer use.
93
93
- Invoice send, receipt delivery, notification triggers, and delivery logging must remain auditable.
94
94
95
95
### Background processing and timing
@@ -100,8 +100,8 @@ Issuers create invoices in USD, derive a unique Bitcoin receive address per invo
100
100
### Active plan-linked requirements
101
101
- Automatic attribution hardening must make derivation state key-aware, preserve invoice key identity for auditability, detect and flag unsupported wallet reuse without hard-blocking the issuer, snapshot unsupported state onto newly created invoices while avoiding blanket retroactive invoice flagging, distinguish unsupported shared-wallet evidence from stale-address wrong-invoice reuse, reinforce the dedicated-account requirement in wallet and onboarding UX, and provide an auditable correction path for wrongly attributed on-chain payments.
102
102
- Mailer and alerts hardening must prevent duplicate outbound mail, support issuer-editable templates with safe variables and preview/reset flows, and keep payment-triggered outbound communication truthful and reviewable, including low-information payment acknowledgments plus issuer-reviewed client receipts; the detailed outbound-mail rules live in [`docs/specs/NOTIFICATIONS.md`](specs/NOTIFICATIONS.md).
103
-
- Post-payment onboarding should remain lightweight in RC: Part 1 still gets issuers to first invoice delivery, while Part 2 should activate only once a first paid invoice is receipt-eligible, suspend when ignore/reattribution review would make a receipt untruthful, and complete when the issuer sends the first reviewed client receipt.
104
-
- Mainnet cutover and RC deployment must preserve invoice integrity while switching environments, include a backout path, and verify alias-off mail behavior plus public-link correctness before real-customer rollout.
103
+
- Post-payment onboarding should remain lightweight for the open beta: Part 1 still gets issuers to first invoice delivery, while Part 2 should activate only once a first paid invoice is receipt-eligible, suspend when ignore/reattribution review would make a receipt untruthful, and complete when the issuer sends the first reviewed client receipt.
104
+
- Mainnet cutover and open-beta deployment must preserve invoice integrity while switching environments, include a backout path, and verify alias-off mail behavior plus public-link correctness before real-customer rollout.
105
105
106
106
## Canonical Spec Map
107
107
- Rates and BTC/USD behavior: [`docs/specs/RATES.md`](specs/RATES.md)
@@ -116,7 +116,7 @@ Issuers create invoices in USD, derive a unique Bitcoin receive address per invo
116
116
- Support access: [`docs/specs/SUPPORT_ACCESS.md`](specs/SUPPORT_ACCESS.md)
117
117
- Cross-cutting UX and accessibility rules: [`docs/UX_GUARDRAILS.md`](UX_GUARDRAILS.md)
118
118
- Docs and contributor-experience scope: [`docs/ops/DOCS_DX.md`](ops/DOCS_DX.md)
- Additional wallet storage exists, but invoice-level multi-wallet selection remains deferred to post-MVP and is tracked in [`docs/BACKLOG.md`](BACKLOG.md).
DESCRIPTION:Deploy the open beta under cryptozing.app, replace GitHub Pages placeholder, remove temporary mail aliasing, complete rollout verification.
0 commit comments