Skip to content

[DO NOT MERGE] Org project view on the org routes: dev branch for Theo and Marcus - #8464

Draft
mzxchandra wants to merge 15 commits into
feat/org-project-viewfrom
feat/org-project-routes
Draft

mzxchandra wants to merge 15 commits into
feat/org-project-viewfrom
feat/org-project-routes

Conversation

@mzxchandra

Copy link
Copy Markdown
Contributor

Do not merge. Not for review. This draft exists only so Theo and Marcus can share and test the org project view while it is in development. It replaces the earlier dev PR #8454.

Stacked on #8433 (feat/org-project-view).

What is here

The org project view now lives on the real organization surface instead of /playground/org, entirely behind the org-project-view flag. With the flag off, the org surface is unchanged.

  • Home (/o/<org>/home): the product's Home, with a project picker. Build with a project picked opens that project's chat; Search, Plan and "No project" behave exactly as today.
  • Sidebar: Projects (one per workspace fork lineage, with their chats, rename, pin, drag and a row menu) replace Workspaces, and Home reads as New chat.
  • Project main view (/o/<org>/p/<workspaceId>/{dashboard,changelog,issues,environments}): dashboard files and a Runs dashboard, the Environments tab for forks and resource mappings, and empty states for Changelog and Issues until those entities exist.
  • Build view: /workspace/<id>/... swaps its sidebar for the project Build sidebar, /workspace/<id>/w is a foldered Workflows page, and the canvas has a location bar.

The playground prototype and its mock data are removed. Issues and Changelog plug in behind the empty states when the real entities land.

Running it locally

Set ORG_PROJECT_VIEW=true, plus FORKING_ENABLED=true and NEXT_PUBLIC_FORKING_ENABLED=true for the Environments tab. Open /o/<org>/home.

🤖 Generated with Claude Code

mzxchandra and others added 15 commits September 29, 2026 17:12
Projects are the logged-in user's real workspaces; chats, workflows,
files, tables, knowledge bases, logs and integrations come from the
workspace's own React Query hooks and open the real pages. The side
chat and new-chat home run the real Sim Chat over useChat, with a
syncChatUrl option so the panel keeps its own URL. Dashboards render
real dashboard files live plus a built-in Runs dashboard from the logs
stats route. Issues and Changelog stay mock through per-project overlay
packs matched by workspace name, and issue resource chips resolve to
the real resource with the same name.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… into next release

A pack now matches on the workspace's workflow names before its name, so
the demo project picks up its pack whatever the workspace is called. The
next-release card received the project id it was already using.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…t description

The message handed from the home composer is sent one tick after the
side chat mounts, with cleanup, so a simulated remount no longer
withdraws it. The settings General page uses the same description line
as the project header.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The pack is chosen from the workspace's workflow names, which load
after the workspace list, so an issue route now shows a loading state
until the list arrives instead of calling notFound on the fallback
pack. The needs-you badge waits the same way, and the draft chart's
release index points at its last value.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rg integrations page

Packs no real workspace claims stay in the sidebar as mock projects
with their prototype chats, rows and sample dashboards; real hooks stay
off for them. A real workspace nothing claims shows only its real
resources. Connectors renders the organization integrations component
the way the org route does.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A fork lineage is one project: the sidebar lists its root, the project
header shows the current environment (Prod, Staging, Sandbox, from a
trailing word on the workspace name or the fork depth) beside "Open
full view", and a dropdown switches to another environment on the same
section. Connectors resolves the organization the way the app entry
does.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ents section

Moves the fork-lineage resolution the playground computed into lib/projects so the
workspace sidebar and the organization surface can share it. Registers the
org-project-view feature flag (fallback ORG_PROJECT_VIEW) and passes it through every
FeatureFlagsProvider. Adds the Environments chip to the project main view with a
placeholder tab.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… and mappings

One card per environment with the real fork, sync and disconnect actions, resource sub-tabs
in the sync view's kind order (exported from use-fork-sync so the order cannot drift), and a
grid with one row per resource and one column per environment that joins the per-edge pull
mappings by resource id. Cells edit through the real mapping route. Mock projects show an
example grid.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e, Changelog per environment

Real projects' Build links and "Open full view" go to /workspace/<id>/... and the prototype's
build/* rendering only remains for mock projects. The overlay pack is resolved once per lineage
root so every environment shares its issues; the changelog shows shipped releases on Prod, the
draft next release on Staging and running work on Sandbox. The mock entities now sit behind a
ProjectSources interface with the packs moved to fixtures/ and an empty implementation for the
graduated surface.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…d org-project-view

The real sidebar's hidden services (search data, global commands, chat events, search and
help modals) move into a shared hook and modals component so both sidebars mount them. With
the flag on, the workspace layout mounts the project Build sidebar (back chip to the project,
environment chip that switches lineages, flat Project and Build links, chats, footer) and
/workspace/<id>/w renders a foldered Workflows list with search, New workflow and the row
actions the old tree offered, instead of redirecting to the first canvas.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…s, env chip everywhere, credential marks

Project rows get hover actions, a context menu (open, copy link, rename, pin, delete), inline
rename across the lineage, drag reorder (a per-browser order until it moves server-side) and
pinned-first sorting. New chat uses a compose icon (SquarePen, new in the icon set). The Build
sidebar's environment chip always opens its dropdown and ends with Manage environments. The
Environments grid leads credential rows with the provider mark of the youngest environment
that still holds the credential.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The org view's footer is now the shared account and help footer: clicking your name opens
Settings (the organization's settings) and Sign out, and help offers docs, Slack and
support. The fork modal takes an optional list of sources; the Environments tab passes the
lineage, so Create fork can start from Prod, Staging or Sandbox, with the default name and
resource list following the chosen source.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…icker; Search matches the org surface

New chat now renders the organization Home from the product, with its Build, Plan and
Search switch, suggestions and org chats. The only addition is the project picker: with
a project picked, a Build message opens that project's chat. The org Home gains three
optional props for this (a per-mode heading and accessory, a before-send hook, and the
existing flag that keeps chat URLs in place); its default behavior is unchanged.

Search renders the organization Search page, as the org surface does. The separate
Assistant page and nav item are removed: the product has no such destination, search is
a mode of Home.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…view

With org-project-view on, the canvas gets a breadcrumb bar (Workflows, its folders, the
workflow) whose crumbs return to the Workflows index at that folder, plus a Search
resources action that opens the search modal. Replaces the sidebar tree's job of showing
where the open workflow lives. Flag off: unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g-project-view

The prototype leaves /playground/org for the real routes. With the flag on:
- /o/<org>/home is the product's Home plus the project picker.
- The org sidebar lists Projects (one per fork lineage, with their chats and the row menu,
  rename, pin and drag) in place of Workspaces, and Home reads as New chat.
- /o/<org>/p/<workspaceId>/{dashboard,changelog,issues,environments} is the project main
  view: real dashboards and Runs, the Environments tab, and empty states for Changelog and
  Issues until those entities exist.
- The Build sidebar's back chip and project links point at the org project routes.
With the flag off the org surface is unchanged. The playground shell, its fixtures and the
mock-only pieces are deleted.

The workflow location bar mounts from the canvas page instead of its layout, and reads the
workflow through the list query options and opens search through the global command, so the
layout's module graph stays at its baseline (it had grown by about 1,150 modules).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Sep 30, 2026 3:13pm UTC

Request Review

This branch was previously deployed

1 inactive deployment
Preview — 9c398c1d Deployed Sep 30, 2026 by vercel[bot]
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