Documentation Audit Trail
This file tracks all documentation changes for Chatons.
2026-10-08 - Reusable LLM Prefixes
Moved fixed runtime guidance ahead of session-specific context and autocomplete constraints ahead of cursor text. Updated Pi integration, developer guidance and maintainer instructions to document the ordering and preserved harness boundaries. No provider cache flags or conversation-history changes are introduced. Local prompt checks establish stable layout; SSD cache performance requires the target inference server.
2026-05-25 - Isolated Electron Smoke UserData
Documented and tightened the Electron QA user-data override used by smoke tests that send real model prompts.
Changes:
- Updated
AGENTS.mdto state thatCHATON_USER_DATA_DIRis only honored together withCHATON_ALLOW_AUTOMATION_INSTANCE=1 - Updated
docs/content/pi-integration.mdxto document isolated QA profiles alongside the managed Pi directory - Updated
docs/content/developer-guide.mdxto describe the startup contract for automation-only user-data overrides
Purpose:
- Lets real Electron prompt smokes run against copied local state without mutating the user's production
chaton.sqliteor Pi sessions - Prevents a stray shell environment variable from silently moving normal app data to another directory
- Keeps QA behavior documented with the main-process runtime contract
2026-04-30 - Runtime Performance Hardening
Documented the extension-server and ACP broadcast performance fixes.
Changes:
- Updated
AGENTS.mdto require boundedreadyUrlprobes, coalesced extension server starts, and batched ACP renderer broadcasts - Updated
docs/content/extensions/index.mdxto document bounded readiness probes and per-extension start coalescing for extension authors - Updated
docs/content/pi-integration.mdxanddocs/content/developer-guide.mdxto record ACP broadcast batching semantics
Purpose:
- Prevents slow or unreachable extension health endpoints from making startup or extension toggles feel stuck
- Prevents simultaneous extension startup triggers from spawning duplicate local server processes
- Keeps ACP persistence durable while avoiding full SQLite rehydrate and whole-state IPC fanout for every task/status tick
2026-04-23 - Dev Electron Automation Override
Documented the dev-only single-instance override used for real Electron QA automation.
Changes:
- Updated
AGENTS.mdto record theCHATON_ALLOW_AUTOMATION_INSTANCE=1dev-only override - Updated
docs/content/developer-guide.mdxanddocs/content/pi-integration.mdxto explain when the override is allowed
Purpose:
- Allows automated QA harnesses to launch and drive a second real Electron window during development
- Avoids false negatives where the normal single-instance lock immediately exits the automation target
- Keeps the override clearly scoped to dev/test workflows rather than normal app runtime behavior
2026-04-23 - Extension Server ReadyUrl Reuse
Documented the extension-server startup fix for local channel bridges that keep a port alive across reloads.
Changes:
- Updated
AGENTS.mdto record that local extension servers may reuse an already-livereadyUrlinstead of forcing a duplicate bind - Updated
docs/content/extensions/index.mdxto document thereadyUrlreuse behavior for extension authors - Updated
docs/content/developer-guide.mdxanddocs/content/pi-integration.mdxto explain the Even Realities bridge/runtime behavior
Purpose:
- Prevents false
EADDRINUSEstartup regressions from being misread as a broken channel bridge - Keeps runtime readiness aligned with the health endpoint that the UI actually depends on
- Records why a local bridge can remain healthy even when a duplicate child-process launch is skipped
2026-04-22 - Cloud Rollout Shutdown Hardening
Documented the cloud-service shutdown and rollout-diagnostics changes made to reduce stuck Kubernetes deploys.
Changes:
- Updated
docs/content/cloud-kubernetes.mdxwith the new bounded shutdown behavior forcloud-api,cloud-realtime, andruntime-headless - Documented that the GitHub Actions deploy workflow now emits pod and deployment diagnostics automatically when rollout waits time out
- Documented that the cloud build now has to copy
packages/memory/index.jsintodist-cloudso deployed containers can resolve the shared memory module at runtime
Purpose:
- Explains why single-replica rolling updates are now less likely to hang on lingering keep-alive connections or slow store shutdown
- Records the new CI behavior so future rollout failures surface actionable cluster state immediately
- Records the packaging requirement behind the observed
ERR_MODULE_NOT_FOUNDcrash in the livecloud-apirollout
2026-04-22 - ACP Internal Orchestration Documentation
Documented ACP as an internal Chatons orchestration layer over Pi.
Changes:
- Updated
AGENTS.mdwith ACP runtime rules and implementation anchor points - Updated
docs/content/pi-integration.mdxto explain ACP-over-Pi execution - Updated
docs/content/developer-guide.mdxto add ACP to the architecture model
Purpose:
- Clarifies that ACP is an internal typed coordination protocol, not a separate end-user runtime
- Documents the persistence model for ACP envelopes, agent state, and task-list history
- Records the runtime/renderer integration points used for planner/coder/reviewer style flows
2026-04-13 - Cloud Integration Architecture Documentation
Added comprehensive documentation for the Cloud Integration Architecture pattern.
Changes:
- Created new document:
docs/content/cloud-integration-architecture.mdx - Added reference link in documentation index
Purpose:
- Documents the multi-service architecture required for Cloud features
- Describes service dependencies: cloud-api, cloud-realtime, runtime-headless
- Explains internal service token requirements
- Documents URL derivation patterns and their fragility
- Details provider requirements for cloud runtime
Key Sections:
- Service Stack Overview
- Critical Dependencies
- URL Derivation Patterns
- Provider Requirements
- Common Failure Modes
2026-04-13 - Cloud Onboarding Architecture Documentation
Added documentation for the Cloud Onboarding Architecture pattern.
Changes:
- Added documentation section in
AGENTS.mdsection 12 - Documented the desktop/cloud authentication flow
Key Topics:
- Web-based cloud authentication flow
- Desktop deeplink handling
- Session token management
- OAuth integration details
2026-04-13 - Cloud Session Management Documentation
Added documentation for Cloud Session Management pattern.
Changes:
- Added documentation section in
AGENTS.mdsection 13
Key Topics:
- Session token lifecycle (access, refresh, expiry)
- Token refresh limitations
- Session persistence in database
- Session validation flow
2026-04-13 - Cloud Project and Conversation Flow Documentation
Added documentation for Cloud Project and Conversation flow.
Changes:
- Added documentation section in
AGENTS.mdsection 14
Key Topics:
- Project creation from desktop
- Repository-based project setup
- Conversation creation for cloud projects
- Runtime provisioning flow
- Error handling and recovery
2026-04-13 - Initial Documentation Audit
Changes:
- Migrated documentation from
.mdfiles to MDX format indocs/content/ - Removed legacy
.mdfiles fromdocs/ - Created
docs/content/documentation-audit.mdxfor tracking
2026-04-13 - Cloud Integration Architecture Audit
Changes:
- Added comprehensive Cloud Integration Architecture audit findings
- Documented 18 critical findings with severity levels
- Created reference documentation for cloud feature understanding
Key Findings:
- Desktop connected status can be false positive
- Session expiration not automatically refreshed
- Multi-service runtime dependency chain
- Fragile port conventions for realtime/runtime-headless
- Runtime fails without exploitable providers
- Repository projects fail without validation
- Git not installed in runtime container
- Errors masked as "unknown"
- Session quota limits not pre-validated
- Email verification not enforced
- Mailer configuration not enforced
- Organization invite flow incomplete
- Cloud feature discovery difficult
- Cloud connect button lacks explanation
- Arbitrary cloud instance connection limited
- Project discovery after resync is fragile
- Cloud conversation titles are ambiguous
- Realtime disconnection creates confusing state