Skip to content

docs: E01 wireframe states and deterministic generator#45

Merged
phuongnse merged 2 commits into
mainfrom
docs/e01-wireframe-states-and-generator
May 20, 2026
Merged

docs: E01 wireframe states and deterministic generator#45
phuongnse merged 2 commits into
mainfrom
docs/e01-wireframe-states-and-generator

Conversation

@phuongnse

@phuongnse phuongnse commented May 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add E01 state wireframes: verify-email-rate-limit, settings-org-upload-states, settings-org-usage-error, settings-org-deletion-scheduled.
  • Extend generate-screens.mjs for full E01 coverage; update F01/F02 wireframe callouts and screen inventory in wireframes.md.
  • Stabilize regeneration with per-screen deterministic seeds (runScreen) so editing one screen does not churn unrelated epics.
  • Introduce shared stateHeadline layout (icon + semantic title + short underline); compact auth cards; semantic text colors only.
  • Document patterns in wireframes.md and patterns.md.

Gate 1

Docs-only PR — dotnet test / npm run ci not required (no src/, tests/, or frontend/ changes).

Gate 2

  • Added/changed a library → not triggered
  • Established a new pattern → patterns.md (deterministic seed pitfall); wireframes.md (deterministic seed, stateHeadline, exports)
  • Completed a US layer → not triggered (wireframes only)
  • Wireframes → generate-screens.mjs + generate-wireframes.ps1 run; F01/F02 callouts updated

Gate 3

  1. New rule from test failure? No
  2. Invented invariant without AC? No
  3. Infrastructure footgun? No
  4. Non-obvious test setup? No
  5. Changed direction mid-task? Yes — documented auth outcome layout in wireframes.md
  6. Spec gap? No
  7. Incident-level doc in rules? No

Test plan

  • Review E01 SVGs: verify-email, email-confirmation, verify-email-rate-limit, new settings-org state screens
  • Run node docs/wireframes/generate-screens.mjs twice; confirm no file changes on second run
  • Run docs/scripts/generate-wireframes.ps1 if .excalidraw edited locally

Summary by CodeRabbit

  • Documentation
    • Added multiple new UI wireframes: registration error states, resend-rate-limit, deletion scheduled, access denied, free-plan, profile/save states, delete-modal states, and logo upload states.
    • Added a usage-error wireframe and expanded organization-management design references.
    • Updated existing authentication and verification wireframes (layout refinements and regenerated diagram metadata) and refined the email confirmation and pricing visuals.

Review Change Stack

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented May 20, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR adds and updates Excalidraw wireframes and linked feature docs: it introduces new registration and organization-settings wireframes (including a verify-email rate-limit state), updates F01/F02 feature docs to reference them, refines layout for email verification screens, and regenerates metadata across many existing diagram assets.

Changes

Wireframes and Documentation

Layer / File(s) Summary
Tenant registration documentation and rate-limit/register states
docs/epics/E01-platform-foundation/features/F01-tenant-registration.md, docs/epics/E01-platform-foundation/wireframes/register-org-states.excalidraw, docs/epics/E01-platform-foundation/wireframes/verify-email-rate-limit.excalidraw
F01 tenant registration feature doc now links to register-org-states and verify-email-rate-limit wireframes; new registration error-states and verify-email rate-limit diagrams added.
Email verification flow layout refinements
docs/epics/E01-platform-foundation/wireframes/verify-email.excalidraw, docs/epics/E01-platform-foundation/wireframes/email-confirmation.excalidraw
Verify-email and email-confirmation wireframes adjusted for card heights, icon/text sizing/placement, divider and CTA placement while preserving visible state labels.
Organization management documentation and new settings wireframes
docs/epics/E01-platform-foundation/features/F02-organization-management.md, docs/epics/E01-platform-foundation/wireframes/settings-org-deletion-scheduled.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-upload-states.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-usage-error.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-access-denied.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-delete-states.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-delete-modal.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-free-plan.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org-profile-states.excalidraw
F02 organization management doc extended with links to newly added settings wireframes (deletion scheduled, upload states, usage error, access denied, delete states, free plan, profile states); delete modal updated to note "(case-sensitive)".
Wireframe metadata and platform foundation refresh
docs/epics/E01-platform-foundation/wireframes/pricing.excalidraw, docs/epics/E01-platform-foundation/wireframes/register-org.excalidraw, docs/epics/E01-platform-foundation/wireframes/settings-org.excalidraw, docs/epics/E01-platform-foundation/wireframes/workspace-provisioning.excalidraw, docs/epics/E02-identity-access/wireframes/accept-invitation.excalidraw, docs/epics/E02-identity-access/wireframes/change-password.excalidraw, docs/epics/E02-identity-access/wireframes/forgot-password.excalidraw, docs/epics/E02-identity-access/wireframes/login.excalidraw
Pricing, register-org, settings-org, workspace-provisioning, and identity-access wireframes regenerated with updated per-element metadata (seed/versionNonce) while preserving element structure and visible content.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • phuong-labs/axis#33: Touches the same E01 epic wireframe and feature documentation files; similar updates to linked diagrams.
  • phuong-labs/axis#40: Related regeneration/normalization of Excalidraw assets and metadata across epic wireframes.

Poem

🐇 I sketched a rate-limit, a modal, a pane,
New states for uploads and deletion’s refrain,
I nudged some icons, refreshed each seed and nonce,
Now docs and wireframes are tidy and concise—hop once!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately describes the main changes: adding E01 wireframe state variants and improving deterministic generation for wireframe regeneration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/e01-wireframe-states-and-generator

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/epics/E01-platform-foundation/features/F02-organization-management.md (1)

1-4: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Replace the custom back-link with the required feature navigation callout.

Line 3 should use the standard feature-file navigation format and appear as the first thing after the title.

As per coding guidelines, feature docs must include: > **Navigation**: [← Epic README](README.md) as the first thing after the title.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/epics/E01-platform-foundation/features/F02-organization-management.md`
around lines 1 - 4, Replace the custom backlink "[← Back to E01](../README.md)"
that currently follows the title "F02 — Organization Management" with the
standard feature navigation callout; remove the existing link and insert the
exact line "> **Navigation**: [← Epic README](README.md)" immediately after the
title so the navigation callout is the first thing after the header.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/epics/E01-platform-foundation/features/F02-organization-management.md`:
- Around line 1-4: Replace the custom backlink "[← Back to E01](../README.md)"
that currently follows the title "F02 — Organization Management" with the
standard feature navigation callout; remove the existing link and insert the
exact line "> **Navigation**: [← Epic README](README.md)" immediately after the
title so the navigation callout is the first thing after the header.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: df978c03-d2d4-4a5b-ba03-5b5ee06786c5

📥 Commits

Reviewing files that changed from the base of the PR and between 47f0ab8 and 398b5e6.

⛔ Files ignored due to path filters (30)
  • docs/epics/E01-platform-foundation/wireframes/email-confirmation.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/pricing.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/register-org.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-delete-modal.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-deletion-scheduled.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-upload-states.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-usage-error.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/verify-email-rate-limit.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/verify-email.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/workspace-provisioning.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/accept-invitation.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/change-password.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/forgot-password.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/login.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/register.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/settings-roles.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/settings-security.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/settings-users.svg is excluded by !**/*.svg
  • docs/epics/E03-data-modeling/wireframes/data-classes.svg is excluded by !**/*.svg
  • docs/epics/E03-data-modeling/wireframes/data-models.svg is excluded by !**/*.svg
  • docs/epics/E03-data-modeling/wireframes/records.svg is excluded by !**/*.svg
  • docs/epics/E04-workflow-builder/wireframes/workflow-editor.svg is excluded by !**/*.svg
  • docs/epics/E04-workflow-builder/wireframes/workflows.svg is excluded by !**/*.svg
  • docs/epics/E05-form-builder/wireframes/form-editor.svg is excluded by !**/*.svg
  • docs/epics/E05-form-builder/wireframes/form-submission.svg is excluded by !**/*.svg
  • docs/epics/E05-form-builder/wireframes/forms.svg is excluded by !**/*.svg
  • docs/epics/E06-workflow-engine/wireframes/execution-detail.svg is excluded by !**/*.svg
  • docs/epics/E06-workflow-engine/wireframes/executions.svg is excluded by !**/*.svg
  • docs/wireframes/app-shell.svg is excluded by !**/*.svg
📒 Files selected for processing (36)
  • docs/epics/E01-platform-foundation/features/F01-tenant-registration.md
  • docs/epics/E01-platform-foundation/features/F02-organization-management.md
  • docs/epics/E01-platform-foundation/wireframes/email-confirmation.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/pricing.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/register-org.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-delete-modal.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-deletion-scheduled.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-upload-states.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-usage-error.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/verify-email-rate-limit.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/verify-email.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/workspace-provisioning.excalidraw
  • docs/epics/E02-identity-access/wireframes/accept-invitation.excalidraw
  • docs/epics/E02-identity-access/wireframes/change-password.excalidraw
  • docs/epics/E02-identity-access/wireframes/forgot-password.excalidraw
  • docs/epics/E02-identity-access/wireframes/login.excalidraw
  • docs/epics/E02-identity-access/wireframes/register.excalidraw
  • docs/epics/E02-identity-access/wireframes/settings-roles.excalidraw
  • docs/epics/E02-identity-access/wireframes/settings-security.excalidraw
  • docs/epics/E02-identity-access/wireframes/settings-users.excalidraw
  • docs/epics/E03-data-modeling/wireframes/data-classes.excalidraw
  • docs/epics/E03-data-modeling/wireframes/data-models.excalidraw
  • docs/epics/E03-data-modeling/wireframes/records.excalidraw
  • docs/epics/E04-workflow-builder/wireframes/workflow-editor.excalidraw
  • docs/epics/E04-workflow-builder/wireframes/workflows.excalidraw
  • docs/epics/E05-form-builder/wireframes/form-editor.excalidraw
  • docs/epics/E05-form-builder/wireframes/form-submission.excalidraw
  • docs/epics/E05-form-builder/wireframes/forms.excalidraw
  • docs/epics/E06-workflow-engine/wireframes/execution-detail.excalidraw
  • docs/epics/E06-workflow-engine/wireframes/executions.excalidraw
  • docs/playbooks/patterns.md
  • docs/playbooks/wireframes.md
  • docs/wireframes/app-shell.excalidraw
  • docs/wireframes/components.mjs
  • docs/wireframes/generate-screens.mjs

Co-authored-by: Cursor <cursoragent@cursor.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/epics/E01-platform-foundation/features/F01-tenant-registration.md`:
- Line 3: Replace the current navigation link line "[← Back to
E01](../README.md)" with the standard blockquote navigation format; edit the
markdown in F01-tenant-registration.md so the top navigation becomes ">
**Navigation**: [← Epic README](README.md)" to match the project's coding
guidelines and other feature files.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b39f66a1-ec1c-4d6b-a150-6ec0c39b849a

📥 Commits

Reviewing files that changed from the base of the PR and between 398b5e6 and 16c069c.

⛔ Files ignored due to path filters (6)
  • docs/epics/E01-platform-foundation/wireframes/register-org-states.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-access-denied.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-delete-states.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-free-plan.svg is excluded by !**/*.svg
  • docs/epics/E01-platform-foundation/wireframes/settings-org-profile-states.svg is excluded by !**/*.svg
  • docs/epics/E02-identity-access/wireframes/login-unverified.svg is excluded by !**/*.svg
📒 Files selected for processing (11)
  • docs/epics/E01-platform-foundation/features/F01-tenant-registration.md
  • docs/epics/E01-platform-foundation/features/F02-organization-management.md
  • docs/epics/E01-platform-foundation/wireframes/register-org-states.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-access-denied.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-delete-states.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-free-plan.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-profile-states.excalidraw
  • docs/epics/E02-identity-access/features/F01-authentication.md
  • docs/epics/E02-identity-access/wireframes/login-unverified.excalidraw
  • docs/playbooks/wireframes.md
  • docs/wireframes/generate-screens.mjs
✅ Files skipped from review due to trivial changes (5)
  • docs/epics/E01-platform-foundation/wireframes/settings-org-delete-states.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/register-org-states.excalidraw
  • docs/epics/E01-platform-foundation/wireframes/settings-org-access-denied.excalidraw
  • docs/epics/E01-platform-foundation/features/F02-organization-management.md
  • docs/epics/E01-platform-foundation/wireframes/settings-org-profile-states.excalidraw

@@ -3,8 +3,11 @@
[← Back to E01](../README.md)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update navigation format to match coding guidelines.

The navigation link should follow the standard blockquote format with a "Navigation:" label. As per coding guidelines, feature files must use: > **Navigation**: [← Epic README](README.md)

📝 Proposed fix
-[← Back to E01](../README.md)
+> **Navigation**: [← E01 Epic README](../README.md)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Back to E01](../README.md)
> **Navigation**: [E01 Epic README](../README.md)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/epics/E01-platform-foundation/features/F01-tenant-registration.md` at
line 3, Replace the current navigation link line "[← Back to E01](../README.md)"
with the standard blockquote navigation format; edit the markdown in
F01-tenant-registration.md so the top navigation becomes "> **Navigation**: [←
Epic README](README.md)" to match the project's coding guidelines and other
feature files.

@phuongnse phuongnse merged commit 87531aa into main May 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant