diff --git a/.claude/skills/changelog/watermark b/.claude/skills/changelog/watermark index 5def59e97..755034a00 100644 --- a/.claude/skills/changelog/watermark +++ b/.claude/skills/changelog/watermark @@ -1 +1 @@ -8bd90191bc4deac93a95e065f6584b64e48ca0e0 +4ee215cadaa28fd335d5ab2d306740574d5b8b32 diff --git a/docs/changelog/2026-03-12.mdx b/docs/changelog/2026-03-12.mdx index 6cf8436e5..db4f8f3d2 100644 --- a/docs/changelog/2026-03-12.mdx +++ b/docs/changelog/2026-03-12.mdx @@ -22,7 +22,7 @@ After: ``` -**Breaking change.** `llm_model` and `llm_provider` stylesheet properties have been renamed to `model` and `provider`. Update your DOT workflow stylesheets. +**Breaking change.** `llm_model` and `llm_provider` stylesheet properties have been renamed to `model` and `provider`. Update your workflow stylesheets. ## More diff --git a/docs/changelog/2026-03-13.mdx b/docs/changelog/2026-03-13.mdx new file mode 100644 index 000000000..6ec7d923a --- /dev/null +++ b/docs/changelog/2026-03-13.mdx @@ -0,0 +1,36 @@ +--- +title: ".fabro file extension, human gate improvements, and user workflows" +date: "2026-03-13" +--- + +## .fabro file extension + +Workflow files now use the `.fabro` extension instead of `.dot`. This gives workflows a distinct identity and avoids conflicts with Graphviz `.dot` files. Existing `.dot` files still work as a fallback — the engine checks for `graph.fabro` first, then falls back to `graph.dot`. + +```toml +[workflow] +graph = "workflow.fabro" +``` + + +**Breaking change.** Workflow files have been renamed from `.dot` to `.fabro`. Existing `.dot` files continue to work as a fallback, but new projects should use `.fabro`. + + +## Smarter human gates + +Human-in-the-loop gates now show the previous stage's output before prompting, so you can see what the agent produced before deciding what to do next. Gates with only a freeform edge also skip the multiple-choice menu and go straight to a text input, making conversational loops like REPL workflows feel more natural. + +## More + + +- Added user-level workflow lookup in `~/.fabro/workflows/` — personal workflows are now available across all projects + + + +- New `thread_id_requires_fidelity_full` lint rule warns when `thread_id` is set without `fidelity=full` +- Added example REPL workflow for interactive agent loops + + + +- Branding now appears in generated commits and PR descriptions + diff --git a/docs/changelog/2026-03-14.mdx b/docs/changelog/2026-03-14.mdx new file mode 100644 index 000000000..3897fc8b8 --- /dev/null +++ b/docs/changelog/2026-03-14.mdx @@ -0,0 +1,35 @@ +--- +title: "fabro rewind, workflow list, and Dark Factory" +date: "2026-03-14" +--- + +## Rewind workflow runs + +You can now rewind a workflow run to an earlier checkpoint and resume from there. This is useful when a later stage goes off-track and you want to try again from a known-good point without restarting the entire workflow. + +```bash +fabro rewind --run-branch fabro/runs/my-run --target plan@2 +``` + +Target a specific node by name, `node@visit` for a particular visit count, or `@ordinal` for a checkpoint index. The command rewinds both the metadata and run branch refs, and optionally pushes to the remote. + +## fabro workflow list + +A new `fabro workflow list` command shows all available workflows in your project. Workflows are grouped by source (project vs. user-level), with descriptions pulled from each workflow's goal. + +```bash +fabro workflow list +``` + +## More + + +- Default Daytona sandbox now uses the `daytona-medium` snapshot with standard dev tools pre-installed +- Workflow list output shows grouped sections with aligned columns and truncated descriptions +- Added Dark Factory documentation page +- Added workflow diagram to README + + + +- Fixed missing `git_commit_sha` in run branch commit messages + diff --git a/docs/docs.json b/docs/docs.json index 04e4b9c11..b7ea011c5 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -271,6 +271,8 @@ "group": "March 2026", "icon": "clock-rotate-left", "pages": [ + "changelog/2026-03-14", + "changelog/2026-03-13", "changelog/2026-03-12", "changelog/2026-03-11", "changelog/2026-03-10",