Skip to content

Route HTTP error checks to canonical web-services knowledge - #1

Merged
demiliani merged 1 commit into
demiliani:integrationfrom
gggdttt:gggdttt-http-error-routing
Sep 28, 2026
Merged

demiliani merged 1 commit into
demiliani:integrationfrom
gggdttt:gggdttt-http-error-routing

Conversation

@gggdttt

@gggdttt gggdttt commented Sep 28, 2026

Copy link
Copy Markdown

Target and scope

This is a two-file increment into demiliani/BCQuality:integration, based on de62a818dff867ed7dd6198eb07cd0aced8f3d97, so it can be incorporated into microsoft#196. It is not a PR into microsoft/BCQuality:main and does not repeat the full diff of that PR.

Coordination and the five historical examples: microsoft#196 (comment)

Why

Five reference-less Error Handling findings from retained, audited jobs in BC-Bench run 35608133170 incorrectly assumed that omitting the optional Boolean result of HttpClient.Get or HttpClient.Post could allow a transport failure to continue silently. The examples are synthetic__privacy-008:g1, synthetic__privacy-010:g1, synthetic__privacy-015:g2, synthetic__privacy-015:g3, and synthetic__security-clean-02:g0. Their supplied source has no visible enclosing error-catching boundary. When the optional result is omitted, unsuccessful execution raises a runtime error; requiring Boolean capture solely to prevent silent transport failure is therefore based on a false premise.

This does not establish that all five HTTP paths are otherwise correct. A completed non-success HTTP response is different from a transport failure. Consuming false and proceeding, interpreting an error response as success data, or converting an outer TryFunction failure into success remain separate concerns. The CRM and AI examples already check status; the other three do not. The status/body owner must be applied according to its own scope, not as a blanket replacement finding for every bare call.

microsoft#196 already supplies the canonical transport and status/body articles under web-services, but the Error Handling leaf currently requests only the error-handling catalog. This patch connects that finder to the existing owners instead of duplicating AL rules.

Changes

  • microsoft/skills/review/al-error-handling-review.md (+8): conditionally retrieve the supplementary web-services catalog for outbound Get/Post calls, including resolved call paths, and select only handle-httpclient-platform-failure-before-response-access and check-http-status-before-consuming-response-body. Preserve task dimensions, enabled layers, exact catalog paths, applicability, layer precedence, complete-body retrieval, and caller/TryFunction failure-path review.
  • tools/Test-KnowledgeRetrieval.ps1 (+54): exercise the declared source route, real catalog selection and complete-body reachability, and negative layer/technology filters through existing deterministic helpers.

The canonical knowledge articles, engine, severity rules, reference gate, benchmark data, scores, pins, and thresholds are unchanged. No new knowledge files are added.

Validation and limits

  • python .github\scripts\validate_frontmatter.py --root .: 0 errors and 0 warnings.
  • pwsh -NoProfile -File .github\scripts\Test-KnowledgeIndex.ps1 -Root .: deterministic index with full coverage; HTTP routing/retrieval regression passed; 340 articles and 571 samples round-tripped through bounded retrieval.
  • PowerShell parse and git diff --check passed. Both resulting file blob IDs match the approved patch; the complete increment is exactly 2 files, 62 additions, 0 deletions.

These checks establish the declared routing contract and tool reachability, not model compliance or AL runtime behavior. No live reviewer, Copilot subprocess, BC-Bench evaluation, judge, or paid A/B run was invoked. The five historical findings were not rerun, and no false-positive-rate or recall improvement is claimed.

Let the Error Handling leaf conditionally retrieve the existing HTTP owner articles, preserving applicability and exact-path provenance. Add deterministic source-contract and retrieval regressions without duplicating knowledge rules.

Copilot-Session-Id: a92a7788-103e-4651-9b84-19e34caffb94

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@demiliani
demiliani merged commit 13a3d50 into demiliani:integration Sep 28, 2026
2 checks passed
@demiliani

Copy link
Copy Markdown
Owner

Good to go for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants