Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions design/canvases/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

142 changes: 142 additions & 0 deletions design/canvases/integrated/Archetype Full Sections.dc.html

Large diffs are not rendered by default.

449 changes: 449 additions & 0 deletions design/canvases/integrated/Studio · Archetype card.dc.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion design/incoming/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion documentation/architecture/PAGE_INVENTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,4 +150,4 @@ rather than merely absent.
- branch_admin · Branch · Insights (`/branch/insights`)
- branch_admin · Branch · Settings (`/branch/settings`)

**Canvas corpus:** 137. **Workspace assignments:** 179.
**Canvas corpus:** 138. **Workspace assignments:** 180.
9 changes: 5 additions & 4 deletions documentation/architecture/PROFILE_ROUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Nothing here is typed by hand, so nothing here can disagree with them.
each canvas and why. This document answers a different question: *who sees
it, where in their nav, and how do they get there.*

**Corpus:** 137 canonical canvases at `design/canvases/`, listed
179 times below — a canvas serving two workspaces appears under both.
**Corpus:** 138 canonical canvases at `design/canvases/`, listed
180 times below — a canvas serving two workspaces appears under both.

## Column meanings

Expand Down Expand Up @@ -211,7 +211,7 @@ it, where in their nav, and how do they get there.*
| PartnerRail | — | — (not routed) | Embedded rail | Not reachable yet | UPGRADE | Low |
| System Sheet | — | — (not routed) | Reference (no surface) | Not reachable yet | NEW | Low |

## Shared (multi-workspace) — 19 canvases
## Shared (multi-workspace) — 20 canvases

| Canvas | Route | Nav section | Surface | Entry point | Status | Confidence |
| --- | --- | --- | --- | --- | --- | --- |
Expand All @@ -230,6 +230,7 @@ it, where in their nav, and how do they get there.*
| Perks & Products | `/perks` | — (no nav entry) | Full page | Deep link / in-page action | NEW | Medium |
| Refer & Earn | `/referrals` · `/refer` | — (no nav entry) | Full page | Deep link / in-page action | UPGRADE | Medium |
| Send for Signature | `/esign/:token` | — (no nav entry) | Full page + 5-step wizard | Deep link / in-page action | NEW | Medium |
| Studio · Archetype card | `/studio/archetype` · `/studio` | — (no nav entry) | Full page | Deep link / in-page action | UPGRADE | Medium |
| Studio · Archetype preview | `/studio` · `/studio/archetype` | — (not routed) | Full page (proposed) | Not reachable yet | UPGRADE | Low |
| Studio · Persona hubs | — | — (not routed) | Full page (proposed) | Not reachable yet | UPGRADE | Low |
| Trust Center | `/trust` | — (no nav entry) | Full page | Deep link / in-page action | CURRENT | Medium |
Expand Down Expand Up @@ -261,7 +262,7 @@ it, where in their nav, and how do they get there.*
| Confidence | Rows | Meaning |
| --- | ---: | --- |
| High | 98 | Live route, reachable from that workspace’s sidebar. |
| Medium | 45 | Live route, but no sidebar row for that role — reached by deep link or an in-page action. |
| Medium | 46 | Live route, but no sidebar row for that role — reached by deep link or an in-page action. |
| Low | 36 | Not routed. Proposed route only. |

A Medium row is not a defect. Detail pages (`/deals/:id`), print artefacts
Expand Down
3 changes: 2 additions & 1 deletion documentation/architecture/ROUTE_MAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,8 @@ the gap, not the intent.
| Pages · Diligence file | founder, investor | `/research/diligence/:grant_uid/files/:file_uid` | `/research/diligence/:grantUid/files/:fileUid` → `DiligenceFile` (admin, investor — the same licences as the list; each room lists its open files as links) | `research.ts` `GET /diligence/:grantUid/files/:fileUid` (D310) through `data_room.ts`'s `activeGrant`/`ndaActive`; the download is `data_room.ts`'s own `POST /shared/:projectUid/files/:uid/download` | CURRENT | Arrived 2026-09-26 (D305) as artifact `96463a46`. Seven artboards (D1–D5, M1–M2), including the NDA refusal. **Built (D311):** name, size from bytes, type, the visibility pill, Download with its single-use note, the three tiles, the reader's own download history, the stated limit, and the NDA state with no name in the heading, crumb or shell title. **Differs from the canvas:** a history line says a link was *issued* — the log does not record whether it was followed, so "link used once, then expired" is not claimed; and an `nda` file reaches this page for an investor whose NDA is live (the canvas routes only `open` files here), with an "NDA · signed" pill. |
| Pages · Diligence room | founder, investor | `/research/diligence/:grant_uid` | `/research/diligence/:grantUid` → `DiligenceRoom` (admin, investor; the list links each company and its Open the room →) | `research.ts` `GET /diligence/:grantUid` (D310) through `data_room.ts`'s `activeGrant`/`ndaActive`/`logAccess`; the memo is the `research/diligence` draft surface over `research_zone_drafts` (migration 221), scoped to the grant | CURRENT | Arrived 2026-09-26 (D305) as artifact `b6a5f992`. Eight artboards (D1–D6, M1–M2). **Built (D311):** header, the four tiles, the scope table, the open-file list with its three states, the NDA panel, Deal stage as Not recorded with the worker's reason, the reader's own activity, the ZONEDRAFT memo (Draft, Accept, Edit first, Discard) and the stated limit. **Retired:** the investor `SharedRooms` drawer on `/raise/data-room`; that route's investor branch redirects to `/research/diligence`. |
| Pages · Company analysis | founder | `/research/companies/:id` | `/research/companies/:id` → `CompanyAnalysis` (admin, founder, advisor — the list's licences; the Companies zone links each saved analysis, and a new run opens here) | `competitors.ts`: `GET /:id`, `PATCH /:id` (title and output only — never the candidate set, whose bulk re-insert writes a blank relevance as 0), `PATCH /:id/candidates/:cid` for category, `POST /:id/candidates`, `DELETE /:id/candidates/:cid`, `POST /:id/rerun`, `POST /:id/refresh`, `GET /:id/export` | CURRENT | Arrived 2026-09-26 (D305) as artifact `90eb4cf2`. Eight artboards (D1–D6, M1–M2). **Built (D313):** editable title, mode and status pills, updated and edited-since-last-run; Save, Re-run, Refresh sources, JSON, Markdown; the inputs row with Not recorded blanks; the founder scope band; the running card, the failed-read card and the pipeline-error card with Re-run and Quick scan; tiles in three shapes (none on a failed read, Not recorded on a failed run, numbers on a finished one); the market summary; the seven-column competitors table with category select, origin, relevance (blank is Not recorded, never 0), source-kind chips and Remove; Add competitor with Crawl site; the feature grid (features by competitor, blank cells Not recorded) and the signal columns, each omitted when empty; gaps, wedge, next steps and notes; the local landscape-read ZONEDRAFT whose Accept appends to notes; the stated limit. **Differs:** "Recommended next actions" reads "Next steps the run listed" (the voice rule), and positioning and traction signals, which the run stores and the canvas does not draw, are kept as signal columns. **Retired:** `/build/competitors` for founder and admin redirects here with its `?id=`, or to the list; it stays for partner and investor, whom this route does not admit. **D593 (2026-10-06):** re-exported as "Pages · Founder Research Analysis" with a C0 board, and the canvas moved from `canvases/backlog/` to `canvases/integrated/`, where its live route had put it since D313. **Built:** a competitor row links "Directory profile →" when exactly one directory company has its site or, with no site match, its name — `directory_uid` on `GET /competitors/:id`, worked out on each read by `services/competitorDirectoryLink.ts` and never stored; ambiguity links nothing, and a hand-typed name with no profile stays plain text, as C0 draws. A failed directory read says "Directory profiles: Unreadable". The company page (`/research/companies/:analysisId/:candidateId`) carries the same link. **Differs:** the name keeps opening the competitor's own page (D313), which the C0 note predates; the directory link sits under it. |
| Studio · Archetype preview | shared (all five licences) | `/studio`, `/studio/archetype` | both live (`ProfileFitSection`, `ArchetypeCardPage`) | `assessment.ts` | UPGRADE | Arrived 2026-09-26 (D305) as artifact `ec6c3ada`. Fifteen artboards: S1–S13, S14 at 1280, S15 at 390. Session 3 builds it **UPDATE 2026-10-06 (D602, #1006; D605, #1296):** `/studio/archetype` reads the conversational archetype only (the assessment fallback is retired). `profile_history.ts` `GET /api/profile/published-members` lists the members who published a matching archetype (name, role, persona and archetype only), and each row carries `values_fit` (a band and a count, never a dimension or a score; shown only when the caller has also published). The radar, timeline and member matches are not drawn yet: they wait on a canvas (#1006, needs-design). |
| Studio · Archetype preview | shared (all five licences) | `/studio`, `/studio/archetype` | both live (`ProfileFitSection`, `ArchetypeCardPage`) | `assessment.ts` | UPGRADE | Arrived 2026-09-26 (D305) as artifact `ec6c3ada`. Fifteen artboards: S1–S13, S14 at 1280, S15 at 390. Session 3 builds it **UPDATE 2026-10-06 (D602, #1006; D605, #1296):** `/studio/archetype` reads the conversational archetype only (the assessment fallback is retired). `profile_history.ts` `GET /api/profile/published-members` lists the members who published a matching archetype (name, role, persona and archetype only), and each row carries `values_fit` (a band and a count, never a dimension or a score; shown only when the caller has also published). **UPDATE 2026-10-06 (D619, #1006):** the radar, the timeline and the member matches are drawn, from `Studio · Archetype card` (the next row). |
| Studio · Archetype card | shared (all five licences) | `/studio`, `/studio/archetype` | `/studio/archetype` → `ArchetypeCardPage`, its three sections in `components/profile/ArchetypeSections.jsx` (D619); `/studio` → `ProfileFitSection` | `skills.ts` `GET /api/skills/me/evidence` (D318); `profile_history.ts` `GET /api/profile/history` and `GET`/`PUT /api/profile/archetype-published` (D357), `GET /api/profile/published-members` (D602, D605); `best_fit.ts` `GET /api/best-fit/me` | UPGRADE | Arrived 2026-10-06 (D619, #1006) as artifact `6yTsUgRHkkiCwBpfZpwshh`: the board, and `Archetype Full Sections`, the component its A24–A30 import. The export left out the component's data script, `archetype-full.js`. A24–A30 are built: the two-layer skills radar, the evolution timeline and the matches with published members, in every state the canvas draws. A1–A23 draw the compact card and the page top differently from `main`; they are #1323 (D620). |
| Studio · Persona hubs | shared (all five licences) | the five Studio homes | live (the five `*StudioHome` pages) | `assessment.ts` | UPGRADE | Arrived 2026-09-26 (D305) as artifact `69dc42f3`. Five hubs, S1–S5; S5 draws the File-ticket form (`/help/tickets`). Session 3 builds it. `backlog/Founder Studio` (DEFERRED) stays where it is |
| Research · Main | founder, investor, advisor, partner | `/research` (the overview) | `/research` on all four licences: `ResearchOverviewPanel` inside `FounderResearchDesk` (founder), `InvestorResearchWorkspace` (investor; also at `/market-intel`), and above the `boards/research.js` board in `ResearchWorkspace` (advisor, partner) | `research_overview.ts` `GET /api/research/overview` (D536): `research_company_directory`, `research_market_directory`, `research_fund_directory` through the D533 crosswalk (`services/researchTaxonomy.ts`, migration 376), `signal_companies`, `market_intel_indexes` (live rows only, D538), `signals` (never `advisor_note`) | UPGRADE | Owner-approved 2026-10 (D546) for #1082, because A7 of the Founder Workspaces canvas draws none of these zones. Signed-in: the canvas's public top bar ("Sign in") and its search box are left out, and the panel sits inside each desk. Totals: companies, markets with the supplied-company sum, funds with the number of fund lists, countries, and the twelve indexed sectors with each one's last `computed_at` (not the raw labels). The split: private is the company directory, public is `signal_companies`, government reads Not recorded (no source; #1083 Q3 decides the wording). Competition with the "other" remainders and the no-label and no-country counts; money by crosswalked HQ country and focus market, euro size bands only where the currency is known (`EUR_SOURCE`), the full vintage range and every missing count; signals with why now, the build opportunity, region and confidence. Each section is ok, Not recorded or Unreadable on its own. |

Expand Down
Loading
Loading