This website requires JavaScript.
c3fe2e414b
chore(deps): update the lockfile
main
logaritmisk and Claude Opus 5
2026-09-07 10:37:21 +02:00
ace5bd6e87
Merge feat/stdin-mode: keep a supervised child's stdin open
logaritmisk and Claude Opus 5
2026-09-07 09:55:33 +02:00
e4eb1cc6a2
docs(readme): document the stdin option
logaritmisk and Claude Opus 5
2026-09-07 09:51:05 +02:00
38e9af1e3d
test(stdin): pin keep-open through the daemon
logaritmisk and Claude Opus 5
2026-09-07 09:51:01 +02:00
b500882257
feat(supervisor): let a server keep its stdin open
logaritmisk and Claude Opus 5
2026-09-07 09:50:42 +02:00
7f605f361e
test(uptime): assert on the wire value, not the rendered table
logaritmisk and Claude Opus 5
2026-08-10 14:42:57 +02:00
29df988d9d
feat(cli): render uptime in human units
logaritmisk and Claude Opus 5
2026-08-10 13:31:14 +02:00
3dcda14ba5
test(harness): put each restart key on its own line
logaritmisk
2026-08-07 16:29:53 +02:00
44304d0625
fix(protocol): reject one-line KDL blocks with multiple keys
logaritmisk
2026-08-07 16:29:48 +02:00
938cbcbc08
test(wait-for): pin the gate end to end
logaritmisk and Claude Opus 5
2026-08-07 16:17:20 +02:00
516d7d0b86
fix(daemon): keep serving while a gated server waits
logaritmisk and Claude Opus 5
2026-08-07 16:17:20 +02:00
a533da8e80
fix(supervisor): non-vacuous retry-budget test, clear stale uptime, sync gate reconfigure
logaritmisk
2026-08-07 16:00:42 +02:00
e556335102
test(cli): pin the exact wait-line layout instead of substring checks
logaritmisk
2026-08-07 15:58:16 +02:00
c7a26332e8
docs(readme): document the wait-for readiness gate
logaritmisk
2026-08-07 15:52:20 +02:00
2b84f1d1e0
feat(cli): surface the waiting state and its condition
logaritmisk
2026-08-07 15:50:37 +02:00
9307af46a8
feat(supervisor): gate spawns on the wait-for condition
logaritmisk
2026-08-07 15:46:38 +02:00
4c34e336a2
fix(protocol): reject duplicate command/args keys in wait-for block
logaritmisk
2026-08-07 15:41:38 +02:00
7631eefc67
feat(supervisor): evaluate wait-for conditions
logaritmisk
2026-08-07 15:41:06 +02:00
dbf600c1f5
feat(protocol): Waiting state and WaitInfo on StatusDetail
logaritmisk
2026-08-07 15:37:12 +02:00
fbb58ebfef
feat(protocol): wait-for schema and KDL parsing
logaritmisk
2026-08-07 15:33:19 +02:00
c000a00f05
docs(plan): make tilde expansion injectable rather than env-mutating
logaritmisk and Claude Opus 5
2026-08-07 15:28:49 +02:00
73e17d51f3
docs(plan): implementation plan for the wait-for readiness gate
logaritmisk and Claude Opus 5
2026-08-07 15:10:48 +02:00
ba04cb1ec9
docs(spec): readiness gate (wait-for) for supervised servers
logaritmisk and Claude Opus 5
2026-08-07 15:06:25 +02:00
0c8ae3b617
fix(supervisor): compute uptime at read time, not publish time
logaritmisk and Claude Opus 5
2026-08-07 13:11:01 +02:00
d75d57ff0b
fix(supervisor): don't count the first start as a restart
logaritmisk and Claude Opus 5
2026-08-07 13:09:47 +02:00
ecff75d514
fix(daemon): log fatal startup errors to daemon.log
logaritmisk and Claude Opus 5
2026-08-01 09:38:04 +02:00
7bb80803fe
fix(service): strip Disabled before load, verify it, and honour the plist
logaritmisk and Claude Opus 5
2026-08-01 00:27:34 +02:00
fd842289e3
docs: correct the false Arc<Mutex> MakeWriter claim
logaritmisk and Claude Opus 5
2026-08-01 00:13:54 +02:00
41acc3e21a
fix(service): unescape plist XML, surface both launchctl streams, clear status fields when not installed
logaritmisk and Claude Opus 5
2026-08-01 00:09:59 +02:00
1d73057444
docs(readme): document xy service verbs
logaritmisk
2026-07-31 23:41:17 +02:00
f48221b09c
feat(cli): xy service install/uninstall/start/stop/status
logaritmisk
2026-07-31 23:39:32 +02:00
999134657c
feat(service): agent status plus launchctl load/unload
logaritmisk
2026-07-31 23:35:36 +02:00
f267efc967
feat(service): AgentSpec and launchd install/uninstall
logaritmisk
2026-07-31 23:32:46 +02:00
ae37060160
fix(daemon): drop unneeded Arc from daemon_writer's Mutex return type
logaritmisk
2026-07-31 23:28:53 +02:00
b69426f4df
feat(daemon): write rotating xy.log alongside stderr
logaritmisk
2026-07-31 22:57:30 +02:00
f70092f1a0
feat(logs): impl io::Write for RotatingLogWriter
logaritmisk
2026-07-31 22:49:36 +02:00
2ab74c992b
docs(plan): drop the launchd integration test
logaritmisk and Claude Opus 5
2026-07-31 22:48:12 +02:00
f74eb1e865
docs(spec): drop the unnecessary MakeWriter newtype
logaritmisk and Claude Opus 5
2026-07-31 22:24:51 +02:00
dff798a9be
docs(plan): implementation plan for start-on-login
logaritmisk and Claude Opus 5
2026-07-31 22:21:01 +02:00
5b088f119c
docs(spec): correct launchd behaviour after reading crate source
logaritmisk and Claude Opus 5
2026-07-31 22:15:27 +02:00
3a434657bc
docs(spec): start-on-login via launchd user agent (macOS)
logaritmisk and Claude Opus 5
2026-07-31 22:12:15 +02:00
40ffd9b06c
fix(pidfile): replace stale pidfile after unclean shutdown
logaritmisk and Claude Opus 4.8
2026-06-05 18:16:54 +02:00
00c7e7e812
feat(paths): auto-create config dir on daemon startup
logaritmisk and Claude Opus 4.7
2026-05-26 12:44:47 +02:00
740b8b4c84
Merge feat/mcp-supervisor: HTTP MCP server supervisor MVP
logaritmisk
2026-05-25 13:22:28 +02:00
4a0b32d90e
fix(supervisor): StartAck::SpawnFailed surfaces real failures
logaritmisk and Claude Sonnet 4.6
2026-05-25 12:32:07 +02:00
b366df0482
fix(supervisor): make backoff sleep interruptible by Stop/Shutdown
logaritmisk and Claude Sonnet 4.6
2026-05-25 12:31:32 +02:00
3e4ad79137
fix(supervisor): publish full status (pid, port, uptime, restart_count, last_exit) via watch channel
logaritmisk and Claude Sonnet 4.6
2026-05-25 12:30:56 +02:00
ae6ed1cf0a
chore: remove stray libnull.rlib and gitignore *.rlib
logaritmisk and Claude Opus 4.7
2026-05-25 12:25:02 +02:00
0261d58d5d
docs: README and example KDL config
logaritmisk
2026-05-25 12:19:34 +02:00
9d5d8f04a2
chore: clippy fixes - allow should_implement_trait and collapse nested if
logaritmisk
2026-05-25 12:19:24 +02:00
b1e7dea739
test(xy): logs --tail and --follow
logaritmisk
2026-05-25 12:17:32 +02:00
15791c628b
test(xy): reload diff
logaritmisk
2026-05-25 12:05:58 +02:00
284b6e7402
test(xy): restart cap escalates to failed
logaritmisk
2026-05-25 12:05:45 +02:00
434828c14e
test(xy): auto-start + stop/start lifecycle
logaritmisk
2026-05-25 12:05:28 +02:00
48d63a0549
test(xy): integration test harness
logaritmisk
2026-05-25 12:03:38 +02:00
7107977637
test(xy): helper binaries for integration tests
logaritmisk
2026-05-25 12:03:13 +02:00
c1f6225e26
feat(xy): CLI client commands
logaritmisk and Claude Opus 4.7
2026-05-25 12:02:09 +02:00
b434c636a6
feat(xy): logs streaming via subscription notifications
logaritmisk and Claude Sonnet 4.6
2026-05-25 11:59:46 +02:00
c679465f12
feat(xy): reload handler with diff
logaritmisk and Claude Sonnet 4.6
2026-05-25 11:56:45 +02:00
736e6d1854
feat(xy): RPC handlers for list/status/start/stop/restart
logaritmisk and Claude Sonnet 4.6
2026-05-25 11:54:52 +02:00
3ab982aea1
feat(xy): daemon boot + accept loop + graceful shutdown
logaritmisk and Claude Sonnet 4.6
2026-05-25 11:52:41 +02:00
d7aa543ac0
feat(xy): daemon Registry with config-hash entries
logaritmisk
2026-05-25 11:49:58 +02:00
71808783c4
feat(xy): clap CLI scaffold
logaritmisk
2026-05-25 11:49:47 +02:00
49c006df10
feat(xy): exclusive pidfile guard
logaritmisk
2026-05-25 11:48:38 +02:00
58c44e0b48
feat(xy): XDG path resolution
logaritmisk
2026-05-25 11:48:36 +02:00
b137f85a0c
feat(ipc): server bind + Connection wrapper
logaritmisk
2026-05-25 11:47:24 +02:00
fbfb1db427
feat(ipc): client with call + notification reader
logaritmisk
2026-05-25 11:47:11 +02:00
e58b6866ef
feat(ipc): newline-delimited JSON framing
logaritmisk
2026-05-25 11:45:50 +02:00
53f6b82f2b
feat(ipc): JSON-RPC envelope types
logaritmisk
2026-05-25 11:45:37 +02:00
a3c979511e
feat(supervisor): supervisor task with state machine
logaritmisk and Claude Sonnet 4.6
2026-05-25 11:44:12 +02:00
f1b2306156
feat(supervisor): RealChild + spawn_with_logs
logaritmisk and Claude Sonnet 4.6
2026-05-25 11:40:19 +02:00
e121fe28bb
feat(supervisor): LogSink fans out to file, ring buffer, broadcast
logaritmisk
2026-05-25 11:37:19 +02:00
7995a53e82
feat(supervisor): ring buffer for recent log lines
logaritmisk
2026-05-25 11:36:52 +02:00
d51f25350c
feat(supervisor): rotating log writer
logaritmisk
2026-05-25 11:36:23 +02:00
d237e980e9
feat(supervisor): sliding retry-window tracker
logaritmisk
2026-05-25 11:34:55 +02:00
54045da2df
feat(supervisor): exponential backoff calculator
logaritmisk
2026-05-25 11:34:53 +02:00
4837a73167
feat(supervisor): restart-policy decision logic
logaritmisk
2026-05-25 11:34:50 +02:00
1d2848f03a
feat(supervisor): ChildHandle trait + MockChild
logaritmisk
2026-05-25 11:33:23 +02:00
bd926061bf
feat(protocol): JSON-RPC method param/result types
logaritmisk
2026-05-25 11:31:56 +02:00
e8f5846cec
feat(protocol): load_all_configs from dir with duplicate port detection
logaritmisk
2026-05-25 11:30:38 +02:00
7e59d7d050
feat(protocol): KDL parser for ServerConfig
logaritmisk
2026-05-25 11:29:05 +02:00
355d0debda
feat(protocol): ServerConfig + ConfigError + RpcErrorCode
logaritmisk
2026-05-25 11:23:57 +02:00
5a0963665d
feat(protocol): RestartPolicy/RestartConfig/StopConfig with defaults
logaritmisk
2026-05-25 11:22:52 +02:00
0e49834c93
feat(protocol): ServerState enum
logaritmisk
2026-05-25 11:21:43 +02:00
1b76378b37
chore: bump workspace resolver to "3"
logaritmisk and Claude Opus 4.7
2026-05-25 11:20:54 +02:00
5b1314b0af
chore: convert to cargo workspace with four crates
logaritmisk
2026-05-25 11:17:24 +02:00
c252bd7716
docs: add xy MCP supervisor implementation plan
logaritmisk and Claude Opus 4.7
2026-05-25 11:13:56 +02:00
8f7200aa25
docs: add xy MCP supervisor design spec
logaritmisk and Claude Opus 4.7
2026-05-25 10:51:57 +02:00
cd2746cc3d
chore: initial cargo skeleton
logaritmisk and Claude Opus 4.7
2026-05-25 10:51:49 +02:00