Skip to main content
Ralph Loop field name fix (P0), migration task assignee parsing fix, and task lifecycle documentation.

Bug Fixes

  • Ralph Loop field names fix (#152): The SubagentStop hook was reading non-existent fields (subagent_type, agent_output, prompt) instead of the actual Claude Code event schema (agent_type, last_assistant_message), so Ralph Loop was silently inert for all users since release. Check/implement/debug subagents will now actually trigger loop control as documented. Thanks to @suyuan2022 for the catch.
  • Migration task assignee parsing (#153): When trellis update --migrate created the auto-generated migration task, it read .trellis/.developer as a plain string and embedded the entire name=...\ninitialized_at=... file contents as the assignee field. The timestamp line then leaked into session-start.py rendering, breaking the ACTIVE TASKS layout. Now parses the name= line correctly. Thanks to @suyuan2022 for the fix.

Documentation

  • Task lifecycle commands: workflow.md now documents task.py start <name> and task.py finish — previously both subcommands were wired in argparse but completely unmentioned in the workflow guide, so AI agents never knew to call them and ## CURRENT TASK was perpetually (none). Task Development Flow expanded from 5 to 7 explicit steps with Start (step 2) and Finish (step 7), plus a new “Current task mechanism” explainer tying .current-task to SessionStart hook injection.

Notes

  • Run trellis update to sync all changes
  • Behavior change: Ralph Loop will now actually fire for check/implement/debug subagents. If you were unknowingly relying on the previously-silent behavior, watch for new loop activity after upgrading.