chore(studio): vendor the Atrium foundation — module skeleton, UI kit, tooling, license correction, CI - #966
Closed
jtenniswood wants to merge 3 commits into
Closed
chore(studio): vendor the Atrium foundation — module skeleton, UI kit, tooling, license correction, CI#966jtenniswood wants to merge 3 commits into
jtenniswood wants to merge 3 commits into
Conversation
Vendor drop of the Atrium workspace UI from stacklok/enterprise-ui-prototypes @ claude/atrium-ui-updates (649bc1efb91f889e117c79f4189d8abba34c22d4), filtered before import so prototype residue never enters this repo's history. Every imported file is byte-identical to its source. Excluded at import (413 of 572 tracked files): - auth stack (better-auth/pg/OIDC), signin flow, permissions context - legacy ai-sdk assistant sidebar, /api/chat, MCP client wiring - MSW mock server, mock OIDC/registry/user-management routes, hey-api generated clients and their OpenAPI specs - Atrium demo data (features/agent/mock-data.ts, skills fixtures): Studio is daemon-only; probe failure renders offline, never demo data - disk-touching harness routes (skills/agents authoring deferred to a follow-up; transcript route superseded by the daemon transcript API) - prototype deploy/repo infra (Docker, helm, GitHub workflows, husky, renovate, pnpm lockfile/workspace) and residue tests/e2e specs The app does not build at this commit; wiring lands in the commits that follow. The complete filter manifest is recorded in the pull request. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Eight imported files carried `SPDX-License-Identifier: Proprietary` headers — stray artifacts of the source repository's enterprise-platform sync that contradicted its own Apache-2.0 LICENSE. This repository has no SPDX header convention of its own; the headers are corrected to Apache-2.0 — the license the source repository actually grants this content under — rather than dropped, so the imported files keep their provenance visible. Kept separate from the vendor drop so the relicensing is auditable on its own. A CI grep gate (added with the studio workflow later in this series) rejects Proprietary headers so they cannot regress. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The vendor drop's files whose home is a later PR in this series are removed; every kept file is pinned to its final state: the shadcn/Radix UI kit, root chrome and error pages, brand assets, the npm/Biome/knip/vitest toolchain (Node 22 via .nvmrc, npm pinned to 10.9.4, lockfile regenerated with the pinned npm, installs script-less), studio/Taskfile.yml + the root include, dependabot's npm block, and the Studio CI workflow (lint, typecheck, knip, vitest, build, audit, and the Proprietary-SPDX license gate promised by the previous commit). Docs: ADR 0288 records the module decision (renumbered from the branch's 0280, which collided with ADRs that landed on main since — twice: main took 0287 while this series was assembled), AGENTS.md gains the studio bullet, docs/architecture.md the Studio client section, the readiness tracker an honest landing-in-progress row, and user-docs a stub that grows with the series. llms.txt regenerated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack 1/21 — Studio: vendor the Atrium foundation
First PR of the stacked landing of #618 (the Studio/Atrium workspace, split for review; the original branch stays archived as
feat/studio-atrium). Each PR in the series is CI-green on its base; the assembled top of the stack is byte-identical to the original branch instudio/src,studio/tests, andstudio/scripts.Three commits, in the audit structure #618 promised — please merge with a merge commit, never squash:
chore(studio): import Atrium UI (filtered vendor drop)— byte-identical cherry-pick of the filtered vendor drop fromstacklok/enterprise-ui-prototypes(159 files; verifiedgit diffempty against the original drop commit3d0159f2). Review by provenance, not line-by-line.chore(studio): correct stray Proprietary license headers— the 8 files that carriedSPDX-License-Identifier: Proprietarycontradicting the source repo's Apache-2.0 grant, corrected in their own commit for auditability.chore(studio): pin the foundation to its final shape— deletes every vendored file whose home is a later PR in this series and pins what stays to its final state.What's in the tree after this PR: the shadcn/Radix UI kit (
src/components/ui/, knip-ignored by convention), root chrome (layout, globals, error/not-found pages, manifest/icons, brand-logo route), foundation libs (utils,typography,formatterscore,profile-preferencesUI-scale slice), the npm/Biome/knip/vitest toolchain (Node 22 via.nvmrc, npm pinned 10.9.4, lockfile regenerated with the pinned npm, script-less installs),studio/Taskfile.yml+ root include, dependabot npm block, and.github/workflows/studio.yml(lint · typecheck · knip · vitest · build · audit · the Proprietary-SPDX gate — landing in the same PR as the header fix, so no merged state ever lacks the gate).Docs: ADR 0288 records the module decision — renumbered from the branch's 0280, which collided with
0280-mecatui-light-theme-autodetect.mdon main (docs/lintdoes not gate id uniqueness, so this is called out here for review). AGENTS.md gains the studio bullet;docs/architecture.mdthe Studio client section; the readiness tracker an honest landing-in-progress row;user-docsa stub that grows with the series;llms.txtregenerated.Demo at this stack point: the app boots to branded chrome — the root redirect lands on the branded not-found page until the Chats surface arrives (PR 7 of the series).
🤖 Generated with Claude Code