The AI orchestration layer of the PM module — PMAgentBridge builds contextual prompts with CLAUDE.md injection, architecture index, git history, and agent memory. Structured output v1 JSON, smart retry with failure learning, cross-project knowledge via SharedContextStore, PMAgent's 9 tools including Intent Mode (natural language → project plan), and deterministic auto-retrospectives.
How the PM module evolved from a task tracker to an AI-native orchestration platform — 6 database tables with dual-status design, DAG-aware dependencies with DFS cycle detection, multi-agent pipelines with conditional stages and loop-to review cycles, parallel wave execution via curl_multi, budget enforcement, Intent Mode for natural language decomposition, and a 3-column SPA dashboard with SSE streaming and timeline view.
A legal case management module designed chat-first — lawyers talk to MojOdvjetnikAgent instead of clicking forms. 9 tables covering cases, parties, documents, time tracking, and expenses. 8 AI tools including InvoiceBridgeTool for billing tracked hours as fiscal invoices. GDPR with OIB encryption, soft delete with 10-year retention per Zakon o odvjetništvu, and deadline alerts at 3 days ahead.
The largest module in the platform — 29 database tables, 37 controllers, HSFI-compliant double-entry bookkeeping, and 7 AI agents that propose journal entries but never post without approval. How KnjigAgent queries ledgers and proposes bookings, InvoiceAgent auto-processes incoming PDFs, and the fiskalizacija event bridge auto-creates journal entries from fiscal invoices.
The automation layer of Croatian fiscal invoicing — recurring billing that generates DRAFT invoices at 06:00, a 3-level dunning system (7/14/28 days), e-Račun B2B/B2G via FINA OAuth2 with UBL 2.1 XML, and 5 AI agents sharing 18 tools (FiskAgent has 9: query_clients, query_invoices, create_invoice, create_storno, send_invoice_email, get_revenue_stats, check_invoice_status, record_payment, ocr_invoice_draft) for natural language invoicing. Plus: how shim models let agents query fiskmkv data and wh
How Croatian fiscalization works under the hood — ZKI generation via MD5(RSA-SHA1 signature) with exact field concatenation order, CIS SOAP submission with enveloped XML-DSig signing, PKCS12 certificate encryption with AES-256-CBC at rest, the FINA RDC CA bundle problem, naknadna dostava retry logic with a 48-hour legal deadline, and a pure PHP QR code generator that outputs SVG.
How fiskmkv provides shared companies, partners, and products as single-source-of-truth catalogs for fiskalizacija, mojknjigvodja, and mojodvjetnik. TenantMiddleware (priority 36) and CompanyMiddleware (priority 37) enforce multi-tenant scoping, the shim model pattern lets modules read fiskmkv tables without owning them, and CSV/XLSX import with Pantheon ERP mapping handles 40+ product columns.