Natalie
53921b4e94
refactor(domain): rename ChatRole persisted value clare → claire (migration 0010)
...
ChatRole.CLAIRE now persists as "claire" everywhere. Migration 0010
rewrites both the chat_messages.role column and the chat_message_posted
event payloads in one transaction so a future replay reconstructs the
same projection.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 14:29:30 -06:00
Natalie
9f81bfc777
feat(@projects/@claire): ✨ enhance session naming with org/project prefix
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 17:34:07 -07:00
Natalie
a9731b4cd8
feat(decisions): ✨ add decisions tracking system
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 16:58:45 -07:00
autocommit
73d76a8dfc
feat(service): ✨ Add idempotent pull request handling with unique request tracking and test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 15:10:46 -07:00
autocommit
8eea22aa40
feat(config): ✨ Introduce 'this_host' serialization logic and enforce consistent config formatting
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 15:10:46 -07:00
autocommit
8792bffb7e
test(config-dispatch): ✅ Add comprehensive test cases for config validation and dispatch logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 14:28:15 -07:00
Natalie
139e2918b9
feat(@projects/@claire): ✨ add two-gate review workflow
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 02:05:35 -07:00
Natalie
4b768acba2
feat(@projects/@claire): ✨ add tmux_name validation in session dispatch tests
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 00:38:16 -07:00
Natalie
eb382ff1c6
feat(@projects/@claire): ✨ improve session targeting for direct sends
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-22 00:30:39 -07:00
Natalie
c78ca31fa8
feat(@projects/@claire): ✨ add blocker status checks in scheduler
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-21 23:32:16 -07:00
Natalie
7138724b88
feat(@projects/@claire): ✨ add task dependency tracking
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-21 23:17:40 -07:00
Natalie
8b931e6337
feat(@projects/@claire): ✨ improve session targeting and briefing
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-21 20:12:22 -07:00
Natalie
aa1378a807
feat( @projects ): ✨ add session orchestration & web UI components
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-21 19:54:42 -07:00
autocommit
a7158563aa
feat(web): ✨ Implement API endpoints and service logic for fetching "Considered Work" data
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-21 14:39:22 -07:00
autocommit
6d212b7dbe
refactor(testing-test): ♻️ Update test imports to use claire instead of clare in package references
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 19:54:05 -07:00
Natalie
d698cd6430
feat(@projects/@clare): ✨ add remote control session registration
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 18:46:42 -07:00
Natalie
146ad7fbb2
feat( @projects ): ✨ add test for env var stripping in spawn
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 18:32:29 -07:00
Natalie
2d355bcab5
feat(@projects/@clare): ✨ add session age recycling logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 17:29:42 -07:00
Natalie
a7cc0bdeab
feat(orchestrator): ✨ add autonomous dispatch capability
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 05:22:35 -07:00
Natalie
3653177fce
feat(@projects/@clare): ✨ add budget and limits config for rate/load control
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 05:15:13 -07:00
Natalie
4f2d92d485
feat(db): ✨ add org_id column for monorepo projects
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 04:31:55 -07:00
Natalie
99e80259f6
feat(@projects/@clare): ✨ improve session liveness detection with tmux slug matching
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 03:50:29 -07:00
Natalie
ee3419820b
feat( @projects ): ✨ add session liveness tracking migration
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 03:43:35 -07:00
Natalie
9f9c1f0cd5
feat(@projects/@clare): ✨ enhance orchestrator heartbeat with periodic checks
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 03:15:55 -07:00
Natalie
a426453795
feat( @projects ): ✨ add fleet agent orchestration workflow
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 02:27:32 -07:00
Natalie
8ab5619421
feat( @projects ): ✨ add agent status tracking table
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-20 02:20:26 -07:00
Natalie
d2e37ea751
✅ test(@projects/@clare): 🧪 add pm-command parser test suite
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 22:55:54 -07:00
Natalie
bc894b550e
feat( @projects ): ✨ add pm expansion tools
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 22:49:33 -07:00
Natalie
3d24384340
feat(@projects/@clare): ✨ add org, people, and task-related tables
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 22:43:13 -07:00
Natalie
cff7892fab
feat(@projects/@clare): ✨ add ignore_uuids param to discover_session
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 21:20:55 -07:00
Natalie
bce0a5b9b1
feat(@projects/@clare): ✨ add mcp config support for detached spawns
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 21:14:06 -07:00
Natalie
bf9b892d19
feat(@projects/@clare): ✨ add mcp sse endpoint config
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 21:07:44 -07:00
Natalie
52b9594c35
feat(@projects/@clare): ✨ add supervisor for orchestrator session management
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 19:38:33 -07:00
Natalie
46e2211f8c
🔥 remove html chat routes tests
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 17:38:22 -07:00
Natalie
00401248db
feat(@projects/clare): ✨ add live tool-call logging system
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 16:14:40 -07:00
Natalie
507575bbad
feat(orchestrator): ✨ integrate scheduler for project summaries and task assignments
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 16:08:18 -07:00
Natalie
90cb0c4142
feat(@projects/@clare): ✨ add orchestrator init command
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 09:04:35 -07:00
Natalie
acc186b8fb
feat(@projects/@clare): ✨ update reply handling to use replies array
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 08:31:49 -07:00
Natalie
3547c06c5d
feat(@projects/@clare): ✨ add max_duration query param to chat stream
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 08:12:40 -07:00
Natalie
9904e236cc
feat(@projects/@clare): ✨ add orchestrator scheduler nudge system
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 08:06:13 -07:00
Natalie
b8d1cd6bac
feat(@projects/@clare): ✨ add chat api endpoints
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 07:59:52 -07:00
Natalie
6598d3ae4b
✨ feat(@projects/@clare): ✨ add slash-command parser and dispatcher
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 07:53:30 -07:00
Natalie
3cb400a427
✅ test(@projects/@clare): 📝 add chat projection fan-out test suite
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 07:47:06 -07:00
Natalie
e15bbee6dd
fix(pull): dedup session observations by uuid to handle mac-sync'd filesystems
2026-05-18 05:17:42 -07:00
Natalie
87099fd99b
feat(pull): multi-host enumeration via rclaude --tsv
...
Replace local-only _claude-projects --sessions path with
'rclaude list sessions --tsv' (full uuids, separate cwd/mtime
columns) and add 'rclaude triage --tsv' ingestion emitting
TriageRecorded events. Diff against the sessions projection
to skip no-op events for unchanged (host, cwd, mtime) and
(priority, status, summary) tuples.
2026-05-18 03:23:55 -07:00
Natalie
5f316cde24
feat(sync): HMAC-SHA256 auth on /api/v1/sync/*
...
Adds shared-secret HMAC-SHA256 authentication to peer sync endpoints.
Sync requests now include X-Clare-Timestamp + X-Clare-Signature headers
covering ts/method/path/body. Server validates against local sync_secret
and rejects with 401 on mismatch, missing headers, or >300s skew.
- config.py: new sync_secret field (auto-generated on first run) and
PeerConfig list (back-compat: plain-string peers still parse)
- sync.py: signs outbound peer + loopback requests; sync_peer takes
PeerConfig and local_secret
- web/api.py: require_sync_auth dependency on /sync/* routes; /health
remains unauthenticated; when sync_secret is unset, sync stays open
for back-compat with fresh installs
- tests: 10 new auth tests cover valid/tampered/expired/missing/no-secret
paths plus full two-Clare convergence with matched secrets
2026-05-18 03:04:42 -07:00
Natalie
c1e6f7dbe5
feat: initial Clare scaffold — project manager for the Claude agent fleet
...
Push A (single-machine):
- HLC + event-sourced SQLite (events table is source of truth, projections rebuildable)
- Pydantic v2 domain models (Project, Task, Assignment, Session, Group, Update)
- rclaude subprocess wrapper (local_sessions via _claude-projects --sessions)
- Typer CLI: init, project, task, assign, pull, status, broadcast, serve, sync
- FastAPI + Jinja2 + HTMX dashboard
- 26 unit tests passing
Push B (HTTP API + sync substrate):
- /api/v1/* JSON routes (projects, tasks, assignments, sessions, status, broadcast, sync)
- CLI refactored as thin httpx client over the API — single business-logic codepath
- web/service.py: every business op defined once; HTML routes + API routes both call into it
- sync.py: peer-to-peer sync via /api/v1/sync/events with HLC + uuid-based dedup
- 32 tests passing including two-Clare convergence test
Push C (cross-host deployment):
- apricot install via uv (Python 3.12.12)
- systemd --user unit for clare-serve on apricot
- Cross-host sync demoed plum (10.9.0.3) ↔ apricot (10.9.0.2) over wg
- .local → .lan rename for forge URLs
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 02:20:23 -07:00