Skip to content

Collomia v0.3.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 22:15
· 29 commits to main since this release
bd3b681

Collomia v0.3.1

A patch release. One new command and four fixes — every one of them a case where
a run that had finished its work described that work as a failure. A completion
message is what you act on, so these are treated as defects rather than rough
edges.

Standard mode remains the default. Nothing here changes configuration, session,
or graph schemas, and no action is required on upgrade.


Change

An active skill's own directory is now readable by the built-in read tools.

load_skill tells the model that a skill's references are read with read_file
and lists their paths — and the read was then refused for being outside the
workspace. Collomia was contradicting its own tool description, and any skill
that shipped reference files was unusable.

read_file, list_files, and search_files may now open an active skill's
directory regardless of allow_outside_workspace. The allowance is deliberately
narrow:

  • Reads only. Writes still resolve through the strict workspace path, so no
    tool can modify a skill bundle.
  • Contained against the resolved path, so a symlink planted in a bundle
    cannot leave it.
  • Excludes disabled skills and untrusted project skills, leaving the
    project-trust quarantine unchanged.

If you run with allow_outside_workspace off specifically to bound what the
read tools can open, this widens that boundary by the directory of each skill
you have already enabled.


Added

/orchestrate done ends a goal that has finished.

A terminal graph stays attached so it remains inspectable, which also means it
keeps owning the session until something releases it. Until now the only command
that did so was /orchestrate cancel, which on a terminal graph had always
archived rather than cancelled — so finishing successfully and abandoning work in
flight shared one word, and the word was the wrong one.

/orchestrate done (also spelled release) returns the session to Standard mode
and deletes nothing: the transcript, evidence, and graph snapshots stay in the
session log.

Mostly you will not type it. A graph that finished with nothing left to run is
released by your next ordinary prompt, which then runs. /orchestrate cancel on
a terminal graph still releases it, so nothing that worked before stops working.

Release is narrower than cancellation on purpose. It refuses a running graph, it
refuses one stopped at awaiting_review or awaiting_verification because each
is holding a decision that is yours to make, and it still refuses any graph that
is the only record of a worktree nobody has reconciled.

Fixed

  • A finished run could report itself as blocked. The completion controller
    offered exactly one way to record an unfinished step — mark it blocked — and
    any blocked step ends the turn as blocked. A run that built and verified its
    deliverable therefore came back as a failure because the agent had abandoned a
    side attempt (a reference it turned out not to need, a tool call it replaced
    with a better one) and had only that one word to record it with. skipped
    the action proved unnecessary or was accomplished another way — is now
    distinct from blocked, which is for work that genuinely cannot be completed.
  • A skill's reference files could not be read. See above.
  • Orchestrated Goal could not verify a Node project that had no
    package.json.
    node was missing from the verification recognizer, while
    the proposal contract requires the first mutating node to create a focused test
    exactly when a project has no test surface. A node could be required to write a
    test and then refused every way of running it — blocking with its own passing
    suite sitting in evidence. Node's entry points are now recognized, by entry
    point rather than by interpreter: node --test and a script in a conventional
    test location qualify; node index.js and node -e "..." do not.
  • A passing command the recognizer does not cover is no longer silent. While
    a node is waiting on verification, a declined command's tool result now names
    it and gives either the project's detected verification commands or, if the
    project has no recognized manifest, what declaring a test entry point would
    achieve. The blocker names it too, instead of reporting that no verification
    exists directly beneath a check you watched pass.

Changed

Terminal Orchestrated Goal messages name the commands that apply to their own
outcome. A completed graph pointed at /new, which ends the whole session rather
than the goal; blocked and budget-exhausted graphs named no exit at all. They now
name /orchestrate status, retry, extend, and the release as applicable.

Notes for upgraders

  • No configuration, session, or graph schema changes. Sessions and saved graphs
    written by v0.3.0 load unchanged.
  • If you maintain skills with reference files, they work now without granting
    allow_outside_workspace — see the callout above for what that allowance does
    and does not cover.
  • Full changelog: v0.3.0...v0.3.1

Full Changelog: v0.3.0...v0.3.1