mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 17:36:53 +01:00
* Add precision guards for systematic agent false-positive patterns Encodes reviewer-confirmed FP guards from the online eval: tooltip-inherited, page-trigger default return, drill-down filter not visible in diff, dual-trigger CalcFields (do.md); and a released-baseline precondition for breaking-change/upgrade findings on never-shipped symbols. * Scope suggested-code and location to exactly the changed lines Addresses reviewer-reported misplaced suggestions from the eval: insert-only-property emitting the whole field, single-statement rewrites anchored on the procedure name, and reductive multi-line collapses. The skill now emits a location range that matches precisely the rewritten lines. * Correct suggested-code scoping guidance to match one-click anchor mechanics A lone inserted line matches no existing file line and cannot be anchored; bracket the new line with one adjacent unchanged line instead. Reductive collapses omit suggested-code and fall back to a manual snippet. * Move BC-specific FP guards out of do.md into leaf skills do.md is the stable action-skill template and must stay domain-agnostic (JesperSchulz review). Relocate the four known false-positive patterns to their domain leaves: ToolTip-inheritance to al-ui-review; drill-down/lookup filtering and CalcFields lifecycle to al-performance-review; page-trigger exit(true) semantics to al-error-handling-review. * Move suggested-code line-scoping guidance out of do.md into al-code-review do.md must not carry instructions for how the review skill behaves (JesperSchulz review). Relocate the location/suggested-code precise-span rules to al-code-review's existing Suggested-code guidance section. do.md is now unchanged vs main. * Move false-positive guards from skills into knowledge files Keep review skills slim (finders/appliers). The FP guards and released-baseline preconditions previously embedded in leaf skills become negative-clarification knowledge articles in their domains, and the agent-findings policy edits to al-ui/al-privacy are reverted to main. Adds 6 knowledge files: error-handling (page-boolean-triggers-default-to-true), ui (bound-page-field-inherits-source-field-tooltip), performance (calcfields-in-both-getrecord-triggers-is-not-redundant, page-effective-filter-may-live-outside-the-diff), breaking-changes (unreleased-symbol-change-is-not-a-breaking-change), upgrade (unreleased-schema-change-needs-no-upgrade-path). * Revert branch's suggested-code scoping addition in al-code-review The three location-span shapes added to al-code-review are output-format mechanics, not domain knowledge: one-click span correctness is the engine's job (Resolve-SuggestionPlacement) and do.md already owns the suggested-code/location contract. The AL concerns the examples illustrate are already covered by existing knowledge (use-isempty-for-existence-check, data-classification-required-on-pii-fields, no-space-before-method-parenthesis). Restores al-code-review to main; the branch now adds only the 6 knowledge files. * Restore al-ui/al-privacy review skills to base (zero diff in PR) These two leaf skills carried an accidental net change against the PR merge-base because an earlier revert used the current origin/main (post-#110) instead of the branch base (pre-#110). Restoring them to the merge-base version removes them from the PR diff entirely. Three-way merge still preserves main's #110 suppression. --------- Co-authored-by: wenjiefan <wenjiefan@microsoft.com> |
||
|---|---|---|
| .. | ||
| bound-page-field-inherits-source-field-tooltip.md | ||
| control-add-in-accessibility-is-developer-responsibility.md | ||
| control-add-in-has-no-bc-color-tokens.md | ||
| control-addin-package-resource-ajax-needs-withcredentials.bad.js | ||
| control-addin-package-resource-ajax-needs-withcredentials.good.js | ||
| control-addin-package-resource-ajax-needs-withcredentials.md | ||
| control-addin-throttle-al-calls-and-payload-size.bad.js | ||
| control-addin-throttle-al-calls-and-payload-size.good.js | ||
| control-addin-throttle-al-calls-and-payload-size.md | ||
| cosmetic-styles-need-no-textual-context.md | ||
| default-descending-sort-on-historical-pages.bad.al | ||
| default-descending-sort-on-historical-pages.good.al | ||
| default-descending-sort-on-historical-pages.md | ||
| fasttab-field-importance.md | ||
| grid-data-table-heuristic.good.al | ||
| grid-data-table-heuristic.md | ||
| group-caption-quality-is-not-an-accessibility-issue.md | ||
| group-labeled-first-child-exception.bad.al | ||
| group-labeled-first-child-exception.good.al | ||
| group-labeled-first-child-exception.md | ||
| group-show-caption-false-outside-grid-is-not-a-violation.md | ||
| layout-table-with-captions-is-valid.md | ||
| no-nested-grids.bad.al | ||
| no-nested-grids.md | ||
| on-drill-down-on-non-editable-fields-renders-as-link.md | ||
| page-background-tasks.md | ||
| prefer-actionref-syntax-for-promoted-actions.md | ||
| promoted-action-groups.md | ||
| semantic-style-in-cuegroup-exception.good.al | ||
| semantic-style-in-cuegroup-exception.md | ||
| semantic-styles-need-independent-textual-meaning.bad.al | ||
| semantic-styles-need-independent-textual-meaning.good.al | ||
| semantic-styles-need-independent-textual-meaning.md | ||
| set-selection-filter-list-scope.bad.al | ||
| set-selection-filter-list-scope.good.al | ||
| set-selection-filter-list-scope.md | ||
| show-caption-false-allowed-on-non-editable-fields.good.al | ||
| show-caption-false-allowed-on-non-editable-fields.md | ||
| show-caption-in-promptdialog-prompt-area.good.al | ||
| show-caption-in-promptdialog-prompt-area.md | ||
| show-caption-in-repeater-allowed.good.al | ||
| show-caption-in-repeater-allowed.md | ||
| show-caption-on-editable-fields.bad.al | ||
| show-caption-on-editable-fields.good.al | ||
| show-caption-on-editable-fields.md | ||
| standalone-content-in-layout-table.good.al | ||
| standalone-content-in-layout-table.md | ||
| style-expr-text-vs-boolean.good.al | ||
| style-expr-text-vs-boolean.md | ||
| tabular-intent-requires-data-table-conditions.bad.al | ||
| tabular-intent-requires-data-table-conditions.md | ||