feat: add E01 Platform Foundation wireframes (7 screens)#33
Conversation
Screens (all ACs covered): - register-org: 5-field registration form with plan subtitle (US-001, US-004) - email-confirmation: post-submit check-email card + resend link (US-001, US-002) - verify-email: 2x2 grid of all 4 verification states (US-002) - workspace-provisioning: 2-column layout — in-progress + failed states (US-003) - pricing: public 3-column plan comparison with Current plan badge (US-004, US-010) - settings-org: profile form, usage stats, danger zone (US-005, US-006, US-007) - settings-org-delete-modal: dimmed overlay + type-to-confirm modal (US-007) US-012 gap documented in F04 feature file: Platform Admin portal is out of scope for org-user wireframes; Swagger UI serves as MVP UI. Wireframe callouts added to F01, F02, F04. wireframes.md updated (27 screens).
📝 WalkthroughWalkthroughThis PR adds documentation and wireframe assets for the E01 platform foundation features. Epic documentation is updated with links to new design screens, seven new Excalidraw wireframes define the registration and organization management flows, the wireframes playbook inventory is updated to document the expanded set of generated screens, and existing wireframes are regenerated with updated metadata. ChangesE01 Platform Foundation Documentation and Wireframes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/playbooks/wireframes.md`:
- Line 16: The inventory count is inconsistent:
`docs/wireframes/generate-screens.mjs` declares 27 screens but the inventory
table only lists 26 (groups: `_shared/`, `E01-platform-foundation`,
`E02-identity-access`, `E03-data-modeling`, `E04-workflow-builder`,
`E05-form-builder`, `E06-workflow-engine`), so locate the missing screen entry
in the inventory table and either add the missing screen row (so the table lists
all 27 screens) or adjust the top-line declaration to 26; reference the group
names above to find which group is missing an item and update the markdown table
accordingly.
In
`@docs/wireframes/E01-platform-foundation/settings-org-delete-modal.excalidraw`:
- Line 1: Several Excalidraw elements (e.g., "sdm_card", "sdm_overlay",
"sdm_del") use roughness: 0 and must be changed to roughness: 1; find those
element objects in the JSON and update their roughness property to 1 so the file
matches the repo wireframe convention (apply the same change to any other
element entries that currently have roughness: 0).
🪄 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: c79c3bac-b87a-4a7b-acc6-47742a245f6c
⛔ Files ignored due to path filters (25)
docs/wireframes/E01-platform-foundation/email-confirmation.svgis excluded by!**/*.svgdocs/wireframes/E01-platform-foundation/pricing.svgis excluded by!**/*.svgdocs/wireframes/E01-platform-foundation/register-org.svgis excluded by!**/*.svgdocs/wireframes/E01-platform-foundation/settings-org-delete-modal.svgis excluded by!**/*.svgdocs/wireframes/E01-platform-foundation/settings-org.svgis excluded by!**/*.svgdocs/wireframes/E01-platform-foundation/verify-email.svgis excluded by!**/*.svgdocs/wireframes/E01-platform-foundation/workspace-provisioning.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/accept-invitation.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/change-password.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/forgot-password.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/login.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/register.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/settings-roles.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/settings-security.svgis excluded by!**/*.svgdocs/wireframes/E02-identity-access/settings-users.svgis excluded by!**/*.svgdocs/wireframes/E03-data-modeling/data-classes.svgis excluded by!**/*.svgdocs/wireframes/E03-data-modeling/data-models.svgis excluded by!**/*.svgdocs/wireframes/E03-data-modeling/records.svgis excluded by!**/*.svgdocs/wireframes/E04-workflow-builder/workflow-editor.svgis excluded by!**/*.svgdocs/wireframes/E04-workflow-builder/workflows.svgis excluded by!**/*.svgdocs/wireframes/E05-form-builder/form-editor.svgis excluded by!**/*.svgdocs/wireframes/E05-form-builder/form-submission.svgis excluded by!**/*.svgdocs/wireframes/E05-form-builder/forms.svgis excluded by!**/*.svgdocs/wireframes/E06-workflow-engine/execution-detail.svgis excluded by!**/*.svgdocs/wireframes/E06-workflow-engine/executions.svgis excluded by!**/*.svg
📒 Files selected for processing (30)
docs/epics/E01-platform-foundation/features/F01-tenant-registration.mddocs/epics/E01-platform-foundation/features/F02-organization-management.mddocs/epics/E01-platform-foundation/features/F04-subscription-plans.mddocs/playbooks/wireframes.mddocs/wireframes/E01-platform-foundation/email-confirmation.excalidrawdocs/wireframes/E01-platform-foundation/pricing.excalidrawdocs/wireframes/E01-platform-foundation/register-org.excalidrawdocs/wireframes/E01-platform-foundation/settings-org-delete-modal.excalidrawdocs/wireframes/E01-platform-foundation/settings-org.excalidrawdocs/wireframes/E01-platform-foundation/verify-email.excalidrawdocs/wireframes/E01-platform-foundation/workspace-provisioning.excalidrawdocs/wireframes/E02-identity-access/accept-invitation.excalidrawdocs/wireframes/E02-identity-access/change-password.excalidrawdocs/wireframes/E02-identity-access/forgot-password.excalidrawdocs/wireframes/E02-identity-access/login.excalidrawdocs/wireframes/E02-identity-access/register.excalidrawdocs/wireframes/E02-identity-access/settings-roles.excalidrawdocs/wireframes/E02-identity-access/settings-security.excalidrawdocs/wireframes/E02-identity-access/settings-users.excalidrawdocs/wireframes/E03-data-modeling/data-classes.excalidrawdocs/wireframes/E03-data-modeling/data-models.excalidrawdocs/wireframes/E03-data-modeling/records.excalidrawdocs/wireframes/E04-workflow-builder/workflow-editor.excalidrawdocs/wireframes/E04-workflow-builder/workflows.excalidrawdocs/wireframes/E05-form-builder/form-editor.excalidrawdocs/wireframes/E05-form-builder/form-submission.excalidrawdocs/wireframes/E05-form-builder/forms.excalidrawdocs/wireframes/E06-workflow-engine/execution-detail.excalidrawdocs/wireframes/E06-workflow-engine/executions.excalidrawdocs/wireframes/generate-screens.mjs
| | `docs/wireframes/components.mjs` | **Single source of truth** — primitives, colors, layout constants, helpers | | ||
| | `docs/wireframes/generate-template.mjs` | 34-section component kit — imports from `components.mjs`, exports all builders | | ||
| | `docs/wireframes/generate-screens.mjs` | 19 screen wireframes — imports builders from the template, places them via `component()` | | ||
| | `docs/wireframes/generate-screens.mjs` | 27 screen wireframes — imports builders from the template, places them via `component()` | |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Count the number of .excalidraw files generated by generate-screens.mjs
fd -e excalidraw . docs/wireframes/E0 docs/wireframes/_shared | wc -lRepository: phuong-labs/axis
Length of output: 145
🏁 Script executed:
# Find the correct path structure for wireframes
fd -type d wireframes docs/Repository: phuong-labs/axis
Length of output: 231
🏁 Script executed:
# Read the relevant section of the file to verify the inventory table and line 16
cat -n docs/playbooks/wireframes.md | sed -n '10,30p'Repository: phuong-labs/axis
Length of output: 1093
🏁 Script executed:
# Check the inventory table section (lines 396-402 mentioned in review)
cat -n docs/playbooks/wireframes.md | sed -n '390,410p'Repository: phuong-labs/axis
Length of output: 990
🏁 Script executed:
# Count actual .excalidraw files in the wireframes directory
find docs/wireframes -name "*.excalidraw" -type f | wc -lRepository: phuong-labs/axis
Length of output: 63
Screen inventory incomplete: 27 declared but inventory table only lists 26.
The screen inventory table (lines 396–402) documents only 26 screens: _shared/ (1) + E01-platform-foundation/ (7) + E02-identity-access/ (8) + E03-data-modeling/ (3) + E04-workflow-builder/ (2) + E05-form-builder/ (3) + E06-workflow-engine/ (2) = 26 screens, but line 16 correctly declares 27 screens. One screen is missing from the inventory documentation.
🤖 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/playbooks/wireframes.md` at line 16, The inventory count is
inconsistent: `docs/wireframes/generate-screens.mjs` declares 27 screens but the
inventory table only lists 26 (groups: `_shared/`, `E01-platform-foundation`,
`E02-identity-access`, `E03-data-modeling`, `E04-workflow-builder`,
`E05-form-builder`, `E06-workflow-engine`), so locate the missing screen entry
in the inventory table and either add the missing screen row (so the table lists
all 27 screens) or adjust the top-line declaration to 26; reference the group
names above to find which group is missing an item and update the markdown table
accordingly.
| @@ -0,0 +1 @@ | |||
| {"type":"excalidraw","version":2,"source":"https://excalidraw.com","elements":[{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_bg","type":"rectangle","x":0,"y":0,"width":1200,"height":700,"strokeColor":"#D9D7D1","backgroundColor":"#F4F3EF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1501,"versionNonce":1502},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_sidebar","type":"rectangle","x":0,"y":0,"width":230,"height":700,"strokeColor":"#D9D7D1","backgroundColor":"#FFFFFF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1503,"versionNonce":1504},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_logo_bg","type":"rectangle","x":0,"y":0,"width":230,"height":60,"strokeColor":"#D9D7D1","backgroundColor":"#F9F8F5","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1505,"versionNonce":1506},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_logo_t","type":"text","x":30,"y":18,"width":150,"height":26,"strokeColor":"#667A6E","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1507,"versionNonce":1508,"text":"⬡ Axis","fontSize":18,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"⬡ Axis","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_ni_0","type":"rectangle","x":8,"y":72,"width":214,"height":36,"strokeColor":"transparent","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1509,"versionNonce":1510},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_nl_0","type":"text","x":30,"y":81,"width":170,"height":18,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1511,"versionNonce":1512,"text":"Data Models","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Data Models","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_ni_1","type":"rectangle","x":8,"y":116,"width":214,"height":36,"strokeColor":"transparent","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1513,"versionNonce":1514},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_nl_1","type":"text","x":30,"y":125,"width":170,"height":18,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1515,"versionNonce":1516,"text":"Workflows","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Workflows","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_ni_2","type":"rectangle","x":8,"y":160,"width":214,"height":36,"strokeColor":"transparent","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1517,"versionNonce":1518},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_nl_2","type":"text","x":30,"y":169,"width":170,"height":18,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1519,"versionNonce":1520,"text":"Forms","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Forms","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_ni_3","type":"rectangle","x":8,"y":204,"width":214,"height":36,"strokeColor":"transparent","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1521,"versionNonce":1522},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_nl_3","type":"text","x":30,"y":213,"width":170,"height":18,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1523,"versionNonce":1524,"text":"Executions","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Executions","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_ni_4","type":"rectangle","x":8,"y":248,"width":214,"height":36,"strokeColor":"#A8BAB1","backgroundColor":"#EDF0EE","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1525,"versionNonce":1526},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_nacc_4","type":"rectangle","x":8,"y":248,"width":3,"height":36,"strokeColor":"#667A6E","backgroundColor":"#667A6E","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1527,"versionNonce":1528},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_nl_4","type":"text","x":30,"y":257,"width":170,"height":18,"strokeColor":"#667A6E","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1529,"versionNonce":1530,"text":"Settings","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Settings","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_user_div","type":"line","x":8,"y":648,"width":214,"height":0,"strokeColor":"#D9D7D1","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1531,"versionNonce":1532,"points":[[0,0],[214,0]],"lastCommittedPoint":null,"startBinding":null,"endBinding":null,"startArrowhead":null,"endArrowhead":null},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_uav","type":"ellipse","x":16,"y":654,"width":32,"height":32,"strokeColor":"#A8BAB1","backgroundColor":"#EDF0EE","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1533,"versionNonce":1534},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_un","type":"text","x":56,"y":662,"width":140,"height":16,"strokeColor":"#2B2F33","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1535,"versionNonce":1536,"text":"Alex Brown","fontSize":12,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Alex Brown","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_hdr","type":"rectangle","x":230,"y":0,"width":970,"height":60,"strokeColor":"#D9D7D1","backgroundColor":"#FFFFFF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1537,"versionNonce":1538},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_page_title","type":"text","x":250,"y":18,"width":300,"height":24,"strokeColor":"#2B2F33","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1539,"versionNonce":1540,"text":"Settings — Organization","fontSize":18,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Settings — Organization","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_srch","type":"rectangle","x":944,"y":12,"width":160,"height":36,"strokeColor":"#D9D7D1","backgroundColor":"#F4F3EF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1541,"versionNonce":1542},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_srch_t","type":"text","x":958,"y":22,"width":140,"height":16,"strokeColor":"#8A9099","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1543,"versionNonce":1544,"text":"⌕ Search…","fontSize":12,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"⌕ Search…","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_notif","type":"ellipse","x":1112,"y":12,"width":36,"height":36,"strokeColor":"#D9D7D1","backgroundColor":"#F4F3EF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1545,"versionNonce":1546},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_notif_t","type":"text","x":1112,"y":21,"width":36,"height":18,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1547,"versionNonce":1548,"text":"🔔","fontSize":12,"fontFamily":1,"textAlign":"center","verticalAlign":"top","containerId":null,"originalText":"🔔","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_av","type":"ellipse","x":1156,"y":12,"width":36,"height":36,"strokeColor":"#A8BAB1","backgroundColor":"#EDF0EE","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1549,"versionNonce":1550},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_av_t","type":"text","x":1156,"y":21,"width":36,"height":18,"strokeColor":"#667A6E","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1551,"versionNonce":1552,"text":"AB","fontSize":12,"fontFamily":1,"textAlign":"center","verticalAlign":"top","containerId":null,"originalText":"AB","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_bg_h","type":"text","x":250,"y":80,"width":300,"height":28,"strokeColor":"#2B2F33","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1553,"versionNonce":1554,"text":"Organization Profile","fontSize":20,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Organization Profile","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_bg_dz","type":"rectangle","x":250,"y":360,"width":930,"height":72,"strokeColor":"#C08078","backgroundColor":"#F3ECEA","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1555,"versionNonce":1556},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_bg_dt","type":"text","x":266,"y":376,"width":300,"height":18,"strokeColor":"#9E4A44","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1557,"versionNonce":1558,"text":"Delete organization","fontSize":14,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Delete organization","lineHeight":1.25},{"angle":0,"opacity":40,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_overlay","type":"rectangle","x":0,"y":0,"width":1200,"height":700,"strokeColor":"transparent","backgroundColor":"#2B2F33","fillStyle":"solid","strokeWidth":0,"strokeStyle":"solid","roughness":0,"roundness":null,"seed":1559,"versionNonce":1560},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_card","type":"rectangle","x":360,"y":210,"width":480,"height":280,"strokeColor":"#4A5058","backgroundColor":"#FFFFFF","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":0,"roundness":{"type":3},"seed":1561,"versionNonce":1562},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_title","type":"text","x":380,"y":228,"width":380,"height":24,"strokeColor":"#9E4A44","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1563,"versionNonce":1564,"text":"Delete organization","fontSize":16,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Delete organization","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_close","type":"text","x":800,"y":226,"width":20,"height":20,"strokeColor":"#8A9099","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1565,"versionNonce":1566,"text":"×","fontSize":18,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"×","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_hdiv","type":"line","x":360,"y":262,"width":480,"height":0,"strokeColor":"#D9D7D1","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1567,"versionNonce":1568,"points":[[0,0],[480,0]],"lastCommittedPoint":null,"startBinding":null,"endBinding":null,"startArrowhead":null,"endArrowhead":null},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_body","type":"text","x":380,"y":278,"width":440,"height":52,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1569,"versionNonce":1570,"text":"This action is permanent and cannot be undone.\nAll data will be deleted after a 30-day grace period.","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"This action is permanent and cannot be undone.\nAll data will be deleted after a 30-day grace period.","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_inp_l","type":"text","x":380,"y":340,"width":440,"height":16,"strokeColor":"#8A9099","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1571,"versionNonce":1572,"text":"Type 'Acme Corp' to confirm:","fontSize":12,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Type 'Acme Corp' to confirm:","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_inp_inp","type":"rectangle","x":380,"y":360,"width":440,"height":40,"strokeColor":"#D9D7D1","backgroundColor":"#FFFFFF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1573,"versionNonce":1574},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_inp_ph","type":"text","x":392,"y":371,"width":416,"height":18,"strokeColor":"#8A9099","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1575,"versionNonce":1576,"text":"Acme Corp","fontSize":13,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Acme Corp","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_fdiv","type":"line","x":360,"y":434,"width":480,"height":0,"strokeColor":"#D9D7D1","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1577,"versionNonce":1578,"points":[[0,0],[480,0]],"lastCommittedPoint":null,"startBinding":null,"endBinding":null,"startArrowhead":null,"endArrowhead":null},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_cancel_btn","type":"rectangle","x":548,"y":446,"width":80,"height":36,"strokeColor":"#D9D7D1","backgroundColor":"#FFFFFF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":{"type":3},"seed":1579,"versionNonce":1580},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_cancel_btn_t","type":"text","x":548,"y":456,"width":80,"height":16,"strokeColor":"#4A5058","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1581,"versionNonce":1582,"text":"Cancel","fontSize":13,"fontFamily":1,"textAlign":"center","verticalAlign":"top","containerId":null,"originalText":"Cancel","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_del","type":"rectangle","x":636,"y":446,"width":184,"height":36,"strokeColor":"#D9D7D1","backgroundColor":"#F4F3EF","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":0,"roundness":{"type":3},"seed":1583,"versionNonce":1584},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_del_t","type":"text","x":636,"y":456,"width":184,"height":16,"strokeColor":"#D9D7D1","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1585,"versionNonce":1586,"text":"Delete organization","fontSize":13,"fontFamily":1,"textAlign":"center","verticalAlign":"top","containerId":null,"originalText":"Delete organization","lineHeight":1.25},{"angle":0,"opacity":100,"groupIds":[],"isDeleted":false,"boundElements":null,"updated":1700000000000,"link":null,"locked":false,"version":1,"id":"sdm_hint","type":"text","x":380,"y":454,"width":240,"height":14,"strokeColor":"#D9D7D1","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"roundness":null,"seed":1587,"versionNonce":1588,"text":"Enabled when name matches exactly","fontSize":10,"fontFamily":1,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Enabled when name matches exactly","lineHeight":1.25}],"appState":{"gridSize":8,"viewBackgroundColor":"#ffffff"},"files":{}} No newline at end of file | |||
There was a problem hiding this comment.
Set all Excalidraw elements to roughness: 1 to match repo wireframe convention.
This file includes elements with roughness: 0, which breaks the required sketch aesthetic for wireframes in this path.
Suggested fix pattern
- "roughness":0
+ "roughness":1Apply this to all elements currently using roughness:0 (e.g., overlay/card/delete-button shapes).
As per coding guidelines, docs/wireframes/**/*.excalidraw must use “Format: Excalidraw JSON (roughness: 1, sketch aesthetic).”
🤖 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/wireframes/E01-platform-foundation/settings-org-delete-modal.excalidraw`
at line 1, Several Excalidraw elements (e.g., "sdm_card", "sdm_overlay",
"sdm_del") use roughness: 0 and must be changed to roughness: 1; find those
element objects in the JSON and update their roughness property to 1 so the file
matches the repo wireframe convention (apply the same change to any other
element entries that currently have roughness: 0).
Summary
.excalidraw+.svgfiles generated and committeddocs/playbooks/wireframes.mdscreen inventory updated (26 → 27 screens)Screens
register-orgemail-confirmationverify-emailworkspace-provisioningpricingsettings-orgsettings-org-delete-modalOut of scope
US-012 (Platform Admin plan override) — back-office action for the Axis team, not an org-user screen. Documented as gap in F04 with rationale; Swagger UI serves as MVP interface.
Test plan
.svgin browser — all 7 screens render correctly🤖 Generated with Claude Code
Summary by CodeRabbit