zinit 0.3.6

Process supervisor with dependency management
Documentation
# Zinit Specification Documents

Split specification for Claude Code sessions.

## Documents

| File | Description | Size |
|------|-------------|------|
| `00-overview.md` | Architecture, workspace, common concepts | ~3KB |
| `01-zinit-common.md` | Shared crate: types, protocol, client | ~12KB |
| `02-state-machine.md` | Service states and transitions | ~5KB |
| `03-dependency-graph.md` | Graph structure, queries, visualization | ~8KB |
| `04-process-log.md` | Process spawning, signals, log capture | ~5KB |
| `05-supervisor.md` | Concurrency model, event loop, IPC | ~10KB |
| `06-zinit-pid1.md` | PID 1 specification | ~6KB |
| `07-implementation.md` | Implementation phases and milestones | ~4KB |
| `08-live-updates.md` | ADR: Live binary updates (state preservation across exec) | ~7KB |

## Usage

Feed documents to Claude Code in order:

1. **Start with overview** - always include `00-overview.md` for context
2. **Add relevant spec** - include the spec for what you're building
3. **Reference implementation order** - use `07-implementation.md` for phases

### Example Sessions

**Building zinit-common:**
```
Feed: 00-overview.md + 01-zinit-common.md + 07-implementation.md
```

**Building state machine:**
```
Feed: 00-overview.md + 02-state-machine.md
```

**Building graph:**
```
Feed: 00-overview.md + 03-dependency-graph.md
```

**Building supervisor:**
```
Feed: 00-overview.md + 05-supervisor.md + 02-state-machine.md
```

**Building pid1:**
```
Feed: 00-overview.md + 06-zinit-pid1.md
```

**Adding live updates (future):**
```
Feed: 00-overview.md + 06-zinit-pid1.md + 05-supervisor.md + 08-live-updates.md
```

## Common Ground

All documents share:
- State symbols: `[-]` `[?]` `[>]` `[+]` `[!]` `[.]` `[X]`
- Socket paths: `/var/run/zinit.sock` or `~/hero/var/zinit.sock`
- Config paths: `/etc/zinit/services/` and `/etc/zinit/targets/`
- Types from `zinit-common` crate