* fix(mcp): surface BFL 5 kap 6 § underlag requirements in voucher and transaction tooling
Addresses a user report that the MCP surface treats document anchoring as
optional convenience while the law treats it as mandatory:
- create_voucher: description and inbox_item_id reframed as the compliant
path for received handlingar; staging without a document now carries an
advisory compliance_warning in the preview and a WARNING in the message
(never blocks: IB/migration vouchers legitimately lack a kvitto).
- High-risk approval guidance now tells the agent to surface any preview
compliance_warning alongside the 5 kap 5 § irreversibility.
- Approval-flow copy is scope-aware: staging responses and
list_pending_operations explain that keys without
pending_operations:approve (SoD) approve at /pending instead of hunting
for a tool their catalog hides.
- categorize/create/bulk_book transactions: state that a transaction models
a cash-account movement and point cashless events (privat utlagg) at
create_voucher instead of silently fabricating a bank line.
- link_document_to_voucher: signposts the pre-posting inbox path.
- /pending VoucherPreview shows an attn line when document_attached=false.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(mcp): entity-neutral utlagg hint, coherent no-document envelope, real attn styling
Addresses the skeptic refutations on da811a58f:
- categorize_transaction: drop the 6540/2893 example; 2893 is AB-only
(EF books egen insattning 2013/2018 per category-mapping.ts) and a
static description cannot know the entity type.
- create_voucher: when inbox_item_id is supplied but the item has no
stored document (document_id NULL, ON DELETE SET NULL), the will-text
no longer claims an OCR attach and the compliance warning gets an
inbox variant instead of a dead-end 'restage with inbox_item_id'.
Pinned by a new test.
- /pending VoucherPreview: use the AttnLine component (the bare 'attn'
class does not exist) and conditional wording so IB/internal vouchers
are not falsely flagged under BFL 5 kap 6 \u00a7.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(mcp): exempt IB vouchers from the underlag warning; UI mirrors the staged warning
Swedish accounting review round 2: the warning keyed off document_attached
alone, so migrated IB entries (and the /pending card for any old no-document
row) were falsely flagged under BFL 5 kap 6 \u00a7. Staging now skips the
complianceNote when is_opening_balance=true, and VoucherPreview gates on the
staged compliance_warning instead of overloading document_attached, so the
server owns the policy in one place. Pinned by a new IB test.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(mcp): trim two descriptions to fit the tools/list payload ceiling after merging main
PR #1846 spent the 59,950 headroom; the merged state crossed by 7 tokens.
Dropped the redundant filter enumeration from list_pending_operations (the
schema documents the filters) and the dims-bags aside from
bulk_book_transactions (the lines schema documents the bags).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>