Skip to content

Luke 0.14.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 22:51
· 944 commits to main since this release
b35b79b

What's Changed

  • fix(web,hosted): a repository out of the workspace's reach says why, and a plan stranded by #2524 moves to the workspace that reaches it by @dastratakos in #2573
  • feat(web,desktop): Executor as an integration, every tool offered, its approvals put to the developer by @dastratakos in #2590
  • docs(proposals): the Terminal tab, a shell in each coding agent's sandbox: Dean's decisions, the new-terminal rules, and the architecture by @dastratakos in #2574
  • docs(changelog): 0.13.0 names #2577 and #2578, merged before its tag by @charleslpan in #2589
  • feat(web,hosted): a coding agent's message can mention a file, a folder, or the plan's sections, and the agent is handed what it cannot read itself by @dastratakos in #2586
  • feat(desktop,hosted): a repository out of reach says why under the composer and offers the press that mends it by @dastratakos in #2588
  • feat(web,hosted): a Connect sign-in that never came back is asked after by Connect's verifier, and the statuses read says why it was cancelled or refused (sign-in reason 1/2) by @dastratakos in #2595
  • feat(desktop): what waits in the Inbox carries each item's agent and question by @dastratakos in #2597
  • feat(settings): the workspace's GitHub stands under Integrations, Connected, with one Manage menu by @luke-agent[bot] in #2570
  • chore: drop scripts/verify.sh and the Mac evidence rule by @charleslpan in #2605
  • refactor(desktop): window.luke by @charleslpan in #2606
  • feat(desktop): the Factory model, where every plan stands now and what waits on you by @dastratakos in #2601
  • fix(web): the eve services declare what they import, and the checks see them by @charleslpan in #2607
  • feat(desktop,hosted): a sign-in Connect says was cancelled or refused says so, with Connect's own line and Try again (sign-in reason 2/2) by @dastratakos in #2604
  • chore: Cal.com's root files by @charleslpan in #2612
  • chore: strays and stale text by @charleslpan in #2614
  • fix(web,database): automations never auto-pause; a failed start just records its failure by @dastratakos in #2598
  • feat(web): a terminal's lease holds its agent's sandbox: the turn's end skips its stop, and the sweep stops it once the lease lapses (terminal 1/9) by @dastratakos in #2575
  • feat(desktop,hosted): the plan draws a file's or a folder's mention as its chip, and Luke never drops a mention when he corrects the plan by @dastratakos in #2593
  • feat(desktop): @ in the plan editor mentions the repository's files and folders and the plan's sections, as chips, and a heading renamed there renames its mentions by @dastratakos in #2603
  • chore(tools): the lint rules are a typechecked workspace by @charleslpan in #2609
  • fix(desktop): an open popover stays put when its button grows or shrinks; the model menu no longer jumps as Fast toggles by @dastratakos in #2629
  • feat(desktop): @ in an agent's message box mentions the plan's sections and files, as chips by @dastratakos in #2624
  • feat(database,web): automation scope, repositories, and run target (expand migration 1) by @dastratakos in #2616
  • feat(desktop): Settings › Integrations has its own search for integrations and tools, beside Settings' search by @dastratakos in #2635
  • refactor: hosted is features by @charleslpan in #2613
  • docs(changelog): 0.13.0 gets five screenshots from its own build by @dastratakos in #2645
  • refactor(wire): guide joins wire by @charleslpan in #2618
  • fix(web,desktop,database): a plan's edits name the member who made them, and only the reader's own read as You by @dastratakos in #2638
  • fix(desktop): Contact us flies out its own menu beside the account's, rather than inside it by @dastratakos in #2649
  • feat(database,web): automation access by scope: personal vs workspace (D2) by @dastratakos in #2634
  • refactor(wire): session joins wire by @charleslpan in #2621
  • refactor: devtrace splits into gateway and host by @charleslpan in #2628
  • refactor(features): feedback joins features by @charleslpan in #2633
  • refactor(features): analytics joins features by @charleslpan in #2636
  • refactor(features): brain joins features by @charleslpan in #2641
  • feat(web): the sandbox image carries tmux, and an agent's terminals are listed, named, killed, and its sandbox resumed by route (terminal 2/9) by @dastratakos in #2592
  • refactor: design/ and surface become packages/brand by @charleslpan in #2646
  • fix(desktop): a section's byline is centred on its ⋯, in one row by @dastratakos in #2658
  • feat(database,web): planless-ready agents and Inbox items (expand migration 2) by @dastratakos in #2637
  • feat(desktop,host): the desktop attaches, reconnects, and detaches terminals, their bytes on a port to the panel that asked (terminal 4/9) by @dastratakos in #2591
  • refactor: one scope, @luke/* by @charleslpan in #2648
  • refactor(scripts): LUKE_* and luke_* by @charleslpan in #2650
  • chore: every package says what it is by @charleslpan in #2651
  • docs: the layout, written down by @charleslpan in #2652
  • docs(proposals): @-mentions record no per-integration search, a pasted link as a chip, and what has shipped by @dastratakos in #2672
  • feat(ui): the package is born by @charleslpan in #2654
  • refactor(ui): one provider mark by @charleslpan in #2656
  • refactor(ui): cn and the chart by @charleslpan in #2665
  • refactor(web): the site's models by @charleslpan in #2667
  • refactor(desktop): the renderer's and main's models by @charleslpan in #2675
  • refactor(desktop): the second pass by @charleslpan in #2685
  • test(web): the database builders belong to the database by @charleslpan in #2655
  • feat(service): the package is born by @charleslpan in #2659
  • feat(desktop): a window too narrow to pin the sidebar folds it, and a folded sidebar floats over the work (inbox narrow 1/2) by @dastratakos in #2679
  • feat(web,features): a workspace's slug travels with it, and no workspace takes a name Luke's own pages stand under by @dastratakos in #2682
  • fix(desktop): "Changed since you last looked" lights a teammate's saves, not only Luke's and agents' by @dastratakos in #2689
  • feat(database,web): an agent with no plan is reached through its own workspace, and the tools that need a plan refuse it by @dastratakos in #2663
  • fix(web,desktop): the Call tab names a teammate's call, over its divider and their lines by @dastratakos in #2694
  • feat(features,desktop,web): a mention is written as its address on the web, and every provisional luke:// form still reads by @dastratakos in #2683
  • docs(proposals): Experimental settings, as Dean decided it by @dastratakos in #2691
  • feat(web): a WebSocket relay attaches a terminal to its agent's sandbox, closes it after 5 idle minutes, and keeps the GitHub token fresh while it is used (terminal 3/9) by @dastratakos in #2599
  • feat(desktop): a Terminal tab per coding agent, in the agent tab's look and card, with its connection states (terminal 6/9) by @dastratakos in #2600
  • feat(database,web): an agent can start in a workspace with no plan, on a repository and a task, and names the automation whose run started it by @dastratakos in #2674
  • feat(desktop): a Luke link pressed in the window opens its plan there, at its section, never the browser by @dastratakos in #2695
  • feat(web,features): a Luke link opened in a browser lands on a page whose one press opens the plan in Luke by @dastratakos in #2696
  • feat(desktop): the app registers tryluke:// with macOS, and a Luke link it is handed opens its plan by @dastratakos in #2697
  • feat(web,features): a tool's title and parameters on the integration tools answer by @dastratakos in #2671
  • feat(desktop): the shells beside a Terminal tab: start, show, rename, and end shells in the same agent's sandbox, the running mark, the agent's state, fold (terminal 7/9) by @dastratakos in #2611
  • feat(hosted,web): an MCP server or tool mentioned in a message is handed to the next turn alone, with a note by @dastratakos in #2643
  • feat(web): an agent with no plan posts to its workspace's inbox, and its instructions name no plan link and no pages by @dastratakos in #2681
  • feat(desktop,host,hosted): the host attaches a Terminal tab's shell over the relay, reconnects it on its own, and posts its port to the asking panel alone (terminal 4/9, client) by @dastratakos in #2639
  • feat(desktop): open an agent's terminal from ⌘J, ⌘K's New terminal, the panel's "+", and the agent's Terminal chip, by the new-terminal rules, with the picker (terminal 8/9) by @dastratakos in #2622
  • feat(web): each workspace says how many members it has by @dastratakos in #2711
  • feat(desktop): the agent box's @ list offers the account's MCP servers and their tools by @dastratakos in #2653
  • fix(web,desktop): an agent a teammate started says so, and a key it failed on is named as theirs by @dastratakos in #2702
  • feat(desktop): ⌘F finds in a terminal's scrollback, through the window's find bar with a source of its own (terminal 9/9) by @dastratakos in #2640
  • feat(web,settings): experiments stored on the account, read tolerantly both ways (experimental 1/3) by @dastratakos in #2692
  • feat(desktop): the agent box's @ list offers the repository's skills by @dastratakos in #2664
  • feat(features,web): the account's inbox read carries the open items of agents with no plan, by their automation and repository, under keys an old build drops by @dastratakos in #2688
  • feat(desktop): each workspace wears a tile, its first letter on one of six hues, beside its name in the switcher by @dastratakos in #2712
  • feat(desktop): a tool opens onto a page of its own, in the MCP popover and beside its list in Settings by @dastratakos in #2700
  • feat(desktop,web): a pasted page of an integration's is a chip, and brings its server into the next turn by @dastratakos in #2668
  • feat(desktop,host): read and write an experiment, its gate one hook and one tag per list (experimental 2/3) by @dastratakos in #2699
  • feat(features,web): an agent reads as its own page by its id, on a plan or with none by @dastratakos in #2701
  • docs(proposals): @-mentions mark what shipped, and the show writes the settled link forms by @dastratakos in #2716
  • fix(web): a planless item names its automation by id only to an account that may read the automation, as it does by name by @dastratakos in #2717
  • fix(web,database): a resumed sandbox's terminal renews its GitHub token at once, a shell is attached once it is set, and a cut-off renewal gives its claim back (terminal 3/9 follow-up) by @dastratakos in #2703
  • feat(desktop): Settings › Experimental, a switch per experiment and the empty Inbox's empty state between them (experimental 3/3) by @dastratakos in #2709
  • feat(desktop): the workspace heads the sidebar, by its tile and name and who shares it by @dastratakos in #2718
  • feat(database,web): an automation's runs start agents in its workspace on no plan, and one that archives its successful runs archives each agent that finished well by @dastratakos in #2705
  • refactor(service): auth by @charleslpan in #2660
  • feat(desktop,web): ⌥⌘K in a File tab mentions the selected lines in the agent's box, pinned to their commit by @dastratakos in #2721
  • feat(features,host,desktop): the desktop reads one agent as its own page by its id, through the gateway by @dastratakos in #2710
  • fix(database): a run whose agent's starter left the workspace takes no place in the archive's read by @dastratakos in #2724
  • feat(desktop): an Inbox too narrow for its list and the item side by side shows one at a time, under a way back (inbox narrow 2/2) by @dastratakos in #2680
  • refactor(service): github by @charleslpan in #2666
  • refactor(service): admin by @charleslpan in #2669
  • refactor(service): the hosted floor by @charleslpan in #2670
  • refactor(service): the agent-runtime and brain-host floors by @charleslpan in #2676
  • refactor(service): hosted, second layer, and five small route apps by @charleslpan in #2677
  • refactor(service): hosted, third layer, and five more route apps by @charleslpan in #2678
  • refactor(service): the agent runtime, the brain host's middle, the coder host's floor by @charleslpan in #2686
  • feat(desktop): New plan says the workspace it starts in, and the repository list says where its repositories come from by @dastratakos in #2723
  • feat(desktop): the window's title and a notice's name the workspace by @dastratakos in #2719
  • feat(features,web,desktop): an agent with no plan is messaged, stopped, and changed like any other, its summary naming no plan by @dastratakos in #2713
  • fix(web,desktop,database): an Inbox answer names the member who gave it, "You" only for the reader by @dastratakos in #2715
  • perf(web): eve leaves the server's packages unbundled, and the web service builds while it migrates by @charleslpan in #2722
  • feat(features,host,web,desktop): one agent's inbox reads by the agent for any member of its workspace, an agent with no plan among them by @dastratakos in #2731
  • perf(desktop): Settings loads as a chunk of its own the first time it opens, making room under the renderer's bundle budget by @dastratakos in #2738
  • feat(database): an account's first workspace is made as Personal (workspace clarity D9, 1 of 2) by @dastratakos in #2740
  • refactor(service): the coder host by @charleslpan in #2732
  • feat(desktop): an agent with no plan has a page of its own, standing in the plan's place as the Inbox does by @dastratakos in #2720
  • refactor(service): agents, accounts, automations by @charleslpan in #2707
  • refactor(service): the planner by @charleslpan in #2708
  • feat(desktop): a plan says where it lives and who can edit it, "Acme › relay" and "5 can edit" over its title (workspace clarity D6) by @dastratakos in #2730
  • perf(desktop): posthog-js and the markdown HTML parser load as chunks of their own, and renderer.js's baseline drops 18% by @dastratakos in #2743
  • feat(desktop): the Factory tab, a live view of every plan being planned, built, and shipped by @dastratakos in #2608
  • refactor(service): voice and the sweep by @charleslpan in #2714
  • stack c/c0a site leaves by @charleslpan in #2725
  • refactor(desktop): main's and shared's last leaves by @charleslpan in #2726
  • refactor(desktop): the renderer's last leaves by @charleslpan in #2727
  • feat(checks): logic lives in packages by @charleslpan in #2728
  • feat(database,web): an automation that hands every run to the same agent sends it the run's task under the run's key by @dastratakos in #2739
  • feat(desktop): an item of an agent with no plan waits beside the plans', counts on the badge, and is announced with its click opening the agent's page by @dastratakos in #2745
  • feat(desktop): a command a teammate's agent ran on a Mac says it ran on theirs, "On Charles Pan's Mac" (who-did-what follow-up) by @dastratakos in #2742
  • feat(features,database,service): an automation is made on a workspace with the repositories its runs work in and no plan by @dastratakos in #2746
  • feat(desktop): the Inbox follows the listed workspace, and the switcher counts what waits in the others (workspace clarity D2/D11) by @dastratakos in #2733
  • feat(desktop): a switch to another workspace says so with Back, a switch on purpose opens that workspace's last plan or home, and Search names other workspaces (workspace clarity D3/D4) by @dastratakos in #2736
  • feat(web,desktop): an agent's questions badge and notify only the account that started it (workspace clarity D14) by @dastratakos in #2741
  • feat(features,host,desktop): the desktop asks the service for the account's automations through the host by @dastratakos in #2747
  • feat(web,desktop): the Inbox list's agent card says who started a teammate's agent (who-did-what follow-up) by @dastratakos in #2748
  • feat(web,desktop): owners and admins rename a workspace from Settings › Workspace (workspace clarity D9, 2 of 2) by @dastratakos in #2749
  • feat(desktop,features,settings): the Automations page lists the workspace's automations, each owner beyond doubt, behind its experiment by @dastratakos in #2752
  • feat(web,desktop): a workspace shows its photo, or its owner's picture for a personal one, read apart from the workspaces list (workspace photo 1 of 2) by @dastratakos in #2750
  • fix(desktop): Home lists every open item of the listed plans, a teammate's agent's included, as the Inbox does by @dastratakos in #2755
  • fix(service): an automation with no plan is refused a change to a GitHub event, as it is when made by @dastratakos in #2756
  • feat(desktop,features): an automation's page, under crumbs naming its owner, makes and changes one on a schedule by @dastratakos in #2754
  • feat(database,service,features,host,desktop): a workspace's agents are listed newest first, on one repository where one is named by @dastratakos in #2758
  • feat(desktop,features): an automation's runs land in a new agent on a model, archived once it succeeds where asked, or in the same agent, chosen by @dastratakos in #2759
  • feat(web,desktop): owners and admins set or remove a workspace's photo from Settings › Workspace (workspace photo 2 of 2) by @dastratakos in #2757
  • feat(desktop): Move to workspace… in a plan's ⋯ menu, saying who loses and gains it (workspace clarity D13) by @dastratakos in #2761
  • feat(desktop,features): an automation's runs stand in a panel on its page's right, each opening its agent, and Run now starts one by @dastratakos in #2760
  • fix(desktop): Choose a model hangs its menu from itself and reads the catalog again as it opens by @dastratakos in #2763
  • feat(service,features,host): an item of an agent with no plan names the workspace its agent belongs to by @dastratakos in #2762
  • feat(desktop): the window's Inbox lists the items of agents with no plan under the automation that started them, answered on the agent's own read by @dastratakos in #2765
  • feat(desktop): Settings groups its pages under the listed workspace, Account, and This Mac, and the Workspace page follows the sidebar (workspace clarity decision 8) by @dastratakos in #2764
  • feat(database): automations, agents, inbox items, and attachments each belong to a workspace, the column refusing a null (contract) by @dastratakos in #2766
  • feat(host,desktop): a notification of an item of an agent with no plan opens the window's Inbox on the item by @dastratakos in #2767
  • fix(desktop): a workspace photo replaces its letter tile rather than covering it, so a transparent photo shows the surface around it by @dastratakos in #2769
  • fix(desktop): New plan offers only repositories its workspace reaches, and a stranded plan offers Move to the workspace that does by @dastratakos in #2771
  • feat(desktop): the sidebar head drops the other-workspaces dot and the switcher's counts, and a workspace of one reads "Personal workspace" by @dastratakos in #2772
  • feat(web,database): a coding agent's message keeps what sent it, and the transcript names it by @dastratakos in #2773
  • feat(web,desktop): the plan's ⋯ menu ends with who created the plan and who last edited it by @dastratakos in #2775
  • feat(features,database,service): a workspace automation hears GitHub events in any of its repositories, and a pull request opened, marked ready, or pushed to is one by @dastratakos in #2768
  • feat(desktop): a teammate's message in an agent's tab carries their name over it, as the Call tab's lines do by @dastratakos in #2774
  • feat(desktop): the sign-in's buttons stand 40px tall, 12px apart, and "Last used" hangs on the top-right corner of the one it marks by @dastratakos in #2782
  • feat(service,desktop): a teammate's sign-in picture reaches the window, on the crumb's faces, its people card, and their versions by @dastratakos in #2779
  • feat(features,database,service,web): an automation's webhook address queues a run under the trigger's own secret, its body handed to the agent by @dastratakos in #2770
  • feat(desktop): each column's bar ⋯ offers the chosen tab's content actions, and tab housekeeping stays on the right-click by @dastratakos in #2783
  • feat(desktop): the sign-in's "Last used" badge wears its old colours again, where #2782 hung it by @dastratakos in #2785
  • feat(database,service): a personal workspace is named by its owner's account name as it stands now, and a new one is made under it rather than "Personal" by @dastratakos in #2786
  • feat(features,service): a workspace says whether it is personal, and a personal workspace's rename is refused by @dastratakos in #2788
  • feat(desktop): Settings › Workspace offers no Rename on a personal workspace, and each switcher row says who shares it as the head does by @dastratakos in #2789
  • feat(features,gateway,host,desktop): a window writes any trigger, says it in one sentence, and copies a webhook's fresh secret through the host by @dastratakos in #2776
  • feat(database): an account's first workspace made as "Personal" takes its owner's name by @dastratakos in #2787
  • feat(desktop,features): an automation's page chooses its trigger, Schedule, GitHub event, or Webhook, says it in one sentence, and copies a webhook's address and a fresh secret by @dastratakos in #2778
  • feat(features,desktop): any link whose target names a mention is its chip in a transcript, whoever wrote it, on a plan's page and off one by @dastratakos in #2792
  • feat(ui,desktop): whoever did something is drawn one way, a person on a circle and Luke, an agent, or an automation on a solid rounded square (ActorRef) by @dastratakos in #2784
  • docs(proposals): ActorRef as Dean decided it, B shapes, with its design show by @dastratakos in #2777
  • feat(desktop): the plan, its versions, and Luke's notes draw a link naming a mention as its chip, and an edited section keeps it in a chip's light look by @dastratakos in #2795
  • feat(desktop,voice,features,service): a teammate's call is headed by their face and name, its lines carry theirs and Luke's, and an agent's tab draws whoever sent a message as itself by @dastratakos in #2793
  • feat(desktop): the plan's "Edited by" line names whoever wrote it on their own face, its time opens the history, and each section's byline and the ⋯ menu's foot do the same by @dastratakos in #2796
  • feat(desktop): a read plan in the sidebar is the regular in a quieter ink and an unread one a semibold in the primary, every row of the column 30px by @dastratakos in #2801
  • feat(service): coding agents, Luke, and the notetaker are told to write a file, a pull request, or an issue as a link to its page, so it draws as a chip by @dastratakos in #2797
  • docs: a feature PR that needs the room may re-record the bundle budget, saying why and by how much by @dastratakos in #2806
  • feat(desktop): every window draws its words without the Mac's font smoothing, not the sidebar alone by @dastratakos in #2807
  • feat(ui,desktop): a plain link is one quiet underline everywhere, a bare address says its host and path with a ↗, and the plan, its versions, and Luke's notes open it in the browser by @dastratakos in #2800
  • feat(features,host): a notification says a link by its name, never its address by @dastratakos in #2798
  • feat(desktop): a workspace is named one way wherever the window names it, its tile and its name (WorkspaceRef) (1/3) by @dastratakos in #2802
  • fix(desktop): Luke's square wears his blue on his face and the neutral tile under it by @dastratakos in #2811
  • feat(desktop): a tool-call group's header and a finished turn's fold wear no icon, their calls keep theirs by @dastratakos in #2812
  • fix(service): a sandbox list asks for Vercel's widest page, 50, so an agent's terminals, the lease stop, and the retired-session cleanup are no longer refused whole by @dastratakos in #2809
  • fix(desktop): Settings › Workspace draws You as the person card does, offers no Remove on your own row, says a failed read in the window's words, and gives each invitation its face and expiry by @dastratakos in #2810
  • fix(desktop): Settings › Profile names the account on the face the sidebar and every member list draw, its letter on its hue where it has no picture by @dastratakos in #2813
  • feat(desktop): a stranded plan says so over every tab of it, in a plan-wide banner naming its workspace (PlanBanner) (2/3) by @dastratakos in #2803
  • fix(desktop): a call's card docks at the foot of a version history's versions, as it does in the sidebar and Settings, rather than floating over them by @dastratakos in #2816
  • feat(desktop): an agent's tab offers Open terminal (⌘J) on its right-click and its bar's ⋯, and its composer no longer wears a Terminal chip by @dastratakos in #2814
  • feat(desktop): a stranded plan's sidebar row wears a white exclamation, its card naming the workspace its repository belongs to (3/3) by @dastratakos in #2804
  • feat(desktop): a card's and an Inbox row's title says a link by its name, read as markdown reads it by @dastratakos in #2815
  • fix(desktop): a sidebar group lists its plans newest updated first, the time each row shows by @dastratakos in #2818
  • feat(features,gateway,host,desktop): a webhook's secret is shown once, in the window that minted it, as the webhook is made or a new secret is asked for by @dastratakos in #2805
  • feat(desktop): the plan crumb's workspace opens its home page, and its repository is a chip with a card and a menu by @dastratakos in #2808
  • feat(service,features,host,desktop): a Terminal tab that cannot reach its shell says why: Luke's service, Vercel Sandbox, no such shell, or no relay on this deployment by @dastratakos in #2817
  • fix(scripts): run.sh and evidence.sh bootstrap before every launch by @charleslpan in #2823
  • fix(web,desktop): Open in Luke says what to check when nothing opens, its download is the landing page, and a live dev run claims tryluke:// by @dastratakos in #2819
  • docs: follow Conventional Commits and Conventional Branch exactly by @charleslpan in #2827
  • feat(desktop): Settings › Workspace in Profile's and Integrations' shape, one kind of thing to a group, with the leave flow and the invite's role as a chip by @dastratakos in #2820
  • feat(desktop): an agent's starter, an Inbox answerer, and whose Mac a command ran on are each drawn by their disc and name (ActorRef) by @dastratakos in #2794
  • feat(desktop): a plan's link is copied from its ⋯ menu and from a ⋯ beside its title, drawn as a section's by @dastratakos in #2831
  • feat(service,host): the owner changes a member's role and hands the workspace to an admin, an admin removes and invites members alone, and an automation says whether the reader made it (4a) by @dastratakos in #2824
  • fix(service): a workspace whose GitHub installation was suspended lists no repositories, as not connected, rather than failing every read by @dastratakos in #2828
  • fix(service): every read of a workspace's GitHub installation mends a status its webhook missed, so Settings stops saying Connected for an installation GitHub removed by @dastratakos in #2829
  • fix(desktop): an automation's page and the Automations list stand centred at the measure a plan is read at by @dastratakos in #2833
  • feat(desktop): the repository chip says a workspace's GitHub was removed or suspended on GitHub, rather than that none is connected by @dastratakos in #2834
  • fix(desktop): a page's empty state fills the room under its header and stands a little above its middle by @dastratakos in #2832
  • refactor(service): the deployment's services are a layer in the package by @charleslpan in #2836
  • fix(desktop): no button, menu item, or command ends its name with an ellipsis by @dastratakos in #2821
  • fix(desktop): the automation editor is drawn from Settings' own rows, every pick a Settings picker on the window's menu and every yes or no a switch by @dastratakos in #2837
  • feat(desktop): the owner makes a member an admin, an admin a member or the owner, and hands the workspace over to leave it; the leave names the reader's automations (4b) by @dastratakos in #2840
  • refactor(wire,features,database,service,host,desktop): free the name "task": a coding agent's prompt, an ask's revision, and the inbox's to-do (LUKE-369 1/7) by @charleslpan in #2835
  • feat(features,service,desktop): an agent an automation started says "Started by [clock] Morning Sentry triage", whose card says its schedule, next run, and last run by @dastratakos in #2799
  • feat(service,web,desktop): an invitation is the workspace's, so it stays good after whoever sent it left (4c) by @dastratakos in #2845
  • feat(voice,web): Luke's replies wait on no earlier acknowledgment, record write, or second settle, and a call greets from its startup history by @luke-agent[bot] in #2623
  • docs(proposals): Settings › Workspace as Dean decided it and as built (R-1 to R-6), with its design show and research by @dastratakos in #2850
  • chore(deploy): one vercel.ts at the repository root by @charleslpan in #2838
  • revert: chore(deploy): one vercel.ts at the repository root (#2838) by @charleslpan in #2852
  • feat(service,features): a workspace's GitHub installations are read and written as several, each standing for one workspace (multiple installations 1/2) by @luke-agent[bot] in #2642
  • fix(desktop): an inline chip's words sit on the line's baseline, and a line holding one grows no taller by @dastratakos in #2856
  • feat(desktop): the Inbox names every agent and automation by its ActorRef tile, each hanging its card by @dastratakos in #2853
  • feat(service,live): the models hear "task" for the unit of work and "plan" for its document (LUKE-369 2/7) by @charleslpan in #2841
  • feat(service,desktop): start_coding_agent takes the agent's prompt as prompt (LUKE-369 2b/7) by @charleslpan in #2844
  • fix(service): bound the prefix of a credential name so its redaction is linear by @charleslpan in #2860
  • feat(desktop): a Changes card names its agent by its ActorRef tile, hanging the agent's card and opening its tab by @dastratakos in #2854
  • feat(desktop,web,ui,host,features,settings): say "task" for the unit of work and "plan" for its document, on screen and in the docs (LUKE-369 3/7) by @charleslpan in #2848
  • feat(service,features): an agent's changes name who opened its pull request, its reviewers, its commit authors, and its review comments by @dastratakos in #2862
  • fix(desktop): draw the plan crumb's repository like its workspace, hover card only by @luke-agent[bot] in #2870
  • feat(ui,desktop): ActorRef draws someone on GitHub: a person's circle by their avatar, an App's bot's square, and a read-only card by @dastratakos in #2863
  • docs(proposals): the Inbox when it is one column wide, as Dean decided it, with its design show by @dastratakos in #2872
  • fix(service): read a pull request's reviews to their newest before saying where its reviewers stand by @dastratakos in #2878
  • feat(desktop): an Inbox one column wide opens on its item, the list a press of ‹ Inbox away, on the Inbox's own ground by @dastratakos in #2879
  • fix(desktop): an agent's to-do list sits on its row's text column, each glyph centred on its first line, the item in progress wearing the working mark by @dastratakos in #2874
  • feat(desktop): an Inbox option the agent recommends wears a Recommended badge by @dastratakos in #2881
  • docs(proposals): the sidebar's task list as one section with view options, as Dean decided it, with its design show by @dastratakos in #2880
  • feat(desktop): a task someone else created wears its creator's face in the sidebar by @dastratakos in #2873
  • feat(desktop): the Changes tab and card name who opened the pull request, its reviewers by where each stands, its commit authors, and its review comments by @dastratakos in #2865
  • feat(desktop): a task's card and its plan's crumb say who created it by @dastratakos in #2875
  • feat(desktop): Home, Factory and ⌘K name a task's creator by @dastratakos in #2877
  • feat(desktop): a Mermaid fence in a plan draws as its diagram, in the read view and under its code in the editor by @dastratakos in #2890
  • fix(desktop): hold Luke's face still on the sign-in screen by @dastratakos in #2891
  • feat(database,desktop): a workspace holds several GitHub installations, listed in Settings and managed on GitHub (multiple installations 2/2) by @luke-agent[bot] in #2644
  • fix(desktop,features): a picture on its own line opens in the plan editor as a document it can edit by @dastratakos in #2886
  • feat(desktop,features): tool-call group lines lead with the fold's chevron, and a subagent's tab groups its calls as its agent's does by @dastratakos in #2892
  • feat(desktop,ui): the sidebar's tasks are one section with view options, grouped by repository, creator, or none, in the order chosen by @dastratakos in #2893
  • feat(desktop): a task is read the moment it opens, whichever of its tabs it opens on by @dastratakos in #2900
  • feat(desktop): Home drops its Search all line, ⌘K and the sidebar's Search left as they are by @dastratakos in #2898
  • fix(desktop): Send feedback and the Experimental tag are drawn as the app draws its own by @dastratakos in #2903
  • feat(database,service): a task's pin is its reader's own, not the workspace's by @dastratakos in #2901
  • feat(desktop,features): a tool group's line wears the failed mark where a call it holds failed by @dastratakos in #2907
  • chore(deploy): vercel.json at the repository root by @charleslpan in #2876
  • fix(service,live): Luke's one start carries everything the agent is told, so no note follows it by @dastratakos in #2909
  • feat(features,service,desktop): a GitHub-event trigger chooses whose events fire it, at which moments, and whether drafts and forks do by @dastratakos in #2780
  • feat(desktop): an Inbox item standing alone says where it stands, 2 of 8, and steps up and down the list by its arrows, J and K by @dastratakos in #2882
  • feat(desktop,service,database,features,host): start a task without a name, as Untitled by @luke-agent[bot] in #2888
  • fix(desktop): resting on a menu's second submenu item opens its submenu, as the first's does by @dastratakos in #2917
  • feat(desktop,ui): the sidebar's tasks filter by who created them by @dastratakos in #2899
  • refactor: the orchestrator is apps/luke by @charleslpan in #2883
  • fix(database,service,features): an integration's picture is kept beside the transcript and named by id, not carried as base64 by @dastratakos in #2906
  • refactor: the coding agent is apps/dev by @charleslpan in #2887
  • feat(desktop): a settled Inbox item offers the next that needs you where its box stood by @dastratakos in #2885
  • feat(desktop): an automation's editor opens on its owner, under the account's and the workspace's pictures by @dastratakos in #2923
  • feat(database,service,web): a plan keeps its pictures beside it, served only to its workspace's members by @dastratakos in #2895
  • feat(service,web,features): an agent's and a worker's pictures are read by id, by whoever may read the agent by @dastratakos in #2911
  • fix(desktop): who can edit a task, at its plan's crumb, presses nowhere by @dastratakos in #2894
  • feat(desktop): a transcript opens on its origin, sent by the automation, task, or agent it came from by @dastratakos in #2938
  • chore(release): bump the workspace to 0.14.0 and write its changelog by @dastratakos in #2871

Full Changelog: v0.13.0...v0.14.0