mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Live incident i aften: businesscentral MCP fejlede med et generisk 30-sekunders "connection timed out", ingen brugbar fejl. To reelle, adskilte fejl fundet ved at teste direkte mod BC's endpoint: 1. ~/.bc-mcp.config.json havde "company": "CURABIS ApS" (Vist navn), men BC's faktiske Navn-felt er "Curabis ApS". BC svarede korrekt og hurtigt (400, under 200ms) - problemet var aldrig BC. 2. bc-mcp-bridge.js svaelgede det svar stille: en fejl-krop formateret som almindelig JSON, men markeret content-type text/event-stream, blev sendt til parseSSE() som kun leder efter "data:"-linjer - fandt ingen, returnerede en tom liste. Broen skrev derfor INGENTING, hverken stdout eller stderr, og Claude Code ventede blot sin egen 30-sekunders timeout ud. Rettet: - forward() tjekker nu !r.ok FOER content-type-forgrening, ubetinget - en fejlrespons naar aldrig parseSSE, uanset hvad serveren paastaar om sin egen content-type. Testet direkte mod det reproducerede scenarie: fejlen vises nu med det samme (5s test-vindue, ikke 30s timeout), med det fulde BC-fejlsvar synligt i baade stdout (JSON-RPC error) og stderr. - bc-mcp.config.template.json matchede slet ikke broens faktiske felter (tenantId/baseUrl vs. broens tenant/company/configurationName) - enhver ny udvikler der udfyldte skabelonen efter dens egne feltnavne ville faa en config der intet virkede med. Rettet til de rigtige feltnavne, plus en eksplicit advarsel om Navn vs. Vist navn i company-feltet. - Mode A's opsaetningsbesked (Step 3b) opdateret til at naevne alle placeholder-felter, ikke kun secret'en. - To nye BCQuality-videnfiler dokumenterer begge fejl til fremtidig fejlsoegning. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| agent-must-not-write-business-process-status.md | ||
| agent-must-resolve-developer-identity-from-bc.md | ||
| ai-eval-scores-must-be-posted-to-bc-table.md | ||
| api-page-flowfields-must-be-calcfields.md | ||
| api-page-key-fields-must-be-editable-on-insert.md | ||
| api-page-least-privilege-write-access.md | ||
| bc-mcp-bridge-must-surface-non-2xx-responses-before-sse-parsing.md | ||
| bc-mcp-company-header-must-match-exact-company-name.md | ||
| bc-mcp-connects-to-curabis-production-not-customer-sandbox.md | ||
| bc-mcp-find-active-task-for-branch.md | ||
| bc-mcp-naming-convention-must-be-reverified.md | ||
| bc-mcp-scope-tasks-to-repository.md | ||
| bc-mcp-task-responsible-must-be-writable-on-active-task.md | ||
| bc-mcp-tools-must-be-preloaded.md | ||
| git-lifecycle-must-sync-bc-status.md | ||
| mcp-bridge-encoding.md | ||
| mcp-config-must-not-hardcode-developer-paths.md | ||
| mcp-server-must-be-verified-at-session-start.md | ||
| mcp-tool-invocation-must-be-documented.md | ||
| stored-derived-fields-must-not-be-exposed-directly.md | ||
| write-shebang-integrity.md | ||