- use sqlx migrate!() instead of broken split(';') — triggers now work
- seq via AUTOINCREMENT — no race conditions, monotonic ordering
- replace ?since= with ?after_seq= — cursor-based, no timestamp format issues
- replace all unwrap() with typed errors (404, 409, 400, 500)
- reply_to same-channel enforced in route handler
- add biome for frontend linting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Monorepo structure:
- crates/colony-types: API types (serde + ts-rs), separate from DB models
- crates/colony: Axum server, SQLite via sqlx, migrations
Working endpoints:
- GET /api/health
- GET/POST /api/channels
- GET /api/channels/{id}
- GET /api/channels/{id}/messages (?since=, ?type=, ?user_id=)
- POST /api/channels/{id}/messages (with type + metadata)
Data model includes:
- seq monotonic ordering, soft delete, same-channel reply constraint
- Seeded users (benji, neeraj) and #general channel
Also: codex-review skill, .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- add .claude/rules/frontend.md: auto-loads /frontend-design for ui/** files
- add frontend-design to CLAUDE.md route table
- fix codex reviewer: use direct Bash instead of subagent (permissions issue)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- open port 3000 permanently for git operations (no more temp firewall dance)
- add "always push" to non-negotiable rules
- update git docs: HTTP on port 3000 for push/pull, HTTPS for web UI
- Neeraj can now clone/push without gcloud access
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- separate DB models from API types (no more "one struct rules all")
- drop utoipa, drop channel membership, drop model from users
- add seq ordering, soft delete, hashed tokens, same-channel reply constraint
- WS auth via first message instead of query param
- reorder stories to vertical slice (conversation model first, deploy early)
- add codex-reviewer subagent for parallel GPT-5.4 reviews
- update critic + ax skills to use codex-reviewer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- flatten skill dirs (apes/critic → critic, apes/ax → ax)
- add Git/Gitea section to CLAUDE.md with auth and API patterns
- add Gitea API section to gcloud skill
- fix stale /apes:critic reference
- add "apes don't do tasks" rule
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>