From 1695025f0830750310857561b894336ce2dca8c1 Mon Sep 17 00:00:00 2001 From: Michael Dieringer <65093775+MichaelDieringer@users.noreply.github.com> Date: Mon, 3 Aug 2026 13:32:44 +0200 Subject: [PATCH] al-triage: check Microsoft's breaking-changes record for obsolete symptoms Prompted by comparing Jeremy Vyska's "Victor Versioning" persona (bc-code-intelligence-mcp) against what Microsoft already publishes. Verified: Victor's ~32k "obsoletions" are a pre-indexed repackaging of Microsoft's own Obsolete attributes in BCApps, plus BREAKINGCHANGES.md and the deprecated-features-w1/deprecated-features-platform Learn pages -- no new information, just faster retrieval. We already have the same sources (BCApps reference clone, Microsoft Learn MCP). Rather than add a new persona, sharpened al-triage: an obsolete/deprecated diagnostic or a post-version-bump symptom now checks BREAKINGCHANGES.md and the version-specific Learn pages first, instead of reasoning from source alone. --- custom/setup/templates/al-triage.agent.md | 28 +++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/custom/setup/templates/al-triage.agent.md b/custom/setup/templates/al-triage.agent.md index 499b343..1c7d15a 100644 --- a/custom/setup/templates/al-triage.agent.md +++ b/custom/setup/templates/al-triage.agent.md @@ -1,9 +1,9 @@ --- kind: action-skill id: curabis-al-triage -version: 1 +version: 2 title: CURABIS AL triage -description: On-demand reactive diagnosis of a failing build, test, or runtime error. Reproduces the symptom, finds the root cause, and recommends a minimal fix. Read-only - never applies changes. +description: On-demand reactive diagnosis of a failing build, test, or runtime error. Reproduces the symptom, finds the root cause, and recommends a minimal fix. For an obsolete/deprecated-member symptom, checks Microsoft's own published breaking-changes record before theorising. Read-only - never applies changes. inputs: [error-message, file-path, test-name, stack-trace] outputs: [diagnosis-report] bc-version: [all] @@ -11,7 +11,7 @@ technologies: [al] countries: [w1] application-area: [all] domain: diagnostics -keywords: [triage, diagnose, root-cause, minimal-fix, compile-error, test-failure, runtime-error, reproduce, regression] +keywords: [triage, diagnose, root-cause, minimal-fix, compile-error, test-failure, runtime-error, reproduce, regression, obsolete, deprecated, breaking-changes, version-upgrade] sub-skills: - microsoft/skills/review/al-code-review.md --- @@ -75,6 +75,12 @@ localize before forming any hypothesis: - `al_symbolsearch` / `al_symbolrelations` - locate the offending object and what depends on it. - `al_getpackagedependencies` - check for version/dependency mismatches. +For an obsolete/deprecated/post-upgrade symptom specifically (CURABIS-TRIAGE-008), also use: +- `microsoft_docs_search` / `microsoft_docs_fetch` (Microsoft Learn MCP) - the published + deprecated-features and upgrade-considerations pages for the relevant version. +- The `microsoft/BCApps` reference clone's `BREAKINGCHANGES.md`, or GitHub MCP against + `microsoft/BCApps` / `microsoft/ALAppExtensions` if the clone is stale. + ## Action - triage protocol CURABIS-TRIAGE-001 Reproduce first. Capture the exact symptom (diagnostic code, test @@ -94,6 +100,19 @@ CURABIS-TRIAGE-006 Read-only. Output a diagnosis report only. Never edit, never fix - hand the recommendation back to the developer or the build loop. CURABIS-TRIAGE-007 Regression awareness. Before recommending, check what `al_symbolrelations` says depends on the object so the minimal fix does not break callers. +CURABIS-TRIAGE-008 Obsolete/deprecated signature -> check Microsoft's own record first, not + memory. (2026-08-03) If the diagnostic text mentions "obsolete", a pending/error-level + obsolete warning, or the symptom appeared right after a BC platform or app version bump, + this is not a hypothesis to reconstruct from reading source alone — Microsoft publishes + the exact record of what changed and why. Check, in order: `BREAKINGCHANGES.md` in the + `microsoft/BCApps` reference clone (`~/.claude/reference-repos/microsoft/BCApps/` — see + `[[curabis-app-sources-must-be-checked-first]]`; GitHub MCP if the clone is stale) for the + relevant version transition, then Microsoft Learn's version-specific pages + (`deprecated-features-w1`, `deprecated-features-platform`, `upgrade-considerations-v`) + via `microsoft_docs_search`/`microsoft_docs_fetch`. Cite the specific entry — the + replacement member, the removal version, the migration note — as the root cause. Only + fall back to reading source and reasoning from scratch if the published record genuinely + doesn't cover the symptom, and say so explicitly rather than skipping the check silently. ## Output format @@ -102,6 +121,7 @@ SYMPTOM LOCATION ROOT CAUSE MINIMAL FIX -EVIDENCE +EVIDENCE BLAST RADIUS ```