You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Repository-delivered commands now stop at an operator trust boundary.
Executable tracked configuration requires digest-pinned approval before it
runs, operator-owned configuration and receipts live in worktree Git state,
disabled builtins are visible, and malformed command mounts no longer take
down the CLI.
Configuration is now one strict, uniformly layered contract. Root spice.toml is the sole tracked source; every packaged default reaches its
consumer through layering; false disables inherited registry entries; and
unknown keys, invalid choices, or scalar-for-table substitutions refuse with
actionable provenance.
Authored-input mutations now use one inspectable command-plan protocol.
Bare authored-input verbs preview ordered plans, --apply executes a matching
plan, stale digests refuse, receipt-writing verbs reverse through --unapply,
and append-only receipts make interruption and mounted-command effects
recoverable without accepting caller-supplied authority documents.
Task allocation follows declared priority and dependency impact. A
prerequisite inherits the highest priority it transitively unblocks, wider
downstream graph position outranks locality and incidental tags, and the
allocator hot loop remains immediate for board-and-command-line intent.
Standing correctness and rendering defects are closed. Editable-install
finder hooks no longer become phantom namespace portions, message code spans
are stashed out of band, lock status observation no longer interferes with a
concurrent run, contention names its holder, and data: links are refused
without breaking inline data images.
The new contracts are held by executable gates and current documentation.
Taskwarrior 3 is declared and diagnosed up front, packaged-default gates
compare real values in both directions, withdrawn command spellings and paths
are retired, and the full-suite baseline is clean.
Task-level changes
Changes by project
Studies Hardening
Rank ready work by priority and graph position. (a573ce2)
Stop coercing non-path sys.path entries into namespace portions. (b0ae6a1)
Contain a mount that collides with a builtin command. (7d1d9ec)
Stash code spans out of band in message rendering. (4d749cc)
Gate the default on whether the input was authored. (ad35ffd)
Reject unknown configuration keys at load. (67ed747)