Skip to content

Releases: terraboops/trellis

v1.1.5

07 Apr 04:16

Choose a tag to compare

fix: grant sandbox write access to agent claude config dir — resolves 'Control request timeout: initialize' on all agents

v1.1.4

05 Apr 04:30

Choose a tag to compare

Live agent transcript, health/metrics endpoints, structured logging

v1.1.3

31 Mar 01:41

Choose a tag to compare

Fixes

  • Sandbox OAuth auth: load_dotenv(override=True) so project .env CLAUDE_CONFIG_DIR takes precedence over the parent nono sandbox's config dir. Without this, _ensure_agent_auth copies OAuth tokens from the wrong account → 401 errors.
  • Remove --proxy-credential anthropic from defaults: nono's credential proxy doesn't support Claude Code's OAuth flow (returns 400). Auth works via env forwarding + keychain read access.
  • nono-wrapper.sh: Forward CLAUDE_*, SECURITYSESSIONID, SSH_AUTH_SOCK env vars through the sandbox boundary.
  • Pipeline UI: Fixed idea_detail.html using old stages key (now agents after migration). Home page now reads each idea's actual pipeline config instead of hardcoded list.

v1.1.2

30 Mar 06:33

Choose a tag to compare

Fixes

  • Pipeline stages UI: Fixed idea detail page showing empty pipeline — template was reading pipeline.stages but get_pipeline() migrates the key to pipeline.agents
  • Home page pipeline: Replaced hardcoded 4-stage list with each idea's actual pipeline config, so custom pipelines render correctly on the index page

v1.1.1

30 Mar 06:01

Choose a tag to compare

Fixes

  • Pool crash resilience: The worker pool now survives transient I/O errors (e.g. disk full) without dying. A supervisor wrapper (_resilient_pool) automatically restarts the pool on unexpected crashes, with a circuit breaker to prevent infinite restart loops.
  • Error isolation: _snapshot() and _handle_result() OSErrors are caught individually instead of killing the scheduling loop.

Testing

  • 11 new E2E pipeline tests using a ClaudeSDKClient digital twin — exercises the full pipeline (idea submission → pool scheduling → agent dispatch → phase transitions → release) without requiring Claude API auth.
  • tests/sdk_twin.py: Drop-in FakeClaudeSDKClient replacement that honors the same API contract (AssistantMessage, ToolUseBlock, ResultMessage), enabling CI testing without API keys.
  • Tests cover: full pipeline traversal, context passing, cost tracking, multi-idea scheduling, crash recovery, phase history integrity.

CI

  • All E2E tests run in GitHub Actions via the existing e2e pytest marker — no Claude auth required.

v1.0.1

24 Mar 02:28

Choose a tag to compare

Fixes

  • Pin starlette<1.0 and fastapi<1.0 — starlette 1.0 breaks template rendering on fresh installs
  • Fix keychain auth for OAuth users — agents now find credentials stored under Claude Code-credentials (no hash suffix)
  • Sync oauthAccount metadata from parent .claude.json to agent .claude.json

Docs

  • New pipelines doc — custom pipelines, templates, gating modes
  • New troubleshooting doc — common issues, copy-paste Claude Code prompts
  • Updated architecture and agent docs to reflect customizable pipelines
  • Clean demo screenshots (no personal data)
  • Trellis logo and favicon

New

  • trellis migrate-project command for incubator → trellis migration
  • nono sandbox working with CLI flags approach (nono >= 0.15.0)
  • TLA+ spec updated for revised scheduler semantics

v1.0.0 — Trellis

23 Mar 01:42

Choose a tag to compare

Incubator is now Trellis — a structure for growing ideas with agent teams.

What changed

  • Package renamed: incubatortrellis
  • CLI: trellis init, trellis serve, trellis incubate
  • Project marker: .incubator.trellis
  • License: Apache-2.0
  • Social meta tags, OG image, GitHub issue templates, funding config
  • Full README rewrite

Install

brew tap terraboops/tap
brew install trellis

Upgrade from incubator

  1. pip install trellis (or brew install terraboops/tap/trellis)
  2. Rename .incubator to .trellis in your project directory
  3. Update any scripts referencing the incubator command to trellis

v0.2.1

15 Mar 04:34

Choose a tag to compare

What's new

Packaging & distribution

  • Dual-root model: engine ships as pip package, user data lives separately via .incubator marker file
  • incubator init: scaffolds new projects from bundled defaults
  • incubator serve --background/--stop: daemon mode with PID file management
  • incubator agent upgrade: update agent prompts from package defaults while preserving learnings

Dashboard improvements

  • Pipeline stepper progress bar on idea cards (replaces strikethrough badges)
  • Watcher status pills showing which auxiliary agents have run
  • Settings page, idea detail with phase actions, agent knowledge viewer
  • "Ask about this idea" — multi-perspective Q&A powered by Claude

Bug fixes

  • Fall back to BaseAgent for roles without specialized classes (fixes watcher/artifact-check errors)
  • Unset CLAUDECODE env var at server startup (fixes Agent SDK calls when running inside Claude Code)
  • Use .is_file() for marker detection (fixes false match on ~/.incubator directory)

Architecture

  • phase="*" star-phase agents that run across all ideas
  • Worker pool: budget enforcement, phase-aware scheduling, health tracking
  • Blackboard: file listing, idea deletion, enhanced status tracking