{"version":3,"source":"src/Test/DmcTestCatalog.php v3 via qa/testplan.html","modules":[["Tier 1 — core CRM (zilnic)",["Accounts","Contacts","Leads","Opportunities","Calls","Meetings","Tasks","Notes","Emails"]],["Tier 2 — documente vânzări / order mgmt",["Quotes*","Invoice*","SalesOrders*","PurchaseOrders*","CreditNotes*","Payments","Receiving","Shipping","ProductCatalog","ProductCategories","SerialNumbers","Subscriptions"]],["Tier 3 — service / proiect",["Cases","Bugs","KBArticles","Project","ProjectTask","Timesheets","ExpenseReports"]],["Tier 4 — marketing / inventar / alte",["Campaigns","Prospects","Partners","Documents","Assets"]]],"cats":[["LIST",10],["VIEWS",10],["FILTER",11],["REPORT",16],["CRUD",8],["INLINE",4],["VALID",8],["LAYOUT",10],["SUB",10],["MASS",3],["ACL",5],["IO",4],["XC",8],["LINE",4]],"cattitle":{"LIST":"List View","VIEWS":"Saved Views & Columns","FILTER":"Filters","REPORT":"Reports","CRUD":"Record CRUD","INLINE":"Inline Editing","VALID":"Validation & Fields","LAYOUT":"Layout Editing","SUB":"Subpanels","MASS":"Mass Operations","ACL":"Permissions / ACL","IO":"Import / Export / Print","XC":"Cross-cutting & Views","LINE":"Line Items (tally)"},"tmpl":[["LIST-01","LIST","auto","critical","smoke","List loads with rows + total","GET data/{model}?limit=50","HTTP 200, total_results>0, rows returned"],["LIST-02","LIST","auto","high","","Pagination block fetch","GET data/{model}?limit=50&offset=50","Distinct second page, no dupes/gaps"],["LIST-03","LIST","auto","normal","","Page size persists","PUT prefs/listpagesize {value:100}","Pref stored and read back = 100"],["LIST-04","LIST","auto","normal","","Per-column sort persists","PUT prefs/listsort:{module}","Sorted results + pref persisted"],["LIST-05","LIST","manual","normal","","Column resize persists","Drag column border","Widths saved; restore on reload"],["LIST-06","LIST","auto","normal","","Default columns = layout meta","Compare grid cols to meta/list_view/{model}/default","Columns match layout when no override"],["LIST-07","LIST","manual","normal","","Row click-through to detail","Click a row","Navigates to record detail"],["LIST-08","LIST","auto","normal","","Favorites star toggle","POST data/favorites/{model}/{id}","Star flips; filter_favorites=1 includes it"],["LIST-09","LIST","auto","high","smoke","\"+ New\" opens create form","Route /m/{module}/new","Empty validated create form"],["LIST-10","LIST","auto","normal","","CSV export of current view","GET data/list/mass_update/run/{model}","CSV stream: header + rows matching filters"],["VIEWS-01","VIEWS","auto","high","smoke","Tabs = 1CRM layouts","GET meta/list_view/{model}/{layout}","A tab per layout; switching re-queries"],["VIEWS-02","VIEWS","auto","high","","Switch tab re-runs query","Click a saved-search tab","List reloads under that layout"],["VIEWS-03","VIEWS","auto","high","smoke","Create \"Save view as\"","PUT prefs/listview:{module}","Named view stored in listview map"],["VIEWS-04","VIEWS","auto","normal","","Apply a saved view","applyView(name)","cols/filters/filterSet/viewClosed restored"],["VIEWS-05","VIEWS","auto","normal","","Rename a saved view","Re-PUT map with new key","New name present, old removed"],["VIEWS-06","VIEWS","auto","normal","","Delete a saved view","deleteView → re-PUT","Key removed from listview map"],["VIEWS-07","VIEWS","auto","high","smoke","Columns chooser show/hide","FieldChooser → PUT prefs/listcols","Hidden col drops; listcols = visible set"],["VIEWS-08","VIEWS","manual","normal","","Reorder columns (drag)","Drag in FieldChooser","Grid order = chooser order"],["VIEWS-09","VIEWS","auto","normal","","Column set persists across reload","Reload after VIEWS-07","listcols restored"],["VIEWS-10","VIEWS","auto","normal","","Sort saved alongside columns","Chooser sort → PUT prefs/listsort","Sort persisted with columns"],["FILTER-01","FILTER","auto","high","smoke","Legal-filter list resolves","schema_modules.filters","Matches known legal set"],["FILTER-02","FILTER","auto","critical","smoke","Single text/enum filter == SQL","GET data/{model}?filters[f]=v vs SQL","API count == DB count"],["FILTER-03","FILTER","auto","critical","smoke","Multi-filter AND == SQL","Two legal filters vs SQL AND","API count == DB AND count"],["FILTER-04","FILTER","auto","normal","","Numeric filter silently ignored (tally)","filters[amount]=1 vs SQL","API == unfiltered total (IGNORED quirk)"],["FILTER-05","FILTER","auto","normal","","Custom field folds to text","custom field → filter_text","INFO: folded free-text search"],["FILTER-06","FILTER","auto","high","smoke","Illegal filter rejected 422","GET filters[__bad__]=x","HTTP 422 + legal-filters list"],["FILTER-07","FILTER","manual","normal","","Choose filter fields","Search → PUT prefs/listfilters","FilterBar shows chosen fields"],["FILTER-08","FILTER","manual","normal","","Reorder filter fields","Drag in chooser","FilterBar order = chooser order"],["FILTER-09","FILTER","auto","normal","","Apply filter values persist","PUT prefs/listfiltervals","{filters,viewClosed,favOnly} saved"],["FILTER-10","FILTER","auto","normal","","Clear filters","Clear → empty values","List returns to baseline; pref cleared"],["FILTER-11","FILTER","auto","normal","","view_closed toggle","filters[view_closed]=1","Closed records appear only when on"],["REPORT-01","REPORT","auto","high","smoke","Create a report (Studio)","POST report-studio","HTTP 200 {id}; def in report_defs"],["REPORT-02","REPORT","auto","high","","Edit a report","PUT report-studio/{id}","Updated def persisted"],["REPORT-03","REPORT","auto","high","","Add filters to a report","ConditionGroup nested rule → save","Rules in def; run reflects them"],["REPORT-04","REPORT","manual","normal","","Reorder report columns","Drag column in Studio","Column order persisted + in run"],["REPORT-05","REPORT","auto","normal","","Group & sort","Set group-by + sort → save","groupBy/sort persisted; run groups"],["REPORT-06","REPORT","auto","normal","","Aggregate a column","Set sum/avg/count → run","Run returns aggregated values"],["REPORT-07","REPORT","auto","normal","","Joins (related module)","Add related source → save","Join in def; run pulls joined cols"],["REPORT-08","REPORT","auto","high","smoke","Run report (preview)","POST report-studio/preview","Rows + scanned count returned"],["REPORT-09","REPORT","manual","normal","","Chart types render","Pick pie/vbar/hbar/line/table","Correct chart renders"],["REPORT-10","REPORT","auto","normal","","Runtime prompts","Define prompt param → run","Run consumes params"],["REPORT-11","REPORT","auto","normal","","Sharing model","PUT report-studio/{id}/sharing","Shared flag set per gate"],["REPORT-12","REPORT","auto","high","","Delete report","DELETE report-studio/{id}","Removed from report_defs"],["REPORT-13","REPORT","auto","normal","","Native 1CRM report run","GET reports/{module}; POST reports/data","Native report returns rows"],["REPORT-14","REPORT","manual","normal","","Native report create/edit","ReportBuilder over layouts/list_edit","Native layout edit saves"],["REPORT-15","REPORT","manual","normal","","In-list \"Reports…\" dropdown","List → Reports dropdown → run","Module report runs inline"],["REPORT-16","REPORT","auto","normal","","Report CSV export","GET report-studio/{id}/export.csv","CSV matches run rows"],["CRUD-01","CRUD","auto","critical","smoke","Create record","POST data/{model}","HTTP 200 new id; fetchable"],["CRUD-02","CRUD","auto","critical","smoke","Read record","GET data/{model}/{id}","Fields match created values"],["CRUD-03","CRUD","auto","critical","smoke","Update record","PATCH data/{model}/{id}","Field updated; re-read confirms"],["CRUD-04","CRUD","auto","critical","smoke","Delete / soft-trash","DELETE data/{model}/{id}","Gone from default list; deleted=1"],["CRUD-05","CRUD","auto","critical","smoke","Round-trip integrity","create→read→edit→read→delete→read","Every value survives; final read absent"],["CRUD-06","CRUD","auto","high","","Duplicate strips audit fields","Detail → Duplicate","Audit blank; business fields copied"],["CRUD-07","CRUD","auto","normal","","Quick-activity parent prefill (has_activities)","Log Call/Meeting/Task/Note","Child created linked to record"],["CRUD-08","CRUD","manual","normal","","Currency handling/format","Edit amount with currency","Value + symbol round-trip; locale format"],["INLINE-01","INLINE","auto","high","smoke","Detail-view inline edit","Click field on detail → PATCH","Value saved; re-read confirms"],["INLINE-02","INLINE","auto","high","smoke","List-view inline edit","ag-grid single-click cell → PATCH","Cell PATCHes; enum options in CRM order"],["INLINE-03","INLINE","auto","high","","Edit-form all widget types","RecordForm edit → change → save","relate/enum/date/currency/checkbox/textarea persist"],["INLINE-04","INLINE","manual","normal","","Edit-view tabs preserve values","Edit across Main/Qualify/Vario → save","Value store preserved across tabs"],["VALID-01","VALID","auto","high","smoke","Required-field validation","Create with a required field empty","Save blocked; message shown"],["VALID-02","VALID","auto","high","smoke","Audit fields read-only","Attempt to edit created/modified","Non-editable in form + inline"],["VALID-03","VALID","manual","normal","","Composed name fields (composed_name)","Edit first/last parts","Composed display value assembles"],["VALID-04","VALID","manual","normal","","Copy Billing→Shipping (has_address)","Copy button on address block","Shipping mirrors billing"],["VALID-05","VALID","auto","normal","","Relate picker typeahead (has_relate)","FieldWidget typeahead → pick","Relate id set; label resolves"],["VALID-06","VALID","manual","normal","","Relate advanced search (has_relate)","RefSearchModal → pick","Selection sets relate id"],["VALID-07","VALID","manual","normal","","Parent / flex-relate picker (flex_relate)","ParentPicker choose module+record","parent_type + parent_id set"],["VALID-08","VALID","auto","normal","","Flows trigger on save","Save a record matching a flow trigger","dispatchChange fires; run recorded"],["LAYOUT-01","LAYOUT","auto","normal","","Read current layout override","GET field_layout/{Module}","{global,user,can_edit_global} returned"],["LAYOUT-02","LAYOUT","manual","high","","Edit-view: drag fields between panels","Customize → drag → PUT {scope:user}","Panels blob persisted; form reflects"],["LAYOUT-03","LAYOUT","manual","high","","Detail-view layout customization","Same designer on detail","Detail reflects new arrangement"],["LAYOUT-04","LAYOUT","auto","high","","Shared edit/detail override","Edit edit-view layout, load detail","One blob drives both views"],["LAYOUT-05","LAYOUT","manual","normal","","1–4 columns per panel","Set panel cols","Grid reflows to N columns"],["LAYOUT-06","LAYOUT","manual","normal","","Hide/show + add unplaced field","Toggle hidden / add field","hidden[] updates; field appears"],["LAYOUT-07","LAYOUT","manual","normal","","Field span/width","Set span","Field spans columns"],["LAYOUT-08","LAYOUT","auto","high","","User vs admin-global scope","PUT field_layout {scope:global}","403 for non-admin; saved for admin"],["LAYOUT-09","LAYOUT","auto","normal","","Reset layout (inherit)","PUT field_layout {value:null}","Override deleted; inherits base"],["LAYOUT-10","LAYOUT","auto","normal","","Cannot create fields/panels","Attempt add-new-field","Not available (native-1CRM-only)"],["SUB-01","SUB","auto","high","smoke","Subpanels enumerate (has_subpanels)","GET meta/sub_panels/{model}/default","Expected subpanels present"],["SUB-02","SUB","auto","normal","","Read + \"Show more\" pagination","GET data/{model}/{id}/{link}","Rows load; pagination advances"],["SUB-03","SUB","auto","high","","Create-new + link (parent prefill)","QuickCreateModal → create","New child created + linked"],["SUB-04","SUB","auto","high","smoke","Add existing (relate)","POST data/{model}/{id}/{link}","Existing record linked"],["SUB-05","SUB","auto","high","smoke","Remove / unlink","DELETE data/{model}/{id}/{link}/{relId}","Link removed; child preserved"],["SUB-06","SUB","auto","normal","","Reorder subpanels","PUT prefs/subpanelorder","Order persisted"],["SUB-07","SUB","auto","normal","","Hide subpanels","PUT prefs/subpanelhidden","Hidden panel persisted"],["SUB-08","SUB","auto","normal","","Subpanel columns + sort","PUT prefs/subcols:{module}:{link}","cols/sort persisted per panel"],["SUB-09","SUB","auto","normal","","Activities union renders (has_activities)","activities panel","Union of Calls/Meetings/Tasks"],["SUB-10","SUB","auto","normal","","History / audit subpanel (has_history)","GET audit/{model}/{id}","Change history rows"],["MASS-01","MASS","auto","high","","Mass update (select-all-matching)","PATCH .../run/{model} action=update","All matching updated"],["MASS-02","MASS","auto","high","","Mass trash","PATCH .../run/{model} action=trash","Selected soft-trashed"],["MASS-03","MASS","auto","normal","","Mass-op policy gate","Attempt beyond policy caps","DmcMassOpPolicy blocks over-cap"],["ACL-01","ACL","auto","high","","Write gate","write_enabled=false → PATCH","Write blocked (read-only guard)"],["ACL-02","ACL","auto","normal","","Edit/delete ACL","dv.acl.edit/delete false","Edit/delete hidden/blocked"],["ACL-03","ACL","auto","normal","","AI-import gate (ai_modules)","ai_enabled=false → doc/text import","Import disabled"],["ACL-04","ACL","auto","normal","","Global-layout gate","Non-admin PUT {scope:global}","HTTP 403"],["ACL-05","ACL","manual","normal","","Teams / Security-Groups panel (has_teams, 1CRM)","TeamsPanel on record","Team assignment renders + edits within ACL"],["IO-01","IO","manual","normal","","Import from photo/PDF (ai_modules)","Import → file → POST doc_extract","AI-extracted fields prefill create form"],["IO-02","IO","auto","normal","","Import from text (ai_modules)","From text → POST doc_extract","Prefilled create form returned"],["IO-03","IO","auto","normal","","No CSV import (native-only)","Confirm Import != CSV","Import is doc-scan only"],["IO-04","IO","manual","normal","","Print / PDF (printable)","printer/pdf/{model}/{id}","PDF bytes stream; renders"],["XC-01","XC","auto","normal","","Global search / Ctrl-K","CommandPalette query","Cross-module results incl. this module"],["XC-02","XC","manual","normal","","Quick-add","Palette create commands","Jump-to / create commands work"],["XC-03","XC","manual","normal","","Click-through navigation","Relate links on detail","Navigate to related records"],["XC-04","XC","manual","normal","","Kanban / Board view (kanban)","Kanban.svelte","Cards by stage; drag moves stage"],["XC-05","XC","manual","normal","","Pivot view (pivotable)","PivotTable.svelte","Pivot renders group×measure"],["XC-06","XC","manual","normal","","Module dashboard","ModuleDashboard.svelte","Tiles/widgets render"],["XC-07","XC","manual","normal","","Composer AI dashboard","/compose","AI-composed dashboard generates"],["XC-08","XC","auto","normal","","Meta drives UI","meta/fields/{model} used by form","Field types/options resolve"],["LINE-01","LINE","manual","high","smoke","Add a product line item","Edit → line-items editor → add row","Row added; qty×price extends; totals recompute"],["LINE-02","LINE","manual","high","","Groups, discount & tax recompute","Add group / discount % / tax","Subtotal, discount, tax, grand total recompute"],["LINE-03","LINE","manual","normal","","Reorder / delete line items","Drag a row; delete a row","Order persists; totals update after delete"],["LINE-04","LINE","manual","normal","","Line items on PDF","Print/preview the record PDF","Line rows, groups and totals on the PDF"]],"appcats":[["FLOW","DmcFlow AI Workflows"],["COMMS","Communication (Email/SMS/WA)"],["DOC","Documents / Merge Templates"],["INBOX","Document Inbox (AI scan)"],["AIX","AI Assistant & Insights"],["NAV","Navigation / Grouped Rail"],["THEME","Themes & Appearance"],["DASH","Dashboards & Sharing"],["CAL","Calendar & Activities"],["SRCH","Global Search & Palette"],["ADM","Admin & Console"],["AUTH","Login & Session"],["RPT","Report Studio & Reports"],["PRINT","Native PDF Printing"],["CONV","Conversions (Lead/Quote)"],["TEAMS","Teams & Visibility (1CRM)"],["INVT","Invitees & Related-To"],["LOC","Locale Honoring"],["SEQ","Sequences & Workflows"],["BOARD","Kanban Board"],["BRIEF","Advisor Briefings"],["MCPX","MCP API Safety"],["LIVE","Live Refresh (webhooks)"]],"app":[["FLOW-01","FLOW","manual","high","smoke","Flows list loads","Open /app/#/flows","Flow list renders with New-flow action"],["FLOW-02","FLOW","manual","high","smoke","Create a flow (trigger + step)","New flow → trigger + update-field step → save","Flow saved; def persists on reopen"],["FLOW-03","FLOW","manual","high","","Edit flow: conditions","Add a condition group → save","Conditions persist; builder re-renders"],["FLOW-04","FLOW","manual","normal","","Enable / disable a flow","Toggle active/inactive","Status chip flips and persists"],["FLOW-05","FLOW","manual","high","","Flow actually runs on trigger","Active ZZQA flow → create matching record → run history","A run is recorded"],["FLOW-06","FLOW","manual","normal","","AI step configuration","Add an AI step (prompt/model) → save","AI step config persists on reopen"],["FLOW-07","FLOW","manual","normal","","Delete / archive a flow","Delete a ZZQA test flow","Removed; no orphan-runs error"],["COMMS-01","COMMS","manual","high","smoke","Comms page loads","Open /app/#/comms","Email/SMS/WA tabs + activity log render"],["COMMS-02","COMMS","manual","critical","smoke","Test Mode is ON before any send","Check the Test-Mode indicator","Test mode active — log-only; NEVER send real"],["COMMS-03","COMMS","manual","high","","Send Email (test mode)","Compose email to a contact → send","Log row status `test`; no delivery"],["COMMS-04","COMMS","manual","normal","","Send SMS (test mode)","Compose SMS → send","Log row status `test`"],["COMMS-05","COMMS","manual","normal","","Send WhatsApp (test mode)","Compose WhatsApp → send","Log row status `test`"],["COMMS-06","COMMS","manual","normal","","Activity log filters","Filter by channel / status / date","Rows filter correctly"],["COMMS-07","COMMS","manual","normal","","Recipient picker resolves CRM records","Type a contact name in To","Typeahead lists matching + email/phone"],["DOC-01","DOC","manual","high","smoke","Documents page loads","Open /app/#/documents","Template list + generated-docs list render"],["DOC-02","DOC","manual","high","","Generate DOCX from a Quote","Template bound to Quote → pick Quote → generate","DOCX with merged fields; listed"],["DOC-03","DOC","manual","high","","Inline PDF preview (Gotenberg)","Preview generated doc as PDF","PDF renders inline (no external call)"],["DOC-04","DOC","manual","normal","","Download PDF","Download the PDF","Valid PDF downloads"],["DOC-05","DOC","manual","normal","","New template dialog + module binding","Open New Template","Module binding (Quote); record-picker autocompletes"],["DOC-06","DOC","manual","normal","","Generated doc links back to record","Open a generated doc entry","Source record link; click-through works"],["INBOX-01","INBOX","manual","high","smoke","Inbox screen loads","Open the Document Inbox","Upload area + drafts list render"],["INBOX-02","INBOX","manual","high","","Scan → draft extraction","Upload a sample invoice/PO","AI extracts into Invoice/PO/Payment DRAFT"],["INBOX-03","INBOX","manual","normal","","Draft review UX","Open a draft","Fields beside source preview; editable"],["INBOX-04","INBOX","manual","high","","Confirm / discard draft","Confirm one ZZQA; discard another","Confirm creates record; discard removes cleanly"],["AIX-01","AIX","manual","high","smoke","AIPal chat answers a CRM question","Ask \"top 5 open opportunities by amount\"","Grounded answer using real CRM data"],["AIX-02","AIX","manual","normal","","Daily briefing","Open the briefing panel/page","Briefing renders; mark-as-read works"],["AIX-03","AIX","manual","normal","","Next actions on a record","Opportunity → AI next-actions panel","Contextual suggested actions render"],["AIX-04","AIX","manual","normal","","Risk score on a record","Opportunity → risk panel","Risk level + explanation render"],["AIX-05","AIX","manual","normal","","Anomalies surface","Open the anomalies view/tile","Detected anomalies list renders"],["AIX-06","AIX","manual","normal","","Generate-doc AI text","Record → Generate doc → Follow-up email","Copy / Download / Save-as-Note work"],["AIX-07","AIX","manual","normal","","Text-to-speech","Play a briefing / TTS control","Audio generated and plays"],["AIX-08","AIX","manual","normal","","Composer end-to-end","/compose → prompt → Generate → Save","AI dashboard renders tiles and saves"],["NAV-01","NAV","manual","high","smoke","Grouped icon rail renders","Look at the left nav","Collapsed rail; flyout on hover"],["NAV-02","NAV","manual","normal","","Pin-open expanded mode","Pin the rail open","Expanded nav persists across reload"],["NAV-03","NAV","manual","normal","","Admin nav-groups editor","Admin → reorder/rename → save","Changes persist; rail reflects"],["NAV-04","NAV","manual","high","","Nav parity vs native 1CRM","Compare with volvo2026v1.1crm.info menu","Groups + entries match native"],["THEME-01","THEME","manual","normal","smoke","Theme picker options","Open appearance settings","4 themes × light/dark/auto × 4 accents"],["THEME-02","THEME","manual","normal","","Theme switch + persistence","Switch theme + accent; reload","Applies instantly; persists"],["THEME-03","THEME","manual","normal","","Dark-mode legibility","Dark on list + record + dashboard","Legible; good contrast"],["DASH-01","DASH","manual","high","smoke","Main dashboard tabs","Open /app/#/dashboard","Tabbed dashboard renders tiles"],["DASH-02","DASH","manual","high","","Tab management","Add → rename → reorder → hide → delete","Each operation persists"],["DASH-03","DASH","manual","normal","","Tile management","Add tile → move/resize → remove","Grid layout persists"],["DASH-04","DASH","manual","normal","","Dashboard sharing","Share (users/teams/public) → revert private","Sharing persists; revert works"],["DASH-05","DASH","manual","normal","","Report sharing parity","Share a ZZQA report in Studio","Same sharing model as dashboards"],["CAL-01","CAL","manual","high","smoke","Calendar views","Switch month/week/day","All three views render events"],["CAL-02","CAL","manual","high","","Meeting with invitees","ZZQA meeting → add User + Contact","Invitees saved with accept-status"],["CAL-03","CAL","manual","normal","","Related-To ParentPicker","Set Related-To (module-first)","parent module + record set"],["CAL-04","CAL","manual","normal","","Reschedule an event","Edit time (or drag in week view)","New time persists"],["CAL-05","CAL","manual","normal","","Recurring meeting renders","Open a recurring meeting","All instances on correct days"],["CAL-06","CAL","manual","normal","","All-day event","Create a ZZQA all-day event","Renders in all-day band"],["CAL-07","CAL","manual","normal","","Timezone honoring","ZZQA meeting at 14:00 user-TZ","Shows 14:00 in crmMCP"],["SRCH-01","SRCH","manual","high","smoke","Global search page","Search from the top bar","Cross-module grouped results render"],["SRCH-02","SRCH","manual","normal","","Command palette","Ctrl-K → type → jump","Finds records/modules; navigates"],["SRCH-03","SRCH","manual","normal","","Result click-through","Click a search result","Opens the right record detail"],["ADM-01","ADM","manual","normal","","Admin area loads","Open the admin screens","Instances list renders (volvo2026v1)"],["ADM-02","ADM","manual","normal","","Comms test-mode admin toggle","Admin comms settings","Toggle visible (do NOT turn off)"],["ADM-03","ADM","manual","normal","","QA console self-test","Open /qa/index.html","Batch history + detail render"],["AUTH-01","AUTH","human","critical","smoke","Valid login","HUMAN: sign in with a valid user","Lands on Home; user name in shell"],["AUTH-02","AUTH","human","high","","Wrong password rejected","HUMAN: bad password","Clear error; no session; form reusable"],["AUTH-03","AUTH","human","high","","Branded host pinning","HUMAN: open volvomcpai.1crm.info/app","No picker; data is Volvo clone only"],["AUTH-04","AUTH","human","high","","Logout kills session (RUN LAST)","HUMAN (LAST): Log out, press Back","Back does not show CRM data"],["AUTH-05","AUTH","human","normal","","Responsive / phone width","Resize to ~380px","Reflows; no horizontal scroll"],["RPT-01","RPT","manual","critical","smoke","Studio report == list truth","/studio Opps, cols+filter, run","Row count equals module list under filter"],["RPT-02","RPT","manual","high","","Grouping + sum + chart","Group by Stage, Sum(Amount), bar","Group totals match list; chart renders"],["RPT-03","RPT","manual","high","","Report CSV correctness","Export the run to CSV","Row count + cells match table"],["RPT-04","RPT","manual","normal","","Report sharing enforcement","Share to user/team; check as another","Visible only per sharing choice"],["RPT-05","RPT","manual","high","","Native 1CRM report runs","/reports run an existing report","Rows + chart; link opens right record"],["RPT-06","RPT","manual","normal","","AI-create report","Studio \"AI create\"","Draft references only real fields; runs"],["PRINT-01","PRINT","manual","high","smoke","Quote PDF with line items","Quote → Print PDF → template","PDF with lines + totals"],["PRINT-02","PRINT","manual","normal","","Non-tally module PDF","Account → Print PDF","A PDF is produced, no error"],["PRINT-03","PRINT","manual","high","","Opportunity PDF exists","Opportunity → Print/PDF","Real PDF output, not just AI text"],["PRINT-04","PRINT","manual","normal","","Default template pre-selected","Admin → Printing default, print","Default pre-selected"],["CONV-01","CONV","manual","high","smoke","Lead convert","ZZQA Lead → Convert","Contact(+opt) created; Lead=Converted"],["CONV-02","CONV","manual","normal","","Converted links visible","Open the converted ZZQA Lead","Links to created records in subpanels"],["CONV-03","CONV","manual","normal","","Quote→Invoice conversion","If surfaced: convert a ZZQA Quote","Groups/lines/totals copied exactly"],["CONV-04","CONV","manual","normal","","Duplicate conversion guarded","Convert the same ZZQA Lead again","Prevented or clearly flagged"],["TEAMS-01","TEAMS","manual","high","","Teams panel parity","Account Teams vs native 1CRM","Same team list"],["TEAMS-02","TEAMS","manual","high","","Team edit round-trip","Add a team to ZZQA, save, reload","Persists in both; then remove"],["TEAMS-03","TEAMS","human","normal","","Team-based visibility","HUMAN: log in as user outside team","Record hidden (matches 1CRM)"],["INVT-01","INVT","manual","high","","Invitees add + status","ZZQA Meeting: add Contact + User","Both with accept-status; persist"],["INVT-02","INVT","manual","normal","","Invitee remove","Remove one invitee","Gone after reload; relationship removed"],["INVT-03","INVT","manual","high","","Related-To round-trip","Link a ZZQA Call to an Account","Account on Call; Call in activities"],["INVT-04","INVT","manual","normal","","Click-to-call","Click a phone number","Call action triggers/logs"],["LOC-01","LOC","human","normal","","Date format honored","HUMAN: set 1CRM date format DD.MM.YYYY","crmMCP shows that format"],["LOC-02","LOC","manual","normal","","Number separators","Amount columns 1.234,56 locale","Separators match 1CRM locale"],["LOC-03","LOC","manual","normal","","Name format","Record headers/lists","Last,First matches 1CRM setting"],["SEQ-01","SEQ","manual","high","","Sequence enrolment","ZZQA Lead → Enroll into ZZQA sequence","Enrollment visible; step 1 pending"],["SEQ-02","SEQ","manual","normal","","Pause / resume enrolment","Pause then resume","Status changes stick"],["SEQ-03","SEQ","manual","high","","Workflow dry-run","/workflows → \"Test on a record\"","Dry-run trace; NO data changed"],["SEQ-04","SEQ","manual","normal","","Generate-from-text is draft-only","Workflows \"Generate from text\"","Draft for review, NOT auto-activated"],["BOARD-01","BOARD","manual","high","smoke","Board totals == list","/board Opportunities","Columns per stage; counts + money match"],["BOARD-02","BOARD","manual","high","","Drag saves stage","Drag a ZZQA card","Stage saved; totals update"],["BOARD-03","BOARD","manual","normal","","Failed save snaps back","If a save fails","Card snaps back; error shown"],["BRIEF-01","BRIEF","manual","normal","","Briefing content real","/briefings today","Real meetings/tasks; mark-read persists"],["BRIEF-02","BRIEF","human","normal","","Manager-only team overview","HUMAN: as non-manager request overview","Politely refused (role gate)"],["MCPX-01","MCPX","auto","high","","Illegal filter → helpful 422","crm_query_records illegal filter","Error lists the legal filters"],["MCPX-02","MCPX","auto","critical","smoke","Create needs confirm token","crm_create_record without confirm","Confirm token; NOT created until 2nd call"],["MCPX-03","MCPX","auto","critical","smoke","Hard delete / over-cap blocked","proxy hard delete + >500 mass op","403 / cap enforced"],["LIVE-01","LIVE","human","normal","","Native edit appears live","HUMAN: edit account name in native 1CRM","Appears within ~30s, no reload"],["LIVE-02","LIVE","human","normal","","Native create appears live","HUMAN: create ZZQA record in native 1CRM","Appears in open crmMCP list"]]}