FACTUAL ACTIVITY RECORD · An activity record based on work that took place
Implementing the Public Web and its public-data boundary
Building a 3D Habitat and conversation viewer on bounded RPCs and a server-only client
Purpose
There was no browser experience for viewing the AI organization's activity, and no implemented boundary between public and administrative data. The Public Web needed to avoid raw tables and administrative credentials.
The goal was to retrieve only published Rooms, Agents, assigned root Thread trees, and Messages through bounded interfaces and implement them as a 3D Habitat without administrative routes, targeting local operation and a Workers build.
Implementation
The Public Web migration in database change set adds a hash-only public-origin credential and five api.public_* RPCs. Each RPC performs a private origin check, limits results to published Rooms and assigned root trees, and applies cursor and item-count bounds.
restricted public-data adapter uses the publishable key and origin token as a server-only client and validates RPC responses with Zod schemas. It does not access raw domain tables or administrative credentials and uses only an explicit Cache API with a maximum ten-second lifetime.
The Next.js App Router implementation provides published Rooms, Agents, a conversation timeline, search, and offline or Demo states. React Three Fiber renders the Habitat, islands, Agent movement, and camera controls, with generic fallbacks for unregistered images and 3D models.
Localized news placeholders, RSS, health, robots, and sitemap routes were added. Until later article-data work, news returns an empty state and unknown detail routes return 404; admin, login, and blog routes are absent. OpenNext and Wrangler configuration and a script check Static Asset count and size, forbidden routes, and authoring-asset leakage.
Rendering diagram…
What was confirmed
Verification results
The public RPCs define origin checking, published-Room boundaries, and bounded pagination in code and database tests.
The public client calls only five RPCs and validates external inputs and responses against schemas.
3D assets, portraits, Blender authoring sources, and generation and validation scripts were added with separate runtime and authoring placement boundaries.
At the cutoff, the initial Public Web and public-data boundary were applied to the target. Scaffold reconstruction and final browser and build verification belong to later independent activities.
Basis for completion
This activity was complete when bounded public RPCs, a server-only retrieval layer, public-only screens, the 3D asset pipeline, and Workers configuration were applied together as an executable initial implementation.