ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

That Stupid Computer · illustrated website and discovery adapters

The repository contains a React website, Node and TypeScript email service, an illustrated workshop interaction system and shared discovery-provider interfaces. Authored source separates public content, provider answers, local animation control, consent and deployment evidence. Its ASTRA documents describe website implementation and acceptance work around the workshop and mobile character rigs. This usage of Astra is explicitly kept separate from the historical proposal for an Astra consciousness node.

Repository buildSource recovered; runtime not executedSep 16, 2026
Learn with the Atlas

Read the architecture

Learn to trace this build from its inputs to its outputs and source evidence.

Open guided lesson

Purpose & architecture

The repository contains a React website, Node and TypeScript email service, an illustrated workshop interaction system and shared discovery-provider interfaces. Authored source separates public content, provider answers, local animation control, consent and deployment evidence. Its ASTRA documents describe website implementation and acceptance work around the workshop and mobile character rigs. This usage of Astra is explicitly kept separate from the historical proposal for an Astra consciousness node.

Source and recorded acceptance reports do not establish the current production deployment or external provider availability. Compiled animation inspection dumps are inventoried as visual evidence rather than mathematical AI source. No email or external provider request was sent during this audit.

This source generation

This record follows the main branch of Janady13/thatstupidcomputer at commit 57555cde46910102dd25d6c1c1fb2c359e9655bd. The snapshot identifies the source inspected in this audit. It is not a statement about which revision is currently running on a device.

FieldSource record
Revision57555cde46910102dd25d6c1c1fb2c359e9655bd
Branchmain
Recorded generationWorkshop website / AI discovery integration

Recovered implementation structure

These paths locate the components and entry points represented by this build. The source register contains their inspected revisions.

  • AGENTS.md
  • CLAUDE.md
  • README.md
  • apps/api/README.md
  • apps/api/src/app.ts
  • apps/api/src/config.ts
  • apps/api/src/crawlers.ts
  • apps/api/src/index.ts
  • apps/api/src/mail.ts
  • apps/api/src/responses.ts
  • apps/api/src/static.ts
  • apps/api/src/validation.ts
  • apps/web/index.html
  • apps/web/public/animation/manifest.json
  • apps/web/public/animation/mobile/app-bot/pivots.json
  • apps/web/public/animation/mobile/app-bot/scene.json
  • apps/web/public/animation/mobile/flip-phone/pivots.json
  • apps/web/public/animation/mobile/flip-phone/scene.json
  • apps/web/public/animation/mobile/handheld/pivots.json
  • apps/web/public/animation/mobile/handheld/scene.json
  • apps/web/public/animation/mobile/pager/pivots.json
  • apps/web/public/animation/mobile/pager/scene.json
  • apps/web/public/animation/mobile/smartphone/pivots.json
  • apps/web/public/animation/mobile/smartphone/scene.json
  • apps/web/public/animation/office/object-bounds.json
  • apps/web/public/animation/office/room-manifest.json
  • apps/web/public/animation/office/room-motion-map.json
  • apps/web/public/animation/runtime/version.json
  • apps/web/src/App.tsx
  • apps/web/src/animation/AdaptiveScene.tsx
  • apps/web/src/animation/choreography/usePageChoreography.ts
  • apps/web/src/animation/choreography/useSmoothScroll.ts
  • apps/web/src/animation/choreography/useWorkshopAttention.ts
  • apps/web/src/animation/choreography/useWorkshopStory.ts
  • apps/web/src/animation/conversation/director.mjs
  • apps/web/src/animation/core/AnimationBoundary.tsx
  • apps/web/src/animation/core/contracts.mjs
  • apps/web/src/animation/core/geometry.mjs
  • apps/web/src/animation/core/useMedia.ts
  • apps/web/src/animation/desktop/ComputerActor.tsx
  • apps/web/src/animation/desktop/ComputerGeometry.tsx
  • apps/web/src/animation/desktop/DesktopCharacter.tsx
  • apps/web/src/animation/desktop/DesktopGestures.tsx
  • apps/web/src/animation/desktop/cable-poses.json
  • apps/web/src/animation/desktop/computer-motion.mjs
  • apps/web/src/animation/desktop/gesture-geometry.mjs
  • apps/web/src/animation/desktop/performances.mjs
  • apps/web/src/animation/index.ts
  • apps/web/src/animation/mobile/CharacterArt.tsx
  • apps/web/src/animation/mobile/MobileCharacter.tsx
  • apps/web/src/animation/mobile/cast.ts
  • apps/web/src/animation/mobile/character-controller.mjs
  • apps/web/src/animation/mobile/types.ts
  • apps/web/src/animation/office/RoomObject.tsx
  • apps/web/src/animation/office/RoomScene.tsx
  • apps/web/src/animation/office/catalog.ts
  • apps/web/src/animation/office/index.ts
  • apps/web/src/animation/office/model.ts
  • apps/web/src/animation/office/motion/room-motion.mjs
  • apps/web/src/animation/office/navigation.ts
  • apps/web/src/animation/office/objects/AirDust.tsx
  • apps/web/src/animation/office/objects/Baseboard.tsx
  • apps/web/src/animation/office/objects/Binders.tsx
  • apps/web/src/animation/office/objects/Blinds.tsx
  • apps/web/src/animation/office/objects/BoardBlueprint.tsx
  • apps/web/src/animation/office/objects/BoardPhoto.tsx
  • apps/web/src/animation/office/objects/BoardReminder.tsx
  • apps/web/src/animation/office/objects/BoardSmallNote.tsx
  • apps/web/src/animation/office/objects/BoardSmile.tsx
  • apps/web/src/animation/office/objects/BulletinBoard.tsx
  • apps/web/src/animation/office/objects/CableReel.tsx
  • apps/web/src/animation/office/objects/CartBox.tsx
  • apps/web/src/animation/office/objects/CartToolCup.tsx
  • apps/web/src/animation/office/objects/Clock.tsx
  • apps/web/src/animation/office/objects/CoffeeMug.tsx
  • apps/web/src/animation/office/objects/DeskLamp.tsx
  • apps/web/src/animation/office/objects/DeskPaper.tsx
  • apps/web/src/animation/office/objects/DeskPedestal.tsx
  • apps/web/src/animation/office/objects/DeskPlant.tsx
  • apps/web/src/animation/office/objects/DrawerBottom.tsx
  • apps/web/src/animation/office/objects/DrawerTop.tsx
  • apps/web/src/animation/office/objects/FilingCabinet.tsx
  • apps/web/src/animation/office/objects/Floor.tsx
  • apps/web/src/animation/office/objects/FloorBox.tsx
  • apps/web/src/animation/office/objects/LooseHardware.tsx
  • apps/web/src/animation/office/objects/Outlet.tsx
  • apps/web/src/animation/office/objects/Outside.tsx
  • apps/web/src/animation/office/objects/PartsOrganizer.tsx
  • apps/web/src/animation/office/objects/PencilCup.tsx
  • apps/web/src/animation/office/objects/Screwdriver.tsx
  • apps/web/src/animation/office/objects/Shelf.tsx
  • apps/web/src/animation/office/objects/ShelfPlant.tsx
  • apps/web/src/animation/office/objects/SolderingStation.tsx
  • apps/web/src/animation/office/objects/StorageBoxes.tsx
  • apps/web/src/animation/office/objects/TapeRoll.tsx
  • apps/web/src/animation/office/objects/TestMeter.tsx
  • apps/web/src/animation/office/objects/ToolCart.tsx
  • apps/web/src/animation/office/objects/Wall.tsx
  • apps/web/src/animation/office/objects/Window.tsx
  • apps/web/src/animation/office/objects/Workbench.tsx
  • apps/web/src/animation/office/objects/index.ts
  • apps/web/src/animation/office/registry.ts
  • apps/web/src/animation/office/types.ts
  • apps/web/src/animation/orchestration/AnimationProvider.tsx
  • apps/web/src/animation/orchestration/animationMachine.ts
  • apps/web/src/animation/performances/attention.ts
  • apps/web/src/animation/performances/catalog.mjs
  • apps/web/src/animation/performances/stage-shows.ts
  • apps/web/src/animation/performances/workshop.ts
  • apps/web/src/animation/rive/Character.tsx
  • apps/web/src/animation/rive/RiveCharacter.tsx
  • apps/web/src/animation/rive/playback-gate.mjs
  • apps/web/src/animation/rive/types.ts
  • apps/web/src/animation/rive/verified-assets.json
  • apps/web/src/animation/stage/CharacterStage.tsx
  • apps/web/src/animation/stage/README.md
  • apps/web/src/animation/stage/engine.mjs
  • apps/web/src/animation/stage/index.ts
  • apps/web/src/components/CharacterPlayground.tsx
  • apps/web/src/components/ComputerConversation.tsx
  • apps/web/src/components/DemoCompanion.tsx
  • apps/web/src/components/DemoForm.tsx
  • apps/web/src/components/Icons.tsx
  • apps/web/src/components/PageContent.tsx
  • apps/web/src/components/ServiceBoardScenery.tsx
  • apps/web/src/components/Workshop.tsx
  • apps/web/src/components/demo-intent.mjs
  • apps/web/src/entry-client.tsx
  • apps/web/src/entry-server.tsx
  • apps/web/src/measurement/ConsentControls.tsx
  • apps/web/src/measurement/analytics.mjs
  • apps/web/src/measurement/index.ts
  • apps/web/src/vendor-compat.d.ts
  • apps/web/vite.config.ts
  • deploy/local-validation.json
  • deploy/release.mjs
  • deploy/release.test.mjs
  • deploy/truth-adapter.mjs
  • docs/ACCEPTANCE.md
  • docs/ANIMATION-UPGRADE-INTEGRATION.md
  • docs/ANIMATION-UPGRADE-PRACTICE.md
  • docs/ANIMATION-UPGRADES.md
  • docs/ANIMATION.md
  • docs/ARCHITECTURE.md
  • docs/ASTRA-ATTENTION-PLAN.md
  • docs/ASTRA-PLAN.md
  • docs/ASTRA-VERIFICATION.md
  • docs/CLAUDE-DEPLOYMENT.md
  • docs/DESKTOP-ACCEPTANCE.md
  • docs/DESKTOP-INTEGRATION.md
  • docs/DESKTOP-MEASUREMENT.md
  • docs/DESKTOP-VISUAL-PROOF.md
  • docs/DESKTOP-WORK-LEDGER.md
  • docs/MEASUREMENT-SEARCH-VERIFICATION.md
  • docs/MEASUREMENT.md
  • docs/NATIVE-UPGRADE.md
  • docs/TRUTH-INTEGRATION.md
  • docs/UPGRADE-ACCEPTANCE.md
  • docs/WORKSHOP-CLEANUP-ACCEPTANCE.md
  • docs/WORKSHOP-CLEANUP-INTEGRATION.md
  • docs/standards/README.md
  • docs/standards/build-integration-initial.json
  • docs/standards/build-integration.json
  • docs/standards/coverage-ledger.json
  • docs/standards/decisions.json
  • docs/standards/local-verification-initial.json
  • docs/standards/local-verification.json
  • docs/standards/observations.json
  • docs/superpowers/plans/2026-09-13-measurement-search.md
  • native/build-source/app-bot/rive.yaml
  • native/build-source/flip-phone/rive.yaml
  • native/build-source/handheld/rive.yaml
  • native/build-source/pager/rive.yaml
  • native/build-source/smartphone/rive.yaml
  • native/canvas-verified-assets.json
  • native/canvas-visual-review.json
  • native/reports/asset-audit.json
  • native/reports/browser-boundary.json
  • native/reports/cli-provenance.json
  • native/reports/contact-sheets.json
  • native/reports/native-canvas.json
  • native/reports/native-compiled.json
  • native/reports/rive-transform-schema.txt
  • native/reports/timeline-sync.json
  • native/rml/app-bot/native-map.json
  • native/rml/app-bot/rive.yaml
  • native/rml/flip-phone/native-map.json
  • native/rml/flip-phone/rive.yaml
  • native/rml/handheld/native-map.json
  • native/rml/handheld/rive.yaml
  • native/rml/pager/native-map.json
  • native/rml/pager/rive.yaml
  • native/rml/smartphone/native-map.json
  • native/rml/smartphone/rive.yaml
  • native/visual-review.example.json
  • package.json
  • packages/discovery/README.md
  • packages/discovery/adapters.ts
  • packages/discovery/answers.ts
  • packages/discovery/contract.ts
  • packages/discovery/evidence.ts
  • packages/discovery/http.ts
  • packages/discovery/observe.ts
  • packages/discovery/protocol.ts
  • packages/discovery/providers/anthropic/answers.ts
  • packages/discovery/providers/anthropic/profile.ts
  • packages/discovery/providers/bing/backlinks.ts
  • packages/discovery/providers/bing/collect.ts
  • packages/discovery/providers/bing/profile.ts
  • packages/discovery/providers/bing/webmaster.ts
  • packages/discovery/providers/deepseek/profile.ts
  • packages/discovery/providers/google/answers.ts
  • packages/discovery/providers/google/auth.ts
  • packages/discovery/providers/google/profile.ts
  • packages/discovery/providers/google/search-console.ts
  • packages/discovery/providers/mistral/answers.ts
  • packages/discovery/providers/mistral/profile.ts
  • packages/discovery/providers/openai/answers.ts
  • packages/discovery/providers/openai/profile.ts
  • packages/discovery/providers/perplexity/answers.ts
  • packages/discovery/providers/perplexity/profile.ts
  • packages/discovery/providers/xai/answers.ts
  • packages/discovery/providers/xai/profile.ts
  • packages/discovery/registry.ts
  • packages/site/content.ts
  • packages/site/inquiry.mjs
  • packages/site/search.ts
  • packages/site/truth.ts
  • playwright.config.ts
  • private/standards/Graph-Expansion.txt
  • private/standards/SEO-AIO-Library.txt
  • private/standards/document-001.txt
  • private/standards/document-002.txt
  • private/standards/document-003.txt
  • private/standards/document-004.txt
  • private/standards/document-005.txt
  • private/standards/document-006.txt
  • private/standards/document-007.txt
  • private/standards/document-008.txt
  • private/standards/document-009.txt
  • private/standards/document-010.txt
  • private/standards/document-011.txt
  • private/standards/document-012.txt
  • private/standards/document-013.txt
  • private/standards/document-014.txt
  • private/standards/document-015.txt
  • private/standards/document-016.txt
  • private/standards/document-017.txt
  • private/standards/document-018.txt
  • private/standards/document-019.txt
  • private/standards/document-020.txt
  • private/standards/document-021.txt
  • private/standards/document-022.txt
  • private/standards/document-023.txt
  • private/standards/document-024.txt
  • private/standards/document-025.txt
  • private/standards/document-026.txt
  • private/standards/document-027.txt
  • private/standards/document-028.txt
  • private/standards/document-029.txt
  • private/standards/document-030.txt
  • private/standards/document-031.txt
  • private/standards/document-032.txt
  • private/standards/document-033.txt
  • private/standards/document-034.txt
  • private/standards/document-035.txt
  • private/standards/document-036.txt
  • private/standards/document-037.txt
  • private/standards/document-038.txt
  • private/standards/document-039.txt
  • private/standards/document-040.txt
  • private/standards/document-041.txt
  • private/standards/document-042.txt
  • private/standards/document-043.txt
  • private/standards/document-044.txt
  • private/standards/document-045.txt
  • private/standards/document-046.txt
  • private/standards/document-047.txt
  • private/standards/document-048.txt
  • private/standards/document-049.txt
  • private/standards/document-050.txt
  • private/standards/document-051.txt
  • private/standards/document-052.txt
  • private/standards/document-053.txt
  • private/standards/document-054.txt
  • private/standards/document-055.txt
  • private/standards/document-056.txt
  • private/standards/document-057.txt
  • private/standards/document-058.txt
  • private/standards/document-059.txt
  • private/standards/document-060.txt
  • private/standards/document-061.txt
  • private/standards/document-062.txt
  • private/standards/document-063.txt
  • private/standards/document-064.txt
  • private/standards/document-065.txt
  • private/standards/document-066.txt
  • private/standards/document-067.txt
  • private/standards/document-068.txt
  • private/standards/document-069.txt
  • private/standards/document-070.txt
  • private/standards/document-071.txt
  • private/standards/document-072.txt
  • private/standards/document-073.txt
  • private/standards/document-074.txt
  • private/standards/document-075.txt
  • private/standards/document-076.txt
  • private/standards/document-077.txt
  • private/standards/document-078.txt
  • private/standards/document-079.txt
  • private/standards/document-080.txt
  • private/standards/document-081.txt
  • private/standards/document-082.txt
  • private/standards/document-083.txt
  • private/standards/document-084.txt
  • private/standards/document-085.txt
  • private/standards/document-086.txt
  • private/standards/document-087.txt
  • private/standards/document-088.txt
  • private/standards/document-089.txt
  • private/standards/document-090.txt
  • private/standards/document-091.txt
  • private/standards/document-092.txt
  • private/standards/document-093.txt
  • private/standards/document-094.txt
  • private/standards/document-095.txt
  • private/standards/document-096.txt
  • private/standards/document-097.txt
  • private/standards/document-098.txt
  • private/standards/document-099.txt
  • private/standards/document-100.txt
  • private/standards/document-101.txt
  • private/standards/document-102.txt
  • private/standards/document-103.txt
  • private/standards/document-104.txt
  • private/standards/document-105.txt
  • private/standards/document-106.txt
  • private/standards/document-107.txt
  • private/standards/document-108.txt
  • private/standards/document-109.txt
  • private/standards/document-110.txt
  • private/standards/document-111.txt
  • private/standards/document-112.txt
  • private/standards/document-113.txt
  • private/standards/document-114.txt
  • private/standards/document-115.txt
  • private/standards/document-116.txt
  • private/standards/document-117.txt
  • private/standards/document-118.txt
  • private/standards/document-119.txt
  • private/standards/document-120.txt
  • private/standards/document-121.txt
  • private/standards/document-122.txt
  • private/standards/document-123.txt
  • private/standards/document-124.txt
  • private/standards/document-125.txt
  • private/standards/document-126.txt
  • private/standards/document-127.txt
  • private/standards/document-128.txt
  • private/standards/document-129.txt
  • private/standards/document-130.txt
  • private/standards/document-131.txt
  • private/standards/document-132.txt
  • private/standards/document-133.txt
  • private/standards/document-134.txt
  • private/standards/document-135.txt
  • private/standards/document-index.json
  • release-manifest.json
  • scripts/apply-room-tab-cleanup.mjs
  • scripts/audit-assets.ts
  • scripts/author-performances.mjs
  • scripts/browser-server.ts
  • scripts/build.ts
  • scripts/check-architecture.mjs
  • scripts/check-build.ts
  • scripts/compile-native.mjs
  • scripts/dev.mjs
  • scripts/discovery.ts
  • scripts/generate-search.ts
  • scripts/import-truth.ts
  • scripts/install-native-cli.mjs
  • scripts/native-contact-sheets.mjs
  • scripts/native-harness-server.mjs
  • scripts/package.ts
  • scripts/prepare-native-rml.mjs
  • scripts/preview.mjs
  • scripts/promote-native.mjs
  • scripts/render-desktop-preview.mjs
  • scripts/standards-inventory.ts
  • scripts/sync-native-timelines.mjs
  • scripts/sync-rive-wasm.mjs
  • scripts/test.mjs
  • scripts/verify-local.mjs
  • scripts/verify-native.mjs
  • scripts/verify-release.mjs
  • tests/animation/contracts.test.mjs
  • tests/animation/conversation.test.mjs
  • tests/animation/demo-intent.test.mjs
  • tests/animation/demo-ssr.test.ts
  • tests/animation/desktop-core.test.mjs
  • tests/animation/desktop-expressions.test.mjs
  • tests/animation/desktop-geometry.test.mjs
  • tests/animation/desktop-performances.test.mjs
  • tests/animation/desktop-rendering.test.mjs
  • tests/animation/fixtures/v1-baseline.json
  • tests/animation/native-harness.html
  • tests/animation/native-harness.mjs
  • tests/animation/native-pipeline.test.mjs
  • tests/animation/native-playback-gate.test.mjs
  • tests/animation/native-runtime.spec.ts
  • tests/animation/performances.test.mjs
  • tests/animation/room-tab-cleanup-installer.test.mjs
  • tests/animation/stage.test.mjs
  • tests/animation/upgrade-acceptance.test.mjs
  • tests/api/api.test.ts
  • tests/api/crawlers.test.ts
  • tests/api/inquiry.test.ts
  • tests/browser/animation-upgrades.spec.ts
  • tests/browser/desktop-conversation.spec.ts
  • tests/browser/publishing.spec.ts
  • tests/browser/service-board.spec.ts
  • tests/browser/site.spec.ts
  • tests/browser/workshop-attention.spec.ts
  • tests/browser/workshop-stories.spec.ts
  • tests/discovery/bing.test.ts
  • tests/discovery/evidence.test.ts
  • tests/discovery/google.test.ts
  • tests/discovery/model-answers.test.ts
  • tests/discovery/registry.test.ts
  • tests/measurement/computer-funnel.test.mjs
  • tests/measurement/measurement.test.mjs
  • tests/site/architecture.test.ts
  • tests/site/content.test.ts
  • tests/site/fixture.ts
  • tests/site/publishing.test.ts
  • tests/site/search.test.ts
  • tests/site/truth.test.ts
  • tsconfig.json
  • workshop-cleanup-manifest.json

Behavior & verification limits

Source and recorded acceptance reports do not establish the current production deployment or external provider availability. Compiled animation inspection dumps are inventoried as visual evidence rather than mathematical AI source. No email or external provider request was sent during this audit.

Original project documentation

The following documentation is preserved as a dated source account. Claims in it retain the source’s wording and must be read alongside the implementation notes above.

That Stupid Computer — complete website

The complete React website and Node/TypeScript email backend for thatstupidcomputer.com. The supplied workshop artwork fills the home page below a clear header: the bulletin board, clock, desk drawer and coffee mug are the navigation (invisible hit shapes over the drawing, no floating labels), the computer turns toward whatever the visitor points at, and its conversation runs as one caption on the floor under the desk. The same service explanations follow as ordinary page content. Mobile visitors get a dedicated character scene, a link grid and readable, flowing pages.

This delivery includes editable source, the pinned dependency lock, compiled preview files, the original desktop computer with 32 performances, five expanded native Rive mobile characters, animation source and proof, automated tests, the supplied SEO/AIO build manual and its implementation mapping, and BUBBLES deployment files. It uses no Next.js, Python, PostgreSQL or lead database.

Open the website

Use Node 24.19 or newer within Node 24, and npm 11.9. Extract the archive, open its TSC-WORKSHOP-CLEANUP-v4 directory, then:

node scripts/verify-release.mjs
npm ci
npm run preview

Open http://localhost:4173. The archive already contains the compiled preview. To rebuild after editing, run npm run build before preview. For development with live updates, run npm run dev and open http://localhost:5173.

The website works without analytics or SMTP credentials. The form accurately reports that sending is unavailable until its mail service is configured. It never displays a fake successful submission. All principal pages, links and the native HTML form also have useful initial HTML before JavaScript runs.

Pages and functionality

PageAddress
Interactive workshop/
Services/services/
Website design/services/website-design/
Website rescue/services/website-rescue/
Search visibility/services/search-visibility/
Website care/services/website-care/
Work: an interactive demonstration of this actual site/work/
Process/process/
About/about/
Demo request/contact/
Privacy/privacy/

Unknown addresses return an actual 404 page and status. Navigation uses normal links with enhanced client navigation, browser history and focus handling. Motion respects pause, reduced motion, visibility and intersection. The five mobile rigs now have 32 actions each, with their original fourteen preserved. The original desktop computer now has 32 performances, with additive cable arms, expressive hands, facepalm, shush, pointing, beckoning and permanently censored rude gestures behind an explicit request. The room retains its forty props. The Work page includes an interactive character playground with bounded movement, dragging, keyboard controls, opt-in performances and a shared pause. The workshop computer offers three project choices, playful roasts and direct demo links in an inline disclosure below the room. The expanded controls share space with a compact preview of the original character, without covering the artwork. Its chosen project category carries into the untouched form, where the same computer responds during submission, acceptance and recoverable errors.

The backend validates every submission, enforces same-origin delivery and rate limits, bounds mail concurrency, deduplicates recent submissions in process memory, and sends directly to one configured SMTP recipient. It records no form content in application logs or a database. An accepted result means the configured SMTP server accepted that recipient; it is not proof of inbox delivery.

Analytics loads only after explicit consent and a valid real GA4 ID. Route and conversion events use finite schemas. Form values, full browsing URLs, query strings, selectors and receipt IDs never enter the analytics payload. Optional Google and Bing verification tokens come from actual account configuration.

Give this to Claude Code

If Claude is already modifying the live website, first read docs/WORKSHOP-CLEANUP-INTEGRATION.md. The targeted cleanup removes only the floating room-navigation JSX from the actual edited Workshop file, preserving the live room layout and all other bytes. Merge the inline conversation and companion preview from this complete reference only after reviewing current source. Do not run an older full animation installer or overwrite the edited live project wholesale. Otherwise, start Claude Code in this extracted directory and have it read CLAUDE.md and docs/CLAUDE-DEPLOYMENT.md. The website is already implemented. The remaining deployment work is to inspect BUBBLES, connect its existing canonical truth export, verified SMTP recipient and analytics/search accounts, run the browser acceptance suite, and activate a reviewed release using the included deployment files.

The supplied compiled files are deliberately a noindex preview. A production build requires the real approved public truth projection with exact revision/digest pins and explicit crawler-policy choices. The project consumes the existing organization/person graph by exact reference; it never creates another one. Do not turn synthetic test fixtures into business facts or copy credentials from unrelated services.

Copy .env.example to .env for local configuration. Use protected configuration outside the public tree in production. npm run build:production creates indexable production HTML only after the truth and crawler-policy checks pass. The public document root is exclusively apps/web/dist; serve it through the compiled API with the provided proxy configuration.

Verification

npm run verify:local

This runs strict TypeScript, application tests, the complete build, asset and manual-inventory checks, and HTTP integration checks against the actual compiled pages through Fastify injection. No socket or live mailbox is needed.

On a machine with permitted browser access, install the Playwright browsers and execute the browser suite:

npx playwright install chromium firefox webkit
npm run test:browser

Some Linux hosts additionally need Playwright's documented system libraries. Inspect the host before installing system packages. npm run verify includes the browser gate after local verification. npm run verify:production performs the corresponding production build and acceptance sequence with protected build configuration already loaded.

Current results and limits are recorded in docs/WORKSHOP-CLEANUP-ACCEPTANCE.md and the machine-readable verification reports. Earlier v1/v2/v3 reports are historical for changed files; deployment scope remains in docs/ACCEPTANCE.md. The cloud browser's URL policy prevented live browser execution; the browser suite is included but is not represented as passed. Mailbox delivery, live account collection, public hosting and field performance require observations on the deployment target.

The original desktop SVG/controller has offline render proof for every performance and a 30-second preview in docs/desktop-preview/. This is actual controller output, not a browser recording. The SVG experience is fully active. The five .riv files are compiled and verified through the official Canvas runtime; switching the website to its WebGL adapter requires the separate actual-browser promotion gate in docs/ANIMATION.md. The project does not falsify that gate.

Where to work

LocationResponsibility
apps/web/src/React interface, scene, form, styles and consented measurement
apps/web/public/Public artwork, native animation files and matched Rive runtime
apps/api/src/Validation, direct SMTP, HTTP routing, security and static delivery
packages/site/Shared public content, exact truth adapter and search output
native/Original/repaired animation source, compiled files and scoped evidence
tests/Application, browser, measurement and native acceptance tests
private/standards/Complete supplied manual bytes, extracted document bodies and index
docs/standards/Requirement mapping and implementation review evidence
deploy/Reviewed-host deployment templates and release tooling

Read docs/ARCHITECTURE.md, docs/TRUTH-INTEGRATION.md, docs/MEASUREMENT.md and docs/ANIMATION.md for the corresponding implementation contracts. The manual is a build authority, not content for the public website. The catalog's 146 older file references are retained with their unavailable-source status; no claim is made to have read absent originals.

npm run package regenerates a complete ZIP and SHA-256 sidecar under artifacts/. It includes source and built output, excludes credentials and dependencies, and writes a file-by-file transfer manifest inside the archive. The manifest verifies delivered bytes; changes made after extraction intentionally require a fresh build and package.

Sources & provenance

Search equations, builds, manuscript text, and recovered sources.