Changelog
Every merged Woodstock change, summarized by Bangkok day.
Every merged pull request, newest first. Dates follow Bangkok time (GMT+7), with a new day starting at midnight. Summaries favor product language where the change affects the product and stay developer-facing where it does not.
This page is public, so entries omit credentials, customer data, private artifacts, exploit details, and operational access instructions. For the curated product story, see What's New.
October 19, 2026
8 PRs merged.
Give each agent a stable animated face
Restore readable mention badges and consistent reaction hovers
Send brief contributor handovers through Woodstock
October 18, 2026
1 PR merged.
October 17, 2026
2 PRs merged.
React from message actions with your most frequent emoji
Proposed channel threads with an interactive desktop and mobile wireframe
October 16, 2026
32 PRs merged.
The chat composer returns to the bottom after opening a notification
API images install cleanly so main deployments run again
Gave mobile side-panel rows and sections more breathing room
Planned the measured path to self-improving agents
Recorded the free-tier CI, two-runner and flaky-test decisions
Routed agent edits and tool grants through one authenticated API transaction
Kept CI within the hosted free tier by moving previews and skipping deploys
Run pipeline checks concurrently with the same local gate list
Keep main deployments ordered across two runners
Start Vee’s sessions directly on the current request
Skip unchanged PR story and documentation jobs after a green run
October 15, 2026
20 PRs merged.
Choose Light, Dark or System appearance
Navigate with floating side panels and consistent mobile controls
Resize desktop sidebar lists and keep their width on this device
Page titles and breadcrumbs show immediately while notes load
Decided the operation registry and permissions ladder
Repository MCP sign-in refuses configuration that leaks across projects
Stabilized delayed tooltip checks in the browser suite
Repaired a duplicate decision-record number that blocked deployment
October 14, 2026
24 PRs merged.
Every agent can read a channel’s saved App display
Purple text stays readable in dark mode without changing button fills
Planned living replies, steering, stopping and continuing long agent work
Decision: clarify vague continuation before using workspace tools
Completed the implementation spec for workspace Admin and Member roles
Plan — manage roles and protect the How we work setting
Planned shared workspace roles and later access boundaries
Evals stop unless Codex Terra is available or another model is explicit
Eval flags and local-stack selection are covered by focused tests
Eval runners target cases quickly and reuse a healthy local stack
Contributors can reauthenticate read-only MCP connections safely
Plane release labels stay manual across every workflow
October 13, 2026
7 PRs merged.
Cloud eval sessions use Codex without a per-session sign-in
Evals estimate cost and stop before exceeding the test budget
Filing and action evals run several attempts at once
October 12, 2026
19 PRs merged.
Routine replies better avoid posting a second recap message
Explored LINE group answers, follow-ups and listening in a working prototype
Researched team memory, self-improvement and reusable architectures
Feedback review now covers every workspace with ratings
Root Deno scripts resolve the backend's npm dependencies
Documented cloud-session local-stack prerequisites
Session setup notes load only where they apply
October 11, 2026
8 PRs merged.
Newest pages appear first in every level of the page tree
Feedback review tracks every rating and its product action
Changelog: October 10, with a September 24 correction
October 10, 2026
4 PRs merged.
Changelog: October 8–9, with late merges reconciled
October 9, 2026
23 PRs merged.
Decision: rely less on the local Supabase stack
Small backend changes run against a dedicated hosted dev environment
October 8, 2026
26 PRs merged.
Good response and Bad response move into message actions
Simplify message actions and group mobile feedback
Compact desktop composer
Agent replies no longer show an unused Sources pill
Decision: Knowledge v1 page tree masterplan
Workflow: normalize decision-log thinking
Evals run on the Codex plan under Woodstock's own loop
Workflow: one owner queue and fewer process steps
Changelog: October 8 refresh
Workflow: keep safe work moving
Changelog: October 1–8 with concise PR titles
October 7, 2026
12 PRs merged.
Docs: Agent-managed knowledge pages — Product proposal; no app behavior shipped.
Decision: self-improving team brain — group 1 plan and contract amendments
Decision: harness completeness — upgrade the runtime or adopt a mature harness
October 6, 2026
19 PRs merged.
Docs: Activity proposal — Vee's answers applied
Docs: 0250 GTM wedge — one sellable use case for Thai SMEs
Decision: Connector permission structure — proposal (0224 R27–R30)
docs: record reimbursement and reusable connector direction
Tooling: main checkout auto-sync
Docs: PLAT write-cutover run record
Tooling: dev-stack reaps finished work and shows each slot's PR
Workflow: /review always picks its depth before the engine
October 5, 2026
29 PRs merged.
Deleted messages show around opened originals; phone details dismiss like a sheet
Activity review follow-ups — Keeps raw reply JSON out of chat, removes duplicate Activity entries, and preserves loaded results during refresh.
Chat: Keep messages and composer aligned with the mobile keyboard
Docs: Activity proposal — everything an agent finished
Decision: Connector tools plan after v1
Workflow: parallel prep sanity passes
October 2, 2026
18 PRs merged.
Sign in: Keep the code screen after switching to email
Chat: Message edit no longer shows an emoji button
Decision: read messages across time and channels
Decision: agent experience (AX) and reading tools that name their next step
Workflow: v1 label opt-in for Plane tasks
Workflow: Review depth follows risk tier
Changelog: September 25 – October 1
October 1, 2026
2 PRs merged.
On phones, the message box now sits higher above the bottom edge while the keyboard is closed, over a soft fade that hides messages scrolling beneath it.
Planned a round button that returns you to the latest messages in one tap while you read older ones, keeping your place as new messages and agent progress arrive.
September 30, 2026
20 PRs merged.
Ask an agent about a link a teammate shared earlier in the channel and it now reads the page before answering, up to four links at once, without saving them; it opens only links a person wrote.
A YouTube channel link now reads as the channel's latest videos, each with its title, link and publish time, and an agent can open any of those videos in the same answer instead of saying it found no article.
A message that mentions you or replies to one of yours is now highlighted in the feed, including its quote, so you can spot what needs your attention; other messages look as before.
On phones, the message box starts as a compact pill and expands as you type, previews attachments as square thumbnails you can tap to view full screen, and keeps the keyboard up after you send.
Routines now run on their schedule: at each set time the routine's agent posts its result in the routine's channel, aware of its last five runs, and every run is recorded; there is no screen to create one yet.
Reading a channel on one device or tab now clears its unread dot and @ badge on your others within seconds, and a channel left open in a background tab no longer counts as read.
Creating an outside agent in a workspace other than your first one now gives it an API key and setup prompt, and an outside agent's settings gain a Create API key button to mint a fresh one.
Swiping right on a phone opens the channel drawer again, and scrolling past the last message no longer drags the whole screen and its header along with it.
Wrote the product stories for a channel details drawer with Activity, Routines, and Members on desktop and phone, plus a down-arrow button that jumps back to the latest messages.
Planned a channel details panel beside chat on desktop, with Activity, Routines, and Members tabs marked coming soon and the open panel and chosen tab remembered on that device.
Planned channel details on phones: opened from the ellipsis menu, sliding in from the right, closed with Back, and keeping your tab and chat after a reload.
Planned giving agents a YouTube video's captions from its link, whether dropped in a channel or read by a routine, so they can say what the video says.
Decided that members can ask an agent to act in a connected service, starting with filing a Plane work item, on a shared foundation that makes each next connector cheap to add.
Planned filing a Plane work item from chat, such as "@marcie add this to BUG" with a screenshot attached, where a threaded "yes" then adds it to the project's current cycle.
Made it a core rule that when something must not happen, Woodstock builds or strengthens a safety layer every agent passes through, never a rule for one agent, tool, or case.
Settled the next routines steps: routines take repeating schedules only, post only in public channels, may name any agent in the workspace, and appear in the existing routines preview with editing controls marked coming soon.
Planned setting up, changing, pausing, running, or deleting a routine by asking an agent in chat, with one tap on the approval card to make it happen.
Planned a Routines screen showing the team's real routines and what each recent run did, with completed runs opening their post and failed or refused runs saying why.
Script tests now remove every temporary directory they create, pass or fail, after one run of four test files was found leaving 51 behind.
Suggested next builds now name the Plane ID with the rung, as in /build CONN-7 connectors/tools@v1, and /build accepts either reference on its own.
September 29, 2026
10 PRs merged.
You can now edit or delete a message you sent; teammates see the change live, and deleting a message also withdraws its files from chat and from agents.
Opening a page now shows every page that links to it with the sentence holding the link, while the side panel groups its other connections under Related.
Messages posted while your phone was locked or the tab was in the background now appear on their own, in order, a few seconds after Woodstock reconnects, instead of only after you reopen the channel.
Reopening the app no longer flashes a false "Offline" banner: Offline now shows only when the device has no network, and a grey "Reconnecting…" appears only if the live connection stays down for more than two seconds.
Refined message edit and delete feedback: the edited mark sits right after the text, deleting asks in a dialog that warns about attached files, and the deleted placeholder is italic.
Planned routines starting with a daily YouTube digest, where an agent wakes each morning, reads new videos from followed channels, and posts a summary shaped by the member's own instruction.
Recorded the rulings for the daily digest's building blocks, covering which links an agent may read, how YouTube channels and captions are read, and how much of its recent runs a routine sees.
Planned reading a YouTube channel link as that channel's newest videos, with title, link, and publish time, so the daily digest knows what is new.
Planned letting an agent read several web links at once without saving them, while a link a member drops is still saved as before.
Pull request titles for bug fixes and user-visible changes now state what happens for the person, such as "Show Reconnecting… instead of Offline when you reopen the app".
September 28, 2026
14 PRs merged.
You can ask an agent to rename a public channel or change or clear its description or AI instructions; the approval card shows the exact new text, and approval is refused if a teammate changed that same setting or archived the channel in the meantime.
Tapping an image in chat opens it in a focused viewer without leaving the conversation: full-screen with save to Photos on a phone, and a dark canvas with click-to-zoom and download on desktop.
The red New line and the "New messages" button now only point at other people's messages, and opening or reloading a channel stays on the latest message while images finish loading.
Switching channels now lands on the new channel in one still step, without a brief "No messages yet" flash, old messages fading in, or the feed jumping when reactions appear.
A message you send now appears once and stays put: a small clock beside the bubble shows it is sending, and nothing flashes or shifts when it is confirmed.
When you say "this channel" or "here", an agent now acts on the channel you are actually in, instead of one mentioned earlier in the conversation.
Photos in chat now take their final size as soon as their message appears, so the feed no longer jumps while they load and a just-sent photo no longer flashes back to a file card.
Agents now see the files dropped earlier in a channel and open up to four at once when asked, without filing them; see Agents.
Proposed editing and deleting your own messages, including their attached files, with every screen and edge case laid out in the Edit and delete your message proposal.
Changed the phone design for editing a message to reuse the normal message box, with an "Editing message" label, a cancel control, and Send to save.
Running the local CI checks with pnpm gates no longer deletes files that haven't been added
to git, because it now skips CI's clean-install setup step.
Set one naming style for pull request and Plane task titles and put it where every agent looks, so titles read the same whether or not a workflow skill was used.
Moved the agent's file-reading tool into its own module and added tests for its edge cases, including refusing files stored outside the current channel.
The local development stack now opens already signed in as its test account, while normal builds keep the email-code sign-in.
September 27, 2026
5 PRs merged.
You can ask an agent which agent should file which kinds of drops in a public channel, approve one sentence that quotes the instructions in full, and the channel then files exactly as if you had saved it in Channel settings (how it works).
The agent now drafts a channel's filing instructions from what you want the channel for, so you don't have to spell out every word, and its reply after you decide no longer reports an approved filing change as "not created".
Long-pressing a message on an iPhone no longer sometimes turns the whole screen blue with a "Copy / Look Up" bubble, and a slight wobble of your finger still counts as a long-press.
After a long-press opens a message's or channel's actions, a quick tap on the dark area now closes them straight away instead of often doing nothing.
Added an eval case confirming that asking an agent to turn a channel's filing on with "no instructions needed" saves no instructions (3 of 3 runs), and noted it on the docs page.
September 26, 2026
3 PRs merged.
On a phone you can swipe right anywhere to open the channel sidebar and swipe left to close it, and after Send the box clears at once with the keyboard still up, while the keyboard's Enter key now adds a new line.
The "Turn on notifications" banner is hidden on desktop browsers for now, because enabling it there didn't work and it came back on every visit; phones still show it.
Decided that a second workspace receives merged pull requests from the same GitHub organization by adding a channel stream, not a second webhook, so one merge appears in every covering channel at once.
September 25, 2026
1 PR merged.
Backfilled this changelog for September 18–24, recounted September 17's late merges, and added screenshots to three daily highlights.
September 24, 2026
26 PRs merged.
Emoji reactions are now saved and appear live for every teammate who can see the message, with counts, the names of who reacted, and your own selection kept after reopening Chat.
Added an emoji picker for reacting to chat messages from the desktop message actions or the mobile long-press sheet; at this stage reactions stayed on your own screen only.
When a pull request merges in a connected GitHub organization, a small update from GitHub now appears in the channel set up for it and lights the unread dot, without waking an agent or sending a push.
You can ask an agent which channels and agents the workspace has, and it looks them up, including what each public channel captures, instead of guessing.
When an agent asks before changing the workspace, the approval card now reads as one plain sentence, such as "Librarian wants to create #reimbursements, a public channel everyone in the workspace can see.", above two buttons.
A message you haven't finished now stays with the channel or agent DM where you started it, across switching channels, other tabs, and reloads, and a pencil in the channel list shows where a draft is waiting.
Documented the design system's corner radius, elevation, borders and focus, spacing, and icons, and made floating panels and close buttons consistent across the app.
Planned keeping an unsent draft with the channel or DM it was started in, with a pencil in the channel list marking where one is waiting.
Decided that agents change channels through two tools, one for a channel's details and one for what it captures, set their build order, and mapped how an agent action travels from request to approved change.
Settled the approval card's wording, including keeping "Not now" and "Only Vee can approve this.", and showed that refusing a change when the channel moved in the meantime needs no new mechanism.
Planned how Woodstock receives updates from connected services and shows them in a chosen channel, starting with GitHub and Plane.
Planned showing merged GitHub pull requests as channel updates without waking an agent.
Planned shared message reactions that every teammate sees live through the existing desktop and mobile controls.
Moved setting what a channel captures ahead of renaming in the channel-actions order, and re-prepared the one-sentence approval card with "Only you can approve this." for the requester.
Made it a core rule that the app, agent tools, the CLI, and MCP all call the same operation and get the same answer, and planned a channel capture view.
Planned letting a member tell an agent what a channel files and approve it once, refusing the change if a teammate edited the channel's capture in the meantime.
Updated the messaging contract so reactions are no longer out of scope, matching the shared reactions that shipped the same day.
Decided that channel actions share their rules and writes across every door while each keeps its own response shape, and parked the separate capture view.
Added a /masterplan workflow for planning a group of related work items before preparing each one, and renamed /work to /build.
Each piece of work now names the smallest proof that covers it (tests, an eval, a quick browser check, or the full loop) when it is prepared.
The end-to-end verifier now starts in about 70 seconds instead of over seven minutes, after fixing a local port check that hung and an app port setting that was ignored.
Verification checks now run as named steps over stable, invisible test handles, taking one sample check from 25 minutes to 2.5.
Added a standalone experiment page comparing TypeSafe's jev-1.13 decision model with DeepSeek on picking out the entities a dropped message should file.
Code review now runs its reviewers on pinned model tiers with a shared, cached set of instructions to cut review token cost.
Added research notes on how HQ by Indigo's agent harness, modules, cloud sync, and hosted agents are built.
Moved code review's merge, report, and validation steps onto lean dedicated agents, cutting their token cost by about 29%.
September 23, 2026
12 PRs merged.
Asking an agent for several channels in one message now shows a single card that creates them all with one Approve all tap, or none if any fails.
Each channel now has its own address, so reloading, reopening, sharing the link, pressing Back, or tapping a notification keeps you on the channel you were viewing.
Agents now describe approval cards by their real state—waiting, created, or not created—instead of calling channels ready before anyone approved them.
After you approve a card, the agent's follow-up reply now arrives in seconds instead of sitting behind a typing bubble for up to a minute and a half.
Approving a card no longer adds a duplicate "approved" line below it; the card flips in place and the agent's reply answers it directly.
The approval card's Approve button is readable again, and your avatar no longer changes colour after you approve.
Planned grouping repeated requests for the same action into one approval card, with the agent's permission rechecked when you approve.
Approval is now a per-tool setting shared by the agent and the approve button; creating a channel still asks for approval, so nothing changes for members.
Every message an agent posts now carries its own duplicate-guard key instead of relying on one message per run—groundwork for one agent run posting several messages.
Retired the old page-rename database function now that renaming goes through the API tier.
Agent run records now name the AI provider that served each model request, so a behaviour change mid-run can be traced to its source.
Kept the batch-approval research and its test sandbox on main as reference for later approval work.
September 22, 2026
13 PRs merged.
An agent's clarifying question now arrives as its own message card, separate from its reply, and answering the card wakes the same agent to finish the job.
Added a preview of workspace routines—create a recurring agent task, pick its schedule, agent and posting channel, run it by hand, and browse its run history—not yet connected to a scheduler.
Simplified the app's colors into a documented set of semantic roles and standardized its type sizes, weights, and heading hierarchy.
Planned making the web address remember the open channel, so reloading, reopening, or tapping a notification keeps you in that channel instead of jumping to the first one.
Planned letting agents set up a capture channel, manage existing channels, and organize channel sections, with every change shown on one approval card of ordered steps that apply all together or not at all.
Decided to give each agent message its own duplicate-protection key so one agent run can later post several messages, starting with laying the key.
Planned a per-message key that keeps a retried agent message from posting twice, the first step toward one run posting many messages.
Planned removing the old rename database function now that renaming runs through the API tier.
Each agent run now records the instructions, model, tools, and code version that shaped its response, so feedback on an answer can be traced to what produced it.
Renaming a page now goes through the API tier using the same writer as agent renames; the Rename screen and page history are unchanged.
Added a read-only team workflow for reviewing thumbs-up and thumbs-down feedback on agent answers in context and choosing which cases to turn into evaluations.
Clarified that a prepared task counts as ready even while its dependencies are pending, and retired two unused task-tracker labels.
Retired the "Human" task label; who owns a step is now shown by its assignee and dependencies.
September 21, 2026
8 PRs merged.
Public-channel push notifications now go only to people who are @mentioned or whose message was replied to, while DMs, private channels, and the daily brief notify as before.
Planned recording, for each agent reply, which instructions, model, and tools shaped it, so feedback on a response can be traced to its exact setup without slowing the reply.
Planned moving page renames onto the API tier with behavior unchanged, and ruled that people and agents keep their current rename history rules.
The app can now only read channels directly, with every channel change going through the API tier; opening a DM, renaming, and archiving work exactly as before.
Added tests that fail if any of the three database safeguards on channels—locked privacy, DMs kept private, and sections staying in their own workspace—is ever removed.
The deploy pipeline now flags a merged change that never reached production, instead of letting a later documentation-only merge pass green.
The missed-deploy check no longer raises a false alarm while a deploy is still in progress or when nothing is waiting to ship.
The filing evaluation now keeps its results file when given a relative output path, instead of writing it to the wrong folder.
September 18, 2026
12 PRs merged.
When an agent hits a genuinely ambiguous choice, it now asks with a question card of tappable options, and the same agent resumes with your answer instead of guessing or stalling.
Members of more than one workspace now work in one at a time, switching from the top-left of the sidebar, with channels, agents, and sections showing only the active workspace.
A page's history now lists the newest change at the top, with "Show earlier changes" moved below the list.
Knowledge views, the mention picker, and agent and connector settings now show only the active workspace, instead of mixing in your other workspaces' people and settings.
Planned letting an agent ask a question with tappable choices and resume its work with your answer.
Decided that everything on screen is scoped to one active workspace, with each workspace fully isolated from the others.
Planned one active, switchable workspace so the team can run a real workspace beside the test one.
Planned sending a phone notification only when you are addressed—an @mention, a reply to your message, or a DM—instead of for every message in a channel.
Updated the agent contract so shared conventions every agent follows live in one global layer, with knowledge management as its first, provisional entry.
Corrected comments, tests, and the filing docs page so they describe the shared filing instruction accurately; agent behavior is unchanged.
Renamed the per-tool filing instructions and turned the global conventions into a list, so a new convention is one entry; agent prompts are unchanged.
The build workflow now fetches the latest main before reading a spec, so it never builds from a stale copy.
September 17, 2026
9 PRs merged.
You can now ask an agent to create a channel: it posts an approval card, and the channel is created only after you tap Approve.
Every agent now follows a shared knowledge-keeping convention, so one drop about a company, its people, and its documents files a page for each subject rather than only the main one.
A single drop about several things now files a separate page for each in the same turn, instead of filing one and asking you to say the word for the rest.
The agent now reads a dropped image when the same message also carries a link, fixing a case where it still read only the link.
Planned the last step of moving channel writes to the API tier: removing the app's direct permission to edit or delete channels, with no change to what members see.
Updated the work cursor after the channel-edits route was confirmed live, splitting the remaining permission cleanup into its own item.
Recorded that the repository-owned code-review workflow runs correctly with the external plugin disabled, and queued that plugin's uninstall.
Backfilled this changelog for September 12–17 and added the Design category.
Recorded the multi-page filing ruling and moved the work cursor to its next step.
September 16, 2026
16 PRs merged.
Correcting a filing by replying in the same chat is now confirmed end to end and documented for members.
A message that drops several inputs at once—such as an image and a link—now has each input read, instead of one being skipped.
Long-pressing a chat message to open its actions no longer sweeps a text-selection highlight across the page on mobile.
Chat image attachments now keep their natural aspect ratio instead of stretching to the full message width.
Added approval, outcome, interrupted-result, and input card previews to the agent-actions proposal docs.
Designed agents taking named Woodstock actions on request behind a human approval card, starting with creating a channel.
Planned removing the per-source filing cap so one drop files every page it is about.
Planned routing every channel write—opening a DM, renaming, editing instructions, archiving—through the API tier, then revoking the client's direct write access.
Opening an agent DM, renaming, editing instructions, and archiving a channel now go through the API tier; the screens are unchanged.
Creating a channel now goes through the API tier, and picking a section places the channel in one step—removing the old "created, but could not be added to the section" notice.
Retired the old create-channel database function now that the API tier owns the create path.
Consolidated the repository's workflow skills: removed an unused vendored skill corpus and made the code-review skill repository-owned.
The end-to-end verifier now starts the app pointed at the local API instead of the hosted one.
Linked the agent-actions spec to its tracker item and marked the create-channel groundwork ready for implementation.
Reformatted a documentation-site component to restore the main build.
Updated the work cursor after the channel-edits route change merged.
September 15, 2026
8 PRs merged.
You can continue shared work by replying to an agent with a short answer; it wakes the same agent, restores the conversation, and finishes the task without a new mention.
A page's History now names the agent—and the key it acted under—behind a change made through the bridge, where it used to read only "An agent."
You can now rename a meeting page like any other page, and its links and identity survive the rename.
Added the agent workspace-actions catalog, grouped by use case with one concrete action per row.
Opened the ordered ladder to retire the client's direct database functions into the API tier.
Planned moving channel creation from a database function to the API tier.
Swept every skill and working doc to point agents at Plane now that Linear is frozen.
Turned off the automatic cross-model review peer, keeping the in-process adversarial reviewer.
September 14, 2026
7 PRs merged.
Defined agent workspace actions—agents taking named actions on a member's behalf—as a new product area.
Mapped the Scheduled Routines creation, management, and deletion flows in the Design Journal.
Planned renaming any page, meetings included, while preserving each page's identity.
Planned having page History name the agent and key behind a change made through the bridge.
Planned shared working context so an agent can continue a task from a reply without repeating the exchange.
Made code review optional for non-backend changes, keeping it required for backend behavior and owner-held for security boundaries.
Corrected the tracker workflow so a prep merge leaves the implementation task in Todo instead of marking it done.
September 12, 2026
4 PRs merged.
Defined Scheduled Routines so members can configure, pause, run, and review recurring agent work that posts its result to a chosen channel.
Backfilled the public changelog with September 11–12 entries and reconciled September 10's late merges.
The changelog workflow now runs the documentation-integrity check before publishing.
Credited Vee for the Scheduled Routines design and added attribution checks to the decision-log workflow.
September 11, 2026
2 PRs merged.
Parked a per-job sandbox proposal behind a measured-need threshold, with the runtime owning compute and workspace records retaining the durable outcome.
Research compared xAI's mention bot and cloud teammate harness, separating reusable patterns from tenancy and governance risks.
September 10, 2026
11 PRs merged.
Product and design can now browse every merged change in the public daily changelog, grouped by Bangkok date.
People and permitted agents can inspect each filing attempt, its recorded explanation, source, actions, and exact saved revision—even when the final reply fails.
Messages that select an agent both directly and through ambient capture now produce one attributed response instead of duplicate turns.
App deployment now fails visibly when its upload fails, preventing a stale frontend from being reported as live.
Reviews now stop visibly when the configured review engine is unavailable.
Production API images now include the root install files required by pnpm lifecycle scripts.
Designers can review 64 sourced wireframe states across eight app journeys in the local Design Studio, including success, empty, error, permission, and incomplete paths.
Planned one attributed agent response per message while preserving whole-channel capture overrides.
Scheduled the remaining filing and history work across Cycle 36 and Cycle 37.
Filing evaluations now preserve every attempt and compare baseline and candidate instructions in one saved report.
Woodstock development sessions now prioritize the repository's own preparation, work, and review workflows.
September 9, 2026
13 PRs merged.
Every page now shows a readable history of who changed what, with before-and-after details and links back to the source.
Chat-sourced history entries now name their origin without offering a broken link.
Each worktree now keeps its own session objective and replay counter.
Prepared the filing inspector around authorized access to sources, attempts, outcomes, explanations, and saved revisions.
Measured which filing evidence survives successful writes followed by failed responses.
Defined durable agent work, derived views, and assembled working context as separate layers.
Locked the page-history format to one plain line per change, with details behind a tap.
Filing behavior can now be verified end to end with one command.
The filing evaluation runner now covers four behavior cases across repeated trials and keeps known gaps visible.
Filing evaluations can capture a real run and render its before-and-after evidence locally.
Worktrees now share pnpm's package store while keeping their dependency links isolated.
Agents can work in the correct checkout without moving the Codex app attachment.
Developer docs now use semantic line breaks, making prose changes easier to review.
September 8, 2026
21 PRs merged.
Snoopy now asks when a filing destination is ambiguous, skips information already saved, and keeps short quotes to one useful line.
Information filed from a drop now cites the correct attachment or accompanying message.
The Woodstock landing page again shows a topic-lit graph of the workspace's relationships.
Running the full development gates no longer deletes local operator environment files.
Browser-story CI now reuses an installed Chrome before attempting a large download.
Codex and Claude sessions now follow one worktree attachment and setup flow.
Fresh worktrees now install locked dependencies before starting the app or end-to-end tests.
Prepared page History as one readable line per change with details available on open.
Recorded the shared direction for conversation follow-ups, filing decisions, and corrections.
Prepared correct source attribution across attachments, messages, and multi-page filing.
Prepared safer filing behavior for ambiguous, repeated, and short quoted information.
Prepared a dashboard for reviewing filing acceptance evidence and instruction comparisons.
Decided that every page, including meeting pages, can be renamed.
Recorded filing v1.4 as shipped with its remaining human check explicitly accepted.
Saved filing experiments now open in a local dashboard with outcomes and advisory judgments.
The agent working indicator's final failure-state evidence was observed and recorded as shipped.
Plane tasks gained a shorter, example-first format for product and human-review work.
Filing tests gained four reusable regression cases with reproducible seed worlds.
Development skills now call out the moments that benefit from stronger-model advice.
Durable lessons from the superseded filing-correction spike were preserved without its stale plan.
The agents roadmap now distinguishes shipped work, reserved work, and one remaining evidence task.
September 7, 2026
6 PRs merged.
Named documents on company and project pages now link directly to their original source.
Woodstock's product vision now has a dedicated public landing site.
PR asset uploads now handle empty environment values without consuming the following line.
The conductor pre-commit hook now judges only staged work that the current checkout can repair.
Decisions now live in tiered logs that record whether a human wrote, answered, or approved them.
The unused Inngest executor was removed, leaving one agent execution path to maintain.
September 5, 2026
4 PRs merged.
Page references now render as understated links in both documents and messages.
End-to-end agent checks now use the shipped model unless the run explicitly requests another.
Prepared source-opening links for named documents on company and project pages.
Local development stacks now show their age and automatically reap stale unpinned instances.
September 4, 2026
11 PRs merged.
Snoopy can file a shared-channel drop onto the right pages and trace every saved line to its source.
Channel settings now let members choose an agent and handling instructions for automatic capture.
Filing was enabled for Snoopy, while receipt capture was assigned to Librarian.
Shared channel sidebars now support named, emoji-labelled, collapsible sections.
Pressing Enter sends a chat message again after using an agent or page mention.
Source redirects can no longer swallow a workspace-access refusal as a URL parsing error.
Prepared the removal of the unused durable executor while preserving current agent replies.
CI and deployment jobs now use independently switchable local and cloud runner lanes.
CI now reuses an unchanged dependency installation instead of rebuilding it for every job.
Runner updates are now gated and a wedged self-hosted runner is easier to diagnose.
Every Plane project now has a QA state for merged work awaiting human review.
September 2, 2026
9 PRs merged.
The new What's New page gives product releases a curated home separate from the complete changelog.
Channel capture rules can now match a drop by kind, so links, images, PDFs, and Markdown can be handled differently.
The Woodstock meeting record now shows the correct date.
Kind-aware capture rules were simplified to one shared vocabulary and a flat condition map.
Prepared the first filing rung: save a dropped source onto the pages it concerns.
Prepared the wiring that will make channel capture rules viewable and editable from settings.
Claude Code can now read and update Woodstock's Plane work through the project connection.
Recorded how to prevent Chrome-for-Testing downloads from stalling browser-story CI.
Added the late-August and early-September product meeting records.
September 1, 2026
2 PRs merged.
Folded Vee's review into the filing proposal, including clearer source references and where quoted evidence belongs.
Prepared channel capture rules that can distinguish links, images, PDFs, and Markdown drops.
August 31, 2026
2 PRs merged.
Channel settings now collect the channel name, agent instructions, archive action, and a clearly labelled preview of per-file-type auto-capture.
The deep-page fetch timing test now allows normal runtime variation without hiding a real slowdown.
August 29, 2026
12 PRs merged.
Agents can search saved sources, reopen an exact source by ID, and answer from its complete text.
The workspace now organizes knowledge into Companies, People, Projects, Meetings, and Documents.
Agent runs now have enough tool steps to complete longer, multi-action requests.
A single failed tool call now produces an honest explanation instead of crashing the entire reply.
When an agent reaches its step limit, it now preserves a useful final answer even if the last synthesis attempt fails.
The docs site now actually renders with the Inter font it already loaded.
Source links that redirect within Woodstock now re-check access at every hop.
Proposed how a dropped source becomes attributed knowledge on the pages it concerns.
Prepared source recall around separate tools for saving a source and reading it back by ID.
Recorded the font setup that keeps emoji legible in headless browser evidence.
Deployment tooling now refuses stale secret values and documents the required account scope.
The review workflow now closes its Plane work item as part of merge cleanup.
August 28, 2026
6 PRs merged.
One local-stack command now starts the app, API, functions, and migrated local database on a shared foundation for verification.
Local test-account guidance now matches the app's actual development-mode safety gate.
Picking up a handoff and completing it are now separate actions, so the sender is notified at both meaningful moments.
Development standups now open with every waiting inbox handoff before choosing the next task.
Local end-to-end runs gained a dedicated test-account sign-in path.
New Plane projects now include Review between active work and human QA.