Skip to content

taskproof v0.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 08:26
· 78 commits to main since this release

English

taskproof 0.1.0 — first release

taskproof is a conveyor belt for AI coding agents: it dispatches a task to an agent,
independently verifies the result, and records every step. The agent's own
"done" is never the verdict.

What is in it

Control surface. One CLI (init, register, run, tasks, show, log,
verify, advance, accept, rerun, cancel, rm, board, api, queue,
config), a local REST API bound to 127.0.0.1, and a static board. Standard-library
Python only, no third-party dependencies, no LLM inside.

Independent acceptance. The command in the project registry runs after the agent
exits, run by taskproof itself. That result is what gets recorded, not the agent's
summary.

A gate that can say no. Protected paths are judged with three kinds of signal
(tracked files, git state, presence) over a before/after difference. A violation parks
the task as blocked — distinct from failed, which means the acceptance really did
not pass — and the acceptance still runs, so the work is never thrown away unexamined.

Queue and cap. run --park[=N] parks a card into a wave (same queue_seq = same
wave); only one task per group runs at a time. Fire them with the resident queue
daemon or one at a time with advance. The global concurrency cap is a setting with a
visible origin (config --concurrency, config --show), defaulting to a machine-derived
value (cores/4, clamped to 2..6, with a memory dimension).

Terminal states you can act on. accept <id> closes a blocked card; a failed
card needs --note (a human registration, never a rewrite of the verdict — verify_*
is untouched). rerun starts a fresh copy and links both ways.

Worktrees and the ledger. --worktree runs a card in its own checkout beside the
repo, and keeps that checkout when it has changes. Claims are transactional with expiry
reclamation, and the audit ledger rotates.

The desktop console. Electron + Vue 3, bilingual, reading the same ledger as the
CLI: a lane matrix (queued / running / verifying / done / cancelled / pending review
/ not passing), per-column hide switches, a fold control on the tall columns, a
「验收已过」badge and a 放行 button on cards that are waiting for a human, tray, Dock
badge, optional launch-at-login, and settings that show each effective value and where
it came from. Installers ship their own Python runtime, so it works on a machine that
has none.

Docs and a skill. README.md / README.zh-CN.md (install, run, queue, cap, gates,
limitations), docs/DESIGN, docs/REGISTRY, docs/WALKTHROUGH, and
skills/taskproof-dispatch/ — the operating manual for the agent doing the work.

Download

  • macOS — Apple silicon (arm64) only, macOS 11+. No Intel and no Rosetta build.
    Grab the *.dmg.
  • Windows 10+ (x64). Grab the *.exe installer.
  • Linux (x64). Grab the *.AppImage (portable) or the *.deb (Debian/Ubuntu).

These builds are unsigned

There is no signing or notarisation certificate yet, so your OS will warn you the first
time:

  • macOS: Gatekeeper blocks the app. Right-click it → Open, then confirm — or run
    xattr -d com.apple.quarantine /Applications/Taskproof.app.
  • Windows: SmartScreen shows a warning. Click More info → Run anyway.

Every installer ships its own Python runtime, so the app works as soon as it is
installed — there is nothing to pip install. It does need a system git for
worktrees and the protected-path gate; without git, the settings page says so.

Command line

pipx install git+https://github.com/HaoHaoP/taskproof

Or install the wheel attached to this release:

pipx install ./taskproof-0.1.0-py3-none-any.whl

Known limitations

  • Unsigned and not notarised (see above).
  • macOS is arm64 only — no Intel build and no Rosetta path.
  • The gate needs git. Without a system git, worktrees and the protected-path
    gate are unavailable; everything else runs.
  • The board fetches at most 2000 rows at a time and says so when it hits that
    ceiling, rather than implying it has everything.
  • Windows and Linux installers are built by CI's native runners; a local machine can
    only build the macOS package.

See the README for full usage.


中文

taskproof 0.1.0 —— 首个发布

taskproof 是给 AI 编程代理用的传送带:派活、独立验证、逐条留痕。
代理自己说"做完了"从来不算数。

这一版有什么

控制面。 一套命令(init、register、run、tasks、show、log、verify、
advance、accept、rerun、cancel、rm、board、api、queue、config),
一个只绑 127.0.0.1 的本地 REST API,一块静态看板。纯标准库 Python,无第三方依赖,
内部不含大模型。

独立验收。 注册表里的验收命令由 taskproof 在代理退出之后自己跑;进账本的是它
的结果,不是代理的自述。

一把会说不的闸门。 禁改路径用三类信号判(被跟踪的文件、git 状态、存在性),
并看前后差分。越界会让任务停在 blocked —— 与 failed(验收真的没过)严格区分 ——
而且验收照跑,成果不会被未经查看地丢掉。

队列与上限。 run --park[=N] 把卡停进某一波(同一 queue_seq 即同一波);
同一 group 一次只跑一张。用常驻的 queue 守护进程放行,或手动 advance 逐张放行。
全局并发上限是可设置的,并且处处显示生效值与来源(config --concurrency /
config --show),缺省按机器推导(核数÷4,夹在 2..6,另有内存维度)。

能动手收尾的终态。 accept <id> 收掉一张 blocked;failed 必须带 --note
(人工登记,绝不改写判决 —— verify_* 一字不动)。rerun 新开一份并双向关联。

作业树与账本。 --worktree 让卡在自己的检出里跑,有改动就保留那棵检出。
认领是事务性的、带过期回收,审计账本会轮转。

桌面控制台。 Electron + Vue 3,中英双语,读同一个账本:泳道矩阵(排队 /
进行中 / 验收中 / 完成 / 已取消 / 待复核 / 未通过)、按列显隐、高列表头上的折叠控件、
等待人工的卡带「验收已过」徽标与「放行」按钮,还有托盘、Dock 角标、可选的
开机自启,以及把每个生效值和它的来源一并显示出来的设置页。安装包自带 Python 运行时,
没有 Python 的机器装完即可用。

文档与 skill。 README.md / README.zh-CN.md(安装、运行、队列、并发上限、闸门、
已知限制)、docs/DESIGN、docs/REGISTRY、docs/WALKTHROUGH,以及
skills/taskproof-dispatch/ —— 给真正干活的 AI 代理的操作手册。

下载

  • macOS —— 仅 Apple 芯片(arm64),最低 macOS 11。 不提供 Intel 或 Rosetta 版本。
    请下载 *.dmg。
  • Windows 10+(x64)。 请下载 *.exe 安装包。
  • Linux(x64)。 请下载 *.AppImage(免安装)或 *.deb(Debian/Ubuntu)。

这些安装包未签名

目前还没有签名或公证证书,所以第一次打开时系统会提示:

  • macOS: Gatekeeper 会拦截应用。右键点击 → 打开,再确认;或执行
    xattr -d com.apple.quarantine /Applications/Taskproof.app。
  • Windows: SmartScreen 会弹出警告。点击 更多信息 → 仍要运行。

每个安装包都自带 Python 运行时,安装完即可使用,无需 pip install。但需要系统
git 才能使用作业树(worktree)与受保护路径闸门;没有 git 时,设置页会明确说明。

命令行

pipx install git+https://github.com/HaoHaoP/taskproof

也可以安装本 Release 附件里的 wheel:

pipx install ./taskproof-0.1.0-py3-none-any.whl

已知限制

  • 未签名、未公证(见上)。
  • macOS 只有 arm64 —— 没有 Intel 版,也没有 Rosetta 路径。
  • 闸门需要 git。 没有系统 git 时,作业树与禁改路径闸门不可用;其余功能照常。
  • 看板一次最多取回 2000 行,到顶时会显示「已到取回上限」,而不是假装自己拿全了。
  • Windows / Linux 安装包由 CI 原生 runner 构建;本机只能打 macOS 包。

完整用法见 README。