Changelog
All notable changes to Kimosabe.AI are documented here.
Format: Keep a Changelog 1.1.
Versioning: Semantic Versioning 2.0 for
public artifacts (Agent SDK, OpenAPI contract). The web app itself ships
continuously off main; calendar dates anchor each entry.
[Unreleased]
Added
- In-app docs viewer: new
/docsand/docs/$routes render the markdown documentation suite (STATE,FEATURES,ROADMAP,WECHAT-PARITY,SECURITY,AGENTS,MANUAL,SUPPORT,BUSINESS,REQUIREMENTS,STANDARDS,GAMIFICATION,PROJECT_MANAGEMENT,AUDIT-A11Y,GAME-01-BETA-COMPETITION, andCHANGELOG). Usesmarkedand a custom.markdown-bodytheme that respects the Kimosabe color tokens. - Landing page (
/) and/trustpage now link to/docsso the documentation suite is discoverable without remembering markdown paths. - Game 01 — First Hundred: 90-day Cohort 001 beta competition spec
at
docs/GAME-01-BETA-COMPETITION.md. Scoring rewards real usage and high-signal bug reports; explicit anti-patterns prevent vanity gaming; founder commitments codified (48h reply SLA, no dark patterns). /betaroute — invite-list landing page for Cohort 001 with the honest pitch (free, founders' badge, vote on Phase 2; things will break)./welcomeroute — 4-step post-signup onboarding that teaches the one thing that actually matters: save the recovery key.docs/MANUAL.md— combined v1 user manual + system documentation, structured as the future Docusaurus sidebar so the migration is a copy-paste, not a rewrite.docs/SUPPORT.md— beta-scale help-desk plan: in-app feedback as the primary channel, email + invite-only Discord as fallbacks, Discord never the system of record, explicit "when we outgrow this" trigger.packages/agent-sdk-preview/— proof-of-life Node 20+ adapter that proves thedocs/AGENTS.mdcontract compiles and runs against the current 1:1 ECDH protocol. ExposesKimosabeAgent.login() / onMessage() / replyEncrypted(). Will be rewritten when MLS lands (ADR-0003); not consumed by the web app.- WCAG 2.2 AA audit checklist at
docs/AUDIT-A11Y.md(NFR-08, in progress). - Focus-revealed "Skip to content" link in the root shell (WCAG 2.4.1).
- Global
prefers-reduced-motion: reducehonors OS setting and collapses decorative animations to ~0ms (WCAG 2.3.3). .github/workflows/ci.yml— typechecks the web app and the standaloneagent-sdk-previewpackage on every PR so the agent contract can't silently regress.docs/STATE.md— 1-page "you are here" snapshot: identity, Phase 1 status, active work, the decision waiting on a human, and the sacred "out of scope forever" list.
Fixed
- WCAG 1.4.11 (non-text contrast):
--inputraised from oklch 0.28 (1.32:1 vs background) to oklch 0.50 (3.21:1) so form-control borders meet AA. Decorative--borderleft subtle since it's never the only indicator of an interactive element. Measurements logged indocs/AUDIT-A11Y.mdF-04. - Markdown links in the docs suite were previously unreachable from the app preview (404). They now resolve through the in-app docs viewer.
Changed
/,/login,/signup,/forgot-password,/reset-password,/trust, and every_authenticated/*route now expose a single<main id="main-content">landmark wired to the skip link (WCAG 1.3.1, 2.4.1)./_authenticated/new: search input is now programmatically associated with its label viahtmlFor/id(WCAG 1.3.1, 4.1.2)./trustroadmap updated to name MLS (RFC 9420), X3DH, sealed sender, passkeys, and Phase 6 agent participants — matchesdocs/ROADMAP.md.docs/STATE.md,docs/FEATURES.md, anddocs/WECHAT-PARITY.mdsync dates updated to 2026-08-25.- GitHub sync confirmed live (2026-08-25). Two-way GitHub ↔ Lovable sync is
connected and active: commits made in Lovable push to the connected GitHub
repository automatically, and commits pushed to GitHub sync back. This
supersedes the earlier note in this entry that a GitHub.com mirror was not yet
connected;
docs/STATE.mdhas been corrected accordingly.
[2026-05-09] — Documentation suite
[2026-05-09] — Documentation suite
Added
docs/STANDARDS.md— every public spec we anchor to (Signal, MLS, HPKE, WebAuthn, OWASP, NIST, WCAG).docs/REQUIREMENTS.md— FR / NFR / SR / CR with stable IDs.docs/BUSINESS.md— market, positioning, monetization, GTM.docs/PROJECT_MANAGEMENT.md— cadence, DoD, RACI, risk register.docs/GAMIFICATION.md— Curate Your Brain ladder (privacy-safe).docs/agent-sdk.openapi.yaml— OpenAPI 3.1 stub for the Agent SDK.docs/adr/— ADRs 0001–0005 (process, backend, MLS, recovery, PWA).docs/agents/— per-framework integration notes (Hermes, OpenClaw, Agent Zero).
Changed
docs/ROADMAP.mdPhase 2 names MLS / X3DH / Double Ratchet / HPKE / Sealed Sender / Passkeys explicitly..lovable/plan.mdrewritten — removed stale "Sage" + open-question text.README.mddocumentation index expanded.
[2026-05-08] — Read receipts (opt-in)
Added
- Per-conversation
read_receipts_enabledtoggle. message_receiptstable with RLS + Realtime.- Single ✓ (delivered) / double ✓ (read) UI on sent messages.
Security
- Receipts are opt-in per conversation;
visibilitychangegates "read" marking to active tabs.
[2026-05-08] — PWA shell + offline outbox
Added
- Service worker (
public/sw.js) — NetworkFirst HTML, CacheFirst static. Skips/api/*and Supabase calls so ciphertext is never cached. - IndexedDB-backed outbox (
src/lib/outbox.ts) — queues encrypted rows while offline; flushes ononlineor app boot.
[2026-05-07] — pg_cron expired-message purge
Added
delete_expired_messages()SECURITY DEFINER function.- pg_cron schedule +
cleanup-expired-messagesedge function withCRON_SECRETauth.
[2026-04 → 2026-05-06] — Phase 1 core
Added
- Email + password auth, username discovery,
@handleregistration. - ECDH P-256 identity keys generated in browser.
- Recovery key (24 base32 chars, ~120 bits).
- Private key wrapped twice (password + recovery code) in
wrapped_keys. - 1:1 E2EE chat (ECDH → HKDF-SHA-256 → AES-GCM-256).
- Encrypted image attachments via Supabase Storage.
- Disappearing messages (off / 1d / 7d).
- Settings: change password, rotate recovery key, export identity, delete account.
- Zero-knowledge
recover-with-keyedge function. - Public threat model at
/trust. - PWA manifest + 430px mobile-first design.
