fabro/lib/apps/fabro-cli/src
Bryan Helmkamp 223e10ea20
Install Petri's interview, secret, blob and home adapters in a Fabro run
A Petri run in the worker, and in the server under its test override, now
gets Fabro's platform adapters instead of the standalone defaults:

- `fabro_petri::interview`: Petri's `Interviewer` over the questions API
  and the worker's control channel. A human gate's question is posted as
  the `interview.started` event a legacy stage emits, keyed by an id
  derived from Petri's identity (node, execution, firing, occurrence,
  ask), so the API, the web app and Slack list it; the answer posted to
  the questions endpoint reaches the control interviewer the adapter waits
  on and is mapped onto Petri's answer. An expiry the gate reports is
  completed as `interview.timeout`, a cancel as `interview.interrupted`,
  and an auto-approved run answers itself. The hook points the read side
  takes over are marked.
- `fabro_petri::secrets`: Petri's `SecretProvider` over the vault's token
  entries, so `{{ secrets.NAME }}` resolves at spawn and is masked in every
  record; a sensitive answer registers as a dynamic secret.
- `fabro_petri::blobs`: Petri's `OutputStore` over Fabro's `blobs` table,
  through the server's blob store or the worker's client.
- The Fabro home the server resolved travels to the worker as
  `--fabro-home`, so the skills step reads it whatever the worker's
  environment says.

`engine::RunRequest` takes the interviewer, its observers, the secret
provider and the blob table from the caller; `interviewer::Unattended` is
gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 22:31:35 -04:00
..
commands Install Petri's interview, secret, blob and home adapters in a Fabro run 2026-09-17 22:31:35 -04:00
shared Carry usage as lithos-llm's Usage and rename billing to usage 2026-09-14 12:31:34 -06:00
sleep_inhibitor refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
args.rs Install Petri's interview, secret, blob and home adapters in a Fabro run 2026-09-17 22:31:35 -04:00
command_context.rs Implement the lithos CredentialProvider trait directly 2026-09-10 09:16:39 -06:00
gh.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
landing.rs Create CLI runs from immutable workflow intents 2026-09-01 16:14:34 -04:00
local_server.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
logging.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
main.rs Carry usage as lithos-llm's Usage and rename billing to usage 2026-09-14 12:31:34 -06:00
manifest_args.rs Simplify the CLI run-intent create path 2026-09-01 16:14:34 -04:00
server_client.rs fix(cli): raise doctor health check timeout to 1s 2026-08-04 16:43:42 +01:00
server_runs.rs Carry usage as lithos-llm's Usage and rename billing to usage 2026-09-14 12:31:34 -06:00
user_config.rs Use async reads during CLI intent preparation 2026-09-02 13:44:33 -04:00