Skip to content

Releases: Ashon/pacenote

v0.5.27

Choose a tag to compare

@Ashon Ashon released this 18 Oct 06:40

Text is sharper on a regular (non-Retina) display. Latin is back in the system font, SF Pro, beside Pretendard's Hangul,
and every screen sets its text from one set of roles.

brew update && brew upgrade --cask pacenote

Sharper text

  • SF Pro and Pretendard. Host Grotesk, set in v0.5.26, blurred at the 11 to 14px most screens are made of on a 1x
    display, where macOS does not hint fonts. SF Pro has shapes drawn for small sizes and sits beside Pretendard's Hangul
    without resizing either, so a line that mixes Korean and English reads evenly. The app is lighter too: it no longer
    bundles a Latin font.
  • macOS's own smoothing. Text keeps the stem darkening macOS gives it, instead of the thinner antialiased strokes.
  • Captions hold their weight. The 11px text of counts, pills and the status bar is medium everywhere, never regular.

One set of type roles

  • Text takes a role, not a size: number, title, heading, section, row, copy, body, meta and caption. Each carries
    its size, line height, tracking and weight, so a row title or a meta line looks the same on every screen. The sizes
    are the ones the screens were laid out on, so nothing moves.
  • Figures line up. Overview's totals use tabular figures.

Colors and surfaces

  • Darker greens where text sits on a selected row. The primary green and the running and succeeded colors darken a
    step in light mode, so they read at 4.5:1 or more on a selected row too. Dark mode is unchanged.
  • Icons in the brand green. Overview's and a collection's section icons, too faint in the chart green, take the
    primary green; the chart green stays on bars.
  • Fewer corners and shadows. Small chips round at 6px and setup cards at 14px, like the rest, and menus, tooltips
    and dialogs share one shadow.

Also

  • pacenote.dev uses the same pair of typefaces, and loads no font of its own.

v0.5.26

Choose a tag to compare

@Ashon Ashon released this 18 Oct 04:58

The sandbox signs in to Claude Code or Codex on its own, inside it, and Pacenote never handles the login. Answers say an
AI wrote them, and what Pace says in a channel leaves out your private channels.

brew update && brew upgrade --cask pacenote

Codex in the sandbox: sign in once after upgrading. The sandbox no longer copies this Mac's ~/.codex/auth.json.
Until you sign in, Pace starts and the status bar says so: Settings > Sandbox > Reasoner login > Sign in to Codex.
Claude keeps working with the token you have; signing in to Claude there replaces it.

The sandbox signs in on its own

  • Sign in to Claude or Codex inside the sandbox. Settings > Sandbox > Reasoner login, and setup's sandbox step, run
    the CLI's own login in a VM: Claude shows its page, and you paste the code it gives back into Pacenote; Codex shows a
    code to enter on OpenAI's page. The CLI keeps its login in a folder of its own (~/.pacenote/vm/login), renews it
    there itself, and each request's VM has it. Pacenote never reads it: it checks only that the login is there.
  • No more tokens through Pacenote. "Get token from Claude", which saved claude setup-token's output to your
    settings, is gone, and so is copying this Mac's codex login into each VM. A login the sandbox renewed could undo this
    Mac's codex login; that no longer happens. An Anthropic API key, or a claude token you set yourself, still works.
  • Pacenote never calls Anthropic's API with a claude.ai token. Only an API key is checked that way now; a claude.ai
    login that stopped working shows when a request fails on it.
  • Its sign-in domain is always allowed. Claude renews its login at platform.claude.com, which requests reach
    whatever your allowed-domains list says.

What Pace says in a channel

  • Your private channels stay out. Asked in a public channel, Pace's tools gave your tasks from DMs no hearing but
    could still name tasks, areas and recaps from your private channels. Now they speak only of public channels and your
    own work on this Mac. A channel Slack cannot tell about counts as private, and the recap you wrote is left out, since
    it was written from all of it.
  • Every answer says an AI wrote it. A line under each answer reads "AI answer by Pace, with Claude Code" (or Codex):
    everyone in the channel reads the answer, not only you. The run history keeps the answer without it.

Also

  • A new typeface. Latin text is set in Host Grotesk beside Pretendard's Hangul, as on pacenote.dev.
  • pacenote.dev. Pacenote has a site: what it does, how it works, what Pace never does, and how to install it.
    Homebrew's brew info pacenote points there now.

v0.5.25

Choose a tag to compare

@Ashon Ashon released this 17 Oct 15:56

Overview opens with your day in three lines and counts what recap write-ups spend, Todo says plainly when Claude Code is
signed out, and the app comes back after an upgrade that took longer than Homebrew waits.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first; open Pacenote again if it does not come back on its own. From this version on,
an app that takes longer to quit than Homebrew waits opens the new version itself.

Your day at a glance

  • A briefing on Overview. Up to three lines from today's recap: what is next (who asked, when it is due, how many
    more are open), what you are on, and what got done today, or yesterday in the morning. Each line opens the task in
    Todo or today's recap. Nothing is written for it, so it spends no tokens, and on a quiet day it is not there.
  • Recap write-ups in tokens per day. What each Write it up spends is kept, written again or not. Overview stacks it
    on top of each day's bar in a teal of its own, and By source lists Recaps with what each write-up took.

Signed out, said plainly

  • Collect now names Claude Code. Collecting runs Claude Code on this Mac whichever CLI answers your mentions. When
    its sign-in ran out or was revoked, Todo says so, and Sign in to Claude Code opens claude auth login in your
    terminal. Reply drafts and Pace's failure notes read the same wordings.

Back after an upgrade

  • Pace no longer stays off after an upgrade. A copy of the old version that macOS opened to deliver Homebrew's quit
    could be told to stop before Pace had started, and the stop was lost: Pace ran until it was cut off 30 seconds later,
    Homebrew stopped waiting, and nothing opened the new version. The stop now reaches Pace once it has started, the ops
    broker starts no VM once stopped, and an app that outwaited Homebrew opens the new version itself.

v0.5.24

Choose a tag to compare

@Ashon Ashon released this 17 Oct 02:14

Every screen holds its place while its data comes, and Pace's spinner has more ways to look and a way to write.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first; open Pacenote again if it does not come back on its own. Claude Code and Codex
sessions already open keep the previous Pacenote tools until they start again.

Nothing moves while it loads

  • Skeletons in the data's place. Todo, Recap, You, Runs, a run, Overview, Pace and Settings draw what is fixed as
    it is (titles, tabs, the list of settings) and faint bars where the data goes, each as tall as the line it stands
    for. Data that comes in a moment simply appears; otherwise the bars breathe until it comes, and it rises in where
    they stood. With reduced motion, they stay still.
  • What used to push the page down has its place held. The card about your work on Todo, the setup card on
    Overview and Pace's notice keep the room they took last time, and Overview's figures come at once.
  • No guessing. Before Pace's status comes, its state, its mark and the status bar wait instead of saying Stopped,
    and the logs say there are none only once they are read.
  • Steadier details. A run's facts and Pace's figures keep their second line, so moving between runs does not
    shift the page.

Pace's spinner

  • More ways to look. Now and then it blinks, takes a second look, squints in thought or glides along the ring.
  • Writing. While Write it up runs, the ring closes like a page and the dot writes two lines in the place the text
    will take; the text then comes in word by word. A drafted reply shows it too.

v0.5.23

Choose a tag to compare

@Ashon Ashon released this 16 Oct 16:17

Pace uses Pacenote's own tools when it answers in the built-in sandbox: ask it in a thread to keep what you need to do,
and it is in your Todo.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first; open Pacenote again if it does not come back on its own. Claude Code and Codex
sessions already open keep the previous Pacenote tools until they start again.

Pace in Slack

  • Keeps tasks for you. "Keep the reviews here as tasks" adds them to Todo, from Pace, each linking to your request
    in the thread. The same title still open there is kept once. A request for tasks goes to Todo unless you name Jira or
    another tracker.
  • Knows your list, your work and your recaps. What is on your list, the retry review is done, what did I do this
    week: Pace reads and closes your tasks, and reads where you contribute and your recaps, as your AI tools do.
  • Picks up from what it said there. Its earlier answers in the same channel, when the run history is kept.
  • Only for you, and fit for the channel. The tools act for the person Pace answers, as Pacenote says, never as the
    model says. Tasks from DMs are left out, and earlier answers come only from the channel they were posted in.
  • On this Mac. The tools run in Pace, not in the VM, which never sees Pacenote's files and needs no new image. They
    answer while Todo is on. When answers run on this Mac without the sandbox, Pace does not have them yet.

v0.5.22

Choose a tag to compare

@Ashon Ashon released this 16 Oct 14:17

Recap shows what you did: a day as a standup, a week by area, a month by where it went, from your tasks and your own
commits, written up in a few sentences when you ask.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first and reopens it, once. Claude Code and Codex sessions already open keep the
previous Pacenote tools until they start again.

Recap

  • In the sidebar, between Todo and You. Day, Week and Month, with the period before and after one click away. Todo
    is what is ahead, Recap what is behind.
  • A day is a standup. Done (tasks, and your commits by repository), Doing (open tasks worked on today) and Next
    (open tasks, due ones first). In the morning, yesterday's done comes first.
  • A week, by area. Each area's done tasks and its feature and release commits, the rest of its commits as a count,
    what carries over, and its share of the week. A month adds which areas started or went quiet, and who asked you most.
  • Your commits, as they are. Their subjects only, by your git email, on any branch, in your repositories' folders on
    this Mac; never a diff. A commit under a rewritten hash counts once.
  • Write it up, when you click. Claude Code, with no tools and only the recap's own lines, sums it up in a few
    sentences, the commits summed into the work they were. It is kept with the period, and Write again replaces it.
  • Copy, never send. As Markdown, in Slack's formatting, or the written sentences alone.
  • For your AI tools. my_recap gives Claude Code and Codex the same record, and the recap prompt writes your
    standup or weekly update in the session.

An area's name in a recap opens it on the You screen, and an area's Lately on You opens its week.

v0.5.21

Choose a tag to compare

@Ashon Ashon released this 16 Oct 05:40

Pacenote now shows where you contribute: the areas of your work, found from your tasks and your Claude Code and Codex
sessions, how you contribute to each, and what is going on there.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first and reopens it, once. Claude Code and Codex sessions already open keep the
previous Pacenote tools until they start again.

Where you contribute

  • Areas, found for you. A repository you work in is an area, with its sibling repositories and the Slack channel
    whose tasks are mostly about it; a channel or user group that asks you often about no one repository is one of its
    own. Pacenote reads the last 8 weeks of your tasks and sessions with no model asked, and a session only for the folder
    it ran in.
  • How you contribute, and what shows it. Builds (sessions there), Reviews, Answers (who asked you, how often) and On
    call (its user group), beside what is open, what you did there in the last 30 days and who asks you most.
  • Once, after a collection. Todo shows This is your work above your tasks. Looks right puts it away; Fix
    something
    renames an area, takes a repository or channel out of it, or says it is not yours.
  • The You screen. In the sidebar under Todo, each area opens in place, with a menu to rename it, merge it into
    another or say it is not yours anymore (with Undo). An area with nothing for four weeks rests below. Each task on Todo
    links its area.
  • For your AI tools. my_work gives Claude Code and Codex the same picture through Pacenote's MCP server, while
    Settings > Todo > Gather my tasks from Slack is on.

Pacenote keeps your areas as you shaped them in you.json, with your gh login and git email, looked up once a day.
Only the app writes it.

v0.5.20

Choose a tag to compare

@Ashon Ashon released this 16 Oct 01:45

A collection now knows who you are in Slack: the names people call you and the user groups that mean you, so what is
asked of you is told apart from what only looks like it.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first and reopens it, once. Claude Code and Codex sessions already open keep the
previous Pacenote tools until they start again.

Who you are in Slack

  • Your names. The next collection looks up your own Slack profile with its Slack connector, and does again every 30
    days. Settings > Todo says who it read Slack as, and warns when that is not the account Pace answers.
  • The other names people call you. A nickname, or your name in another language, under Settings > Todo > "Other
    names people call you": a request that calls you by one is yours, @mention or not.
  • Groups that mean you. An ask of a user group listed under "Groups that mean you", such as an on-call group, is a
    task. The collection searches for your names and groups as well as your @mention.
  • Asked once. A Maybe from any other group says who asked which group, and asks "Does @design mean you?". It's
    me
    adds the group to Settings and keeps its Maybes as tasks; Not me leaves later asks of that group out, unless
    they name you.

Pacenote keeps your member id, names and workspace in tasks.json, and still holds no Slack token for tasks.

v0.5.19

Choose a tag to compare

@Ashon Ashon released this 15 Oct 23:56

Todo can say when a task looks done once its session goes quiet, and work a session leaves after a task, or something
you ask your AI tool to keep for later, becomes a task of your own.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first and reopens it, once. Claude Code and Codex sessions already open keep the
previous Pacenote tools until they start again.

When a task looks done

Turn on Settings > Todo > "Say when a task looks done"; it is off until you do.

  • After the session goes quiet. When the latest session of an open task has been quiet for 10 minutes, Claude Code
    reads its last turns and the state of its branch's pull request, and says whether the work is done, how it ended and
    what is left.
  • Kept to reading. It runs headless with no tools, no MCP servers and none of your Claude Code settings, on your
    Claude Code login. The pull request is looked up with gh, read only.
  • Yours to close. A task that looks done says so on its row. Open it for Close it (closed as done in its
    session, with how it ended as its wrap-up) or Not yet, and Keep as a task beside each thing left.
  • Not over and over. A session is read again only after it was active again, at most two at a time, while Todo is
    open.

Tasks a session keeps

  • add_followup. Work left after a task, or "remember to bump the SDK after the release", becomes a task with the
    source This Mac, in the repository of the task it follows or the session's folder. /mcp__pacenote__done keeps
    what is left after the work it closes this way; work that is not done is kept only if you want it kept.
  • Where it came from. Its row says which task it was left after. It has no Slack thread, so collections leave it
    alone and there is no reply to draft; the session that does it, or you, closes it.
  • Once. The same title left after the same task, still open, is kept once.

The app and each session's Pacenote tools now take turns writing your tasks, so one no longer overwrites what another
just changed.

v0.5.18

Choose a tag to compare

@Ashon Ashon released this 15 Oct 15:46

Todo shows what Claude Code or Codex does with your tasks as it does it, and a session you start in a repository knows
that repository's open tasks from its first prompt. A team hub works with a real Slack workspace again.

brew update && brew upgrade --cask pacenote

The upgrade quits the running app first and reopens it, once. Claude Code and Codex sessions already open keep the
previous Pacenote tools until they start again.

Your AI tools' work, live

  • At once. The app watches its data folder, so a task an AI tool adds, changes or closes over Pacenote's tools shows
    on Todo, in the sidebar and on the Overview the moment it is written, not seconds later.
  • What it is doing. The line under Todo's title says it: "Claude Code is collecting your tasks: 3 found so far",
    "Claude Code is working on …", "Claude Code closed …", for two minutes after its last call. Collect now and drafted
    replies keep their own progress.
  • Where it is working. A task a session is looking at or changing says "Working in Claude Code" on its row, until
    the session closes it or goes quiet.
  • What it changed. A title, due date, repository or summary changed while you look lights up a moment and fades.
    Pacenote keeps only which tool did what to which task, never what Slack said.

Sessions that know their task

  • The repository's tasks, from the start. Claude Code and Codex run Pacenote's tools in the folder they work in, so
    a session there is told the open tasks of that checkout's repository, and when to use them: look a task up before
    working on it, close it with what was done. Asked only to review a pull request one of them names, a session now
    starts from that task.
  • Two prompts. /mcp__pacenote__task brings a task into the session you are in, by its link or a few words.
    /mcp__pacenote__done closes the task the session worked on, with what was done and a reply for you to send, or says
    what is left.

Team hub

A desktop paired with a hub could not start: the hub passed the desktop's own token on to Slack, which refused it
(invalid_auth). The hub now keeps it. On the hub's server, docker compose pull && docker compose up -d takes the
fixed image; desktops need nothing.