Skip to content

Collomia v0.4.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 15:58
· 22 commits to main since this release
f523696

Collomia v0.4.1

Collomia v0.4.1 introduces a general-purpose Work mode, improves completion and recovery behavior across both task profiles, and makes Standard mode verification more actionable and less wasteful.

Developer remains the default task profile, Standard remains the default execution strategy, and upgrading does not expand permissions or weaken sandboxing.


Highlights

General-purpose Work mode

Collomia can now handle non-software work without requiring a Git repository or pretending every result should be verified by a development test suite.

Select Work mode at startup, during an interactive session, or in headless automation:

collo --mode work
collo run --mode work "Create and validate a status report"
/mode work

Work mode is designed for:

  • Research and knowledge retrieval
  • Data analysis and reporting
  • Automation
  • Document and data artifact creation
  • Governed external actions
  • Direct questions and answers
  • Other tasks where code may be an implementation detail rather than the deliverable

The selected profile is persisted with the session. Existing and legacy sessions continue to use Developer mode unless explicitly changed.

Switching profiles changes the task and evidence assumptions only. It does not change the provider, model, autonomy, permissions, sandbox, hooks, trust settings, redaction, or audit behavior.

Task-appropriate evidence

Work mode matches validation to the requested result instead of forcing everything through a software test framework.

The new validate_artifact tool creates a path- and SHA-256-bound receipt after inspecting a completed artifact. It supports bounded validation of:

  • Text and Markdown
  • JSON
  • CSV and TSV
  • DOCX
  • PPTX
  • PDF
  • Unknown binary files

Validation checks the structure and inspectable content appropriate to the format. It does not claim factual correctness, source quality, accessibility, visual polish, or fitness for a human decision.

Other Work outcomes use evidence appropriate to the task:

  • Analysis retains identified inputs, reproducible calculations, and caveats.
  • Research identifies consulted sources and distinguishes sourced facts from inference.
  • External actions retain returned identifiers and safely read back results when possible.
  • Direct Q&A can complete without manufacturing a plan, artifact, or verification ceremony.
  • A model-authored validation_note documents subjective checks when no meaningful machine validation applies.

See the complete [Work mode contract](https://github.com/robert-mcdermott/collomia/blob/v0.4.1/docs/WORK_MODE.md).

Clearer Work completion guidance

When several files were changed but only some were validated, previous completion notices could say only that “one or more artifacts” still needed evidence. This encouraged the model to revalidate an artifact that had already passed.

Completion notices now:

  • Name the exact workspace-relative paths still missing current validation
  • Omit artifacts whose latest contents already have accepted receipts
  • Track genuine progress independently for each outstanding artifact
  • Preserve a separate fail-closed warning when a mutating tool did not report which paths changed

More reliable completion recovery

Failed tool calls now have controller-visible IDs and structured recovery records.

For a failed call, the agent can record that it was:

  • Recovered by retry
  • Recovered by an alternative
  • Skipped because it proved unnecessary
  • Genuinely blocked

Retries and alternatives must reference the exact successful current-turn tool-call receipt. Prose or a merely similar command is not accepted as proof.

Completion notices now list valid receipt candidates and distinguish provider-envelope call IDs from identifiers embedded inside tool output. This prevents web provenance markers and other opaque output IDs from being mistaken for recovery receipts.

Changing one invalid guessed ID into another no longer resets the bounded intervention allowance. The allowance renews only when the number of real completion gaps decreases.

When the final answer was already complete and only recovery metadata needed correction, Collomia now returns the original answer instead of paying the provider to generate it again. Any substantive follow-up tool use still invalidates that reuse so the final response can incorporate new information.

Sandbox recovery guidance was also improved, including a concrete workspace-local cache pattern for uv:

UV_CACHE_DIR="$PWD/.uv-cache" uv run ...

Better Standard mode verification

Standard mode now explains why a successful command was not accepted as completion evidence.

When verification is outstanding:

  • Ineligible heredocs, shell compounds, and unrecognized checks explain why they did not qualify.
  • Detected direct verification commands are suggested when available.
  • A successful recognized verifier emits an explicit receipt bound to the current tracked-write state.
  • A fresh verification_note remains available when no meaningful automated check exists.

If the work appears complete and verification is the only remaining gap after the bounded recovery attempts, the outcome is now:

needs_verification

This replaces the misleading blocked outcome for work that is finished but still lacks accepted proof. blocked remains reserved for a genuine inability to complete the task or another unresolved completion failure.

Productive turns can continue past cycle 24

max_iterations now measures consecutive provider cycles without novel progress in Standard mode rather than total cycles.

Successful new tool results, plan revisions, fresh verification, or resolution of a recoverable failure renew the lease. Repeated equivalent evidence does not.

A non-renewable hard ceiling of twice max_iterations still bounds continuous churn—48 provider cycles with the default configuration. Token and cost budgets remain tighter limits when configured.


Platform and security fixes

Go 1.26.6 security baseline

Source and release builds now require Go 1.26.6. This resolves six reachable govulncheck findings in the Go standard library affecting:

  • net/url
  • crypto/tls
  • net/http
  • encoding/xml
  • encoding/asn1

CI and release builds derive their Go version from go.mod, keeping the quality gate and shipped binaries on the same patched standard library.

Windows sandbox toolchain discovery

Windows AppContainer commands can now execute toolchains exposed through directory junctions.

GitHub Actions places Go behind a C: path whose contents may physically reside on D:. The sandbox granted access to the resolved SDK target but previously left the inaccessible alias on PATH, causing nested commands to report that go was not installed.

Absolute PATH entries are now resolved before launch so executable discovery and the existing read-only sandbox ACL use the same canonical path. No additional filesystem root is granted.


Automation and compatibility

This release makes additive updates to existing session and event formats:

  • Session metadata may contain task_mode: "developer" | "work".
  • Headless run.result events may contain mode.
  • run.result.outcome now includes needs_verification.
  • Evidence-producing tool.result events may contain typed evidence with a subject, digest, and bounded detail.
  • Tracked file operations and /undo emit durable file.change path manifests.
  • Structured plans may contain Work mode’s validation_note.

No new event kind was introduced. Older sessions without task-profile metadata load as Developer.

Consumers that enumerate outcomes should recognize needs_verification. It retains the established error-status and non-zero-process-exit behavior of an unproven completion.


Current Work mode boundaries

The initial Work profile uses Standard execution.

Orchestrated Goal and write-capable delegation remain Developer-only because their state, isolation, recovery, and publication contracts depend on Git state tokens and isolated Git worktrees. Collomia rejects unsupported combinations explicitly rather than weakening those guarantees for non-Git folders.


Notes for upgraders

  • No permission or autonomy migration is required.

  • Developer and Standard remain the defaults.

  • Existing sessions remain compatible and default to Developer when task-profile metadata is absent.

  • Source builds require an actual Go 1.26.6 installation. Verify the base toolchain with:

    GOTOOLCHAIN=local go version
  • Headless consumers that enumerate run.result.outcome should add needs_verification.

  • Structural artifact validation is not a substitute for rendering or human visual review when layout is part of acceptance.

Full changelog: v0.3.1...v0.4.1

One repository correction is worth making separately: the current CHANGELOG.md places several already-released v0.3.1 changes under v0.4.0. I excluded those duplicates from these notes so they reflect only the actual v0.3.1...v0.4.1 diff.