Skip to content

taskproof v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Oct 07:17
· 1 commit to main since this release

Version / 版本: v0.4.0

What's new / 更新内容

English

  • A lane can declare the branch it belongs on. branch = "main" on a
    [[taskgroup]] turns the branch into a gate: a lane that runs in place is
    refused before anything is written — exit 78, no task row, no concurrency
    slot — unless its tree is checked out on that branch, and a worktree lane is
    created from it, detached, because a branch can be checked out by only one
    worktree and the main tree usually holds it. A lane that declares nothing
    behaves exactly as it did before.
  • A declaration nothing reads now says so. The registry loader collects the
    keys a block has no reader for, and taskproof projects / taskgroups warn
    about them on stderr; no exit code changes. A lane-level timeout used to be
    dropped in silence — 22 declarations' worth.
  • A timed-out card can be signed off. accept takes timeout too, with the
    same mandatory --note. It is a registration, never a promotion: the card
    stays timeout, verify_* and finished_at are untouched, and the ledger
    gains one accepted event whose from and to are both timeout.
  • The ledger records who ran a verification. Every verify event now carries
    by — run for the pipeline's own check as a card winds down, cli for a
    human re-check with taskproof verify <id>.
  • The figures are a function of the generator, not of the interpreter. The
    diagram generator's numeric spelling depended on the Python that ran it
    (3.12's compensated sum() moved the last digit), so "regenerate and compare"
    could never be a gate. Every SVG attribute now goes through one formatting
    helper, and CI regenerates both language sets and fails on drift.

中文

  • 道可以声明自己属于哪条分支。 [[taskgroup]] 上写 branch = "main" 就把它变成一道闸门:就地跑的
    道,树没检出在那条分支上就在动手前被拒(退出码 78,不写任务行、不占并发槽位);workspace = "worktree" 的道按它建工作区,且是分离头 —— 一条分支只能被一棵工作树检出,而主树通常正持着它。
    没声明的道行为与从前一字不差。
  • 没人读的声明现在会自己说出来。 注册表加载时会收集每个块里没有读者认领的键,taskproof projects
    / taskgroups 在 stderr 逐条告警,退出码不变。道级 timeout 当年就是这样被无声丢掉的 —— 22 处。
  • 超时的卡也能人工签收。 accept 现在也收 timeout,同样必须带 --note。签收是登记不是改判:
    状态仍是 timeout,verify_* 与 finished_at 一字不动,账本只多一条 accepted 事件,其 from
    与 to 都是 timeout。
  • 账本会写清验收是谁跑的。 每条 verify 事件现在带 by:run 是流水线在卡收尾时自己跑的,
    cli 是人用 taskproof verify <id> 复核跑的。
  • 配图是生成器的函数,不是解释器的函数。 生成器的数值写法随解释器变(Python 3.12 的补偿求和会动
    最后一位),于是"重跑生成器再比对"根本当不成判据。现在每个 SVG 属性都过一个统一的数值格式助手,
    CI 会重生成两套并在漂移时失败。