vik 0.1.1

Vik is an issue-driven coding workflow automation tool.
# Observation

Current Vik observation surfaces are files:

- foreground stdout logs
- rolling daemon logs
- daemon state JSON
- decoded session `AgentEvent` JSONL

The HTTP API is planned but not implemented. `vik run --port ...` currently
parses the flag and then reaches the unimplemented server path.

## Logs

Foreground `vik run` prints compact tracing output to stdout and writes JSON log
files under:

```text
<workflow-workspace-root>/logs/
```

Detached `vik run -d` disables stdout logging and writes only file logs.

Files:

- `vik.log.YYYY-MM-DD`: INFO and above.
- `vik-error.log.YYYY-MM-DD`: ERROR only.

Examples:

```sh
tail -n 100 <log_dir>/vik.log.*
tail -f <log_dir>/vik-error.log.*
```

## Daemon State

The daemon state file is:

```text
<workflow-workspace-root>/service/state.json
```

It records:

- `workflow_path`
- `cwd`
- `pid`
- `port`
- `bind_address`
- `started_at`
- `log_dir`
- `sessions_dir`
- `command`

Prefer `vik status [WORKFLOW]` over reading this file by hand.

## Sessions

Session JSONL files live under:

```text
<workflow-workspace-root>/sessions/<issue.id>/<stage.name>-<uuid-v7>.jsonl
```

The file contains decoded Vik `AgentEvent` records, not raw provider JSONL.
Records include messages, token usage, rate-limit observations, completion, and
errors when the provider adapter maps them.

The provider session id, when reported, appears inside events and snapshots. It
is not used as the filename.

## Planned HTTP API

The intended HTTP surface is still useful design context, but it is not served
by current code:

- `GET /api/v1/state`
- `GET /api/v1/issues/{issue_id}`
- `POST /api/v1/refresh`
- `POST /api/v1/issues/{issue_id}/cancel`

Do not put `curl` calls to those endpoints in operator runbooks until the
server module lands.