Releases: haksolot/ank
Releases · haksolot/ank
Release list
v0.7.0
What's Changed
- A verb that changes content writes the entry that accounts for it by @haksolot in #227
- check counts what an entity accounts for, and says so when it does not close by @haksolot in #228
- check follows a succession instead of asking for the citation to be rewritten by @haksolot in #229
- The superseded-citation guard walks the workspace and derives its dead set by @haksolot in #230
- File the TTL renewal flake as a task by @haksolot in #231
- The TTL renewal test reads two recorded values instead of a wall clock by @haksolot in #232
- The stale-binary hint names a road that resolves the state it describes by @haksolot in #233
- check hashes the working copy in one git call instead of seven by @haksolot in #234
- A corpus outside the tree is found by a declaration keyed on its identity by @haksolot in #235
- init --at creates a detached corpus and declares it, config --user edits it by @haksolot in #236
- An entity accounts for its content by hash, and the count stays where it closes by @haksolot in #237
- Re-point the citations two ratifications left superseded by @haksolot in #238
- Profile the per-entity phase of check, and file what it names by @haksolot in #239
- A correction reaches a task that is settled by @haksolot in #240
- Rest the never-truncated guarantee on the reason that survives by @haksolot in #242
- Measure what consolidating identically-scoped decisions would return by @haksolot in #243
- Widen two restatements of the log claim rule to the rule itself by @haksolot in #241
- The attention budget is the human reader's by @haksolot in #244
- check reports the prose identifiers that name nothing by @haksolot in #245
- Serve context --json under the attention budget by @haksolot in #246
- Accept names the source citations it just orphaned by @haksolot in #247
- Narrow the history walk to the paths a dead scope asks about by @haksolot in #248
- A closed task is not asked to close down a chain it already closed by @haksolot in #249
- Section 4 gains read, and the suite declares the gap until it ships by @haksolot in #250
- ank read records that a person read an entity by @haksolot in #251
- The tree walk stops at another checkout by @haksolot in #252
- Plan four subjects: the protocol surface, the welcome, the reader, the daemon by @haksolot in #253
- The release carries the protocol surface, in every archive and every package by @haksolot in #257
- The ank logo is drawn to a terminal, and to nothing else by @haksolot in #256
- A client is told how to reach the protocol surface, in a form it can paste by @haksolot in #255
- declare tui in the Commands block, in a proposed successor to SPEC-7813 by @haksolot in #254
- Place ank-mcp beside ank in both installers by @haksolot in #258
- A watcher that keeps declared corpora warm and answers nothing by @haksolot in #259
- The workspace stops citing a spec the ratification superseded by @haksolot in #260
- The installer offers the skills, and declining costs the install nothing by @haksolot in #261
- The watcher mirrors refs/ank/* and moves nothing else by @haksolot in #262
- amend refuses a scope opening on a list marker, and names the way back by @haksolot in #263
- ank tui opens the corpus, and closes it having written nothing by @haksolot in #265
- The probe counts each offer by its own question by @haksolot in #266
- The installer's second offer hands three prompts that adopt ank where there is already code by @haksolot in #264
- File the task on ank refs that drift out of sight by @haksolot in #267
- done: TASK-7a58ebe12ca6, proof commit:1cda7a8 by @haksolot in #270
- status names how far the checkout's ank refs have drifted from the remote by @haksolot in #268
- The reader acts, and every refusal it shows is the CLI's own by @haksolot in #269
- A change becomes an event, and the reader repaints instead of polling by @haksolot in #271
- The ratification queue is worked from the reader, and the signature stays the person's by @haksolot in #272
- Plan: one executable, and a protocol surface that speaks for several corpora by @haksolot in #273
- Repair main: re-point the citations the two supersessions orphaned, and close two scope gaps by @haksolot in #274
- Section 4 gains mcp and watch, and the suite declares them not yet dispatched by @haksolot in #275
- claim names the live claims this identity holds in the corpora the reader declared by @haksolot in #276
- The workspace stops citing the CLI surface document this supersession retires by @haksolot in #277
- ank mcp dispatches, and the sibling binary is gone by @haksolot in #278
- A protocol surface call names its corpus, and reaches no corpus nobody declared by @haksolot in #279
- ank watch dispatches, and the watcher stops being a binary nothing ships by @haksolot in #280
- Every route carries one executable, and the machinery for the second is removed by @haksolot in #281
- File the three the distribution task flagged rather than reached for by @haksolot in #282
- The README stops promising a second binary by @haksolot in #283
- The integration guide stops saying several repositories is several servers by @haksolot in #284
- The protocol surface reports the version the tag gates, not the library's by @haksolot in #285
- Plan: the reader becomes a ratatui application, in the shape lazygit gave the idea by @haksolot in #286
- The workspace stops citing the presentation decision this supersession retires by @haksolot in #288
- Plan: a supersession does not land while the workspace still cites what it retires by @haksolot in #287
- accept refuses a supersession the workspace still cites, and check reports it by @haksolot in #289
- The worked example in the integration guide is bytes the binary produced by @haksolot in #290
- The reader draws with ratatui and reads keystrokes with crossterm by @haksolot in #291
- Two abbreviated citations move to the decision that carries the sentence by @haksolot in #292
- What a status means moves to one table, and the CLI still paints it byte for byte by @haksolot in #293
- The reader is panels with focus, in the shape lazygit gave the idea by @haksolot in #294
- Every write is shown as a command line before one key runs it by @haksolot in #295
- The reader paints the shared table, and NO_COLOR reaches it by @haksolot in #296
- The reader answers a person holding a phone by @haksolot in #297
- Plan the reader's redesign: one decision and ten tasks by @haksolot in #298
- The bindings are one table, and the reader reads it back by @haksolot in #301
- Structure is box-drawing, and ASCII where the terminal says it is dumb by @haksolot in #299
- The frontmatter is a field block, and the constraints are rows in it by @haksolot in #300
- Ratify ADR-c07e2694f0e1, and move the workspace's citations with it by @haksolot in #302
- The key list is an overlay, and every line of it is a target by @haksolot in #303
- The verbs take the letters, and the typed line goes by @haksolot in #304
- The chrome collapses to a header and the panels by @haksolot in #305
- The reader makes an entity by @haksolot in #306
- Record the two docume...
v0.6.0
What's Changed
- A corpus has an anchor and a location, and --worktree names the anchor by @haksolot in #221
- The specification carries the second root, and the surface it lists gains a flag by @haksolot in #222
- A log entry says what kind of entry it is by @haksolot in #223
- ank edit accepts the field it changes by name by @haksolot in #224
- Unreadable is not absent by @haksolot in #225
- Release 0.6.0 by @haksolot in #226
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- Two tasks: a file no verb serves, and a check that spawns hundreds of processes by @haksolot in #208
- review names who may ratify, and printing it found the parser reading backwards by @haksolot in #209
- check asks git 308 times where it asked 616, and answers the same by @haksolot in #210
- Two more fronts, because one second leaves room for neither by @haksolot in #211
- check asks git 24 times where it asked 616, and find asks 6 by @haksolot in #212
- The scope matching is one pass, and the ten seconds were never there by @haksolot in #213
- A ratification is verified once, and three tests decided what that may mean by @haksolot in #214
- One decision and four tasks: the binary, the signature, and the last of the bytes by @haksolot in #215
- The number: a git library is a Windows optimisation and nearly nothing else by @haksolot in #216
- Remove the spike: the number it existed to produce is in the corpus by @haksolot in #217
- Read the entity the branch carries only where it differs from the one on disk by @haksolot in #218
- accept signs where it can and never refuses, and the specification follows by @haksolot in #219
- Release 0.5.0 by @haksolot in #220
Full Changelog: v0.4.1...v0.5.0
v0.4.1
What's Changed
- The skill is plural: ank-plan, ank-drift, ank-loop beside the contract by @haksolot in #192
- SKILL.md is the contract and the hub, not the whole curriculum by @haksolot in #193
- The npm and pi channels carry every skill, not one by @haksolot in #194
- Sections 4 and 9 state the plural skill regime by @haksolot in #195
- A proposed spec waits in the queue review and status print by @haksolot in #196
- Plan: distribution shrinks to three commands by @haksolot in #197
- A PowerShell one-liner installs ank on Windows by @haksolot in #198
- The package-manager channels are dismantled by @haksolot in #199
- The specification names three install modes by @haksolot in #200
- The archive carries the contract, and the package step says why by @haksolot in #201
- A ratification that could not be committed leaves nothing behind by @haksolot in #202
- The golden fixtures exercise every element shape a corpus can reach by @haksolot in #203
- Six readers declared no refusal and performed several; status was honest by @haksolot in #204
- The shape walk counts instances where it means shapes by @haksolot in #205
- The shape walk reads declarations where it used to count instances by @haksolot in #206
- Release 0.4.1 by @haksolot in #207
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- The integration surface is four decisions before it is any code by @haksolot in #166
- One writer produces every --json document, and a golden pins each one by @haksolot in #167
- init honours --json, and the sweep reaches a verb that succeeds by @haksolot in #168
- The viewer task is blocked by the contract a reader outside this tree rests on by @haksolot in #170
- The verb table and the exit codes live in a crate every surface consumes by @haksolot in #171
- Every --json document carries its contract version, and help --json says what comes back by @haksolot in #172
- A document states the integration contract for someone outside this repository by @haksolot in #173
- Three ratified decisions get the tasks that carry them by @haksolot in #174
- Ank is Apache-2.0 whole, and the format/tool split is abandoned by @haksolot in #175
- Every licence declaration in the tree says Apache-2.0 by @haksolot in #176
- A reader with nothing to write opens no transaction, so no wall guards it by @haksolot in #177
- A corpus is keyed on its root commit, so a path cannot change what it is by @haksolot in #178
- The fixture-coverage task is handed back with its design measured by @haksolot in #179
- A closed task's dead scope is a signal, and the viewer task is closed by @haksolot in #180
- The reader lives outside this repository, and this one keeps the surface it rests on by @haksolot in #181
- The README shows the loop instead of explaining itself by @haksolot in #182
- docs/ carries nothing stale by @haksolot in #183
- No em dash in the prose a human reads by @haksolot in #184
- The README is a landing page, and the arguments live where the reader is by @haksolot in #185
- A protocol surface exposes every verb, generated from the table the CLI dispatches from by @haksolot in #186
- A ratification records the actor that ran it, on the entity by @haksolot in #187
- Section 8 says who ran the ratification by @haksolot in #188
- A release is published under a credential that starts the channels by @haksolot in #189
- git is handed an allowed-signers file it can parse whole by @haksolot in #190
- Bump the ten version literals to 0.4.0 by @haksolot in #191
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- The PROPOSED header counts the perimeter, not the survivors by @haksolot in #88
- git is required by the verbs that coordinate, not by startup by @haksolot in #89
- The specification carries the flat layout, the kind registry, the log file and typed actors by @haksolot in #90
- check names where a dead scope went, and the command that repairs it by @haksolot in #91
- The golden suite covers schema 3, and ank-core parses it from one kind registry by @haksolot in #93
- The release refuses to build when the tag and the manifests disagree by @haksolot in #94
- review prints the ratification queue it exists for by @haksolot in #92
- The version check is exercised on every push, not only on a tag by @haksolot in #95
- Section 6 describes the repository resolution it is cited for by @haksolot in #96
- Record multi-repository federation as deferred in section 10 by @haksolot in #97
- attest --detached records a proof in a ref, and every reader unions the two by @haksolot in #98
- Record spec sections as routable entities as deferred in section 10 by @haksolot in #100
- The store writes the flat layout, reads both, and check names the leftover by @haksolot in #99
- Orientation gives the tasks what the constraints do not use by @haksolot in #102
- An entity path handed to git comes from the store, never from a literal by @haksolot in #101
- A CI recipe that names no vendor, and this repository adopts it by @haksolot in #104
- Every verb that logs writes to the log file, and the body stops carrying one by @haksolot in #103
- The specification carries attest --detached and the attestation category by @haksolot in #105
- Agent experience reports from the parallel session by @haksolot in #106
- The three agent experience reports become five ADRs and eleven tasks by @haksolot in #107
- Assemble the parallel multi-agent workflow in the docs by @haksolot in #109
- A dead scope git can explain is a signal, and the explanation reaches a glob by @haksolot in #110
- A shallow clone cannot explain a dead scope, and check says so instead of faulting by @haksolot in #111
- The corpus moves to the flat layout, and the logs move out of the bodies by @haksolot in #108
- The pi gallery card carries the logo by @haksolot in #114
- claim names the live claims whose scope intersects, and find --free filters on it by @haksolot in #115
- status names the identity in effect and where it came from by @haksolot in #112
- The binary says when it is older than the corpus it reads by @haksolot in #113
- Close the two shallow-clone tasks whose cause was falsified by @haksolot in #116
- The help surface says what the verb does: done's hint, its verifier wording, and check's writes by @haksolot in #117
- The over-constrained finding charges each constraint, and names an act by @haksolot in #118
- Name every claim held elsewhere, and let status read the remote plane by @haksolot in #119
- The lease is renewed by the holder's work, and claim_ttl_default states the rhythm by @haksolot in #120
- The shallow-clone fixture stops depending on an exported variable by @haksolot in #121
- A detached proof that missed the remote exits non-zero by @haksolot in #122
- check names a corpus behind the default branch, and status says how far by @haksolot in #124
- ank help groups its listing by the moment a verb is used by @haksolot in #123
- Re-point the citations of the superseded completion-ref ADR by @haksolot in #125
- A typed test reference stops silencing the anchor signal by @haksolot in #126
- A short id the binary prints is one the binary resolves by @haksolot in #127
- The prose that calls ank help a flat listing catches up with the binary by @haksolot in #128
- A criterion proved wrong in part is recorded, and check reads it by @haksolot in #129
- A rebase detaches a commit proof, and check says so by @haksolot in #130
- A listing counts the open rows a claim would refuse, and names --free by @haksolot in #131
- Reopen three deferred rows, and file the work they imply by @haksolot in #132
- Record two fired triggers, declare the spec and log kinds, correct the log by @haksolot in #133
- Configure the union git never performed, and bound the two unbounded readers by @haksolot in #134
- Stop offering, as another ready task, one a live claim already holds by @haksolot in #135
- Admit the spec and log kinds into the core by @haksolot in #136
- A corpus declares its peers, and reads them without ever writing by @haksolot in #137
- find --json carries the coordination state its human listing shows by @haksolot in #138
- The spec kind reaches the CLI, named and never quoted by @haksolot in #139
- A spec is ratified, amended and checked like an ADR by @haksolot in #140
- Log entries become entities, and the corpus migrates without losing one by @haksolot in #141
- A specification is several documents, and the monolith was already drifting by @haksolot in #142
- check verifies the references a spec declares to another by @haksolot in #143
- The specification becomes ten spec entities, and the seam is argued by @haksolot in #144
- Two ank processes on one corpus stop refusing each other by @haksolot in #145
- The skill teaches investigation too, and says why before how by @haksolot in #146
- ank help names the specifications it prints by @haksolot in #147
- check no longer asks a superseded document to follow a chain by @haksolot in #148
- A deletion git records lowers a dead scope to a signal by @haksolot in #150
- The dogfooding hook leaves, and the docs stop naming it by @haksolot in #149
- The README says four kinds, and shows the block a perimeter prints by @haksolot in #151
- A control character never reaches a log entry by @haksolot in #152
- The variable reaches git with no shell in between, and the comment says so by @haksolot in #153
- The release matrix builds Intel macOS, on an Intel runner by @haksolot in #154
- This repository is its own Scoop bucket by @haksolot in #155
- curl | sh installs ank, and verifies before it unpacks by @haksolot in #156
- This repository is its own Homebrew tap by @haksolot in #157
- ank is installable with winget by @haksolot in #158
- ank installs from an apt repository this project hosts by @haksolot in #159
- TASK-07e021f95aa3 done: ank installs from an apt repository this project hosts by @haksolot in #160
- The distribution ADR covers packaging/, before it is ratified and not after by @haksolot in #161
- The specification says which channels ship, and which do not by @haksolot in #162
- 0.x is a decision, and the version example stops going stale by @haksolot in #163
- The skill says how to work beside another agent, not only how not to be one by @haksolot in #164
- The README shows the loop running, and says how to install above the fold by @haksolot in #165
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- The release dry-run passes on an npm that would refuse it by @haksolot in #50
- Add task: the pi gallery card carries the logo by @haksolot in #51
- Add task: the shared-identity warning is emitted once and never again by @haksolot in #53
- Presentation splits: colour depends on the reader, structure does not by @haksolot in #54
- The palette closes, show is painted, and one status reads the same everywhere by @haksolot in #55
- SKILL.md teaches planning, and says that what an agent reads is never styled by @haksolot in #56
- File TASK-40a972e98a9a: a test fixture signs nothing by @haksolot in #57
- A prerelease publishes under next, and never as latest by @haksolot in #58
- ank help says what the verb refuses, and stops offering what it rejects by @haksolot in #59
- config.yml is written through the CLI: the decision, and the task that executes it by @haksolot in #60
- Add
ank config, so the errors stop naming a file agents may not open by @haksolot in #61 - The getting-started guide reaches for the verb where it reached for the file by @haksolot in #62
- The guide stops telling the reader to write a gitignore rule init already wrote by @haksolot in #63
- Name the corpus when the walk crosses a git repository boundary by @haksolot in #64
- Normalise every caller-supplied path and glob, not the positional ones by @haksolot in #65
- Read the claim's second hash at done, so the warning section 7 promises exists by @haksolot in #66
- Move progress and takeover notices to stderr, so --json is data again by @haksolot in #67
- Give the test suite its own git configuration, so no fixture inherits one by @haksolot in #68
- Turn signing off where the fixture is built, not where it commits by @haksolot in #69
- Read the object, not only git's letter, before calling a ratification unsigned by @haksolot in #70
- Say in section 7 that level 1 does not ship, and what that costs a second clone by @haksolot in #71
- Let --body read the body from stdin with - by @haksolot in #72
- A criterion that turns out unmeasurable has a route back by @haksolot in #73
- init refuses --repo by name, and stops writing somewhere else by @haksolot in #74
- The flat listing says what each verb does by @haksolot in #75
- Triage the two review backlogs into tasks that measure something by @haksolot in #76
- A renewal reuses the lease the claim was granted by @haksolot in #77
- The over-constrained signal reports the limit it tested by @haksolot in #78
- done and log retake a lapsed claim instead of refusing it by @haksolot in #79
- One predicate decides when a coordination ref disappears by @haksolot in #80
- status names every live claim of this identity by @haksolot in #81
- One live claim per identity, and no verb picks HEAD in silence by @haksolot in #82
- The skill states the execution model the loop it teaches assumes by @haksolot in #83
- status names every live claim, and execution mode stays silent by design by @haksolot in #84
- Level 1: claims are pushed, so two clones arbitrate by @haksolot in #85
- close leaves no completion ref, and the asymmetry is the decision by @haksolot in #86
- Cut the README to the argument, and move the mechanics one link away by @haksolot in #87
Full Changelog: v0.1.3...v0.2.0
v0.1.3
What's Changed
- Three tasks for the repository's public surface by @haksolot in #39
- The threat model becomes a security policy by @haksolot in #40
- Contributing, conduct, and the forms that ask for what the errors already carry by @haksolot in #41
- Help names every verb and says what none of them refuses by @haksolot in #42
- The path normaliser covers the positionals, not the flag values by @haksolot in #43
- Add ADRs and tasks: one repository carries every distribution channel by @haksolot in #44
- The repository is its own Claude Code plugin and marketplace by @haksolot in #45
- The npm package is a pi package, skill included by @haksolot in #46
- A git clone of the repository installs into pi by @haksolot in #47
- The install section names one command per agent by @haksolot in #48
- 0.1.3, and the plugin manifest carries the same number by @haksolot in #49
Full Changelog: v0.1.2...v0.1.3
v0.1.2
What's Changed
- Section 4 lists what the binary dispatches, and attest is in v1 by @haksolot in #11
- The order of section 4 stops being a description and becomes a check by @haksolot in #12
- ank scope says what covers a path by @haksolot in #13
- A directory means one thing however the path is typed by @haksolot in #14
- ank graph draws the blocked_by DAG by @haksolot in #15
- ank status answers where am I, in one command by @haksolot in #16
- ank edit opens an entity in the editor and validates what comes back by @haksolot in #17
- new without its flags opens a template in the editor by @haksolot in #18
- ank log with an id and no message reads instead of writing by @haksolot in #19
- show says what a task unblocks, not only what blocks it by @haksolot in #20
- The documentation splits by audience by @haksolot in #21
- The MSRV floor is a dependency consequence, not a target by @haksolot in #22
- An installed SKILL.md says which revision it is by @haksolot in #23
- A README that says what ank is and what it does by @haksolot in #24
- init writes the ignore rule for the index it derives by @haksolot in #25
- check notices a done task that was never attested by @haksolot in #26
- CI proves the MSRV is tight, not only that it is sufficient by @haksolot in #27
- TASK-d81a05ef8e8d is done, proved by commit a45301a by @haksolot in #28
- The msrv job reads the number instead of repeating it by @haksolot in #29
- TASK-3b085be1bf6a: the done record and attestation by @haksolot in #30
- ank --version names the skill it was built alongside by @haksolot in #31
- The README leads with the CLI, a configurable budget and no single harness by @haksolot in #32
- A blocker finished on another branch is named with its branch and commit by @haksolot in #33
- A second claim under one identity is named, never refused by @haksolot in #34
- The binary installs from npm, with nothing downloaded at install time by @haksolot in #35
- Every long flag gains a declared short form by @haksolot in #36
- 0.1.2, and the npm packages carry the same number by @haksolot in #37
- npm publish takes a path, and the smoke job now passes the one that failed by @haksolot in #38
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed
- The specification describes one command surface instead of two by @haksolot in #1
- The MSRV stops being asserted and becomes measured by @haksolot in #2
- check verifies the ratification signature instead of trusting it by @haksolot in #3
- The unsigned ratification is caught through the binary, not only under it by @haksolot in #5
- An orphan ref is one no branch claims, not one this checkout cannot see by @haksolot in #6
- Failing to ask about a signature is now an answer, not silence by @haksolot in #7
- ank --version, because a binary that cannot be identified costs a session by @haksolot in #8
- The version stamp follows the commit, not the source tree by @haksolot in #9
- 0.1.1, so the archive and the binary agree on what they are by @haksolot in #10
Full Changelog: v0.1.0...v0.1.1