Legacy Issue Verification Checklist (2026-07-19 Actual Test)
Source: Each item from the historical memory of "Active Constraints & Known Issues" was tested and verified one by one. Conclusions are based on the actual current code state, not memory.
Clarified by Actual Test (Originally thought unresolved, actually OK)
| Originally Marked Issue | Actual Test Conclusion |
|---|---|
| getSciotDb pointing inconsistency (aml→rule_engine / rule-engine→sciot_import) | 8 getSciotDb implementations, 2 (digital-staff/index.js, ai-inspector.js) point to sciot_import.db, the rest point to rule_engine.db. However, both databases have 2413 rules (sciot_rules_v2), with no deviation in sync → Does not constitute a "read old rules" bug, risk downgraded. |
| Procurement workflow _lang not passed | Actually already connected: Callers in ai-agent.js / lite-scheduler.js / procurement.js all include _lang; procurement-workflow-v3.js already requires i18n and uses t(). |
| webchat not passing context._lang | agent-core.js L35 already has if (context && context._lang) sharedI18n.setLang(...), logic is sound; only boundary fallback strategy undecided (low priority) |
| Digital employee page blank | Fixed (historical commit a144ea1), service currently normal |
| Spec PDF freezing/blank | Completely fixed (5bc3804), 200 fields render correctly, 152KB PDF normal |
Real issues still pending closure
? P1 Product→BOM auto-trigger not configured (historical legacy, failed 3 times repeatedly)
- All collaboration blocks in local.yaml are for other employees (DS-REPORT→email_report, DS-SUPPLY→supply chain), no onComplete/next chain for Product→BOM
- After the product is created successfully, the BOM is triggered by the old worker inline Step5 needsBom in SCSAI-creator.js, not by the unified collaboration chain.
- Modeling undecided: One BOM per model vs. product-level BOM (user has not finalized).
- The third BOM creation SCSAI returned "SCSAI did not return ID" (server-side AML validation issue), root cause logs not deeply investigated.
- Impact: The product→BOM automation chain is unstable, relying on inline logic rather than unified scheduling.
? P2 Empty catch audit (non-blocking).
- Currently about 324 empty catches (distributed across 102 files), slightly higher than the previously recorded 310 (statistical differences).
- Historically fixed 3 critical ones; the rest are low-risk silent error swallowing.
- Recommendation: Only add logs for empty catches involving DB writes/AML returns; no need to fix all.
? P3 webchat _lang fallback strategy (low priority).
- Current: Use default (i18n default language) when context lacks _lang.
- Pending: Whether to fallback based on request header/user settings. Currently does not affect mainstream channels (digital employee/mini-program already pass it).
Verified system health status.
- Service: /api/health success=true, ok=true.
- Rule library: rule_engine.db sciot_rules_v2 = 2413 entries (including 22 with is_active=0 retired, Dead=0).
- Dead rules: Zero (5 mapped + 22 retired, historical verification total=2413 OK=2330 Fragile=61 Deprecated=22 Dead=0).
- DB driver: better-sqlite3 singleton, path server/data/.
- Git: Local synced with origin/main (HEAD=6be52d6d), no unpushed commits.
Recommended implementation order.
- P1 Product→BOM: First confirm BOM ownership modeling with user (model-level vs. product-level), then configure local.yaml collaboration chain + deeply investigate the third SCSAI "did not return ID" logs.
- P2 Empty catch: Add logs for key DB/AML paths (optional, low priority).
- P3: Maintain status quo; decide fallback when clear multi-language requirements arise.
BossAgents