mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-17 04:37:03 +00:00
Three correctness fixes in the Claude 5 background-agent path, plus
cleanups from a reuse/quality/efficiency review pass.
Fixes:
- Background-agent output was run through skill expansion. A child that
wrote a bare path ("cleaned up /tmp") failed the whole parent turn with
`Unknown skill: /tmp`, and a child whose output happened to name a real
skill had its report replaced by that skill's template. Synthesized
harness turns now skip expansion; only text the user typed can invoke a
skill.
- `begin_shutdown` suppressed the pending notification before deciding
whether a shutdown would happen. Stopping an agent that had just
finished rejected the stop *and* discarded the result the parent was
owed. Suppression now happens only once shutdown is committed.
- `spawn_inner` registered the notification after publishing the agent in
`state.agents`, so a concurrent `shutdown_all` in that window left a
pending entry the monitor never completes, and the parent's drain loop
would never see the queue as drained. Registration now precedes
publication.
- `TaskOutput.timeout` was declared `number` but parsed with `as_u64`, so
a schema-valid `30000.0` failed at runtime.
- Update the fabro-server alias test for the `sonnet` alias moving to
Claude Sonnet 5.
Cleanups:
- The supervisor renders the notification turn; `Session` no longer knows
the envelope format.
- Replace six near-identical prompt snapshots with a property test over
all eight conditional combinations, keeping the default and
all-conditionals snapshots for wording.
- Collapse `TodoRuntime`'s two mutexes into one.
- Read the prompt vocabulary from the registry instead of hardcoding it.
- Drop internal vocabulary from the `SendMessage` tool description.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| profiles | ||
| agent_profile.rs | ||
| apply_patch.lark | ||
| apply_patch.rs | ||
| cli.rs | ||
| compaction.rs | ||
| config.rs | ||
| context_window.rs | ||
| docker_sandbox.rs | ||
| error.rs | ||
| event.rs | ||
| file_tracker.rs | ||
| history.rs | ||
| lib.rs | ||
| local_sandbox.rs | ||
| loop_detection.rs | ||
| mcp_integration.rs | ||
| memory.rs | ||
| native_tool.rs | ||
| question_tools.rs | ||
| read_before_write_sandbox.rs | ||
| sandbox.rs | ||
| session.rs | ||
| skills.rs | ||
| subagent.rs | ||
| task_reminder.rs | ||
| test_support.rs | ||
| todo_runtime.rs | ||
| todo_tools.rs | ||
| tool_execution.rs | ||
| tool_permissions.rs | ||
| tool_registry.rs | ||
| tools.rs | ||
| truncation.rs | ||
| types.rs | ||