bcquality/custom
Michael Dieringer 4c225c4ac3 EXPERIMENTAL, UNTESTED: explicit session close (DELETE) before reinitializing
Neither of the bridge's two "clear sessionId and reinitialize" paths ever
told BC the old session was actually done - they just drop the local
sessionId variable and let a fresh session get issued on the next call.
The MCP Streamable HTTP transport spec defines an explicit way to end a
session: an HTTP DELETE to the endpoint carrying the session's
Mcp-Session-Id. The bridge has never called it.

Trying this as a candidate fix for the recurring Internal_CompanyNotFound
pattern documented in bc-mcp-company-header-must-match-exact-company-name.md:
a client-side session reset (clear sessionId + reinitialize) does NOT clear
the error, but a manual save on the BC-side MCP Server Configuration record
does. If BC's server-side session state is what's actually stuck, an
explicit close might do the same job the manual config-save has been doing
by accident.

Committed before live-testing (not after) specifically so it survives the
next sync-bcquality-knowledge.ps1 run instead of being silently overwritten
from the old source - this is a durability commit, not a confirmed-fix
commit. Best-effort and silent on failure: if BC responds 404/405 (DELETE
not implemented), that's evidence for the MS support escalation, not a bug
here. Update this commit's status (confirmed working / confirmed no effect
/ reverted) once tested against a live recurrence.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 21:42:08 +02:00
..
agents Deploy a shared MCP-tool permissions allowlist; detect legacy .claude/settings.json 2026-08-04 07:31:46 +02:00
architecture Foreslaa regel: Evaluer BCApps AI Test Toolkit foer custom eval-harness til LLM-features 2026-07-22 11:14:07 +02:00
knowledge Record candidate workaround: MCP Server Configuration save correlates with recovery 2026-08-07 14:06:31 +02:00
scripts QualityHub: det nye private repo faar sit eget navn 2026-07-03 17:59:33 +02:00
setup EXPERIMENTAL, UNTESTED: explicit session close (DELETE) before reinitializing 2026-08-07 21:42:08 +02:00
skills Add initial project structure with .gitignore, LICENSE, README, and CODEOWNERS 2026-04-17 05:56:10 +02:00
README.md new global standard 2026-06-21 12:22:54 +02:00

Custom layer

This folder is the template for partner- and customer-specific overrides. Use it to add knowledge and skills that apply to your organization but are not appropriate for the shared Microsoft or Community layers.

Structure

custom/
├── knowledge/    # Your organization's knowledge files (same format as /microsoft/knowledge/)
└── skills/       # Your organization's action skills

How to use

Fork or clone BCQuality into your own repository and add your content here. Knowledge files in /custom/knowledge/ follow the same frontmatter schema and section requirements as every other layer. Action skills in /custom/skills/ follow the Action Skill template defined in /skills/.

When agents consume BCQuality, the custom layer is loaded alongside Microsoft and Community — your overrides apply automatically.


CURABIS — BCQuality customizations

Developer onboarding (new machine)

Two files must be placed on the developer's machine. Everything else is automatic.

1. Global Claude Code instructions

Copy setup/machine/CLAUDE.md to ~/.claude/CLAUDE.md and fill in your name and username.

This file tells Claude Code about CURABIS Standard in every session — including brand-new, unconfigured repositories.

2. BC MCP credentials

Create ~/.bc-mcp.config.json with your BC service-to-service credentials:

{
  "tenantId": "<your-tenant-id>",
  "clientId": "<your-client-id>",
  "clientSecret": "<your-client-secret>",
  "baseUrl": "https://api.businesscentral.dynamics.com"
}

Never commit this file. It contains secrets.

Configuring a new project

Once the two machine files are in place, open any AL-Go repository in VS Code and tell Claude Code:

"Konfigurer dette projekt til CURABIS Standard"

Claude fetches setup/curabis-standard.agent.md and writes all project files automatically: CLAUDE.md, .mcp.json, .github/.agents/, cspell.json, projectmemory/.

The BC MCP bridge (bc-mcp-bridge.js) is also installed to ~/.claude/ from this repo — so it stays up to date every time setup is re-run.

Folder structure

custom/
  README.md                          ← this file
  knowledge/
    architecture/                    ← AL architecture rules
    testing/                         ← test quality rules
    mcp/                             ← BC MCP / API page rules
  setup/
    curabis-standard.agent.md        ← project setup agent
    bc-mcp-bridge.js                 ← BC MCP bridge (authoritative copy)
    machine/
      CLAUDE.md                      ← global Claude Code instructions template
    templates/
      bcquality.agent.md             ← BCQuality review agent (per project)
      immanuel.agent.md              ← Rule guardian agent (per project)
      cspell.json                    ← Standard spell-check config