Skip to content

Project Coldfall 0.3.18

Choose a tag to compare

@anthonyproctor anthonyproctor released this 25 Sep 22:36
· 17 commits to main since this release

A full review of the app by Fable 5.1, and what it found.

Usage numbers and advice

  • Subagents are counted now. Claude Code keeps a subagent's transcript under its session's folder, and the scans stopped at the top level, so every token a subagent spent was missing from the week. They count, under the desk that ran them.
  • "Coming back after a break" over-counted. A rebuild is now a big cache write an hour or more after the previous turn of the same conversation, which is when Claude Code's cache has actually lapsed. A new conversation's first turn, a compaction and a big file read no longer count.
  • The reopen question says the dollars. Picking up a big conversation after a break costs 20 to 40 times a warm turn, not "twice", and the question now says it for that conversation: "about $4.80; once warm, about $0.12".
  • One price table, dated and sourced: Opus 5.5 and Fable 5.1 cache-read rates, and the one-hour cache write Claude Code actually uses.

Stability

  • The file watcher and the usage scan each touched shared state from two threads. Both are on one queue now.
  • Remove, Rename, Hide, Start and MCP Servers find their desk by name, not by its position when the dialog opened, so a desks.toml reload underneath them can't hit the wrong desk.
  • A half-typed desk header saved by an autosaving editor no longer kills the running agent; a missing desk gets five seconds to come back.
  • Stop Desk reads the conversation off the main thread, so a long-lived folder no longer freezes the window first.

Config, resume, recorder

  • Unicode escapes in desks.toml, multi-line arrays, CRLF files, and renamed desks that resume the right conversation.
  • The usage recorder's script sanitizes desk names, so a name with a quote or a slash can't break it or write outside its folder.

Update server

  • Turns away more than 20 requests a minute from one address, keeps daily estimates for 45 days, accepts only version strings shaped like a release tag, and caps the stats breakdown.

Building from source

  • SwiftTerm comes from a fork pinned to one commit: 1.20.0 plus one line that keeps its Metal shader out of the package's resources, so the app builds on the macOS 27 Command Line Tools, which have no Metal compiler. The renderer is never turned on here.

Install

Download Project-Coldfall.app.zip, unzip, and drag it to Applications. It isn't notarized, so macOS blocks the first launch. Either run

xattr -d com.apple.quarantine "/Applications/Project Coldfall.app"

or try to open it once, then go to System Settings ▸ Privacy & Security and click Open Anyway. Or build from source, no Xcode needed:

git clone https://github.com/anthonyproctor/project-coldfall
cd project-coldfall && ./scripts/build-app.sh

628 tests. MIT licensed. Contributions welcome, see CONTRIBUTING.md.

Checksum

Project-Coldfall.app.zip SHA-256:

729b8a029530777959fa7f0b843831ec9d3e2253ff3b9150f5360eb24d540dd5

Check your download with shasum -a 256 ~/Downloads/Project-Coldfall.app.zip and compare.