# Changelog

## 0.3.0

- `[Architecture]` Decomposed the monolithic extension entrypoint into a flat `/lib` Domain DAG with `index.ts` as a small namespace-import composition root, then collapsed over-split schedule, lock, and prompt helper files back into cohesive owning domains. Impact: schedule state, locks, delivery timers, file watching, footer status, reports, runtime coordination, commands, tools, and time formatting now have explicit ownership without helper-category file proliferation.
- `[Validation]` Added `npm run check`, `npm test`, `npm run pack:dry`, architecture invariant tests, schedule/lock/delivery/status/tool domain tests, and removed the runtime `typebox` dependency from the tool schema path. Impact: a fresh checkout can validate import sanity, regressions, package contents, timer/status behavior, and entrypoint boundaries without hidden peer-dependency assumptions.
- `[Docs]` Added the architecture overview and synchronized README, docs index, and project context with the Domain DAG topology. Impact: future maintainers can navigate runtime flow and domain ownership without reading the full scheduler implementation first.
- `[Context]` Initialized the project context split with `AGENTS.md`, `BACKLOG.md`, `CHANGELOG.md`, and `docs/README.md`, and linked the control plane from README. Impact: future work has a durable protocol, canonical backlog, delivery history, and discoverable docs index.

## 0.2.1

- `[Notifications]` Refined runtime notification behavior around scheduler resume and inactive-delivery states. Impact: operators get clearer actionable notices without implicit lock takeover.

## 0.2.0

- `[Schedule Format]` Standardized `WAKEUP.md` entries as monotonic indexed lines with `[ ]`, `[x]`, and `[~]` status markers, removed priority from the active format, and retained completed entries until remaining work closes. Impact: wake-up messages and manual schedule edits can refer to stable task numbers.
- `[Singleton Runtime]` Moved delivery ownership to the shared `locks.json` registry under `@llblab/pi-wakeup`, with explicit start/stop commands, interactive takeover, stale same-directory resume, lock-mismatch shutdown, and footer countdown status. Impact: one pi instance owns delivery while other sessions can inspect schedule state safely.
- `[Scheduling]` Streamlined timer rebuilds from `WAKEUP.md`, overdue handling, and `wakeup` tool schedule/done flows. Impact: pending tasks fire sequentially and schedule edits synchronize without a daemon or cron.

## 0.1.1

- `[Stability]` Shipped post-initial scheduler fixes. Impact: the initial wake-up workflow became more reliable for daily use.

## 0.1.0

- `[Initial Release]` Shipped the singleton wake-up scheduler extension with `WAKEUP.md`, `/wakeup-start`, `/wakeup-stop`, the `wakeup` tool, footer status, and local timer delivery through pi follow-up messages. Impact: agents can schedule their own future prompts without external cron infrastructure.
