the built app-shell cluster (rail head/brand lockup PIN-380/340, permission-gated nav filtering, collapse/expand rail +¶
| Stage | Backlog |
|---|---|
| Status | Deferred |
| Design status | In progress |
| Estimate | M |
| Linear | PIN-45 ↗ PIN-380 ↗ PIN-974 ↗ |
| Linear status | Done · +1 planned |
| Cycle | C14 |
| Design | Design ↗ |
| Linear epic | Platform Foundation |
| Module | Settings & Admin ↗ |
Status check: deferred, but shipped work exists
This surface is marked deferred, yet Linear shows PIN-45 and PIN-380 as Done. Confirm whether it actually shipped (move the status off deferred) or only the remaining scope is deferred. Flagged for reconciliation.
Priority: Medium
Scope¶
App shell: permission-filtered sidebar and action buttons (hidden, not just disabled, per role), consistent Pinley/Cara branding across the header and FAB, and — pending a locked shell redesign — dynamic per-role module visibility so unfinished modules can stay hidden until ready. (Source: PIN-45, PIN-380 — Loom L-007/L-008; PIN-974 — Aug 20 launch demo.)
Acceptance criteria¶
- Sidebar items and action buttons (Add/Edit/Delete) hidden — not just disabled — when the user lacks the required permission
- Navigating to a permission-denied route shows a "Not Authorized" page instead of blank/broken UI
- Pinley wordmark and Cara "C" mark consistent across top nav, tab favicon, and the FAB
- Legacy chat/feedback widget removed app-wide, replaced by Cara
- Planned: consolidated shell reorganization (e.g. Vendors → "Outreach & RFP") per Conor's design
- Planned: modules not yet ready stay hidden from navigation until dropped in
- Planned: role-scoped module visibility (estimators see Bids; PMs see Projects + Field; execs see everything)
Conor's comments¶
Updated UI and Cara shell. Filtering by role.
Notes¶
no 'shell built' dev row exists - ROW76/ROW77 are forward nav-IA/route-cleanup and ROW51/ROW71 are reskin/component work, none of which track the shipped shell.