Operations and Testing¶
Use the browser Integration Lab for routine checks. It exposes the important paths without requiring an operator to assemble API requests or handle credentials in a browser.
Entry points¶
| Service | URL | Use |
|---|---|---|
| LibreChat | chat.rapiddraft.ai | Ask governed questions through the private ERP/PLM Agent |
| Integration Lab | rapiddraft-enterprise-search-testing.up.railway.app | Test search, CAD normalization, release planning, and DFM |
| Odoo ERP | erp-demo.rapiddraft.ai | Inspect operational test records |
| RapidDraft | app.rapiddraft.io | Load models and review DFM results |
The search gateway also provides:
| Path | Purpose |
|---|---|
/mcp |
Authenticated MCP transport used by LibreChat |
/v1/search |
Cross-system search API |
/v1/parts |
Canonical part-oriented lookup API |
/openapi.json |
Machine-readable HTTP contract |
/health |
Service health without exposing records |
Test from LibreChat¶
- Sign in to LibreChat.
- Select the private RapidDraft ERP + PLM Agent.
- Ask a question that names a part number or business concept.
- Check that the answer distinguishes Odoo and Aras facts.
- Confirm that record IDs, lifecycle/status, and freshness are present when relevant.
Useful acceptance prompts:
Find RD-BAT-HOUSING-001 and compare its engineering lifecycle with its ERP product record.
Which supplier provides the battery housing, and what is the current operational context?
Show the BOM context for the battery module and identify any components that are not Released.
Which record is authoritative for the CAD revision of RD-BAT-HOUSING-001?
An answer fails acceptance if it invents a release, hides a source conflict, omits the owning system, or claims the Aras snapshot is live.
Test from the Integration Lab¶
Search¶
- Run a part-number query first because the expected identity is deterministic.
- Then run a natural-language supplier, BOM, stock, or lifecycle query.
- Inspect the returned source system, native record ID, and freshness.
CAD metadata¶
- Leave Fictional fixture selected for browser-only tests.
- Choose the matching SOLIDWORKS or NX adapter and extract the fixture.
- Use Check localhost bridge only when the local bridge is running on this workstation.
- Do not expect Railway to read a Windows file path directly.
The workstation bridge is started from the ERP integration repository:
cd D:\02_Code\15_ERP
.\scripts\cad\start-bridge.ps1
Release planning¶
- Load a CAD fixture.
- Build a release plan.
- Confirm that only Released Aras revisions are eligible for Odoo publication.
- Treat every console synchronization as a dry run unless a separate, authorized write step is deliberately invoked.
RapidDraft DFM¶
- Confirm the DFM service first.
- Use the RapidDraft model loader to upload or choose a model.
- Return the model ID and component node to the Integration Lab.
- Plan the DFM request before starting the review job.
- Keep findings associated with the exact model and component identifiers.
MCP tools¶
LibreChat currently discovers two tools from the rapiddraft-erp-plm server:
| Tool | Use |
|---|---|
search_erp_plm_mcp_rapiddraft-erp-plm |
Search products, suppliers, BOMs, stock, purchasing, lifecycle, documents, and CAD context |
get_erp_plm_part_mcp_rapiddraft-erp-plm |
Retrieve the joined record for a known canonical part or part number |
The tool names include the LibreChat MCP server suffix. Client code should use the configured tool schema rather than hard-coding display labels.
Credentials and writes¶
- API keys belong in the protected local auth directory or Railway variables, never in this wiki or Git.
- The Odoo data API identity is for routine product, supplier, BOM, stock, and purchasing operations.
- The Odoo admin API identity is reserved for controlled setup and configuration.
- Aras credentials stay behind the private integration boundary.
- CAD bridge requests are local-only and should be accepted only from the workstation.
- Search, health, and plan operations are read-only. A write requires a separately authorized command and an auditable result.
Verified acceptance¶
The 2026-07-29 implementation run recorded:
| Check | Result |
|---|---|
| Canonical dataset validation | Passed |
| Agentic-search evaluation | 8/8 passed |
| Gateway automated tests | 12/12 passed |
| Odoo content and relationship checks | 19/19 passed |
| Local CAD bridge smoke test | Passed |
| MCP tool discovery | Passed |
| Live LibreChat Agent answer | Passed |
| Live RapidDraft DFM service check | Passed |
| Browser Integration Lab workflow | Passed |
| Audit and credential scan | Passed |
Troubleshooting order¶
- Check
/health. - Confirm the LibreChat Agent still lists both MCP tools.
- Run an exact part-number search.
- Compare Odoo live-read status with Aras snapshot freshness.
- For CAD only, check the localhost bridge from the workstation.
- For DFM only, confirm the RapidDraft service and model/component IDs.
- Stop before writes if release state, identity, or source ownership is ambiguous.
Open Questions¶
- Should the Integration Lab show a persistent banner with the Aras snapshot timestamp?
- Which write operations, if any, should become available in the browser after role-based approval is implemented?
- Should acceptance tests run automatically after every Odoo import or Aras snapshot refresh?
- Where should operational alerts for stale projections and failed MCP calls be routed?
Sources¶
D:\02_Code\15_ERP\docs\Agentic_Search_Integration_v1.mdD:\02_Code\15_ERP\docs\Phase_2_CAD_RapidDraft_Integration_Plan.mdD:\02_Code\15_ERP\docs\Implementation_Status_v1.mdD:\02_Code\15_ERP\services\search-gateway\