Commit graph

5550 commits

Author SHA1 Message Date
Scott Werner
9d9cbe9f41
Merge pull request #1065 from fabro-sh/codex/skipped-stage-display
Some checks are pending
Rust / Rustdoc (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
Rust / Format (push) Waiting to run
Rust / Clippy (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
Distinguish skipped stages in CLI progress
2026-10-22 15:52:38 -04:00
Scott Werner
4a5c89e5ba Distinguish skipped stages in CLI progress 2026-10-22 15:18:52 -04:00
Scott Werner
2e525b9e1e
Merge pull request #1062 from fabro-sh/bot/internal-deps
Update internal dependencies
2026-10-22 14:37:56 -04:00
github-actions[bot]
d377e92820 Update internal dependencies to their current main 2026-10-22 06:49:46 +00:00
fabro-releases[bot]
e28675a1df Bump version to 0.393.0-nightly.1
Some checks are pending
Rust / Format (push) Waiting to run
Rust / Clippy (push) Waiting to run
Rust / Rustdoc (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
2026-10-21 17:38:34 +00:00
Scott Werner
96dde72bc2
Merge pull request #1058 from fabro-sh/eng/patch-emudhra-tls
security: patch eMudhra certificate trust dependencies
2026-10-21 13:04:51 -04:00
Scott Werner
b02b6f0e55
Merge pull request #1059 from fabro-sh/codex/bump-claude-aliases
Bump lithos-llm for consistent Claude alias routing
2026-10-21 12:38:14 -04:00
Scott Werner
fdb69e7e04 Bump lithos-llm to fix Claude alias provider selection 2026-10-21 12:04:17 -04:00
Bryan Helmkamp
50b52fbddc
security: patch eMudhra certificate trust dependencies 2026-10-21 07:55:35 -07:00
Scott Werner
be48840dbb
Merge pull request #1049 from fabro-sh/bot/internal-deps
Update internal dependencies
2026-10-21 10:49:03 -04:00
fabro-releases[bot]
a8c1a74f59 Bump version to 0.393.0-nightly.0 2026-10-21 09:41:31 +00:00
github-actions[bot]
7a28fda4eb Update internal dependencies to their current main 2026-10-21 06:50:49 +00:00
Scott Werner
d45464eb9b
Merge pull request #1055 from fabro-sh/fix/no-bare-selector-passthrough
Some checks failed
Rust / Clippy (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
Rust / Format (push) Waiting to run
Rust / Rustdoc (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
TypeScript / Typecheck (push) Has been cancelled
TypeScript / Test (push) Has been cancelled
TypeScript / Build (push) Has been cancelled
Reject bare provider names and unknown unpinned model selectors
2026-10-20 15:56:27 -04:00
Scott Werner
9df720aa24
Merge pull request #1057 from fabro-sh/codex/hook-documentation
Fix hook documentation configuration examples
2026-10-20 15:44:59 -04:00
Scott Werner
dc12a9d2b5 Keep hook documentation fix documentation-only 2026-10-20 15:23:21 -04:00
Scott Werner
5cdf3abd77
Merge pull request #1056 from fabro-sh/redact/recognize-ulids
Exempt ULIDs from entropy-based secret redaction
2026-10-20 15:20:30 -04:00
Scott Werner
0e670e9234 Exempt ULIDs from entropy-based secret redaction
Fabro's run, session, turn, message and pair IDs are ULIDs. A ULID
occasionally has enough distinct characters to cross the secret
scanner's 4.5-bit entropy threshold, and the stream redaction then
rewrites the Web UI link to `/runs/REDACTED` and the run branch to
`fabro/run/REDACTED`. Two nightly releases in the last week failed on
`attach_replays_completed_detached_run` this way, and each fix so far
protected one field at a time.

Teach the entropy scanner the format instead: a token that is exactly
26 uppercase Crockford base32 characters and decodes to a timestamp
between 2020 and 2100 is an identifier, not a secret, and is left
alone wherever it appears. Trailing `-ULID`, `_ULID` and `=ULID`
segments are stripped before measuring, so `20261020-<id>` and
`<secret>-<id>` are handled, and the secret in the latter is still
found. The gitleaks credential patterns run on every token as before.

This mirrors detect-secrets' built-in UUID filter. A secret would have
to take exactly this shape and land in the date window to be missed,
which is about one in a hundred of the already rare tokens encoded as
26 uppercase base32 characters.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 14:51:14 -04:00
Scott Werner
d1144615bf Fix hook documentation configuration examples 2026-10-20 14:35:21 -04:00
Scott Werner
8f01f9f41d
Merge pull request #1054 from fabro-sh/codex/stage-occurrence-links
Fix navigation to repeated stage occurrences
2026-10-20 13:28:03 -04:00
Scott Werner
14584bbc32 Reject bare provider names and unknown unpinned selectors
Fabro's shared resolver passed any unknown bare selector through verbatim
to the highest-priority ready provider. A provider name in the model field,
such as `gemini`, is not a catalog model, so it took that path and reached
Anthropic with wire model `gemini`. The same path turned any typo into a
request on whichever provider happened to win priority.

An unqualified unknown selector is now an error. Passthrough of an
uncatalogued model id still works, but only with a provider pin, which is
also how the operator docs already described it. A bare provider name gets
a dedicated error that names the provider and says to pin it and omit the
model to use its default.

The completions endpoint returns that error as a 400 before any provider
call; the models lookup returns it as a 404. Session creation keeps its
own provider-name message and no longer passes unknown unpinned names
through either. The OpenAPI description of `CreateCompletionRequest.model`
no longer advertises a provider id as a selector, and the TypeScript client
is regenerated from it.

Closes #950 by rejecting the input rather than resolving it: a provider
name in the model position is ambiguous with model aliases, and no
comparable library resolves it to a provider default.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 13:16:51 -04:00
Scott Werner
636fff0599 Fix navigation to repeated stage occurrences 2026-10-20 13:02:46 -04:00
fabro-releases[bot]
59342f7e99 Bump version to 0.392.0-nightly.0 2026-10-20 09:36:24 +00:00
github-actions[bot]
f41dbc331f Update internal dependencies to their current main 2026-10-20 06:49:03 +00:00
Scott Werner
7a876b5444
Merge pull request #1044 from fabro-sh/codex/restore-run-retry
Some checks are pending
Rust / Format (push) Waiting to run
Rust / Clippy (push) Waiting to run
Rust / Rustdoc (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
TypeScript / Typecheck (push) Waiting to run
TypeScript / Test (push) Waiting to run
TypeScript / Build (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Restore Retry for terminal runs in the web UI
2026-10-19 17:26:53 -04:00
Scott Werner
65f096b00a Restore Retry for terminal runs in the web UI 2026-10-19 13:28:44 -04:00
Scott Werner
149b240e8d
Merge pull request #1043 from fabro-sh/bot/internal-deps
Update internal dependencies
2026-10-19 12:50:08 -04:00
github-actions[bot]
e22821f37f Update internal dependencies to their current main 2026-10-18 06:44:02 +00:00
fabro-releases[bot]
5c90ad2e0c Bump version to 0.389.0-nightly.0
Some checks failed
Rust / Process titles (musl) (push) Has been cancelled
Rust / Test (Linux) (push) Has been cancelled
Rust / Sandbox providers (Docker) (push) Has been cancelled
Rust / Test (macOS) (push) Has been cancelled
Rust / Format (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Rustdoc (push) Has been cancelled
Rust / Generated Docs (push) Has been cancelled
2026-10-17 09:34:01 +00:00
github-actions[bot]
d37824413c Update internal dependencies to their current main 2026-10-17 06:44:39 +00:00
Scott Werner
b19163e4b4
Merge pull request #1042 from fabro-sh/codex/environment-resource-roundtrip
Some checks failed
Rust / Format (push) Waiting to run
Rust / Clippy (push) Waiting to run
Rust / Rustdoc (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
TypeScript / Typecheck (push) Has been cancelled
TypeScript / Test (push) Has been cancelled
TypeScript / Build (push) Has been cancelled
Preserve environment resources through editor saves
2026-10-16 15:30:27 -04:00
Scott Werner
814073f0a1 Keep resource sliders while preserving untouched settings 2026-10-16 15:18:18 -04:00
Scott Werner
79b091b035 Preserve environment resources through editor saves 2026-10-16 14:02:44 -04:00
Scott Werner
7ff4456b54
Merge pull request #1038 from fabro-sh/codex/docker-worker-cleanup
Stop retained sandboxes after abnormal worker exit
2026-10-16 13:42:42 -04:00
Scott Werner
ed1c979841
Merge pull request #1040 from fabro-sh/codex/fix-nightly-cli-failures
Preserve run IDs during redaction and bound dump test log volume
2026-10-16 11:13:38 -04:00
Scott Werner
bf1e14654c Bound dump fixture event volume and verify hydrated output 2026-10-16 08:15:34 -04:00
Scott Werner
0d7dae01f0 Preserve protected JSON fields during secret redaction 2026-10-16 08:15:34 -04:00
fabro-releases[bot]
5a3a952bed Bump version to 0.388.0-nightly.0 2026-10-16 09:36:10 +00:00
Scott Werner
e975dcffc6
Merge pull request #674 from fkukuck/feat/markdown-file-preview
Some checks are pending
Rust / Test (macOS) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
Rust / Format (push) Waiting to run
Rust / Rustdoc (push) Waiting to run
Rust / Clippy (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
TypeScript / Typecheck (push) Waiting to run
TypeScript / Build (push) Waiting to run
TypeScript / Test (push) Waiting to run
feat(web): preview Markdown run files
2026-10-15 13:58:26 -04:00
Scott Werner
e87e0df84d fix(web): show deleted Markdown files as diffs 2026-10-15 13:49:23 -04:00
Scott Werner
55d3d3dec5 Stop retained sandboxes after abnormal worker exit 2026-10-15 12:39:36 -04:00
Scott Werner
18eb72c857
Merge pull request #1036 from fabro-sh/bot/internal-deps
Update Pebble dependencies
2026-10-15 12:33:20 -04:00
Scott Werner
e78b9a0bf6
Merge branch 'main' into bot/internal-deps 2026-10-15 12:19:31 -04:00
Scott Werner
ebb1f0bbb8
Merge pull request #1035 from fabro-sh/codex/petri-skill-boundary
Preserve workflow context when expanding skills
2026-10-15 11:55:16 -04:00
fabro-releases[bot]
ae3180c320 Bump version to 0.387.0-nightly.0 2026-10-15 09:36:29 +00:00
github-actions[bot]
50cce2ceaf Update internal dependencies to their current main 2026-10-15 06:50:11 +00:00
Scott Werner
daf82929a0 Adopt Petri skill expansion boundaries 2026-10-14 17:34:34 -04:00
Scott Werner
ac84eccfcc
Merge pull request #1034 from fabro-sh/codex/run-client-headers
Some checks are pending
Rust / Clippy (push) Waiting to run
Rust / Rustdoc (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
Rust / Format (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Sandbox providers (Docker) (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
Rust / Process titles (musl) (push) Waiting to run
Restore run session headers using scoped model clients
2026-10-14 16:21:13 -04:00
Scott Werner
db7bf083cd Update lithos-llm for client-scoped headers 2026-10-14 15:38:17 -04:00
Scott Werner
c9d5db8d47
Merge pull request #1032 from fabro-sh/codex/restore-stall-watchdog
Restore graph-wide stall watchdog enforcement
2026-10-14 13:43:40 -04:00
Scott Werner
e12a6633b7 Include stall fixture in workflow inventory snapshot 2026-10-14 13:27:17 -04:00