Appendix — Full inventory
In one line: the machine-readable backbone — counts and indexes of every documented item, plus the coverage ledger proving the docs are exhaustive.
Coverage summary
This documentation was built from a systematic source sweep (the raw output lives in onboarding-docs/_inventory/). The counts below are the reconciled, documented totals.
| Category | Count | Where documented |
|---|---|---|
| Email/communication paths | 4 inbound + ~35 outbound | Communication & email |
| Email headers (set/read) | 9 set + 13 read | Appendix — Headers |
| HTTP headers | 5 outbound + 2 inbound mechanisms | Appendix — Headers |
| Outbound API operations | 25 (BC standard + custom, Lua, AgentMail, CDN, finance) | APIs, webhooks & tools |
| Inbound webhooks | 11 | APIs, webhooks & tools |
| Agent tools | 35 across 6 categories | APIs, webhooks & tools |
| Preprocessors | 9 | APIs, webhooks & tools |
| Postprocessors | 7 active (+1 inactive) | APIs, webhooks & tools |
| Scheduled jobs | 5 | Scheduled jobs |
| Environment variables | 30 read in code | Configuration |
| Ticket statuses | 13 | Data model |
| Lua Data collections | 7 | Data model |
Counts are indicative totals reconciled from the sweep + source reading. Exact rows are in the per-page tables. Re-run
onboarding-docs/_inventory/via the skill'sinventory.shto refresh.
Tool index (alphabetical)
admin_get_ticket, admin_query_tickets, admin_resolve_escalation, check_approval_threshold, claim_job, close_ticket, complete_job, confirm_visit_time, create_maintenance_ticket, decline_job, escalate_ticket, get_user_context, initiate_payment, list_available_jobs, list_pending_approvals, lookup_vendors, my_assigned_jobs, my_tickets, notify_tenant_access, offer_visit_slots, pause_work, record_completion_docs, record_tenant_dispute, record_tenant_feedback, record_vendor_quote, relay_tenant_reschedule, request_tenant_confirmation, reschedule_visit, search_maintenance_history, send_for_approval, send_vendor_request, start_work, submit_quote, submit_revised_quote, update_ticket_details, update_vendor_metrics, upload_issue_images, upload_vendor_photos, validate_invoice.
Webhook index
approval-decision, assign-vendor, clear-data, create-vendor, escalation-response, finance-approval, inbound-email, list-vendors, open-tickets, seed-data, vendor-response.
Job index
escalation-check (4h), completion-feedback (hourly), slot-pick-timeout (:30), daily-workload-report (09:00), weekly-workload-report (Fri 17:00).
Source tree map
src/
├── index.ts # the LuaAgent: persona, wiring, batching
├── skills/ # maintenance / vendor / admin
├── tools/ # intake, vendor, approval, completion, escalation, admin
├── preprocessors/ # 9 (registered in index.ts, not the barrel)
├── postprocessors/ # 7 active (registered in index.ts)
├── jobs/ # escalation, completion-feedback, slot-timeout, daily-report, weekly-report
├── webhooks/ # 11 endpoints
├── services/ # bc-* (Business Central), agentmail, approval-flow, lock-in, …
└── utils/ # email-*, thread-ticket-resolver, constants, slot-config, …
How to refresh this inventory
The discovery sweep is reproducible. From the project root:
bash ~/.claude/skills/comprehensive-project-docs/scripts/inventory.sh .
This rewrites onboarding-docs/_inventory/ with the raw grep hits per category. Reconcile against the per-page tables; anything new is a doc gap to fill.