bcquality/microsoft/knowledge/events
wenjiefan 5016962b40 Align the IsHandled article slug, keywords and good sample with its narrowed scope
The article was rewritten to say a reset is required only when the value can
carry over, and its H1 was updated to match, but three artefacts still carried
the old "always initialize to false" premise:

- The slug still read `initialize-ishandled-to-false-before-publishing`, which
  contradicts the body. The slug is not cosmetic: Build-KnowledgeIndex.ps1
  ranks candidates on keywords, frontmatter dimensions, domain, path and title,
  so a stale path pushes selection back toward the behaviour this change
  narrows. Renamed to `reset-ishandled-only-when-the-value-can-carry-over`,
  following the existing precedent for conditional slugs such as
  `unreleased-symbol-change-is-not-a-breaking-change`.
- Keywords still listed `initialization` and `deterministic` and omitted
  `false-positive`, the tag this repository uses for suppression articles.
  Replaced with `carry-over` and `loop-iteration` and added `false-positive`.
- The good sample demonstrated only the "prefer separate fresh locals" clause
  and contained no reset at all, so the article's headline case had no positive
  example. It was also asymmetric with the bad sample, which gained a loop
  procedure showing a local that carries `true` into the next iteration.

Added the matching loop procedure to the good sample: a local declared outside
the loop is reset at the top of each iteration. That case cannot be solved by
introducing another local, because AL has no block scope, so it is the only
shape that demonstrates the reset the article still requires. It also gives the
engine the correct `suggested-code` shape for the loop finding; without it the
one-click fix adapted from the good sample would propose splitting the variable
rather than adding one line.

Also renamed the sample codeunits from "IsHandled Init ..." to
"IsHandled Carry Over ...", and updated the two references to the old slug:
the events leaf skill cue and the events pin in evaluation/review-fixtures.json.

validate_frontmatter.py reports 0 errors; Test-ReviewFixtures.ps1 passes with
32 cases across 16 leaf domains and resolves the events fixture to the renamed
article.
2026-09-02 11:08:16 +02:00
..
add-new-event-parameters-at-the-end.bad.al Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
add-new-event-parameters-at-the-end.good.al Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
add-new-event-parameters-at-the-end.md Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
adding-a-parameter-to-an-event-is-not-a-breaking-change.md Add FP guards for field relocation to tableextension and event parameter addition 2026-08-04 10:41:03 +02:00
avoid-loosely-typed-event-parameters.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
avoid-loosely-typed-event-parameters.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
avoid-loosely-typed-event-parameters.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
avoid-raising-events-inside-try-functions.bad.al Promote events knowledge from community to Microsoft layer 2026-06-25 14:04:14 +02:00
avoid-raising-events-inside-try-functions.good.al Promote events knowledge from community to Microsoft layer 2026-06-25 14:04:14 +02:00
avoid-raising-events-inside-try-functions.md Promote events knowledge from community to Microsoft layer 2026-06-25 14:04:14 +02:00
choose-static-vs-manual-subscribers-deliberately.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
choose-static-vs-manual-subscribers-deliberately.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
choose-static-vs-manual-subscribers-deliberately.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-add-ishandled-to-an-existing-event.bad.al Fix lifecycle compatibility guidance (#93) 2026-07-14 11:26:16 +02:00
do-not-add-ishandled-to-an-existing-event.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-add-ishandled-to-an-existing-event.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-bypass-critical-operations-with-ishandled.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-bypass-critical-operations-with-ishandled.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-bypass-critical-operations-with-ishandled.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-change-shipped-event-attribute-flags.bad.al Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
do-not-change-shipped-event-attribute-flags.good.al Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
do-not-change-shipped-event-attribute-flags.md Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
do-not-publish-events-inside-loops.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-publish-events-inside-loops.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
do-not-publish-events-inside-loops.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
name-event-parameters-without-abbreviations.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
name-event-parameters-without-abbreviations.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
name-event-parameters-without-abbreviations.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
name-events-by-publisher-position.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
name-events-by-publisher-position.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
name-events-by-publisher-position.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefer-reusing-or-extending-existing-events.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefer-reusing-or-extending-existing-events.good.al Fix lifecycle compatibility guidance (#93) 2026-07-14 11:26:16 +02:00
prefer-reusing-or-extending-existing-events.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefer-this-over-includesender-in-codeunit-events.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefer-this-over-includesender-in-codeunit-events.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefer-this-over-includesender-in-codeunit-events.md Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
prefix-temporary-record-event-parameters-with-temp.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefix-temporary-record-event-parameters-with-temp.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
prefix-temporary-record-event-parameters-with-temp.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
preserve-onafter-execution-when-ishandled-skips-the-body.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
preserve-onafter-execution-when-ishandled-skips-the-body.good.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
preserve-onafter-execution-when-ishandled-skips-the-body.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
publish-thin-onbefore-onafter-integration-events.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
publish-thin-onbefore-onafter-integration-events.good.al Fix lifecycle compatibility guidance (#93) 2026-07-14 11:26:16 +02:00
publish-thin-onbefore-onafter-integration-events.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
reset-ishandled-only-when-the-value-can-carry-over.bad.al Align the IsHandled article slug, keywords and good sample with its narrowed scope 2026-09-02 11:08:16 +02:00
reset-ishandled-only-when-the-value-can-carry-over.good.al Align the IsHandled article slug, keywords and good sample with its narrowed scope 2026-09-02 11:08:16 +02:00
reset-ishandled-only-when-the-value-can-carry-over.md Align the IsHandled article slug, keywords and good sample with its narrowed scope 2026-09-02 11:08:16 +02:00
treat-local-and-internal-events-as-subscriber-contracts.bad.al Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
treat-local-and-internal-events-as-subscriber-contracts.good.al Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
treat-local-and-internal-events-as-subscriber-contracts.md Add P0 event and interface compatibility knowledge (#98) 2026-07-14 12:51:59 +02:00
use-ishandled-to-make-base-behaviour-overridable.bad.al Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00
use-ishandled-to-make-base-behaviour-overridable.good.al Fix lifecycle compatibility guidance (#93) 2026-07-14 11:26:16 +02:00
use-ishandled-to-make-base-behaviour-overridable.md Add events knowledge domain and review leaf skill (#43) 2026-06-25 12:24:25 +02:00