From 4c4d688c3b0203749fd149a4b0c2ad0d364aa837 Mon Sep 17 00:00:00 2001 From: professorpalmer Date: Mon, 14 Sep 2026 00:20:58 -0500 Subject: [PATCH] chore(release): v0.16.0 Wave 7 P0 ToolLine + ask_person + stall MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenBot parity P0 — ToolLine hop/mouth cards, ask_person exit, silence watchdog. Patterns only. --- AGENTS.md | 38 ++++++++++++------------- docs/marks.md | 2 +- docs/version.md | 2 +- macos/Automaton.app/Contents/Info.plist | 4 +-- package.json | 2 +- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index e6e60ab..ea120bb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -70,30 +70,30 @@ Invariants: - No job ids in spoken lines unless the user asked. - Staff does not pixel-click. The operator takes control of the screen. - Provider reasoning maps (`provider-maps.ts`) are verified-or-none; no capture, no map. -- Provider catalog (`docs/providers.md`, `src/runtime/providers.ts`) — mouths vs Jobs/PM vs cloud; one sanctioned auth each (OpenRouter keys / Codex auth for OpenAI-class Jobs / `CURSOR_API_KEY` for cloud); unknown provider = miss; no fake selectable that no-ops; package 0.15.0. +- Provider catalog (`docs/providers.md`, `src/runtime/providers.ts`) — mouths vs Jobs/PM vs cloud; one sanctioned auth each (OpenRouter keys / Codex auth for OpenAI-class Jobs / `CURSOR_API_KEY` for cloud); unknown provider = miss; no fake selectable that no-ops; package 0.16.0. - Live world-state books analyze; claims are recall-only. - Product routines (`docs/routines.md`) wake mouths on schedule/event with kickoff `routine`; they are not Grok Bot agent crons. MVP schedule ticks need the Staff app open. - External channels (`docs/channels.md`) — Slack MVP: connect in Settings (never paste bot tokens in chat); inbound via `~/.automaton/inbox/slack` or future socket; `kickoff=channel` wakes Staff; outbound fail-closed as the user. Channel traffic is mouth/staff; Jobs still own coding. -- Multi-agent rooms (`docs/rooms.md`) — local SendToAgent-class + named rooms; sisters keep separate threads; mouth only (not Slack); `needsFanoutConfirm` for 3+; package 0.15.0. -- MCP catalog (`docs/mcp.md`) — Settings curated plugins; install registry under `~/.automaton/mcp`; auth via secret-request / Connect (never chat-paste); schema hints only until live MCP client; package 0.15.0. -- Secrets (`docs/secrets.md`) — in-app secret-request card with masked entry; vault via `writeConnectorSecret`; never persist secret values in session JSON / feed / Jobs / Slack / speech; package 0.15.0. -- Version / releases (`docs/version.md`) — Settings About + optional titlebar chip from `package.json` / Info.plist; GitHub Latest notify-only (never auto-upgrade); git tip/dirty modal stays; doctor WARNs on package≠plist; package 0.15.0. -- Skills library (`docs/skills.md`) — Settings list/author local skills; imported read-only body; pin via agent skillIds; offer-once widget on composer match; mouths stay Send; package 0.15.0. -- Idle CPU (`docs/idle-cpu.md`) — park inventory + Mac idle proof; doctor notes checklist (optional `AUTOMATON_IDLE_CPU=1` live sample); package 0.15.0. -- Living marks (`docs/marks.md`) — selected glance / soft melt / lid springs; Wave 3.1 mark-local 0.1px melt publish (gpuix px stays integer); sister-freeze parks idle rail; honesty on stubby life; package 0.15.0. -- `@gpuix/react` vendor (`docs/gpuix.md`) — stay on vendored 0.6.2 (native spring passthrough + matched native) until remorses/gpuix#34 merges **and** a park-bearing npm publish; never switch to registry 0.8.0 / 0.8.0; never ask NPM_TOKEN for `@gpuix`; package 0.15.0. -- Cloud agent / Origin (`docs/cloud-origin.md`) — optional public Cloud Agents API (`CURSOR_API_KEY`); Settings/Jobs parked when unavailable (no fake Launch); Origin browse only from explicit `origin.cursor.com` remotes; never guess Origin from GitHub; package 0.15.0. -- Mouth compaction (`docs/compaction.md`) — working set = compact summary + recent turns; auto when over char budget; Compact now in Settings; fail-soft Need; Jobs pane untouched (no above-composer strip); package 0.15.0. -- Home bind from clone URL — `git@` / `ssh://git@github.com` / `*.git` https clone URLs bind like page URLs; missing checkout still clones into `~/Projects/` (see `docs/staff.md`, `src/runtime/home.ts`); package 0.15.0. +- Multi-agent rooms (`docs/rooms.md`) — local SendToAgent-class + named rooms; sisters keep separate threads; mouth only (not Slack); `needsFanoutConfirm` for 3+; package 0.16.0. +- MCP catalog (`docs/mcp.md`) — Settings curated plugins; install registry under `~/.automaton/mcp`; auth via secret-request / Connect (never chat-paste); schema hints only until live MCP client; package 0.16.0. +- Secrets (`docs/secrets.md`) — in-app secret-request card with masked entry; vault via `writeConnectorSecret`; never persist secret values in session JSON / feed / Jobs / Slack / speech; package 0.16.0. +- Version / releases (`docs/version.md`) — Settings About + optional titlebar chip from `package.json` / Info.plist; GitHub Latest notify-only (never auto-upgrade); git tip/dirty modal stays; doctor WARNs on package≠plist; package 0.16.0. +- Skills library (`docs/skills.md`) — Settings list/author local skills; imported read-only body; pin via agent skillIds; offer-once widget on composer match; mouths stay Send; package 0.16.0. +- Idle CPU (`docs/idle-cpu.md`) — park inventory + Mac idle proof; doctor notes checklist (optional `AUTOMATON_IDLE_CPU=1` live sample); package 0.16.0. +- Living marks (`docs/marks.md`) — selected glance / soft melt / lid springs; Wave 3.1 mark-local 0.1px melt publish (gpuix px stays integer); sister-freeze parks idle rail; honesty on stubby life; package 0.16.0. +- `@gpuix/react` vendor (`docs/gpuix.md`) — stay on vendored 0.6.2 (native spring passthrough + matched native) until remorses/gpuix#34 merges **and** a park-bearing npm publish; never switch to registry 0.8.0 / 0.8.0; never ask NPM_TOKEN for `@gpuix`; package 0.16.0. +- Cloud agent / Origin (`docs/cloud-origin.md`) — optional public Cloud Agents API (`CURSOR_API_KEY`); Settings/Jobs parked when unavailable (no fake Launch); Origin browse only from explicit `origin.cursor.com` remotes; never guess Origin from GitHub; package 0.16.0. +- Mouth compaction (`docs/compaction.md`) — working set = compact summary + recent turns; auto when over char budget; Compact now in Settings; fail-soft Need; Jobs pane untouched (no above-composer strip); package 0.16.0. +- Home bind from clone URL — `git@` / `ssh://git@github.com` / `*.git` https clone URLs bind like page URLs; missing checkout still clones into `~/Projects/` (see `docs/staff.md`, `src/runtime/home.ts`); package 0.16.0. - Bezel surface lift (Wave 2 P1) — TypeScript recipes only (`src/chrome/surface.ts`, step-row, activity takeover, composer `#` picker, titlebar clearance). No bezel crate, no `@gpuix/react@0.8.0`, no liquid glass. Settings/inspector read live tokens. Package 0.8.0. -- Mouth stream + initiator ledger (Wave 4 P0) — feed `mouth-stream` phases decide→act→done/refuse for side effects; action ledger `initiatorKind` from kickoff (`person`←user, routine/peer-hop/channel/webhook/deployment/unknown); computer/host/MCP share `recordSideEffect`; no `@ag-ui/*` / CopilotKit; sisters stay separate; no secrets in feed; package 0.15.0. -- Peer provenance + standing role (Wave 4 P1) — `sendToAgent` / `postToRoom` stamp `originUser` + `hopDepth` on peer-hop wakes; `standingRoleBlock` (name/title/rules) on every mouth system preamble; unattended = routine | peer-hop without interactive person; no CopilotKit; sisters stay separate; package 0.15.0. -- Session Activity strip (Wave 4 P2) — per-sister ephemeral commands/files next to feed from mouth-stream / action ledger (no second audit DB); writes show path·size only; `docs/activity.md`; no CopilotKit; package 0.15.0. -- Peer chase / head keep-alive (Wave 5 P0) — `offerSisterHop` / `sendToAgent` park `pendingHops` envelopes; head working while hops are out; assess injects `expecting` and may hop again if unmet; empty/fail sister auto-wakes a notice; `docs/peer-chase.md`; no CopilotKit / `@ag-ui/*`; sisters stay separate; package 0.15.0. -- GPUI polish P0 (Wave 6) — toast stack + level policy (`src/chrome/toast*.tsx` / toast-store); EmptyState icon/CTA; focus chords Cmd+L / Cmd+B / Cmd+, / Cmd+J (HID + gpuix); `docs/wave6-gpui-polish.md`; no CopilotKit / gpui-kit; idle parks intact; package 0.15.0. -- GPUI polish P1 (Wave 6) — Cmd+K command palette lite (sisters / rooms / settings sections / Jobs); visible steer-queue card (remove / send-now); shared `ListRow` density + hover end-slot; `Tip` microcopy on titlebar / rail / Jobs; opaque menuFill overlays; idle parks intact; package 0.15.0. +- Mouth stream + initiator ledger (Wave 4 P0) — feed `mouth-stream` phases decide→act→done/refuse for side effects; action ledger `initiatorKind` from kickoff (`person`←user, routine/peer-hop/channel/webhook/deployment/unknown); computer/host/MCP share `recordSideEffect`; no `@ag-ui/*` / CopilotKit; sisters stay separate; no secrets in feed; package 0.16.0. +- Peer provenance + standing role (Wave 4 P1) — `sendToAgent` / `postToRoom` stamp `originUser` + `hopDepth` on peer-hop wakes; `standingRoleBlock` (name/title/rules) on every mouth system preamble; unattended = routine | peer-hop without interactive person; no CopilotKit; sisters stay separate; package 0.16.0. +- Session Activity strip (Wave 4 P2) — per-sister ephemeral commands/files next to feed from mouth-stream / action ledger (no second audit DB); writes show path·size only; `docs/activity.md`; no CopilotKit; package 0.16.0. +- Peer chase / head keep-alive (Wave 5 P0) — `offerSisterHop` / `sendToAgent` park `pendingHops` envelopes; head working while hops are out; assess injects `expecting` and may hop again if unmet; empty/fail sister auto-wakes a notice; `docs/peer-chase.md`; no CopilotKit / `@ag-ui/*`; sisters stay separate; package 0.16.0. +- GPUI polish P0 (Wave 6) — toast stack + level policy (`src/chrome/toast*.tsx` / toast-store); EmptyState icon/CTA; focus chords Cmd+L / Cmd+B / Cmd+, / Cmd+J (HID + gpuix); `docs/wave6-gpui-polish.md`; no CopilotKit / gpui-kit; idle parks intact; package 0.16.0. +- GPUI polish P1 (Wave 6) — Cmd+K command palette lite (sisters / rooms / settings sections / Jobs); visible steer-queue card (remove / send-now); shared `ListRow` density + hover end-slot; `Tip` microcopy on titlebar / rail / Jobs; opaque menuFill overlays; idle parks intact; package 0.16.0. - GPUI polish P2 (Wave 6) — optional Mac OS notify (background mouth complete / needs approval; Quiet + `AUTOMATON_DISABLE_NOTIFICATIONS`); pulse lease strides (MouthWait / Activity slow cadence on expensive surfaces); feed edge-fade spike; Shortcuts help from live `KEYMAP`; `docs/wave6-gpui-polish.md` + idle-cpu honesty; no CopilotKit / gpui-kit; no version cut in P2. -- Wave 7 P0 OpenBot parity — ToolLine mouth/hop feed cards; `ask_person` judgement exit; mouth silence watchdog + sticky stopped banner (`docs/wave7-p0-openbot-parity.md`); patterns only — no CopilotKit / `@ag-ui/*` / generative UI; package 0.15.0 (no tag in P0 PR). +- Wave 7 P0 OpenBot parity — ToolLine mouth/hop feed cards; `ask_person` judgement exit; mouth silence watchdog + sticky stopped banner (`docs/wave7-p0-openbot-parity.md`); patterns only — no CopilotKit / `@ag-ui/*` / generative UI; package 0.16.0. - Bezel light appearance (Wave 2 P2) — designed light (Settings → Window → Appearance; not invert of graphite); Brand-complete Settings (remaining CARD/FIELD via useChrome; update modal scrim); ToggleGroup, EmptyState, Sheet extracted. Still vendored `@gpuix/react` (Wave 3.2 is 0.6.2 + matched native). Package 0.8.0. ## Safety diff --git a/docs/marks.md b/docs/marks.md index f262fab..afba0e6 100644 --- a/docs/marks.md +++ b/docs/marks.md @@ -1,7 +1,7 @@ # Living marks (Wave 3.2) Rail marks are Automaton art (`SisterBlob` + baked `src/marks/` frames), not -Grok/Hermes assets. Package is **0.15.0** (Wave 3 living-mark gel checkpoint). +Grok/Hermes assets. Package is **0.16.0** (Wave 3 living-mark gel checkpoint). Rolled back to first native gel (pre-3.2.1): full GELATIN, no mark-spring look hold, native hard-park 420ms, soft-wide/tall ±2px. diff --git a/docs/version.md b/docs/version.md index bae54d2..0eea251 100644 --- a/docs/version.md +++ b/docs/version.md @@ -2,7 +2,7 @@ Installed Automaton shows a real version — not an unversioned tip forever. -Current band is package (`0.15.0`). Version stays until the next band cut. This surface does +Current band is package (`0.16.0`). Version stays until the next band cut. This surface does **not** bump the band and does **not** publish to PyPI. ## Sources of truth diff --git a/macos/Automaton.app/Contents/Info.plist b/macos/Automaton.app/Contents/Info.plist index bd5d36e..cdd41b7 100644 --- a/macos/Automaton.app/Contents/Info.plist +++ b/macos/Automaton.app/Contents/Info.plist @@ -21,9 +21,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.15.0 + 0.16.0 CFBundleVersion - 0.15.0 + 0.16.0 LSApplicationCategoryType public.app-category.developer-tools LSMinimumSystemVersion diff --git a/package.json b/package.json index 712d93a..42c252e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "automaton", - "version": "0.15.0", + "version": "0.16.0", "private": true, "license": "MIT", "type": "module",