Skip to content

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 27 Aug 23:33
· 14 commits to main since this release
84fbdbe

Changelog

  • 84fbdbe LERP-168: F for filter: pick a field, then a value, in a modal (#161)
  • d886f5c LERP-154: pin task_notification fixture for claude subagent retirement (#164)
  • 27b395f LERP-92: one issue-node field selection, five queries (#163)
  • b09fd61 LERP-128: reconcile landing and manual pointers with the release-only publish split (#162)
  • f238d96 LERP-165: status slices: the inbox browses Backlog and Todo as real stages (#160)
  • 71b27d5 LERP-89: one integration test: the reconciler drives a real run (#159)
  • 042a02d LERP-169: kanban summary strip across the top of the screen (#156)
  • bcdaec0 LERP-158: Startup preflight: warn when a runner's CLI has no Linear MCP configured (#157)
  • 14b3b15 LERP-167: ? pops a cheat sheet: every live key for where you stand (#158)
  • f621fe8 LERP-163: A modal layer: promote, eject, and help float over the board (#155)
  • 632378e LERP-153: telemetry stamps runner/vendor from start-time record (#154)
  • 6d98e7c LERP-171: every review round leaves a mark on the pull request, clean or not (#153)
  • 4bac788 LERP-164: LERP_OPEN=desktop: o deep-links into the Linear app (#151)
  • 1b9acde LERP-166: select the whole filter — V grabs every shown row (#152)
  • 3c58a19 LERP-162: the TUI learns Linear's board order (#150)
  • 2922549 LERP-161: promote writes through to the board instead of waiting for the next pass (#149)
  • 41b8e3c LERP-159: lerp init offers to register each runner CLI's Linear MCP (#148)
  • cd9939b LERP-160: implement prompt: the verdict names its review mechanism (#147)
  • 101f3d1 LERP-157: debounce wordmark on folded data and guard active project scope (#146)
  • 7b1a180 LERP-156: checked-in reviewer subagent for antigravity (#145)
  • 7496658 LERP-151: the wordmark keeps the inbox company, not just a bare board (#144)
  • 2adffa6 LERP-150: context load — how full each agent's window is, worst one on the row (#135)
  • e6e3b43 LERP-103: test-code dedup — use the helpers that exist, one harness builder (#138)
  • 06d5729 LERP-45: adopter docs — .lerp cleanup/uninstall and Linear API key scoping (#140)
  • dcec5c9 LERP-101: TUI render invariants: one spelling each (#143)
  • 3a2cb9d LERP-44: reconciler backoff on Linear 429 rate limits (#137)
  • 9b4163a LERP-104: surface trims and small single-spellings (#142)
  • 0030e1f LERP-91: missing lerp.toml should point at lerp init (#141)
  • 9996fa7 LERP-93: init should normalize the --team key case (#139)
  • 1893384 LERP-138: telemetry — one JSONL line per finished run (#134)
  • d3e27ca LERP-152: re-theme — terminal green takes over from purple (#133)
  • e159b64 LERP-140: dogfood migration — this repo's own pipeline onto the runner adapters (#136)
  • 3e063be LERP-144: splash holds until both first-pass reads settle (#129)
  • c1b2d3e LERP-147: fold the ticket — markdown sections collapse in the main pane (#128)
  • e04c224 LERP-149: work rows show dollars, where the stream says dollars (#132)
  • f89a1dd LERP-143: antigravity adapter — the agy vendor, its decoder, and session bridging (#131)
  • 569b71f LERP-145: a decorative wordmark keeps the empty board company (#125)
  • 3d036f8 LERP-141: inbox multi-select — visual mode, then one promote for the batch (#126)
  • 5a16b07 LERP-137: codex adapter — session bridging for resume and eject (#130)
  • c5ce605 LERP-146: a scrollbar for the main pane (#124)
  • e622d86 LERP-136: runner adapters — the vendor mechanism and the claude adapter (#123)
  • 0691a00 LERP-148: AGENTS.md — filing a ticket sets priority and estimate (#127)
  • c98bd2e LERP-142: the plan opens with an executive summary (#122)
  • a0a2765 LERP-135: amend SCOPE — runners become built-in adapters, telemetry joins local disk (#121)
  • 12ecbe0 LERP-90: contract tests — the fake and real Linear clients answer alike (#120)
  • f7ed984 LERP-38: version for go-install builds, --version alias (#118)
  • 944164c LERP-23: curl install — install.sh against GitHub releases (#119)
  • 3c6bcf9 LERP-127: docs publish on release — the manual freezes on tags, the root keeps tracking main (#115)
  • 390a5f1 LERP-123: write the manual — Start, Concepts, The interface, Reference (#112)
  • 7c18923 LERP-69: docs casts — generalize the VHS harness to many tapes and publish them with the site (#117)
  • 6fe2e6d LERP-109: lerp login, the loopback PKCE flow, and logout to undo it (#116)
  • 54741d4 LERP-108: credentials — one source for the auth header, env key or stored token (#95)
  • 345cf03 LERP-126: cheap hands, expensive eyes for the implement queue (#110)
  • 7d7424a LERP-129: adopted runs rebuild their sparkline history from the log's own timestamps (#113)
  • ff65e6e LERP-124: lerp.sh, a front-door landing page, and a Why lerp page (#111)
  • c75894d LERP-122: docs layout — sidebar, section indexes, and the home/manual split (#108)
  • b7b2526 LERP-125: cheaper merge runner, pinned reviewer subagent (#109)
  • 14bc90a LERP-88: pin the error-path claim bookkeeping with tests (#103)
  • 2203ee6 LERP-97: config owns the watched-status set — one WatchedStatuses, four call sites (#101)
  • dc581f0 LERP-99: one tui.Engine interface, and a demo gate that reads the harness's own exit (#97)
  • 2d448a4 LERP-96: one spelling for claim release and eligibility (#100)
  • 739c915 LERP-25: docs site on GitHub Pages, latest tracking main (#98)
  • 9cddd4d LERP-85: sanitize bidi and format characters, not just C0/C1 (#104)
  • e4f0e17 Bump goreleaser/goreleaser-action from 6 to 7 (#107)
  • 178465f LERP-22: GoReleaser — tagged releases with prebuilt binaries (#96)
  • b0e4077 LERP-86: check the scheme before handing a ticket URL to open (#102)
  • cfe7ec6 LERP-55: say that lerp needs the status field, before it costs a stage (#99)
  • f25f007 LERP-87: expand command templates in one pass (#106)
  • ca5f5b9 LERP-121: bill a Claude API call once, not once per content block (#105)
  • 60b5503 LERP-37: keep the Linear API key out of agent environments (#94)
  • dd1f77c LERP-43: CONTRIBUTING.md, a thin wrapper around SCOPE.md (#88)
  • a6d6ffa LERP-107: SCOPE amendment — setup-time login may open a loopback socket (#83)
  • f1abe47 LERP-116: highlight the whole selected row, not a two-character marker (#79)
  • ebc8460 Bump actions/checkout from 4 to 7 (#91)
  • 84c8ab6 LERP-98: byte-pin lerp.example.toml to the rendered stock config (#85)
  • 4c78e95 Bump github.com/charmbracelet/x/ansi from 0.11.6 to 0.11.8 (#92)
  • d528b79 Bump actions/setup-go from 5 to 7 (#93)
  • f905b05 LERP-40: run the gate on macOS too, and scan for vulnerable deps (#75)
  • 6a300c2 LERP-81: cache the viewer, delta-poll the board behind the inbox (#90)
  • 4e40fb8 LERP-100: the promote picker must use the one keymap (#89)
  • 9533fb3 LERP-118: a contrast floor for the palette, pinned by a test (#82)
  • 25b20ae LERP-117: put the open main pane in the tab cycle (#84)
  • 69a98c7 LERP-84: drain the events channel while quitting waits for the in-flight pass (#87)
  • 285b2a9 LERP-120: say what the agent just ran, and what the run has spent (#86)
  • e3bbe3c LERP-115: open on the lerp mark and a spinner, not a blank board (#78)
  • 7782f17 LERP-105: fold the inbox — blocked-on-you by default, the backlog behind B (#72)
  • 5cb4fda LERP-56: warn at startup when a team's git automations collide with the pipeline (#77)
  • c6151a8 LERP-39: SECURITY.md — one page for the trust model (#80)
  • 6256f4e LERP-102: calm the status bar — no countdown theater, a mark in the corner (#69)
  • 445149e LERP-114: mark an adopted run's sparkline history unread, not absent (#76)
  • 14609a4 LERP-41: declare macOS and Linux, and let the compiler agree (#81)
  • ff1cf71 LERP-112: dogfood a merge queue in this repo's lerp.toml (#70)
  • 79423c6 LERP-83: init ignores .lerp/ (#73)
  • f766b5b LERP-82: delete lerp once, the second copy of the run pipeline (#74)
  • cd66358 LERP-94: open on the inbox, not the work panel (#67)
  • 0bd525f LERP-113: release the claim at a gate, and let S take back your own (#71)
  • 39e0aa9 LERP-95: work behaves like the inbox, and its sparklines take the width (#68)
  • a2cf632 LERP-14: eject — stop the agent, hand over the resume command (#66)
  • 39ba760 LERP-76: name the inbox table's columns, and make ⚠ earn its glyph (#58)
  • 086fa93 LERP-71: search the inbox with / (#62)
  • 5972baa LERP-68: read a run's row for whether it is still doing something (#59)
  • a55c6f9 LERP-66: enter opens the detail pane, the list has the screen until then (#64)
  • f0933a2 LERP-42: one VHS cast of the board in the README, regenerable by make (#65)
  • 48be56a LERP-53: force-start a selected ticket past the lane limit (#54)
  • e2bf744 LERP-67: the main pane fills the body, not its content (#63)
  • 0ca7d3b LERP-77: every pull request title leads with its ticket identifier (#61)
  • f901e4b LERP-78: an adopted run reads as running in the work panel (#57)
  • 51ebdef Inbox table: fixed columns left, the title takes whatever is left (#53)
  • ab98423 LERP-79: raise the default lane count to ten (#60)
  • 5dede7d LERP-73: raise the default lane count to five (#56)
  • 51dbc4a Lead the implement prompt with its exit contract (#52)
  • d5d84e3 LERP-72: group the inbox by status by default (#55)
  • 011d5f0 LERP-62: render the ticket's markdown in the main pane, not its source (#48)
  • 66dfafb Merge pull request #51 from mattwalters/matt/lerp-74-an-adopted-run-should-still-get-its-on_success-hop
  • 72ae5a1 LERP-74 review: a taken-over run keeps neither the hop nor the claim
  • 6fbba41 LERP-74 review: hand the command to the shell, not to the epilogue
  • 68ae54f LERP-74: an adopted run still gets its on_success hop
  • 80439a1 Merge pull request #47 from mattwalters/matt/lerp-61-panel-sizing-give-needs-you-the-room-keep-work-a-panel
  • 5ff8d25 Merge main into LERP-61 again
  • 062885b Merge pull request #49 from mattwalters/matt/lerp-64-rename-the-needs-you-panel-to-inbox
  • c3b913f Merge main into LERP-64
  • 5176c3c Merge main into LERP-61
  • 28c8c17 Merge pull request #50 from mattwalters/matt/lerp-63-panel-chrome-padding-focus-and-a-key-hint-line-you-can
  • c71d77e LERP-63 review: a key on the panel is a key you can press
  • 120d9de LERP-63 review: buy the line the keys cost, and only when they cost one
  • 7178aa0 LERP-61 review: the fixture waits on two items, not four
  • 41adc6a LERP-63 review: keep the rows when the panel is short, and the picker's keys
  • e537a0c LERP-64 review: one vocabulary for the panel and its contents
  • 2e8d65c LERP-63: panel chrome — padding, focus weight, keys on the panel
  • 9829d34 LERP-61 review: a ceiling, not a reservation — and stop the stacked layout jumping too
  • b407882 LERP-64 review: the empty states kept the retired name
  • 060e374 LERP-64 review: the status bar counted in the old name
  • 3144115 LERP-64: rename the needs-you panel to inbox
  • 366b9b3 LERP-61 review: keep focus out of the stacked layout too, and floor a panel where it can still be read
  • 097bc92 LERP-61: give needs-you the room, keep work a panel
  • f96f7ae Merge pull request #46 from mattwalters/matt/lerp-60-fold-the-review-pass-into-implementing-the-plan-lives-in-the
  • b0ffd2f LERP-60: fold the review pass into implementing
  • 6c38c96 Merge pull request #45 from mattwalters/matt/lerp-52-one-work-panel-merge-running-and-up-next-into-the-queues-the
  • 8e0e981 LERP-52 review: keep the operator's place, and stop the status bar losing outcomes
  • f687865 LERP-52: one work panel, in the queues the tickets sit in
  • b73b8f9 Merge pull request #43 from mattwalters/matt/lerp-58-implement-prompt-must-handle-re-entry-review-verdict-is-the
  • 60026b6 LERP-58 review: make the rework instructions survive a shared git dir
  • 1f51aca LERP-58: teach the implement prompt to re-enter
  • b02fa61 Merge pull request #44 from mattwalters/matt/lerp-59-promote-must-release-the-claim-when-it-moves-a-ticket-into-a
  • fc9a2a9 LERP-59: release the claim when promote moves a ticket into a queue
  • 4493ed4 Merge pull request #42 from mattwalters/matt/lerp-57-needs-you-becomes-a-table-real-statuses-as-a-column-sortable
  • ca46f82 LERP-57 review: guard priorityRank, stop the relevance defaults lying
  • 45cebb1 LERP-57: read needs-you as a table of real Linear statuses
  • 2ed6cde Merge pull request #41 from mattwalters/matt/lerp-54-report-a-skipped-on_success-hop-instead-of-silently
  • ce08dd8 LERP-54: report the on_success hop a mid-run move skipped
  • 9e33eb6 Merge pull request #40 from mattwalters/matt/lerp-49-render-the-log-tail-as-agent-activity-not-raw-stream-json
  • 0a918e4 LERP-49: read the lane pane as agent activity, not stream JSON
  • 5cff40e Merge pull request #39 from mattwalters/matt/lerp-48-read-the-ticket-in-the-tui-body-and-stage-artifact-comments
  • 9d0ffd4 Merge pull request #38 from mattwalters/matt/lerp-51-stock-pipeline-gains-a-human-plan-approval-gate-before
  • 46d53f7 LERP-48: read the selected ticket in the needs-you pane
  • d6c89b4 LERP-51: gate the stock pipeline on a human reading the plan
  • 46335b2 Merge pull request #36 from mattwalters/matt/lerp-47-route-from-needs-you-topological-order-unblock-leverage
  • 75d8a1d Merge pull request #37 from mattwalters/matt/lerp-36-sanitize-control-characters-in-tui-rendering-terminal-escape
  • a2020b5 Merge pull request #35 from mattwalters/matt/lerp-50-completed-runs-never-release-their-claim
  • 7dd78b0 LERP-36: make Linear-sourced text inert before it reaches the terminal
  • 6f2ab6d LERP-47: route from needs-you by leverage, priority on the row
  • 2819f7c LERP-50: release the claim when a run finishes in a served status
  • 4847768 Merge pull request #34 from mattwalters/matt/lerp-46-tui-panel-sizing-content-fit-collapse-empty-panels-focus
  • 47768c3 LERP-46: fit the panels to their content, focus takes the slack
  • f9c4c89 Merge pull request #33 from mattwalters/matt/lerp-34-redesign-the-tui-one-screen-three-panels-a-status-bar
  • fe3ce6b Review fixes: fit the panel stack to the terminal, keep selections visible
  • bd04d12 Merge origin/main: promote picker and needs-you groups join the one-screen TUI
  • aa96613 LERP-34: One screen, three panels, a status bar
  • 3657172 Merge pull request #31 from mattwalters/matt/lerp-32-promote-from-the-tui-needs-you-view-with-backlog-listing-and
  • d554357 LERP-32: Promote from the TUI — needs-you view with backlog listing and promote
  • c18dc4b Merge pull request #32 from mattwalters/matt/lerp-35-stock-runner-streams-nothing-the-boards-log-tail-is-empty
  • 5be3a6b LERP-35: stream agent output so the log tail is live
  • 55a48d8 Merge pull request #30 from mattwalters/matt/lerp-27-review-fixes
  • fdb6914 Review fixes: truncate empty states, single-source the attention hint
  • 3a95bea Merge pull request #29 from mattwalters/matt/lerp-33-pin-the-claude-runner-to-opus-5-at-high-effort-in-this-repos
  • b76d3c6 Merge pull request #28 from mattwalters/matt/lerp-27-tui-empty-states-that-explain-themselves
  • 337170f LERP-33: pin the claude runner to Opus 5 at high effort
  • 7cae235 LERP-27: TUI empty states explain themselves
  • 43180f6 Merge pull request #26 from mattwalters/matt/lerp-31-startup-verification-report-group-by-missing-status-not-by
  • cfb7c43 Merge pull request #27 from mattwalters/matt/lerp-29-interactive-init-map-queues-onto-the-board-you-already-have
  • 8c8f364 LERP-29: Interactive init maps queues onto the existing board
  • f058141 LERP-31: Group startup verification report by missing status
  • ead3708 Merge pull request #25 from mattwalters/matt/lerp-30-prompts-follow-the-configured-statuses-expand-queue-fields
  • 11c181e Merge pull request #24 from mattwalters/matt/lerp-28-startup-verification-every-configured-status-must-exist-on
  • 6adb0b6 LERP-30: Prompts follow the configured statuses
  • 33ccc34 LERP-28: verify every configured status exists at startup
  • ca3c85f Merge pull request #23 from mattwalters/claude/v0-sanity-check-next-af8ec7
  • 504c827 Rename "bless" to "promote" everywhere
  • 8c27bdb Merge pull request #22 from mattwalters/matt/lerp-13-attention-view-what-is-blocked-on-me
  • 749e17d LERP-13: Attention view — what is blocked on me
  • 9b49b17 Merge pull request #21 from mattwalters/matt/lerp-12-queue-view-what-runs-next
  • 122f45e LERP-12: Queue view — what runs next
  • 56d64c4 Merge pull request #18 from mattwalters/matt/lerp-17-readme-build-out-the-standard-cli-tool-front-door
  • 2ae7875 Merge main: integrate TUI into the README front door
  • 35259f1 Merge pull request #20 from mattwalters/matt/lerp-11-tui-shell-board-view-with-live-log-tail
  • 715c97b Merge pull request #19 from mattwalters/matt/lerp-10-kill-safety-acceptance-test
  • 53346bd LERP-11: address review findings — TTY guard, bounded quit, provisioning event, true run age
  • e4d3457 LERP-10: address review findings — both-win coverage, direct release assert, harness dedup
  • e2852f5 LERP-17: address review findings — honest shipped-surface docs, actionable setup, dedup
  • 2056e5e LERP-11: TUI shell + Board view with live log tail
  • c91eb28 LERP-10: kill-safety acceptance test — four crash/race scenarios
  • ea094aa LERP-17: README build-out — front door for the CLI
  • e326072 Merge pull request #17 from mattwalters/matt/lerp-9-the-reconciler-n-lanes-adoption-reaping-drift-repair
  • b716fcb LERP-9: harden the reconciler against review findings
  • e9cb9a3 LERP-9: the reconciler — N lanes, adoption, reaping, drift repair
  • 867a64b WIP
  • 6d80710 Merge pull request #16 from mattwalters/matt/lerp-19-lerp-init-should-not-guess-a-status-category-it-cannot-know
  • 9032132 LERP-19: report pipeline-exit categories instead of guessing completed
  • 9318bce Merge pull request #15 from mattwalters/matt/lerp-21-pipeline-config-into-lerp-toml
  • 3534909 LERP-21: move pipeline config into checked-in lerp.toml
  • 9cb5929 Merge pull request #14 from mattwalters/matt/lerp-20-bootstrap-global-config-on-first-init
  • 3c8aeba LERP-20: bootstrap global config on init
  • 22cda52 Merge pull request #13 from mattwalters/matt/lerp-16-stock-config
  • d2f362f LERP-16: ship the stock pipeline as config
  • 5ff4007 Merge pull request #11 from mattwalters/codex/lerp-15-init
  • 31f05a5 Merge pull request #10 from mattwalters/codex/lerp-8-run-records
  • fa9764f LERP-8: hold the clone lock with flock, and make run evidence lossy-safe
  • dd6f992 Fix review findings in the vertical slice and lerp init
  • da28803 Merge pull request #12 from mattwalters/matt/lerp-makefile
  • c2dbdb8 LERP-18: add Makefile and point CI at make check
  • 46f1950 LERP-15: add setup-time lerp init
  • bffd91a LERP-7: run one ticket through the vertical slice
  • 08cb5c4 LERP-8: record ephemeral runs and lock clones
  • a9fcfe9 Merge pull request #7 from mattwalters/codex/lerp-6-workspace
  • b4babf0 Merge pull request #8 from mattwalters/codex/lerp-5-runner
  • 66986e8 Merge pull request #6 from mattwalters/codex/lerp-4-claim
  • 70052ca LERP-5: execute configured runners
  • 582750d LERP-6: invoke workspace provision and disposal
  • 63b632c LERP-4: claim queued tickets through Linear
  • b41a3bb Merge pull request #5 from mattwalters/matt/lerp-3-linear-client
  • 67f80f5 Merge pull request #4 from mattwalters/matt/lerp-2-config
  • b3239f2 LERP-2: rename covenant to repo config
  • d07a820 LERP-2: document the config files in the README
  • 37ce030 LERP-3: Linear client — GraphQL over net/http
  • 5041b47 LERP-2: config — global file, covenant, validation
  • db008f2 Merge pull request #3 from mattwalters/matt/lerp-1-repo-skeleton
  • 1cb0641 LERP-1: repo skeleton — Go module, cmd/lerp, CI
  • 0c19648 Merge pull request #2 from mattwalters/claude/code-review-3f1088
  • 18c8bcb Rename wand to lerp throughout docs
  • 965ee4b Merge pull request #1 from mattwalters/claude/wand-project-scope-9528a9
  • c8af582 Add SCOPE.md and agent briefs
  • 46f7185 Initial commit