Dark-Alex-17
|
0c4d0d777c
|
feat(TASK-034): hook dispatch engine in src/hooks.rs
- HookEvent (22 dotted variants) + owned ResolvedHook snapshots
- RequestContext::resolved_hooks: global (gated by agent global_hooks)
-> role (additive) -> agent precedence; per-scope cwds; unknown
whitelist entries inert + debug-logged with agent name
- fire/fire_resolved: fire-and-forget detached dispatch via platform
shell (sh -c / cmd /C raw_arg), null stdio, fresh unix process group,
reap-only await, no-runtime guard (skip + debug, never panic)
- tool.* payload files: crypto-random nonce, create_new + 0600, verbatim
JSON, best-effort delete after reap, hook still runs on write failure
- base env (COYOTE_EVENT/HOOK_NAME/CONFIG_DIR/EVENT_TIMESTAMP RFC3339
UTC, SESSION_ID/AGENT_NAME when present) + per-event extras; every
value truncated engine-side to 2048 bytes (UTF-8-safe; payload path
documented exempt)
- drain_pending(timeout): opt-in exit-path seam with spawn-ack
semantics (Drop-guard counter; never waits for child completion)
- #[cfg(test)] synchronous capture sink (records instead of spawning)
+ hooks-scoped debug capture in src/testing.rs (poison-proof,
boundary-aware target prefix)
- Agent::hooks()/global_hooks() accessors; Role::hooks() dead_code
marker removed
Engine compiles unused by design; call sites land in TASK-035/036/037.
|
2026-09-16 13:44:34 -06:00 |
|
Dark-Alex-17
|
80ace77e44
|
feat(TASK-016): engine + test fixes from the Phase-1 re-review
- warn-per-retry test via shared test-only WarnCollector (src/testing.rs)
- extraction-placement test: extraction failures are never retried
- is_transient_error: typed reqwest/Elapsed pre-check + anchored 429 matchers
- outcome_from docstring corrected; validator warning for
fallback+output_schema without state_updates (llm + agent)
- validator error for max_attempts == 0 (llm + agent); runtime backstop kept
- nits: generalized branch-escape error text, Continue payload comment,
BFS test assignments assert, node_id threaded into AgentNodeExecutor warns
- bundled-graph warning baseline records 3 true-positive step-runner nodes
(orient, edge_case_sweep, write_handoff) pending state_updates there
|
2026-09-14 10:50:33 -06:00 |
|