Billy: Live Chat AI Demo
Relevant source files
The following files were used as context for generating this wiki page:
Billy is the central collaborator agent of the GestaltView runtime, designed to function as a witness and collaborator rather than a standard chatbot. The Live Chat AI Demo provides an "unslashed" conversational interface on the portfolio, allowing users to interact directly with the machine without the requirement of syntax-heavy commands like /insight ask.
The demo is wired to a live runtime through a signed proxy to ensure security while maintaining an ephemeral state where no user data is stored. It operates under ten constitutional invariants, including five user-facing commitments and five digital-intelligence commitments that govern its prompts, routing, and persistence.
Sources: work.html:79-92, showcase/billy-unslashed-council.html:26-34, showcase/registry.json:67-78
System Architecture and Data Flow
The Billy chat demo utilizes a secure proxy architecture to facilitate communication between the client browser and the GestaltView runtime. This design prevents the exposure of secrets in the client-side code while allowing real-time synthesis.
Communication Flow
- User Input: The user enters a message into the chat interface.
- Proxy Request: The showcase page sends the request to a same-origin serverless proxy (
api/showcase-proxy.js). - Payload Signing: The proxy signs the
insight_bot_request.v2payload using a privateINSIGHT_BOT_SIGNING_SECRET. - Runtime Processing: The signed request is forwarded to the runtime endpoint (
/api/insight-bot/respond). - Signed Response: The runtime validates the signature and returns the agent's response to the proxy, which then passes it back to the client.
A flowchart representing the secure request path from the user interface to the GestaltView runtime.
Sources: showcase/README.md:12-23, showcase/index.html:43-46, showcase/README.md:65-72
Component Specifications
The following table summarizes the key properties and status of the Billy chat demo as defined in the system registry and documentation.
| Property | Specification |
|---|---|
| ID | billy-chat |
| Evidence Status | STAGED (Pending runtime allowlist) |
| Kind | demo |
| Section | live-demos |
| Wiring | Live · signed proxy |
| Data Persistence | Ephemeral (Nothing is stored) |
| Rate Limit | 10 requests per IP per minute |
Sources: showcase/registry.json:67-78, showcase/index.html:43-46, showcase/README.md:46-47
Technical Implementation Details
Unslashed Conversation
The "unslashed" update removes the requirement for Discord-style syntax. While the Discord implementation retains commands for platform-specific grammar, the portfolio demo treats the agent as a "witness" that holds the thread of the user's identity across a conversation without requiring formal command invocation.
Sources: showcase/billy-unslashed-council.html:26-34
Security and Deployment
To prevent unauthorized access and maintain system integrity, the demo requires specific environment configurations:
- INSIGHT_BOT_SIGNING_SECRET: A shared secret between the proxy and the runtime; it is never hardcoded or exposed to the client.
- Runtime Allowlist: The runtime must explicitly allow the
showcaseadapter identity and channel to process requests. - Admin Bypass: Developers can bypass rate limits for testing by setting a
SHOWCASE_ADMIN_TOKENcookie.
// Example Admin testing bypass cookie
document.cookie = "showcase_admin=PASTE_TOKEN; path=/; max-age=604800; SameSite=Lax";
Sources: showcase/README.md:32-55
Degraded States
Until the runtime allowlists the showcase channel, the demo is designed to show "honest degraded states." This ensures the interface does not fake replies or mislead users regarding the connectivity status to the live GestaltView system.
Sources: showcase/README.md:52-55, showcase.html:112-115
Conclusion
The Billy Live Chat AI Demo serves as a functional proof of the GestaltView runtime's ability to maintain context and governance in a live, conversational setting. By utilizing a signed proxy and strictly ephemeral data handling, it balances accessibility with the project's core principles of source preservation and accountability.
Sources: work.html:79-92, showcase/README.md:76-78