chore: version packages - #743
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 31, 2026 03:33
2f2d3b0 to
0367cf9
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 31, 2026 03:41
0367cf9 to
e61b512
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@sapiom/harness@0.11.0
Minor Changes
fc231c9: Studio: creating an agent in a project is now a form that creates it, not a
message asking your coding agent to.
Every create door ended the same way — a session started and an English
sentence was typed into the terminal asking the coding agent to please call a
scaffold tool. Studio never created anything, so a failure arrived as a
confused model rather than an error, and "did it work?" could only be answered
by reading a terminal. On a project that already held agents it simply could
not work: the scaffold was aimed at the project folder, which is not empty, and
the reply was a paragraph asking you which subdirectory you meant.
the project it lands in — stated, not asked again, because you clicked that
row. Submit and Studio creates the agent itself.
your rail before a session opens on it, and the rail scrolls it into view. A
first instruction is optional, and the session opens on that instead of on a
request to scaffold.
project, a name that is not a folder name, a folder Studio does not show as a
project — each is refused with a reason you can act on, and nothing
half-created is left behind if the scaffold itself fails.
two ways of starting from a starter cannot drift. Cloning a published
template still goes through your coding agent, which is a different operation
with a different failure mode.
click; it had been unclickable.
and a folder that does not exist yet, so it stays a conversation.
New endpoint
POST /api/agents/scaffold—{ root, name, template? }→ thecreated agent's path. It runs the same scaffold the CLI does and refuses on its
own findings rather than on the caller's word.
e72d172: Studio: selecting a project fills the workbench instead of replacing it — your
conversation stays, and the project's map draws beside it.
Picking a project used to collapse the shell to one column and take both panes
away: the map arrived as a full-width destination and the chat you were mid-
sentence in vanished. Browsing a template gallery is a detour; looking at your
project's shape while you talk to it is not. Now the conversation keeps the
centre and the map fills the right pane.
subject: the tab strip shows that project's live sessions — including the ones
bound to its agents, which were invisible before — and a project with nothing
running is given a session at its root.
session already reaches every agent in its project, so the chat does not move.
Crossing to a different project still hands the conversation over.
agent on the map drills into its board, and a control at the head of the tab
row cuts back up to the map — it used to be a one-way door. The rail selection
and the canvas always agree, driven from either side.
reason, since a whole project has no step list. The Code tab is gone; its
"Trigger from your code" snippets moved to the Steps surface, under the deploy
banner — the moment that question is actually asked.
so a newly created tab can no longer be stranded off-screen.
An agent that is linked to Sapiom but has no ready cloud build yet gets the
snippets section with the reason there is nothing to copy, rather than nothing
at all. Snippet clicks are now attributed to the canvas surface rather than a
Code-tab surface that no longer exists;
object=snippetis unchanged.Membership stays derived from where an agent lives on disk. Nothing is stamped
onto a session record, so moving an agent or removing a project cannot leave a
second, staler answer behind.
5745707: Studio: the project map draws your groups as named containers, instead of one
endless column of agents.
A project map used to draw every agent it contained as one flat set, ignoring
the structure the rail was showing right beside it. Open a folder holding
several systems and you got a single vertical column — a folder holding a few
dozen agents came out thousands of pixels tall and one card wide, which no
amount of zooming out makes readable.
rail does, so a system you named in the rail is a system you can see on the
map, under exactly that name and in the same order. Rename or regroup in the
rail and the map follows immediately.
about a project, not an absence, so it gets a labelled box rather than being
scattered loose. A project with one group renders as one group.
unconnected agents fill the width and wrap, which is what replaces the column.
across two groups does not make the link between the halves disappear; it is
drawn dotted, as a link between systems rather than wiring inside one.
looking at the whole project and need to know which system is which.
Nothing about how groups are detected, edited, or stored has changed. The map is
a new reader of the arrangement your project already has; it never writes one.
e5af82b: Project rows in the rail now carry one action control instead of two glyphs that acted on different things. The
+created an agent inside the project while the×removed the project itself — same size, side by side, so+read as "add project". Both now live behind the row's⋮, where each action names its own subject ("Create an agent in ", "Remove from the rail").Double-clicking a project or folder label now folds and unfolds it, the way the chevron always has. On a project row the single click still selects, so a double-click leaves the project both selected and folded.
A one-time card explains what projects and agents are and what happens to your rows on upgrade. It is dismissible, shown once, and re-openable from the account menu.
Patch Changes
1d2ae02: Stop an agent that can never be named from holding a whole project's graph at
"Graph may be incomplete".
An agent that does not declare a name has its source read to recover one. If
even one agent in a project could not be read, the projection refused to cache,
so the project reopened as degraded under the "Graph may be incomplete" banner
every time. A companion package with no agent export in it has nothing to find
no matter how often it is re-read, and a single such directory was enough to
mark everything around it incomplete.
The cache now depends on whether the name lookup can still produce a different
answer, not on whether it found a name. Only one case is treated as final, the
one that can be proven: a project with no TypeScript in it has nothing for an
agent name to be declared in, and no install or re-run will invent one. Every
other failure still blocks caching, so that project keeps its banner and its
Retry button — the thing that clears it once dependencies are installed, or
after a check that ran out of time succeeds on a second attempt.
The affected agents keep their warnings either way. The graph stops calling
itself incomplete over agents it was never going to resolve; it does not go
quiet about what it could not resolve.
Also stops one agent being registered twice when Studio reaches the same
directory by two different paths — once as given and once with symlinks
resolved. The duplicate pair made every reference between agents ambiguous,
silently dropping those connections from the graph. This prevents new
duplicates; a workspace that already contains a pair from an earlier version
still needs them removed by hand.
@sapiom/agent-studio@0.1.20
Patch Changes
@sapiom/cli@10.0.0
Patch Changes
@sapiom/harness-desktop@0.4.1
Patch Changes