Commit graph

1103 commits

Author SHA1 Message Date
Bryan Helmkamp
88e0cea110 Fix relative path in fabro-api-client generate script
The path was two levels up (../../) but needs three (../../../) since
the package lives at lib/packages/fabro-api-client.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 20:42:45 -04:00
Bryan Helmkamp
1f3678c214 add comparison 2026-03-13 18:52:20 -04:00
Bryan Helmkamp
858bdc3788 Split trycmd into per-subcommand tests and remove live-probe doctor fixtures
Split the single cli_tests trycmd function into 14 per-subcommand test
functions so nextest can parallelize them. Delete header.toml and
verbose.toml doctor fixtures that ran live network probes — the existing
dry-run-flag.toml and help.trycmd already cover the same output assertion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 18:03:23 -04:00
Bryan Helmkamp
cb21dc8096 Fix slow unit tests (>5s) by removing unnecessary production delays
- doctor_no_color test: add --dry-run flag to skip live network probes (11s -> <1s)
- retry tests: set retry_policy=linear for 500ms delay instead of 5s default backoff
- cli_backend tests: make poll_interval configurable on AgentCliBackend, use 10ms in tests
- doctor TOML fixtures: remove status.code=1 now that dry-run doctor exits 0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 17:59:43 -04:00
Bryan Helmkamp
1b3d3d900b Move git SHA/build date from fabro-util to fabro-cli build.rs
fabro-util is a low-level crate depended on by almost everything, so its
build.rs reruns cascaded through the whole workspace. fabro-cli is the
leaf binary — nothing depends on it, so rebuilds are limited to just
that one crate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 15:03:12 -04:00
Bryan Helmkamp
cdbfc72719 Fix fabro-util build.rs rerun-if-changed path to prevent constant recompilation
The relative path to .git/HEAD was wrong (../../ instead of ../../../),
pointing to a nonexistent file. Cargo reruns build scripts when a
rerun-if-changed target doesn't exist, causing a full workspace rebuild
on every invocation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 14:53:11 -04:00
Bryan Helmkamp
82dd6a8c04 Bump version to 0.4.0 2026-03-13 13:18:49 -04:00
Bryan Helmkamp
2117d31d55 Cargo.lock 2026-03-13 13:18:39 -04:00
Bryan Helmkamp
4920f6e959 Fix assemble_narrative_only test to expect branding footer
The assemble_pr_body function unconditionally appends the "Generated
with Fabro" footer, but this test was asserting the bare narrative.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 13:05:59 -04:00
Bryan Helmkamp
db9f272dde Bump version to 0.3.0 2026-03-13 12:54:26 -04:00
Bryan Helmkamp
fd3a27f592 tweak repl workflow 2026-03-13 12:41:23 -04:00
Bryan Helmkamp
8c7a31dca2 Add example toy repl workflow 2026-03-13 12:26:25 -04:00
Bryan Helmkamp
d28a97c398 AGENTS.md 2026-03-13 12:25:59 -04:00
Bryan Helmkamp
3f04e978c8 use Freeform question type for human gates with no fixed choices
When a human gate has only a freeform edge and no fixed choices, use
QuestionType::Freeform instead of MultipleChoice. This sends the user
directly to a text input prompt, skipping the unnecessary select menu.
Also removes the Quit choice from the REPL workflow so it uses the new
freeform-only path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:25:37 -04:00
Bryan Helmkamp
54f3b456f0 update comparison docs: structured dimensions, nav entry, accuracy note
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:03:50 -04:00
Bryan Helmkamp
c5bee7bf43 show prior node output before human gate prompts
Thread the previous stage's response through `Question.context_display`
so `ConsoleInterviewer` renders it before the interactive prompt. This
lets users see the agent's response before deciding what to do next in
looping workflows like REPL.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:57:35 -04:00
Bryan Helmkamp
7685d410d2 arc/ -> fabro/ 2026-03-13 10:31:07 -04:00
Bryan Helmkamp
1ddcb92ab7 add Fabro branding to generated commits and PRs
Update default git author to Fabro <noreply@fabro.sh>. Append
"Generated with Fabro" footer to all checkpoint and metadata commits,
and to PR bodies. When the commit author is overridden, add a
Co-Authored-By trailer for attribution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:28:06 -04:00
Bryan Helmkamp
463ff8acd2 rename project_docs module to memory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:02:11 -04:00
Bryan Helmkamp
4dd76b259e rename Arc to Fabro in README, marketing site, and events strategy doc
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 09:57:13 -04:00
Bryan Helmkamp
e968ece42c rename git trailers from Arc-* to Fabro-* to match product rename
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 09:56:59 -04:00
Bryan Helmkamp
b6eee18a79 fix docs: update stale #arc-preview anchor to #fabro-preview
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:52:08 -04:00
Bryan Helmkamp
26adc6a5ba update changelog: add model stylesheet simplification to 2026-03-12 entry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:37:43 -04:00
Bryan Helmkamp
edf8382e40 update docs: document provider auto-inference from model catalog
Note in stylesheets, DOT reference, multi-model tutorial, run config,
and skill references that provider is now optional and auto-inferred.
Remove redundant provider from TOML examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:34:17 -04:00
Bryan Helmkamp
d37fb9a9b4 simplify model stylesheet: rename llm_model/llm_provider, add provider inference
Rename `llm_model` → `model` and `llm_provider` → `provider` in stylesheet
properties, accessor methods, and all DOT/doc references. Add
ProviderInferenceTransform that automatically infers provider from the model
catalog, eliminating redundant provider declarations in stylesheets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:27:18 -04:00
Bryan Helmkamp
5538ae4cd7 update docs: remove preview warning, update sandboxes, mark preview integrations
- Remove private research preview warning from quick-start page
- Update sandboxes section on how-fabro-works to list all 6 providers
- Mark exe.dev and Sprites as (preview) in sidebar nav titles

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:46:08 -04:00
Bryan Helmkamp
788feb7e0c rename logs-directory to run-directory and remove logs content
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:42:41 -04:00
Bryan Helmkamp
9712fd5ebb move interviews doc from execution/ to human-tools/ section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:42:19 -04:00
Bryan Helmkamp
17d4d0d85b replace old Arc logo/icon SVGs with Fabro brand assets
Update all brand SVG files in files-internal/assets/brand/ to use the
new Fabro geometric symbol and logotype instead of the old Arc organic
icon and wordmark.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:54:44 -04:00
Bryan Helmkamp
376b132ca9 rename docs-internal to files-internal
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:50:27 -04:00
Bryan Helmkamp
48eb867ce2 fix clippy large_enum_variant and rename ARC_ env vars in .env.example
Box the Usage field in Turn::Assistant to satisfy clippy::large_enum_variant.
Rename ARC_ prefixed env vars to FABRO_ in .env.example.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:37:22 -04:00
Bryan Helmkamp
5b18680d57 fix remaining arc references in README, CONTRIBUTING, docs-internal
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:28:04 -04:00
Bryan Helmkamp
28884ae093 rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files
- Rename 20 crate directories lib/crates/arc-* → fabro-*
- Update all Cargo.toml: crate names, dep paths, feature flags, bin name
- Rename arc_server module → fabro_server in fabro-llm
- ArcError → FabroError across 30+ files
- ARC_VERSION/ARC_GIT_SHA/ARC_BUILD_DATE → FABRO_* constants
- All use/qualified paths: arc_agent:: → fabro_agent::, etc. (~1500 occurrences)
- Env vars ARC_* → FABRO_* in string literals and shell scripts
- String literals: X-Arc-Demo, arc-bot, arc@local, arc-web, arc-mcp, etc.
- Path strings: .arc/ → .fabro/, arc.toml → fabro.toml, refs/arc/ → refs/fabro/
- arc-api.yaml → fabro-api.yaml (OpenAPI spec)
- skills/arc-create-workflow → fabro-create-workflow
- trycmd fixtures: $ arc → $ fabro
- Inline snapshots (insta) updated
- CI, Docker, install.sh, scripts, CLAUDE.md, AGENTS.md
- TypeScript app: env vars, headers, JWT issuer
- Docs: page slugs, git refs, config paths, sandbox names, repo URLs
- Repo references: brynary/arc → fabro-sh/fabro

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:25:58 -04:00
Bryan Helmkamp
e514a92dbc rm develop-web-game 2026-03-12 11:24:10 -04:00
Bryan Helmkamp
75fca9fb93 cleanup internal docs 2026-03-12 11:23:11 -04:00
Bryan Helmkamp
e8a57f8893 docs: remove naming research reports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:17:53 -04:00
Bryan Helmkamp
4a378d1868 docs: rename Arc to Fabro in internal docs and CONTRIBUTING
Update product name references in CONTRIBUTING.md, competitive landscape,
logging/events strategy docs, API design draft, spec files, and web
screenshot guide. Rust crate names and file paths left unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:16:48 -04:00
Bryan Helmkamp
3ce976a006 docs: update license references from AGPL to MIT
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:14:37 -04:00
Bryan Helmkamp
3a6ec9b9ef Rename Arc to Fabro in TypeScript/JavaScript
Rename directories (arc-web → fabro-web, arc-api-client → fabro-api-client),
update package names, import paths, TS-only identifiers (theme key, session
cookie, demo cookie, OAuth state, db filename, mock data), and supporting
files (Dockerfile, docker-compose, entrypoint, CI workflow, CLAUDE.md).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:13:18 -04:00
Bryan Helmkamp
acbfc8a9f8 docs: add "open source" to Fabro tagline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:12:24 -04:00
Bryan Helmkamp
01c0fe2e82 cleanup 2026-03-12 10:55:11 -04:00
Bryan Helmkamp
d4fe6b72e0 docs: rename Arc to Fabro throughout docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 10:53:44 -04:00
Bryan Helmkamp
fd68f587f8 docs: retake workflow diagram screenshots with increased zoom
Zoom in on the workflow graph in both the workflow diagram page and
run overview page to improve readability of node labels and edges.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 09:34:59 -04:00
Bryan Helmkamp
bddd11642e docs: add dedicated Server Mode page to Core Concepts
Consolidates server-mode documentation into a single page with
standalone vs. server comparison table, setup guide, and cross-references.
Updates how-arc-works, quick-start, and architecture pages to link to
the new canonical page instead of duplicating the comparison table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 09:19:03 -04:00
Bryan Helmkamp
f6554ca689 Add web UI screenshots to docs, update branding to Fabro, simplify Quick Start
- Add 10 screenshots of the Fabro web UI to docs pages (workflows, runs,
  retros, observability, steering)
- Update arc-web logos from Arc to Fabro (logotype.svg, logotype-light.svg)
- Hide Start and Settings nav items in arc-web for cleaner screenshots
- Mount arc-web public/ as Docker volume for logo hot-swapping
- Combine "Run agents 24/7" and "Scale infinitely" use cases
- Replace clone-and-build Quick Start with curl installer from README
- Add internal docs for updating web screenshots

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 09:08:51 -04:00
Bryan Helmkamp
99feeb7a3b docs: add use cases section to README and Introduction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:52:05 -04:00
Bryan Helmkamp
6e3b26dc46 Remove empty Web tab from docs navigation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 08:26:55 -04:00
Bryan Helmkamp
5ff7601249 docs: add arc graph, arc skill install, and SSH sandbox to CLI/config reference
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 08:19:44 -04:00
Bryan Helmkamp
7c22c4c3e0 Add 2026-03-11 and 2026-03-12 changelog entries
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 08:17:52 -04:00
Bryan Helmkamp
dfcaa9a8dc docs: add SSH sandbox provider to environments reference
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 08:14:26 -04:00