feat(bookkeeping): show who committed a verifikat, and mark agent work in Granskning history (#1591)

Flows build plan prereq 3 (provenance display). Pure UI over columns that
have existed since migration 20260619120000:

- types: JournalEntry gains committed_actor_type/committed_actor_label
  (the detail/chain APIs already select('*'), the type just lacked them)
- voucher detail: new "Bokford av" row in the Details card, derived from
  actor type + credential label, with the Bot mark for non-user actors
- Granskning Historik rows get the same actor circle pending rows have
  (Bot vs ClipboardCheck) so agent-originated history reads at a glance
- run-turn: correct the staged_operation params comment (tool-use input
  is a superset of pending_operations.params, not the same values)

Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-08-13 17:01:15 +02:00
committed by GitHub
co-authored by Jakob Wennberg Claude Fable 5
parent 857dd575d0
commit 7881f757a9
7 changed files with 74 additions and 4 deletions
+7
View File
@@ -1789,6 +1789,13 @@ export interface JournalEntry {
attachment_urls: string[] | null
notes: string | null
commit_method: string | null
// WHO relayed the commit; complements commit_method = HOW. Stamped at
// commit time since migration 20260619120000. actor_type is NULL or one of
// 'user' | 'api_key' | 'mcp_oauth' | 'cron' | 'system' | 'agent_chat'
// (the DB CHECK is the authority); actor_label is a credential snapshot
// (e.g. the API key name).
committed_actor_type: string | null
committed_actor_label: string | null
rubric_version: string | null
source_voucher_series: string | null
source_voucher_number: number | null