mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
Add changelog entries for March 14-15
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8b948a2d68
commit
ec0a612ea5
4 changed files with 80 additions and 14 deletions
|
|
@ -1 +1 @@
|
|||
4ee215cadaa28fd335d5ab2d306740574d5b8b32
|
||||
8b948a2d6852023eb41eed3a99e9b402da3f5fbe
|
||||
|
|
|
|||
|
|
@ -1,8 +1,28 @@
|
|||
---
|
||||
title: "fabro rewind, workflow list, and Dark Factory"
|
||||
title: "fabro logs, background runs, and workflow scaffolding"
|
||||
date: "2026-03-14"
|
||||
---
|
||||
|
||||
## View run logs with fabro logs
|
||||
|
||||
Previously, the only way to follow a workflow's progress was through the terminal that started it. The new `fabro logs` command lets you view event logs for any run — active or completed — from any terminal. With `--pretty`, agent conversations render with formatted messages and tool calls instead of raw JSON.
|
||||
|
||||
```bash
|
||||
fabro logs my-workflow --pretty
|
||||
fabro logs -f abc123 -p
|
||||
```
|
||||
|
||||
You can reference runs by name, ID prefix, or workflow slug. The `-f` flag follows live events as they happen.
|
||||
|
||||
## Background workflows with --detach
|
||||
|
||||
You can now fork a workflow into a background process with `fabro run --detach`, then reconnect later with `fabro logs -f`. This is useful for long-running workflows where you don't want to keep a terminal open.
|
||||
|
||||
```bash
|
||||
fabro run my-workflow --detach
|
||||
fabro logs -f my-workflow
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
|
@ -11,25 +31,28 @@ You can now rewind a workflow run to an earlier checkpoint and resume from there
|
|||
fabro rewind my-run 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
|
||||
```
|
||||
Target a specific node by name, `node@visit` for a particular visit count, or `@ordinal` for a checkpoint index.
|
||||
|
||||
## More
|
||||
|
||||
<Accordion title="CLI">
|
||||
- Added `fabro workflow create <name>` subcommand to scaffold new workflows from a template
|
||||
- Added `fabro workflow list` command showing all available workflows grouped by source
|
||||
- Added `fabro inspect` command to display detailed JSON data for a workflow run
|
||||
- Added project-level run defaults in `fabro.toml` (model, environment, sandbox image, etc.)
|
||||
- Added `~/.fabro/` fallback for `@` file references
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Improvements">
|
||||
- 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
|
||||
- Run resolution now matches workflow slugs and display names, not just run IDs
|
||||
- Routing events now include context about why an edge was selected
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Fixes">
|
||||
- Fixed `fabro logs --pretty` wrapping past terminal edge on long assistant messages
|
||||
- Fixed empty `run_id` on sandbox events in `progress.jsonl`
|
||||
- Fixed credential-embedded GitHub URLs not being parsed correctly
|
||||
- Fixed logo SVG viewBox clipping the right edge of the O
|
||||
- Fixed missing `git_commit_sha` in run branch commit messages
|
||||
</Accordion>
|
||||
|
|
|
|||
42
docs/changelog/2026-03-15.mdx
Normal file
42
docs/changelog/2026-03-15.mdx
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
title: "fabro ps overhaul, fabro rm, and GitHub token injection"
|
||||
date: "2026-03-15"
|
||||
---
|
||||
|
||||
## Docker-style process listing with fabro ps
|
||||
|
||||
`fabro ps` has been rebuilt to behave like `docker ps`. It now shows a table with run ID, status, workflow name, goal, and timing — making it easy to see what's running at a glance. The GOAL column shows the first line of each run's goal, so you can distinguish between multiple runs of the same workflow.
|
||||
|
||||
```bash
|
||||
fabro ps # active runs
|
||||
fabro ps -a # all runs including completed
|
||||
```
|
||||
|
||||
Run status is now tracked via a proper state machine, so status transitions are reliable and `fabro ps` always reflects the current state.
|
||||
|
||||
## GitHub token injection for sandboxes
|
||||
|
||||
When a GitHub App is configured, Fabro now automatically injects an installation access token into sandboxes as `GITHUB_TOKEN`. Agents running inside sandboxes can use this token to clone private repos, push branches, and create pull requests without any manual credential setup.
|
||||
|
||||
## More
|
||||
|
||||
<Accordion title="CLI">
|
||||
- Added `fabro rm` command to remove runs by ID with sandbox cleanup
|
||||
- Added `-p` short alias for `--pretty` in `fabro logs`
|
||||
- Added progress spinner during `run --preflight`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Workflows">
|
||||
- Metadata branch renamed from `refs/fabro/{run_id}` to `fabro/meta/{run_id}` for cleaner ref namespace
|
||||
- Added granular git checkpoint events and retro lifecycle events (`RetroStarted`, `RetroCompleted`, `RetroFailed`)
|
||||
- `goal` field now included in `WorkflowRunStarted` event and rendered in `fabro logs --pretty`
|
||||
- Run completion events now include final status and usage totals
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Fixes">
|
||||
- Fixed `--dry-run` executing command/script nodes instead of simulating them
|
||||
- Fixed `--dry-run` pushing branches to remote
|
||||
- Fixed `--goal-file` not expanding `~` to the home directory
|
||||
- Fixed race condition between `fabro run --detach` and `fabro logs -f`
|
||||
- Fixed dry-run runs cluttering `fabro ps -a` output (now uses temp directory)
|
||||
</Accordion>
|
||||
|
|
@ -270,6 +270,7 @@
|
|||
"group": "March 2026",
|
||||
"icon": "clock-rotate-left",
|
||||
"pages": [
|
||||
"changelog/2026-03-15",
|
||||
"changelog/2026-03-14",
|
||||
"changelog/2026-03-13",
|
||||
"changelog/2026-03-12",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue