FN-5655: add goal anchoring audit events across lanes
Add audit guardrails that track goal anchoring injection across executor, heartbeat, and CLI/dashboard surfaces. - add a dedicated engine goal-anchoring audit emitter and export it - emit goal anchoring audit events from executor and heartbeat goal-context injection paths - extend run-audit wiring and CLI extension output to surface goal anchoring events - add engine, CLI, and dashboard regression tests for goal-tool and audit event behavior - document the new audit coverage and include a published changeset entry Files changed: .changeset/fn-5655-goal-anchoring-audit.md | 7 ++ docs/architecture.md | 1 + docs/dashboard-guide.md | 1 + .../__tests__/extension-goal-tools-audit.test.ts | 65 +++++++++++++++ packages/cli/src/extension.ts | 28 +++++++ .../__tests__/routes-run-audit-goal-events.test.ts | 72 ++++++++++++++++ .../src/__tests__/goal-anchoring-audit.test.ts | 95 ++++++++++++++++++++++ packages/engine/src/agent-heartbeat.ts | 20 +++-- packages/engine/src/executor.ts | 20 +++-- packages/engine/src/goal-anchoring-audit.ts | 89 ++++++++++++++++++++ packages/engine/src/index.ts | 10 +++ packages/engine/src/run-audit.ts | 6 +- 12 files changed, 399 insertions(+), 15 deletions(-) Fusion-Task-Id: FN-5655 Fusion-Task-Lineage: f3c10568-4050-42c4-9fe2-b84bf749b89d
This commit is contained in:
7
.changeset/fn-5655-goal-anchoring-audit.md
Normal file
7
.changeset/fn-5655-goal-anchoring-audit.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"@runfusion/fusion": minor
|
||||
---
|
||||
|
||||
Adds goal-anchoring run-audit observability for Slice 2 hybrid anchoring with three `database` mutation types: `goal:injection-applied`, `goal:injection-skipped`, and `goal:retrieval-invoked`.
|
||||
|
||||
Events carry count-only metadata contracts (`count`, plus `lane` for injection and `toolName` for retrieval, with optional `truncated`/`reason`/`notFound`) and avoid prompt bodies or goal title/description payloads. These events are available through the existing `GET /api/agents/:id/runs/:runId/audit` timeline route with standard date-range filtering via `startTime`/`endTime`.
|
||||
Reference in New Issue
Block a user