All updates

August 2026

A capability change proposed by an agent now stops at a review screen before it touches anything. Removing a relationship takes saying so, an empty selection no longer means remove all, and a GitHub issue can arrive as a Work Item carrying a theme and a roadmap position. Stories and Sources took the full desktop. Theme of the month: Say what you mean.

In this edition

From Andy

First real working day back after two weeks off, and none of it went into the product. Compliance calendar, company paperwork, the things that have to happen before anything else can. The agents were building next to me the whole day.

Read more

By the evening there was an MCP server sitting on my private mailbox, one pull request, done. I have run an alias system for years, every shop and supplier gets a forwarding address named after them, so when one of them starts collecting spam I know immediately who sold it. It works. It also produced a 280 folder archive of a decade that I had never once sorted.

What I did not do is write the rules first. I opened the inbox, went through it with the agent one pass at a time, and corrected as it went.

That is roughly what August turned into. An agent that rewrites your capability map without asking is not helping, it is only faster than you at being wrong, and a capability map is exactly the kind of structure nobody re-reads afterwards. So the capability work landed somewhere else than I expected. The agent proposes, the change waits, you look at it, then it applies.

Not a loud month. I trust a machine to touch the map now, which I did not in July.

— Andy

A capability change waits for you

Capability editing got a complete review path this month. A proposed change renders as a preview before anything is written, and you approve or reject it inside Outcomet rather than in whatever produced it. Validation and conflict handling follow the same rules across every entry point, so an edit made by hand and an edit arriving as a proposal fail for the same reasons and in the same words.

Read more

Deleting a capability is recoverable. Undo restores a retired capability, and failed map links or failed proposal actions now report what actually went wrong instead of ending in silence. Reparenting without an explicit position preserves the existing sibling order, which sounds like a footnote until you have watched a map reshuffle itself because a drag did not specify where.

The graph side was built the same way. Canonical capability graph traversal and proposal-first capability change tools sit behind app-owned contracts and human approval, so an agent working the graph produces something to look at, not a write that already happened.

  • Preview a capability proposal, then approve or reject it natively
  • Consistent validation and conflict handling across capability edits
  • Delete Undo restores retired capabilities
  • Accurate feedback when a map link or a proposal action fails
  • Reparenting without an explicit position keeps existing sibling order
  • Graph traversal and proposal-first change tools gated behind app-owned contracts and human approval

Removing a link takes saying so

The smallest change of the month is the one worth reading twice. An empty selection is no longer treated as "remove all". It means nobody has decided yet, which is what an empty selection has always meant everywhere else.

Read more

Theme relationship changes now behave identically in the Outcomet interface and in approved Nova actions, and Nova can explicitly remove feedback and change relationships when that is what you asked for. Archiving a capability stopped stranding its old links. Stale theme and change links to an archived capability can be cleaned up, while the capability itself stays unavailable for new ones. Nova also reports the scoped theme-or-evidence error it actually hit, instead of claiming no feedback chunks matched and sending you off to look for evidence that was never the problem.

  • Theme relationship changes consistent across the interface and approved Nova actions
  • Explicit removal of feedback and change relationships through Nova
  • An empty selection is not an instruction to clear every link
  • Stale theme and change links to archived capabilities can be removed, archived capabilities stay closed to new links
  • Accurate scoped theme-or-evidence reporting, without the false no-matching-chunks claim

A GitHub issue can be a Work Item

July shipped the outbound leg, where a theme becomes a Work Item and exports to GitHub or Jira in one click. August added the return. A GitHub issue can be represented as a first-class Work Item and connected to Changes and Themes in Delivery, so something that started in a repo can carry a theme and a roadmap position without being retyped as a second record that immediately starts drifting from the first.

Read more

Work Items also stopped depending on where you looked at them. The Delivery graph now matches Theme Detail on Work Item relationships, including shared themes, direct theme links, readable relationship stacks, and independently sized branches. Relationship, navigation, and graph behavior agree across detail and timeline surfaces. Theme Detail's Work Item link control opens without flicker, and Delivery detail keeps a consistent inner gutter with scrollbars flush to the drawer edge.

Stories and Sources get the whole desktop

Desktop previews no longer arrive from the edge. Story and content-source previews open in a resizable in-page detail panel, while smaller screens keep the drawer, and the two widths are remembered separately so setting up one layout does not overwrite the other. Escape closes an inline Stories preview and hands focus back to the list or board item you opened it from.

Read more

Around that, the surfaces lined up. The Stories canvas reaches the viewport edges instead of stopping at an outer margin. Stories filters apply to the catalog and the in-page detail at once, so a filtered list and the item open next to it no longer disagree. Sources search and filters moved into the same full-width row above the Kanban and detail split, and Source Kanban cards were rebuilt to match the quieter, text-led design Feedback and Themes already use.

  • Resizable in-page detail on desktop, drawer retained on smaller screens, widths remembered independently
  • Escape closes a desktop inline Stories preview and returns focus to its trigger
  • Stories canvas backgrounds reach the viewport edges
  • Stories filters span the catalog and the in-page detail
  • Sources search and filters share the catalog's full-width row above the Kanban and detail split
  • Source Kanban cards match the text-led Feedback and Theme card design
  • Fixed 24 px content margin by default in Feedback Inbox and Themes, with responsive 3% spacing available in Feedback Style settings
  • Stories catalog scrollbar uses part of the existing 24 px right gutter instead of widening it

Connections that survive a restart

Connecting an MCP client used to mean a hand-supplied token and a browser login every hour. Codex setup now covers authenticating to the hosted Outcomet MCP without manually supplied Bearer tokens or Supabase credentials, and OAuth-capable clients such as Codex can dynamically register and connect through the ordinary Outcomet browser approval flow. Troubleshooting covers the case where the Authenticate button does not open that flow at all.

Read more

After that, the connection is supposed to stay boring. Rotating refresh tokens carry a client past the one-hour access token expiry without another login. Approved access renews transparently across server restarts until the fixed refresh-grant expiry, and a compatible client renews silently after an MCP restart for as long as its durable seven-day refresh grant holds. Signed access tokens are stateless and restart-safe, so a deployment no longer disconnects everyone, and they fail closed unless the dedicated signing secret is configured. The app handoff secret can no longer mint or verify access tokens.

Refresh retries got explicit bounds rather than hopeful ones. A refresh grant allows replay for 60 seconds with up to five concurrent replays, capacity resets after the active window so a later burst is not punished for an earlier one, and a lost refresh response recovers inside that grace by consuming one replay slot. Deterministic idempotent token re-serving is not part of the contract and is not promised.

Transport says what it accepts. Streamable HTTP negotiates on POST /mcp, GET /mcp returns 405 Method Not Allowed with Allow: POST, DELETE by default, DELETE /mcp returns a stateless 204 No Content acknowledgement, and legacy SSE stays on GET /sse.

What connected agents can reach, and what stays gated

The MCP catalog moved toward resource-first shapes, and the new review tooling was deliberately built to arrive switched off.

Read more

A default-off resource-first theme audit surface adds paginated feedback, evidence, and relationship traversal, and a default-off theme verification proposal tool creates a native review item instead of mutating canonical product state directly. work_item_search and work_item_get shipped disabled by default and verified against linked staging. Story search, detail, and source tools landed together with five typed planning proposal tools and an app-owned human review inbox, in linked staging.

Production enablement for that expansion is still gated follow-up. Nothing in this section is on by default, and the note is worth reading as a limit rather than as a soft launch.

By the numbers

  • 4 release weeks
  • 13 shipping days
  • 8 marquee modules touched: Delivery, Stories, Sources, Feedback, Themes, Capabilities, Settings, Agent
  • 1 approval gate: no agent-proposed capability change applies without a person looking at it first
  • 1 new connection path: OAuth-capable MCP clients register themselves through the normal browser approval flow
  • 7-day refresh grant, 60-second replay window, 5 concurrent replays

Also shipped

  • Canonical MCP naming finished: canonical aliases route through shared handlers, legacy names stayed as compatibility aliases through the ADR 0003 overlap window, and the duplicate legacy names were then removed in favor of the resource-first catalog.
  • Contact and company write discovery corrected: discovery now matches the deployed RPC surface, and contact updates use the payload key id.
  • Health check tells enablement from contract: /health distinguishes enabled and configured write tools from write RPC contracts through a non-mutating stale-while-revalidate check.
  • External-agent product context: resource-first theme references, feedback evidence, and relationship-contract references were added to the external-agent context, gated off until coordinated deployment.

Looking ahead

July expected August to push on what happens after the handoff and close the loop back from shipped work to the theme that asked for it. The GitHub issue arriving as a Work Item is that return leg, and it works. What was not planned is how much of the month went into deciding what an agent is allowed to do on its own, which turned out to be the more interesting question. The answer Outcomet settled on is that it proposes and you decide.

Read more

The MCP work continues toward parity. Whatever an agent can do inside Outcomet, a connected agent should be able to do through MCP, and that mostly means finishing the tools that are already half there.

The bigger change is in feedback, where Problems become their own entity. Today the step from an incoming piece of feedback to a clustered theme happens in one jump, and the thing actually being clustered is a problem that nobody has named yet. Naming it explicitly takes the guesswork out of the analysis, and it shortens the line into Discovery, because a problem is what Discovery wants to start from anyway.

Alongside that, smaller work on Contacts, Stories, and Campaigns. Nothing structural. Just the things that only become obvious once you work in a module every day.

If you want a walkthrough of the capability review path, GitHub issues as Work Items, or connecting an MCP client, reply here and I'll set up a quick demo.

See how Outcomet works.

Follow a customer problem from feedback to a product decision.

See how it works