Documentation Coverage Report
Audit date: 11 September 2026 Plugin version documented: 0.2.0 Method: traced admin UI (Settings_Page, Analytics_Screen, CartRecovery\Admin_Screen), Settings::main_defaults(), REST controllers, widget.js, search/recommendation/language/cart/order implementations.
Existing docs/ARCHITECTURE.md and docs/ARCHITECTURE-DRAFT.md were not used as source of truth.
| Area | Status | Documentation file |
|---|---|---|
| Installation | Complete | docs/installation.md |
| Getting started | Complete | docs/getting-started.md |
| Settings (General) | Complete | docs/settings/general.md |
| Settings (AI Provider) | Complete | docs/settings/ai-provider.md |
| Settings (Product Search) | Complete | docs/settings/product-search.md |
| Settings (Recommendations) | Complete | docs/settings/recommendations.md |
| Settings (Product Q&A) | Complete | docs/settings/product-qa.md |
| Settings (Cart Assistant) | Complete | docs/settings/cart-assistant.md |
| Settings (Orders) | Complete | docs/settings/orders.md |
| Settings (Sales Agent) | Complete | docs/settings/sales-agent.md |
| Settings (Quick Actions) | Complete | docs/settings/quick-actions.md |
| Settings (Chatbot) | Complete | docs/settings/chatbot.md |
| Settings (AI Language) | Complete | docs/settings/language.md |
| Settings (Appearance) | Complete | docs/settings/appearance.md |
| Settings (Access & Privacy) | Complete | docs/settings/privacy.md |
| Settings (Usage & Costs) | Complete | docs/settings/usage.md |
| Settings (Logs) | Complete | docs/settings/logs.md |
| Settings (Developer) | Complete | docs/settings/developer.md |
| Settings (Analytics) | Complete | docs/settings/analytics.md |
| Settings (Cart Recovery) | Complete | docs/settings/cart-recovery.md |
| AI | Complete (with incomplete streaming/semantic called out) | docs/features/ai-configuration.md, docs/features/ai-chat.md |
| Product Search | Complete | docs/features/product-search.md |
| Upsell/Cross-sell | Complete | docs/features/upsell-cross-sell.md |
| Multilingual | Complete | docs/features/multilingual.md |
| Fallback | Complete | docs/features/fallback.md |
| Cart | Complete | docs/features/cart.md |
| Checkout | Complete | docs/features/checkout.md |
| Orders | Complete | docs/features/orders.md |
| Stock alerts | Complete (no admin settings screen) | docs/features/stock-alerts.md |
| Quick Actions | Complete | docs/features/quick-actions.md |
| Cart recovery | Complete | docs/features/cart-recovery.md |
| Analytics | Complete | docs/features/analytics.md |
| Admin | Complete | docs/admin/index.md, docs/admin/dashboard.md |
| Shortcodes / blocks | Complete | docs/shortcodes.md |
| Troubleshooting | Complete | docs/troubleshooting.md |
| FAQ | Complete | docs/faq.md |
| Privacy & security | Complete | docs/privacy-security.md |
| Compatibility | Complete (declared vs tested) | docs/compatibility.md |
| Developer API | Complete for public hooks/REST | docs/developer/hooks.md, api.md, integrations.md |
Missing Documentation
Items that could not be fully specified from user-facing UI, or that are internally incomplete:
- Stock alert admin — no merchant screen to list/export subscribers. Service/mailer exist; edge-case rejection messages were not exhaustively copied from
Stock_Alert_Service. - Exact recovery email HTML when all template fields are empty — renderer has built-in structure; default English sentences inside
Template_Rendererwere not duplicated field-by-field. - Every WooCommerce order status label — plugin forwards WC status; no plugin-owned enum.
- Prompt Composer full system prompt text — not reproduced (internal; merchants edit persona/tone/custom only).
.pot/ shipped translations — Domain Path is/languagesbut no translation packs were found.- Active cron
aiwsa_usage_rollup/aiwsa_embed_queue— names exist for uninstall teardown only; not user features.
Potential Documentation Risks
| Risk | Reality in code | How docs treat it |
|---|---|---|
| Search mode AI-assisted vs Automatic | Same catalog engine; Native disables AI intent; Hybrid adds semantic only if hooked | Documented as labels, not separate engines |
| Semantic / Hybrid | Semantic_Search_Provider::is_available() defaults false | Not a finished merchant feature |
| Transport = Streaming | Config can return sse; widget.js has no EventSource | Incomplete; recommend blocking POST |
| Appearance welcome vs language welcome | Saved widget_greeting overrides fallback welcome | Warned in language + appearance docs |
| Enable AI Agent default off | Easy to think “activated = visible” | Called out in getting started / FAQ |
| HPOS / Blocks | Declared + CRUD/Store API hooks | Declared/implemented, not independently certified |
| Anthropic / OpenRouter | URL allow-list only | Not listed as selectable providers |
| REST 404 on recommendations/refresh | Widget swallows errors | Troubleshooting + upsell docs |
| Licence gates | Default allowed without a licence plugin | Documented; no Envato licence UI |
Conversation channel block | Enum value only | Not documented as a Gutenberg block |
Intentionally not documented as finished features
- Built-in vector/embedding pipeline
- Storefront SSE streaming
- Gutenberg block / Elementor widget
- Offline-without-WordPress mode
- WordPress privacy exporter
- Usage rollup / embed queue jobs