cli: record the frozen CLI and bridge surfaces, and close the gaps the audit found #346

Merged
natsukium merged 3 commits from issue-326-a into main 2026-09-22 19:11:07 +09:00
Owner

Part of #326: items 3, 4 and 5 of the final interface-freeze audit. Item 6 (the AttachFailure split, plus item 4's
ConnectError golden and exhaustive match) is PR B, which rebases on this branch.

Item 3 — the bridge is an explicitly smaller session-automation surface

The op set is closed to sessions.*, notifications.subscribe and cancel. That is surface policy, not a limit of the
wire, and it is now recorded as such; two things that were defects rather than policy are fixed.

  • docs/reference/cli.md "felis bridge": the closed op set, the three CLI-only verb groups (operator verbs, window
    launches, shell plumbing) and how a bridge client reaches them, and the three ops that take less than their CLI verb
    with their reasons — sessions.send's required text and absent keys/wait (additive within v:1, filed as
    #344), notifications.subscribe without once/timeout, and sessions.switch's required from and its
    queued == 0 result.
  • docs/explanation/architecture/control-surfaces.md: the rationale and the rejected complete mirror (process-lifecycle
    verbs behind a correlated stream, and a bridge twin for every operator verb).
  • skills/felis/SKILL.md: the CLI-only groups in the bridge bullet.
  • crates/felis-cli/src/cli_bridge.rs op_send: the comment claiming a chord needs client-side keyboard modes is
    false (the daemon encodes InputMsg::Key against the modes it owns) and is replaced by the policy.
  • Fix: op_spawn now fills SpawnArgs.env_base for a local carrier (env_base::fill_for_carrier), as
    cli_sessions.rs does; a bridge-created child inherited the daemon's environment, against REQ-912a. Unit test: a
    local spawn carries a captured base, a relay spawn none.
  • Fix: rows/cols parse at the wire's u32 width instead of u16, so a geometry past the REQ-605a bounds is the
    daemon's invalid_request on both surfaces rather than malformed_request on the bridge alone. The stale u16_opt
    comment (a terminal anchor failure OpsMsg::Spawn no longer has) is gone, felis-bridge-v1.schema.json is
    regenerated, the live-bridge test covers a value above u16::MAX, and the schema fixture moves to req-rows-above-u32.

Item 4 — one vocabulary, one error object, two transports: frozen

  • docs/reference/cli.md "Machine output": what is frozen for the epoch (the two format words and their class binding,
    the error object shape, the kind spellings with their exit codes, the two transports) and the boundaries — framing
    begins after a successful parse, a clap rejection stays human on stderr at exit 2, bridge shape failures are
    correlated whenever a valid id was recovered. The exit-code table's felis bridge row gains the initial
    at_capacity dial refusal beside its own pipe failure.
  • docs/explanation/architecture/control-surfaces.md "Frozen for v:1": why the transports follow from the process
    model, the rejected unification in both directions, and #23 / #29 / #145 cited once.
  • Framing audit (code): every ? whose error reached main on a machine-formatted verb now goes through the verb's
    Reporter — resolve_config_source (usage), the dial (daemon_unreachable), build_runtime (internal), the
    verb bodies (internal), and sessions send ID -'s stdin read (input_failed). One verb_reporter now decides
    class and format for the whole invocation, which is also what makes Cli::machine_output() cover Cmd::Version.
    cli_sessions::plan no longer returns Result because nothing in it can escape unframed.
  • Integration test (crates/felis-cli/tests/cli_sessions.rs): one JSON error object on stderr, no stdout, exit 2, for
    an unresolvable --config under --format json and for sessions send ID - --format json with an unreadable stdin.

Item 5 — sessions send stays one typed operation

  • docs/explanation/architecture/control-surfaces.md: the decision, the wait race that rejects a separate wait verb,
    why a separate key verb has no race (and what keeps --key on send), and the rule that no new flag may depend on
    another — anything else is a new verb.
  • docs/reference/cli.md "Verb details": the three constraints stated as the whole grammar, "at least one of TEXT /
    --key / --wait" included.
  • crates/felis-cli/src/tests.rs: one parser table over all three constraints both ways (rejected bare send ID,
    --timeout without --wait, --raw without TEXT; accepted key-only, wait-only, --wait --timeout N, TEXT with
    --raw).

CHANGELOG.md carries the two bridge fixes and the framing fix.

Gates

Run on this branch (macOS, worktree under .claude/worktrees/):

  • just fmt-check, just lint, just check-portable, just prose-check, just skill-check, just docs-links,
    just deny, just proto-compat, just proto-compat-test, just release-check-test: pass.
  • just schema: no diff remains.
  • cargo nextest run --workspace --all-features --no-fail-fast: 3407 passed, 5 failures, all pre-existing local
    environment failures from the socket path length in a deep worktree (verified against a clean tree):
    cli_bridge a_lost_daemon_answers_pending_point_requests_with_error_replies,
    cli_bridge a_relative_spawn_cwd_is_resolved_from_the_bridge_process,
    cli_bridge::tests::a_daemon_write_failure_fails_and_clears_the_link (timeout),
    felis-daemon agent::tests::a_racing_teardown_never_strands_a_live_registration,
    felis-daemon serve::tests::a_peer_that_hangs_up_while_parked_gives_its_connection_back.
  • just golden was not run (bridge fixtures pick up environment noise on this machine); no golden file needed a change.
Part of #326: items 3, 4 and 5 of the final interface-freeze audit. Item 6 (the `AttachFailure` split, plus item 4's `ConnectError` golden and exhaustive match) is PR B, which rebases on this branch. ## Item 3 — the bridge is an explicitly smaller session-automation surface The op set is closed to `sessions.*`, `notifications.subscribe` and `cancel`. That is surface policy, not a limit of the wire, and it is now recorded as such; two things that were defects rather than policy are fixed. - `docs/reference/cli.md` "`felis bridge`": the closed op set, the three CLI-only verb groups (operator verbs, window launches, shell plumbing) and how a bridge client reaches them, and the three ops that take less than their CLI verb with their reasons — `sessions.send`'s required `text` and absent `keys`/`wait` (additive within `v:1`, filed as #344), `notifications.subscribe` without `once`/`timeout`, and `sessions.switch`'s required `from` and its `queued == 0` result. - `docs/explanation/architecture/control-surfaces.md`: the rationale and the rejected complete mirror (process-lifecycle verbs behind a correlated stream, and a bridge twin for every operator verb). - `skills/felis/SKILL.md`: the CLI-only groups in the bridge bullet. - `crates/felis-cli/src/cli_bridge.rs` `op_send`: the comment claiming a chord needs client-side keyboard modes is false (the daemon encodes `InputMsg::Key` against the modes it owns) and is replaced by the policy. - **Fix**: `op_spawn` now fills `SpawnArgs.env_base` for a local carrier (`env_base::fill_for_carrier`), as `cli_sessions.rs` does; a bridge-created child inherited the daemon's environment, against REQ-912a. Unit test: a local spawn carries a captured base, a relay spawn none. - **Fix**: `rows`/`cols` parse at the wire's `u32` width instead of `u16`, so a geometry past the REQ-605a bounds is the daemon's `invalid_request` on both surfaces rather than `malformed_request` on the bridge alone. The stale `u16_opt` comment (a terminal anchor failure `OpsMsg::Spawn` no longer has) is gone, `felis-bridge-v1.schema.json` is regenerated, the live-bridge test covers a value above `u16::MAX`, and the schema fixture moves to `req-rows-above-u32`. ## Item 4 — one vocabulary, one error object, two transports: frozen - `docs/reference/cli.md` "Machine output": what is frozen for the epoch (the two format words and their class binding, the error object shape, the `kind` spellings with their exit codes, the two transports) and the boundaries — framing begins after a successful parse, a clap rejection stays human on stderr at exit `2`, bridge shape failures are correlated whenever a valid `id` was recovered. The exit-code table's `felis bridge` row gains the initial `at_capacity` dial refusal beside its own pipe failure. - `docs/explanation/architecture/control-surfaces.md` "Frozen for `v:1`": why the transports follow from the process model, the rejected unification in both directions, and #23 / #29 / #145 cited once. - **Framing audit (code)**: every `?` whose error reached `main` on a machine-formatted verb now goes through the verb's `Reporter` — `resolve_config_source` (`usage`), the dial (`daemon_unreachable`), `build_runtime` (`internal`), the verb bodies (`internal`), and `sessions send ID -`'s stdin read (`input_failed`). One `verb_reporter` now decides class and format for the whole invocation, which is also what makes `Cli::machine_output()` cover `Cmd::Version`. `cli_sessions::plan` no longer returns `Result` because nothing in it can escape unframed. - Integration test (`crates/felis-cli/tests/cli_sessions.rs`): one JSON error object on stderr, no stdout, exit `2`, for an unresolvable `--config` under `--format json` and for `sessions send ID - --format json` with an unreadable stdin. ## Item 5 — `sessions send` stays one typed operation - `docs/explanation/architecture/control-surfaces.md`: the decision, the wait race that rejects a separate `wait` verb, why a separate `key` verb has no race (and what keeps `--key` on `send`), and the rule that no new flag may depend on another — anything else is a new verb. - `docs/reference/cli.md` "Verb details": the three constraints stated as the whole grammar, "at least one of TEXT / `--key` / `--wait`" included. - `crates/felis-cli/src/tests.rs`: one parser table over all three constraints both ways (rejected bare `send ID`, `--timeout` without `--wait`, `--raw` without TEXT; accepted key-only, wait-only, `--wait --timeout N`, TEXT with `--raw`). `CHANGELOG.md` carries the two bridge fixes and the framing fix. ## Gates Run on this branch (macOS, worktree under `.claude/worktrees/`): - `just fmt-check`, `just lint`, `just check-portable`, `just prose-check`, `just skill-check`, `just docs-links`, `just deny`, `just proto-compat`, `just proto-compat-test`, `just release-check-test`: pass. - `just schema`: no diff remains. - `cargo nextest run --workspace --all-features --no-fail-fast`: 3407 passed, 5 failures, all pre-existing local environment failures from the socket path length in a deep worktree (verified against a clean tree): `cli_bridge a_lost_daemon_answers_pending_point_requests_with_error_replies`, `cli_bridge a_relative_spawn_cwd_is_resolved_from_the_bridge_process`, `cli_bridge::tests::a_daemon_write_failure_fails_and_clears_the_link` (timeout), `felis-daemon agent::tests::a_racing_teardown_never_strands_a_live_registration`, `felis-daemon serve::tests::a_peer_that_hangs_up_while_parked_gives_its_connection_back`. - `just golden` was not run (bridge fixtures pick up environment noise on this machine); no golden file needed a change.
The bridge exposes session automation and nothing else, and that was
readable only as an absence: the reference listed its ops without saying
the set was closed, and the one comment that explained a gap was wrong
(a chord needs no client-side keyboard modes, since the daemon encodes
`InputMsg::Key` against the modes it owns). Recording the policy is what
makes the two intra-op gaps reviewable instead of looking like arrears,
and `keys` / `wait` on `sessions.send` stay additive params (#344).

Two gaps were not policy. A bridge-created child inherited the daemon's
environment, which on a warm daemon is whatever it was started with,
because `op_spawn` never captured a base the way `sessions spawn` does
(REQ-912a). And the bridge narrowed `rows`/`cols` to `u16` while the CLI
sends the wire's `u32`, so one geometry was `malformed_request` on one
surface and `invalid_request` on the other; the comment justifying the
narrowing described a terminal anchor failure that `OpsMsg::Spawn` has
not had since it became a correlated reusable request. Admission is the
daemon's on both surfaces now, and the published grammar states the
wire's bound.

Part of #326.

Assisted-by: Claude Code
A verb that has chosen `json` owes a consumer an object for every
failure, and four escapes broke that on the way to the verb body: the
config-path resolution, the daemon target, the runtime build, and the
stdin read behind `sessions send <id> -` all reached `main` as `anyhow`
prose on stderr with exit `1`, a status the kind table never assigns.
Routing each through the verb's own reporter is what makes the promise
checkable, so one reporter now decides class and format for the whole
invocation instead of each refusal site building its own; `version` was
missing from the machine-output test as well, so a `--format json`
version report carried the console log.

The freeze statement lands with the fix rather than after it: the
epoch's words, error object, kind spellings with their exit codes, and
the two transports are what a consumer is now asked to build on, and
the bridge's exit `1` covers a refused first dial beside its own pipe
failure.

Part of #326.

Assisted-by: Claude Code
cli: freeze the send grammar at three constraints
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m7s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m18s
pr / nix flake check (pull_request) Successful in 50s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 51s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m59s
pr / wire schema is compatible with the base (pull_request) Successful in 10s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m5s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
a53badd5ff
`sessions send` is one operation — deliver this input, then optionally
await the next prompt mark — and splitting it into `send` / `key` /
`wait` verbs is what the tests now rule out: a standalone `wait` races
the mark of a fast command, and a standalone `key` costs a second
resolution of the same target for an ordering one call already states.
Two of the three constraints had no parser test, so the grammar the
freeze names could have drifted silently; the rule that keeps it small
is that no new flag may depend on another, and anything else is a new
verb.

Part of #326.

Assisted-by: Claude Code
natsukium force-pushed issue-326-a from a53badd5ff
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m7s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m18s
pr / nix flake check (pull_request) Successful in 50s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 51s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m59s
pr / wire schema is compatible with the base (pull_request) Successful in 10s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m5s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
to 81f5f613dc
Some checks failed
darwin / darwin docs-only no-op (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m16s
darwin / detect relevant changes (pull_request) Successful in 5s
darwin / build felis (aarch64-darwin) (pull_request) Has been cancelled
fuzz / cargo fuzz smoke (per target) (pull_request) Has been cancelled
pr / nix flake check (pull_request) Has been cancelled
pr / cargo build / clippy / test / deny (pull_request) Has been cancelled
pr / wire schema is compatible with the base (pull_request) Has been cancelled
pr / frontend smoke (x86_64-linux) (pull_request) Has been cancelled
pr / publish felis (x86_64-linux) (pull_request) Has been cancelled
windows / detect relevant changes (pull_request) Has been cancelled
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / windows docs-only no-op (pull_request) Has been cancelled
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
2026-09-22 15:41:09 +09:00
Compare
natsukium force-pushed issue-326-a from 81f5f613dc
Some checks failed
darwin / darwin docs-only no-op (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m16s
darwin / detect relevant changes (pull_request) Successful in 5s
darwin / build felis (aarch64-darwin) (pull_request) Has been cancelled
fuzz / cargo fuzz smoke (per target) (pull_request) Has been cancelled
pr / nix flake check (pull_request) Has been cancelled
pr / cargo build / clippy / test / deny (pull_request) Has been cancelled
pr / wire schema is compatible with the base (pull_request) Has been cancelled
pr / frontend smoke (x86_64-linux) (pull_request) Has been cancelled
pr / publish felis (x86_64-linux) (pull_request) Has been cancelled
windows / detect relevant changes (pull_request) Has been cancelled
windows / cargo clippy (Windows cross) (pull_request) Has been cancelled
windows / cargo nextest (Windows) (pull_request) Has been cancelled
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
windows / windows docs-only no-op (pull_request) Has been cancelled
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
to cbb992d4ea
Some checks failed
bench / Criterion regression gate (pull_request) Failing after 2m11s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m19s
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
pr / nix flake check (pull_request) Failing after 24s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m57s
windows / detect relevant changes (pull_request) Successful in 16s
windows / windows docs-only no-op (pull_request) Has been skipped
pr / wire schema is compatible with the base (pull_request) Successful in 10s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m12s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
windows / cargo nextest (Windows) (pull_request) Successful in 5m17s
windows / frontend smoke (Windows) (pull_request) Successful in 1m47s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
2026-09-22 15:46:24 +09:00
Compare
natsukium force-pushed issue-326-a from cbb992d4ea
Some checks failed
bench / Criterion regression gate (pull_request) Failing after 2m11s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m19s
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
pr / nix flake check (pull_request) Failing after 24s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m57s
windows / detect relevant changes (pull_request) Successful in 16s
windows / windows docs-only no-op (pull_request) Has been skipped
pr / wire schema is compatible with the base (pull_request) Successful in 10s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m12s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
windows / cargo nextest (Windows) (pull_request) Successful in 5m17s
windows / frontend smoke (Windows) (pull_request) Successful in 1m47s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
to c037424102
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m13s
bench / Criterion regression gate (pull_request) Failing after 2m8s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m47s
pr / wire schema is compatible with the base (pull_request) Successful in 9s
pr / nix flake check (pull_request) Successful in 34s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 57s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Has started running
windows / cargo clippy (Windows cross) (pull_request) Successful in 12s
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
2026-09-22 16:15:43 +09:00
Compare
natsukium force-pushed issue-326-a from c037424102
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m13s
bench / Criterion regression gate (pull_request) Failing after 2m8s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m47s
pr / wire schema is compatible with the base (pull_request) Successful in 9s
pr / nix flake check (pull_request) Successful in 34s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 57s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Has started running
windows / cargo clippy (Windows cross) (pull_request) Successful in 12s
windows / frontend smoke (Windows) (pull_request) Has been cancelled
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been cancelled
to 99be731feb
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 4s
windows / detect relevant changes (pull_request) Successful in 4s
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m7s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m9s
pr / nix flake check (pull_request) Successful in 34s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m57s
pr / wire schema is compatible with the base (pull_request) Successful in 9s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m5s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 16s
windows / cargo nextest (Windows) (pull_request) Failing after 46s
windows / frontend smoke (Windows) (pull_request) Has been skipped
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
2026-09-22 16:45:37 +09:00
Compare
natsukium force-pushed issue-326-a from 99be731feb
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 4s
windows / detect relevant changes (pull_request) Successful in 4s
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m7s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m9s
pr / nix flake check (pull_request) Successful in 34s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m57s
pr / wire schema is compatible with the base (pull_request) Successful in 9s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m5s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 16s
windows / cargo nextest (Windows) (pull_request) Failing after 46s
windows / frontend smoke (Windows) (pull_request) Has been skipped
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
to 94b31a1e80
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 8s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m41s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 7s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
bench / Criterion regression gate (pull_request) Failing after 2m2s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 14s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m5s
pr / wire schema is compatible with the base (pull_request) Successful in 10s
windows / cargo clippy (Windows cross) (pull_request) Successful in 12s
windows / cargo nextest (Windows) (pull_request) Successful in 3m56s
windows / frontend smoke (Windows) (pull_request) Successful in 1m31s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
2026-09-22 17:36:42 +09:00
Compare
ci: TEMPORARY clear the Windows build dir once and retry (drop before merge)
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m5s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m7s
pr / nix flake check (pull_request) Successful in 27s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 53s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m40s
pr / wire schema is compatible with the base (pull_request) Successful in 11s
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 12s
windows / cargo nextest (Windows) (pull_request) Failing after 55s
windows / frontend smoke (Windows) (pull_request) Has been skipped
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
8d249a73f2
Assisted-by: Claude Code
natsukium force-pushed issue-326-a from 8d249a73f2
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m5s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 50s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m7s
pr / nix flake check (pull_request) Successful in 27s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 53s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m40s
pr / wire schema is compatible with the base (pull_request) Successful in 11s
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 12s
windows / cargo nextest (Windows) (pull_request) Failing after 55s
windows / frontend smoke (Windows) (pull_request) Has been skipped
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
to 75a9cfc5bb
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m4s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 51s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m7s
pr / nix flake check (pull_request) Successful in 26s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m40s
pr / wire schema is compatible with the base (pull_request) Successful in 10s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 54s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Successful in 5m33s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 13s
windows / frontend smoke (Windows) (pull_request) Successful in 5m52s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
2026-09-22 18:22:03 +09:00
Compare
natsukium force-pushed issue-326-a from 75a9cfc5bb
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 2m4s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 51s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m7s
pr / nix flake check (pull_request) Successful in 26s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m40s
pr / wire schema is compatible with the base (pull_request) Successful in 10s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 54s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Successful in 5m33s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 13s
windows / frontend smoke (Windows) (pull_request) Successful in 5m52s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
to 94b31a1e80
Some checks failed
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 8s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m41s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 7s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
bench / Criterion regression gate (pull_request) Failing after 2m2s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 14s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m5s
pr / wire schema is compatible with the base (pull_request) Successful in 10s
windows / cargo clippy (Windows cross) (pull_request) Successful in 12s
windows / cargo nextest (Windows) (pull_request) Successful in 3m56s
windows / frontend smoke (Windows) (pull_request) Successful in 1m31s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
2026-09-22 18:48:17 +09:00
Compare
natsukium deleted branch issue-326-a 2026-09-22 19:11:07 +09:00
Commenting is not possible because the repository is archived.
No description provided.