Enhancements
Dynamic spec loading
Specs can declare repo-relativepaths globs in YAML frontmatter. Trellis
matches those globs when an agent touches a file and delivers only the
governing spec content.
- Claude Code receives matching specs through
PostToolUseonRead|Edit|Write|MultiEdit. - Codex receives matching specs through
PreToolUseon nativeapply_patch. A patch that first receives a full spec is denied once and succeeds after the model reads the rules and retries. - Full bodies, silent in-window hits, refresh tickets, truncation, and
SessionStart(source=clear|compact)reset use one shared decision engine. get_context.py --mode spec --file <path>exposes the same matching in pull mode.
Dynamic workflow switching
Workflow variants now coexist under.trellis/workflows/ and can be selected
without replacing the global .trellis/workflow.md.
trellis workflow --save <workflow-id>populates the project workflow library.task.py create --workflow <workflow-id>andtask.py workflow <workflow-id>pin a variant to one task.- Runtime precedence is task pin → personal
.trellis/.developeroverride → teamdefault_workflow→ global workflow. - Session-start context, per-turn breadcrumbs, and phase lookup share the same resolver.
Upgrade
paths frontmatter and
projects without workflow selection settings retain their previous behavior.