13 KiB
13 KiB
Documentation Coverage Matrix
This matrix compares the current codebase surface area with the feature specs in docs/.
Status legend:
Covered- behavior is described by a reviewed spec.Draft-covered- behavior is described indocs/reviewing/and still needs review sign-off.Partial- behavior is mentioned, but important routes, events, or edge cases are missing.Missing- no product/spec coverage was found.Internal- infrastructure or shared code that is not a user-facing feature by itself.
Summary
| Area | Code surface | Coverage |
|---|---|---|
| App PHP pages/routes | 108 | Mostly draft-covered |
| App API endpoints | 192 | Mostly draft-covered |
| Reviewed specs | 6 | Cross-cutting behavior only |
| Reviewing specs | 10 | Main feature families plus runtime/setup/helper coverage |
The docs cover the main product domains, but the full feature set is not all reviewed. The main business specs remain in docs/reviewing/.
Specification Map
| Spec | Status | Primary coverage |
|---|---|---|
docs/reviewing/wms.md |
Draft-covered | WMS dashboard, stock overview, stock in/out/transfer, labels, sales orders/returns/invoices, purchase orders/supplier returns/purchase invoices, stock reports |
docs/reviewing/accounting.md |
Draft-covered | Accounting dashboard, revenue/expense documents, finance, chart of accounts, departments, formulas, product account mapping, manual journals, GL posting, financial reports |
docs/reviewing/master-data.md |
Draft-covered | Products, categories, warehouses/storage, contacts, chart of accounts, departments, formulas, posting window |
docs/reviewing/system-settings.md |
Draft-covered | Authentication, sessions/security, users, profile/password, company settings, SMTP, branch switching, shared JS, locks, ETL maintenance, file uploads |
docs/reviewing/document-lifecycle.md |
Draft-covered | Document statuses, void strategy, soft delete strategy, GL versioning |
docs/reviewing/transaction-limits.md |
Draft-covered | Package tiers, quota counting, report/dashboard gating |
docs/reviewing/invited-onboarding.md |
Draft-covered | Invited user activation flow |
docs/reviewed/role-guards.md |
Covered | Role access matrix |
docs/reviewed/soft-delete.md |
Covered | Soft delete and downstream deletion guards |
docs/reviewed/session-concurrency.md |
Covered | Single-session login enforcement and heartbeat |
docs/reviewed/live-dashboard.md |
Covered | Socket.IO dashboard event behavior |
docs/reviewed/running-number.md |
Covered | Document numbering configuration and generation |
docs/reviewing/runtime-architecture.md |
Draft-covered | App shell, config, database connections, Node.js realtime server, cron scheduler, setup script |
docs/reviewing/setup-landing.md |
Draft-covered | Root redirect, landing page, legal pages, CLI setup behavior |
docs/reviewing/helper-endpoints.md |
Draft-covered | Helper/search/retrieve/stats endpoint contracts |
Page Coverage
| Code area | Pages | Coverage | Spec |
|---|---|---|---|
| WMS dashboard | app/dashboard/index.php, app/dashboard/low_stock_products.php |
Draft-covered | docs/reviewing/wms.md, docs/reviewed/live-dashboard.md |
| Stock operations | app/ics/stock_in.php, app/ics/manage_stock_in.php, app/ics/stock_out.php, app/ics/manage_stock_out.php, app/ics/stock_transfer.php, app/ics/manage_stock_transfer.php, app/ics/stock_overview.php |
Draft-covered | docs/reviewing/wms.md, docs/reviewing/document-lifecycle.md |
| Barcode labels | app/ics/sku_barcode_label.php, app/ics/location_barcode_label.php |
Draft-covered | docs/reviewing/wms.md |
| Inventory master data | app/inventory/product.php, app/inventory/manage_product.php, app/inventory/warehouse.php, app/inventory/manage_warehouse.php, app/inventory/manage_category.php, app/inventory/manage_storage.php |
Draft-covered | docs/reviewing/master-data.md |
| Contacts | app/contact/contact.php, app/contact/manage_contact.php, app/contact/manage_contact_type.php |
Draft-covered | docs/reviewing/master-data.md |
| WMS sales | app/order/order.php, app/order/manage_order.php, app/order/confirm_order.php, app/order/return.php, app/order/manage_return.php, app/order/invoice.php, app/order/manage_invoice.php, app/order/print_invoice.php |
Draft-covered | docs/reviewing/wms.md, docs/reviewing/document-lifecycle.md |
| WMS purchase | app/po/po.php, app/po/manage_po.php, app/po/supplier_returns.php, app/po/manage_supplier_return.php, app/po/invoice.php, app/po/manage_purchase_invoice.php |
Draft-covered | docs/reviewing/wms.md, docs/reviewing/document-lifecycle.md |
| Revenue documents | app/revenue/quotation.php, app/revenue/manage_quotation.php, app/revenue/order.php, app/revenue/manage_order.php, app/revenue/invoice.php, app/revenue/manage_invoice.php, app/revenue/manage_credit_note.php, app/revenue/view_invoice.php, app/revenue/receipt.php |
Draft-covered | docs/reviewing/accounting.md |
| Expense documents | app/expense/purchase_request.php, app/expense/manage_purchase_request.php, app/expense/purchase_order.php, app/expense/manage_purchase_order.php, app/expense/purchase_invoice.php, app/expense/manage_purchase_invoice.php, app/expense/manage_supplier_credit_note.php, app/expense/payment.php |
Draft-covered | docs/reviewing/accounting.md |
| Finance | app/finance/receipt_billing.php, app/finance/manage_receipt_billing.php, app/finance/receipt.php, app/finance/manage_receipt.php, app/finance/payment_billing.php, app/finance/manage_payment_billing.php, app/finance/payment.php, app/finance/manage_payment.php |
Draft-covered | docs/reviewing/accounting.md |
| Accounting dashboard | app/ac_dashboard/index.php |
Draft-covered | docs/reviewing/accounting.md, docs/reviewed/live-dashboard.md |
| Accounting setup | app/accounting/chart_of_accounts.php, app/accounting/manage_account.php, app/accounting/departments.php, app/accounting/manage_department.php, app/accounting/account_formulas.php, app/accounting/posting_window.php |
Draft-covered | docs/reviewing/accounting.md, docs/reviewing/master-data.md |
| Accounting journals and reports | app/accounting/gl_entries.php, app/accounting/journal_listing.php, app/journal/index.php, app/journal/new.php, app/accounting/trial_balance.php, app/accounting/pl_statement.php, app/accounting/balance_sheet.php, app/accounting/gl_movement.php, app/accounting/vat_report.php |
Draft-covered | docs/reviewing/accounting.md |
| WMS reports | app/reports/stock_movement.php, app/reports/expired_stock.php, app/reports/occupy_rack.php, app/reports/product_lot.php |
Draft-covered | docs/reviewing/wms.md, docs/reviewing/transaction-limits.md |
| Authentication | app/login/index.php, app/login/register.php, app/login/verify.php, app/login/forgot_password.php, app/login/onboarding.php, app/login/invited_onboarding.php |
Draft-covered | docs/reviewing/system-settings.md, docs/reviewing/invited-onboarding.md, docs/reviewed/session-concurrency.md |
| Settings | app/setting/users.php, app/setting/profile.php, app/setting/company.php, app/setting/system_config.php, app/setting/smtp.php, app/setting/document_types.php, app/setting/gl_maintenance.php, app/setting/stock_maintenance.php |
Draft-covered | docs/reviewing/system-settings.md, docs/reviewed/running-number.md |
| Cron | app/cron/etl_gl_maintenance.php, app/cron/etl_stock_maintenance.php |
Draft-covered | docs/reviewing/system-settings.md |
| Shared app shell | app/index.php, app/session.php, app/preset.php, app/dbconn.php, app/config.php, app/config.example.php, app/include_*.php |
Draft-covered | docs/reviewing/system-settings.md, docs/reviewing/runtime-architecture.md |
| Landing/setup | index.php, setup.php, landing/index.php, landing/privacy.php, landing/terms.php, SESSION.php |
Draft-covered | docs/reviewing/setup-landing.md, docs/reviewing/runtime-architecture.md |
API Coverage By Module
| Module | Endpoints | Coverage | Notes |
|---|---|---|---|
ac_dashboard/api/engine |
6 | Draft-covered | Dashboard APIs are by_source, journals, pl, posting_window, recent, trend |
accounting/api/engine |
25 | Draft-covered | CRUD, journal, posting, report, lock, and batch-log APIs are described by accounting/system specs |
contact/api/engine |
9 | Draft-covered | Contact and type CRUD plus stats are covered at feature level |
dashboard/api/engine_report |
2 | Draft-covered | WMS dashboard stats and low-stock APIs |
expense/api/engine |
6 | Draft-covered | Purchase request and supplier credit note APIs; purchase invoice behavior is shared through invoice managers/routes |
finance/api/engine |
8 | Draft-covered | Receipt/payment billing and receipt/payment CRUD/delete APIs |
ics/api/engine |
27 | Draft-covered | Core stock and label flows are covered by WMS; helper lookup endpoints are covered by helper-endpoints.md |
ics/api/engine_report |
7 | Draft-covered | Stock overview and activity/report APIs |
inventory/api/engine |
17 | Draft-covered | Product/category/warehouse/storage CRUD and stats |
login/api/engine |
9 | Draft-covered | Login, OTP, registration, onboarding, password reset, logout |
order/api/engine |
18 | Draft-covered | Sales order, return, invoice lifecycle |
po/api/engine |
17 | Draft-covered | PO, receive, supplier return, purchase invoice/credit note lifecycle |
reports/api/engine_report |
7 | Draft-covered | Stock reports and quota gating |
revenue/api/engine |
10 | Draft-covered | Quotation, revenue order, invoice conversion, credit note APIs |
setting/api/engine |
18 | Draft-covered | Users, company/profile/SMTP/system settings, document types, ETL maintenance, branch switching |
API Helper Endpoint Coverage
These endpoints are implemented and used by forms. They are now covered at contract level by docs/reviewing/helper-endpoints.md:
app/ics/api/engine/contact_search.phpapp/ics/api/engine/product_search.phpapp/ics/api/engine/retrieve_active_lot.phpapp/ics/api/engine/retrieve_active_serial.phpapp/ics/api/engine/retrieve_aisle.phpapp/ics/api/engine/retrieve_lot.phpapp/ics/api/engine/retrieve_rack.phpapp/ics/api/engine/retrieve_warehouse.phpapp/ics/api/engine/retrieve_zone.phpapp/ics/api/engine/validate_scan_location.phpapp/inventory/api/engine/manager.phpapp/accounting/api/engine/account_stats.phpapp/accounting/api/engine/department_stats.phpapp/contact/api/engine/contact_stats.phpapp/inventory/api/engine/product_stats.phpapp/inventory/api/engine/warehouse_stats.php
Cross-Cutting Coverage
| Behavior | Coverage | Spec |
|---|---|---|
| Role authorization | Covered | docs/reviewed/role-guards.md |
| Soft delete and deletion order | Covered | docs/reviewed/soft-delete.md |
| Running numbers | Covered | docs/reviewed/running-number.md |
| Session concurrency | Covered | docs/reviewed/session-concurrency.md |
| Dashboard socket events | Covered | docs/reviewed/live-dashboard.md |
| Transaction quotas | Draft-covered | docs/reviewing/transaction-limits.md |
| Posting window | Draft-covered | docs/reviewing/accounting.md, docs/reviewing/master-data.md |
| Document statuses | Draft-covered | docs/reviewing/document-lifecycle.md |
| Operation locks | Draft-covered | docs/reviewing/system-settings.md, docs/reviewing/accounting.md |
| ETL maintenance | Draft-covered | docs/reviewing/system-settings.md |
| File uploads | Draft-covered | docs/reviewing/system-settings.md |
| Node.js server and cron runtime | Draft-covered | docs/reviewed/live-dashboard.md, docs/reviewing/system-settings.md, docs/reviewing/runtime-architecture.md |
| Installation/setup and landing site | Draft-covered | docs/reviewing/setup-landing.md, docs/reviewing/runtime-architecture.md |
Known Stale Or Corrected References
docs/reviewed/README.mdpreviously linked reviewing specs as if they lived indocs/reviewed/.docs/reviewed/README.mdpreviously referenceddocs/architecture.md, which is not present.docs/reviewing/accounting.mdpreviously referencedapp/ac_dashboard/api/engine/stats.php; the actual accounting dashboard endpoints are split by section.docs/reviewing/system-settings.mdpreviously referencedmigrations/*.sql; schema setup wording now reflects this repository snapshot.
Remaining Documentation Work
- Promote or revise the
docs/reviewing/specs after review. - Add exact request/response payload tables for helper endpoints where frontend code depends on field-level contracts.
- Reconcile
schema_migrationsusage with the absence of amigrations/directory if file-based migrations are reintroduced.