<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://crossboard.nervess.cat/changelog.xml</id>
  <title>CrossBoard changelog</title>
  <subtitle>Every change that landed in CrossBoard, newest first.</subtitle>
  <updated>2026-11-06T11:58:57Z</updated>
  <author><name>CrossBoard</name></author>
  <link rel="self" type="application/atom+xml" href="https://crossboard.nervess.cat/changelog.xml"/>
  <link rel="alternate" type="text/html" href="https://crossboard.nervess.cat/changelog/"/>
  <icon>https://crossboard.nervess.cat/apple-touch-icon.png</icon>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/release-v0.2.0</id>
    <title>Release CrossBoard 0.2.0</title>
    <updated>2026-11-06T11:58:57Z</updated>
    <published>2026-11-06T11:58:57Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/releases/tag/v0.2.0"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#release-v0.2.0"/>
    <summary type="text">Full Changelog: https://github.com/nervesscat/agent-board/commits/v0.2.0</summary>
    <category term="release"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-142</id>
    <title>Release 0.2.0: project repositories, renamed Agents pages, find_project, tag filter</title>
    <updated>2026-11-06T11:50:06Z</updated>
    <published>2026-11-06T11:50:06Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/142"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-142"/>
    <summary type="text">Release 0.2.0: merges dev into main. Once this merges, the v0.2.0 tag on the merged commit publishes the Windows and Linux installers (docs/releasing.md).</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-134</id>
    <title>Version 0.2.0</title>
    <updated>2026-11-06T10:55:09Z</updated>
    <published>2026-11-06T10:55:09Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/134"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-134"/>
    <summary type="text">Sets the desktop app&apos;s version to 0.2.0 in desktop/app/package.json. That file is the only place the release version is kept: .github/workflows/release.yml and scripts/release.mjs read the tag (v0.2.0) and the installers&apos; versioned names from it.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-136</id>
    <title>Rename the three Agents pages: Connect, Team, Agent tokens</title>
    <updated>2026-11-06T10:54:45Z</updated>
    <published>2026-11-06T10:54:45Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/136"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-136"/>
    <summary type="text">Three different things were all labelled &quot;Agents&quot;.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-139</id>
    <title>Remove the Hand-off card; the summary check becomes a phase the board ticks</title>
    <updated>2026-11-06T10:32:44Z</updated>
    <published>2026-11-06T10:32:44Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/139"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-139"/>
    <summary type="text">The ticket page&apos;s Hand-off card listed the same facts the task list already shows. The card&apos;s one unique check was whether an agent wrote the summary after the branch&apos;s last commit.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-141</id>
    <title>Make the tag filter searchable, paged from the server, capped and in tag colours</title>
    <updated>2026-11-06T09:42:34Z</updated>
    <published>2026-11-06T09:42:34Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/141"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-141"/>
    <summary type="text">The Board&apos;s tag filter was a plain select holding every tag at once, with no search, no height cap, and labels in the plain text colour. It is now a searchable combobox that loads its tags from the server one page at a time.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-140</id>
    <title>Scope local checks to what the change touches; full suites run in CI</title>
    <updated>2026-11-06T09:42:22Z</updated>
    <published>2026-11-06T09:42:22Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/140"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-140"/>
    <summary type="text">Scope local checks to what the change touches; full suites run in CI</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-138</id>
    <title>Keep the project sidebar in view while the page scrolls</title>
    <updated>2026-11-06T09:42:06Z</updated>
    <published>2026-11-06T09:42:06Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/138"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-138"/>
    <summary type="text">From md up, the project sidebar sticks below the header and scrolls on its own when it is taller than the window. On narrow screens it stays above the content, as before. The page still scrolls as it does today, so scroll restoration and the other sticky bars are unchanged.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-137</id>
    <title>Agents find their board project at run time with find_project</title>
    <updated>2026-11-06T09:41:54Z</updated>
    <published>2026-11-06T09:41:54Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/137"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-137"/>
    <summary type="text">The board skill carried a table of every project and repo, filled in when the skill was rendered. A project or repo added, moved or renamed afterwards stayed invisible to every installed copy until it was copied again.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-135</id>
    <title>Move Repositories into each project&apos;s menu, scoped to that project</title>
    <updated>2026-11-06T09:41:05Z</updated>
    <published>2026-11-06T09:41:05Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/135"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-135"/>
    <summary type="text">Repositories was a board-wide page in the top bar. It is now a page in each project&apos;s sidebar (/projects/ /repositories), listing and managing only that project&apos;s repos.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-131</id>
    <title>Release: wide tables, kept scroll place, agent run configs, tailnet fixes, Linux CI</title>
    <updated>2026-11-04T06:14:00Z</updated>
    <published>2026-11-04T06:14:00Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/131"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-131"/>
    <summary type="text">Release of dev into main.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-133</id>
    <title>Let wide markdown tables keep their natural width and scroll sideways</title>
    <updated>2026-11-04T05:53:05Z</updated>
    <published>2026-11-04T05:53:05Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/133"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-133"/>
    <summary type="text">A markdown table in its scroll box was still 100% wide (typography plugin), so a wide one shrank every column to its narrowest word: sentences wrapped word by word, rows got very tall, headers left gaps.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-132</id>
    <title>Make the gallery day-filter test independent of today&apos;s date</title>
    <updated>2026-11-04T05:09:28Z</updated>
    <published>2026-11-04T05:09:28Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/132"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-132"/>
    <summary type="text">In the first ten days of a month that day is in the previous month, and the calendar opens on the current month, so the check failed.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-125</id>
    <title>Let agents add, change and delete a repo&apos;s runs</title>
    <updated>2026-11-02T07:17:54Z</updated>
    <published>2026-11-02T07:17:54Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/125"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-125"/>
    <summary type="text">Agents can now configure a repo&apos;s runs themselves, so they can get a preview for a repo nobody set up without waiting on the human.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-126</id>
    <title>Tailnet entrance: read.env as Vite does, refuse untrusted origins in pnpm tailnet, guard // targets first</title>
    <updated>2026-11-02T07:15:54Z</updated>
    <published>2026-11-02T07:15:54Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/126"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-126"/>
    <summary type="text">Follow-ups to the tailnet entrance.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-130</id>
    <title>Make the Linux CI jobs pass: gh probe and repo request tests,.deb install test</title>
    <updated>2026-11-02T07:15:21Z</updated>
    <published>2026-11-02T07:15:21Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/130"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-130"/>
    <summary type="text">The check and desktop-linux jobs fail on Linux for every pull request built from dev, whatever the pull request changes. The product code was right in each case.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-127</id>
    <title>Pin workflow actions to commit SHAs and add Dependabot for actions</title>
    <updated>2026-11-02T05:37:50Z</updated>
    <published>2026-11-02T05:37:50Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/127"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-127"/>
    <summary type="text">Pin workflow actions to commit SHAs and add Dependabot for actions</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-124</id>
    <title>Put a remembered choice in the URL only once the move to its page has finished</title>
    <updated>2026-11-02T05:37:25Z</updated>
    <published>2026-11-02T05:37:25Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/124"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-124"/>
    <summary type="text">Pages that remember a choice in this browser (the PR queue&apos;s filter, the Ongoing features view, the Previews stage, the agents shell) put it in their URL with a replace as they mounted, while the router&apos;s push to the page was still loading.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-123</id>
    <title>Scroll wide markdown tables inside their own column</title>
    <updated>2026-11-02T05:36:38Z</updated>
    <published>2026-11-02T05:36:38Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/123"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-123"/>
    <summary type="text">A wide table in rendered markdown (instructions, posts, comments, summaries) pushed past its column and ran under the right sidebar.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-122</id>
    <title>Release: dev to main</title>
    <updated>2026-10-25T19:57:23Z</updated>
    <published>2026-10-25T19:57:23Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/122"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-122"/>
    <summary type="text">Releases dev into main.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-121</id>
    <title>Let agents ask for a repo and move their ticket onto one</title>
    <updated>2026-10-25T19:44:30Z</updated>
    <published>2026-10-25T19:44:30Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/121"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-121"/>
    <summary type="text">Agents can now ask for a repo to be added to their project, and can move a ticket onto another repo of its project.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-120</id>
    <title>Show, hide and reorder a project&apos;s pages, Overview cards and ticket sections from its settings</title>
    <updated>2026-10-25T19:17:21Z</updated>
    <published>2026-10-25T19:17:21Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/120"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-120"/>
    <summary type="text">A visual layout editor in a project&apos;s settings. The Layout section shows a small picture of the project&apos;s menu, its Overview cards and a ticket page with two columns.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-119</id>
    <title>Agent roles: orchestrators edit project instructions, workers get clear identities</title>
    <updated>2026-10-25T17:31:44Z</updated>
    <published>2026-10-25T17:31:44Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/119"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-119"/>
    <summary type="text">No agent route can raise a role. - Delegated workers identify themselves as / , using X-Agent-Name or the agentName argument on every MCP tool. A sub-identity is always a worker.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-118</id>
    <title>Runs: previews and background jobs per repo, and tickets that span several repos</title>
    <updated>2026-10-25T14:33:20Z</updated>
    <published>2026-10-25T14:33:20Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/118"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-118"/>
    <summary type="text">The board&apos;s one hard-coded managed preview becomes runs: long-running processes the board starts from a ticket&apos;s worktree. Tickets also stop being tied to one repo.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-117</id>
    <title>Drop the Hand-off post phase</title>
    <updated>2026-10-25T13:14:29Z</updated>
    <published>2026-10-25T13:14:29Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/117"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-117"/>
    <summary type="text">Drop the Hand-off post phase</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-116</id>
    <title>Prepare the repository to be made public</title>
    <updated>2026-10-25T10:06:07Z</updated>
    <published>2026-10-25T10:06:07Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/116"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-116"/>
    <summary type="text">Prepares the repository to be made public.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-115</id>
    <title>Tick the hand-off phases from git, GitHub and previews</title>
    <updated>2026-10-25T10:05:21Z</updated>
    <published>2026-10-25T10:05:21Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/115"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-115"/>
    <summary type="text">Tick the hand-off phases from git, GitHub and previews</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-114</id>
    <title>Work timeline: record agents&apos; spans, hand-offs, waits and heartbeats, and flag stalled tickets</title>
    <updated>2026-10-25T06:48:42Z</updated>
    <published>2026-10-25T06:48:42Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/114"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-114"/>
    <summary type="text">A work timeline per ticket, so it is visible what agents (and the sub-agents they start) are doing, what they wait on, and when a ticket has gone quiet.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-113</id>
    <title>Close tooltips on scroll and position them fixed</title>
    <updated>2026-10-25T02:29:41Z</updated>
    <published>2026-10-25T02:29:41Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/113"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-113"/>
    <summary type="text">Last, hover and Tab open the tooltip again. Against the old tooltip.tsx it fails.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-112</id>
    <title>Linux packages of the desktop app: AppImage,.deb,.rpm and pacman</title>
    <updated>2026-10-24T11:40:12Z</updated>
    <published>2026-10-24T11:40:12Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/112"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-112"/>
    <summary type="text">The desktop app now builds and runs on Linux as well as Windows: pnpm desktop:package on Linux x64 produces an AppImage, a .deb, an .rpm and a pacman package. Windows still builds the same NSIS installer.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-111</id>
    <title>Say why a JSON body was refused, with a hint for collapsed backslashes</title>
    <updated>2026-10-24T11:34:51Z</updated>
    <published>2026-10-24T11:34:51Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/111"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-111"/>
    <summary type="text">Adding a repo through the API with a Windows path answered a bare 400 body must be JSON.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-110</id>
    <title>PR queue: a second link to the same PR in one visit shows its card</title>
    <updated>2026-10-24T10:46:02Z</updated>
    <published>2026-10-24T10:46:02Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/110"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-110"/>
    <summary type="text">On the PR queue, a second link to the same PR in one visit now shows its card again. Before, following #pr- switched the stage and filter to show that PR.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-109</id>
    <title>Warn when git, gh, claude, node or pnpm are missing</title>
    <updated>2026-10-22T06:06:54Z</updated>
    <published>2026-10-22T06:06:54Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/109"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-109"/>
    <summary type="text">The board runs git, gh, claude (CLAUDE_BIN), node and pnpm. Until now a missing one only showed up as a feature failing quietly or with a raw spawn … ENOENT.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-108</id>
    <title>Let agents ask to archive finished tickets; the human confirms</title>
    <updated>2026-10-22T05:32:31Z</updated>
    <published>2026-10-22T05:32:31Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/108"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-108"/>
    <summary type="text">Agents could not archive tickets. Now they can ask: the human confirms, and only the human&apos;s answer archives.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-107</id>
    <title>Edit default phases and tag suggestions as lists in project settings</title>
    <updated>2026-10-22T05:31:04Z</updated>
    <published>2026-10-22T05:31:04Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/107"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-107"/>
    <summary type="text">Project settings&apos; Default phases and Tag suggestions were textareas (one item per line). They now use the list editor from the New ticket dialog&apos;s Initial tasks: bulleted rows, × to remove, an add input with a + button (&quot;Add a phase&quot; / &quot;Add a tag&quot;).</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-104</id>
    <title>Overview: Needs you and In progress share one height and scroll</title>
    <updated>2026-10-21T13:16:59Z</updated>
    <published>2026-10-21T13:16:59Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/104"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-104"/>
    <summary type="text">The Needs you and In progress cards on the Overview now have the same fixed height (28rem) on desktop and the same cap on a phone. Content that does not fit scrolls under the header, using the existing slim global scrollbar.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-105</id>
    <title>Roadmap: in-progress tickets and lanes as swimlane timelines</title>
    <updated>2026-10-21T12:55:40Z</updated>
    <published>2026-10-21T12:55:40Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/105"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-105"/>
    <summary type="text">A new project page, Roadmap (/projects/:id/roadmap, in the project nav), that shows every ticket being worked side by side as horizontal swimlanes: one row per top-level ticket, a thinner row under it for each of its lanes, and the tasks of each running left to right as a…</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-103</id>
    <title>Install the board as a desktop app with its own passkey sign-in</title>
    <updated>2026-10-21T05:43:56Z</updated>
    <published>2026-10-21T05:43:56Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/103"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-103"/>
    <summary type="text">Ships the board as an installable desktop program with its own sign-in, replacing passkey-gate.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-97</id>
    <title>Offer tag suggestions per project and filter the board by tag</title>
    <updated>2026-10-18T03:29:32Z</updated>
    <published>2026-10-18T03:29:32Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/97"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-97"/>
    <summary type="text">Each project now keeps a list of tag suggestions, Bug, UI, Implementation and Report by default. The tag fields offer them, together with the tags already used in the project, and the board can be filtered by tag.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-92</id>
    <title>Use the board from other devices over HTTPS on the tailnet</title>
    <updated>2026-10-18T03:03:37Z</updated>
    <published>2026-10-18T03:03:37Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/92"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-92"/>
    <summary type="text">Lets the board be used from other devices over HTTPS on a tailnet, through tailscale serve.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-98</id>
    <title>Add a project Gallery of every file on its tickets</title>
    <updated>2026-10-18T02:55:23Z</updated>
    <published>2026-10-18T02:55:23Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/98"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-98"/>
    <summary type="text">Adds a Gallery module to every project: one place to find a file again without remembering which ticket it was on.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-99</id>
    <title>Split a ticket&apos;s feed into Main and Agents tabs, with a living summary</title>
    <updated>2026-10-18T00:49:46Z</updated>
    <published>2026-10-18T00:49:46Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/99"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-99"/>
    <summary type="text">A ticket&apos;s feed now has two tabs. Main is for the human; Agents holds the agents&apos; working record. One living summary at the top of Main takes the place of the hand-off post.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-96</id>
    <title>Give every pull request in the queue its own ticket</title>
    <updated>2026-10-16T17:03:19Z</updated>
    <published>2026-10-16T17:03:19Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/96"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-96"/>
    <summary type="text">Give every pull request in the queue its own ticket</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-95</id>
    <title>Let agents delete landed local branches of closed tickets</title>
    <updated>2026-10-16T14:48:35Z</updated>
    <published>2026-10-16T14:48:35Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/95"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-95"/>
    <summary type="text">Agents may now delete the landed local branches of closed tickets (done, cancelled or archived). They get the same checks the Cleanup page applies to a human&apos;s delete. Removing worktrees, and deleting branches on origin, stay with the human, on the Cleanup page.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-94</id>
    <title>Give each ticket a review level and scale the review rounds by it</title>
    <updated>2026-10-16T05:47:35Z</updated>
    <published>2026-10-16T05:47:35Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/94"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-94"/>
    <summary type="text">Each ticket now carries a review level, low, mid or high. It is chosen when the ticket is created (New ticket dialog, REST, MCP) and can be changed on the ticket page.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-90</id>
    <title>Tag a task as blocked on the human, with what they must do</title>
    <updated>2026-10-14T08:43:46Z</updated>
    <published>2026-10-14T08:43:46Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/90"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-90"/>
    <summary type="text">When a step needs the human, an agent can tag that task blocked and keep working on the rest. Examples are a credential, a manual action, or a call only the human can make. The tag carries an optional reason that says what the human must do.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-89</id>
    <title>Cleanup: delete worked branches and worktrees, with safety checks</title>
    <updated>2026-10-14T08:38:37Z</updated>
    <published>2026-10-14T08:38:37Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/89"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-89"/>
    <summary type="text">Every item is checked again at delete time against the commit the person saw.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-66</id>
    <title>Nest subtasks under tasks, start tickets with default phases, and add Implementation to the hand-off</title>
    <updated>2026-10-14T07:57:54Z</updated>
    <published>2026-10-14T07:57:54Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/66"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-66"/>
    <summary type="text">A ticket&apos;s to-do list gets two levels, new tickets start with default phases, and the hand-off gets an Implementation item.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-51</id>
    <title>Show whether the review skills are current, with a diff per file, in ~/.claude or in each repo</title>
    <updated>2026-10-14T05:34:02Z</updated>
    <published>2026-10-14T05:34:02Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/51"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-51"/>
    <summary type="text">The Agents pages now show whether the copy you rely on matches what the server serves, and give the one line that updates it.</summary>
    <category term="change"/>
  </entry>
  <entry>
    <id>tag:crossboard.nervesscat.github.io,2026:changelog/pr-74</id>
    <title>Show every hover hint through one shadcn tooltip</title>
    <updated>2026-10-14T05:32:25Z</updated>
    <published>2026-10-14T05:32:25Z</published>
    <link rel="alternate" type="text/html" href="https://github.com/nervesscat/agent-board/pull/74"/>
    <link rel="related" type="text/html" href="https://crossboard.nervess.cat/changelog/#pr-74"/>
    <summary type="text">Every hover hint in the app now uses one shadcn tooltip instead of the browser&apos;s native title. These hints used to look different from one place to the next and never showed on keyboard focus.</summary>
    <category term="change"/>
  </entry>
</feed>
