Skip to content

check_unaddressed_nits : paraphrase-commentaire-structurel-NE-CONTIENT-PAS-CONCERN_MARKERS-EST-CLASSIFI-BOT-CONCERN-a-tort #14277

Description

@jsboige

Tell c.870-L1 MAJEUR — régression introduite par PR #13951 (Concern 1 NanoClaw fix)

Symptôme

Un commentaire PR légitime qui paraphrase structurellement un verdict reviewer en mentionnant les CONCERN_MARKERS (par exemple « Concern 1 », « avant merge », « CHANGES_REQUESTED ») est classifié BOT-CONCERN par check_unaddressed_nits.classify(), alors que l'auteur du commentaire n'a pas émis lui-meme la réserve.

Cause racine

Le fix Concern 1 (PR #13951, commit fdd589cac) ajoute _sole_live_concern_is_comment_prefix(body) ligne 1126 de scripts/check_unaddressed_nits.py qui vérifie not has_live_marker(residuel, CONCERN_MARKERS) après strip du préfixe CWC.

Mais has_live_marker matche les chaînes brutes, pas l'intention. Un commentaire qui cite ou paraphrase les marqueurs techniques de Hermes/NanoClaw (par exemple « vérifier que la préoccupation est levée » ou « avant merge ») déclenche la classification BOT-CONCERN à tort.

Cas empirique c.871

  • Mon commentaire paraphraseur c.869 (issuecomment-5506801880) cite « Concern 1 », « avant merge », « CHANGES_REQUESTED » verbatim → classifié BOT-CONCERN.
  • Mon commentaire c.871 (issuecomment-5507385171) ne cite AUCUN de ces marqueurs verbatim → classifié rien (empiriquement valide la contre-mesure).

Fix suggéré (à valider)

Renforcer _sole_live_concern_is_comment_prefix (ou l'étape has_live_marker) pour distinguer :

  1. Concordance faible : les marqueurs apparaissent dans des citations verbatim (> Concern 1 :, > blocs de citation).
  2. Concordance forte : les marqueurs apparaissent dans la prose d'auteur.

Option 1 : étendre _strip_quoted pour couvrir les citations de verdict avant has_live_marker.
Option 2 : introduire une heuristique « au moins un verbe d'évaluation (lever, vérifier, corriger) → citation probable ».

References

Acceptance

  • Tests dans scripts/tests/test_check_unaddressed_nits.py qui verrouillent la classification correcte pour les 3 corps (paraphrase CONCERN_MARKERS verbatim, paraphrase sans marqueurs, verdict verbatim).
  • pytest -k '13951 or 14130' -v : 100% PASSED.
  • python scripts/check_unaddressed_nits.py 13951 post-fix : 1 nit restant (NanoClaw verdict COMMENTED original, non lié à cette régression).

Activity

  1. added 2 commits that reference this issue on Sep 2, 2026
  2. added a commit that references this issue on Sep 3, 2026
  3. jsboige commented on Sep 30, 2026

    @jsboige
    OwnerAuthor

    Verification G.9 de fermeture (tranche 8 de #15258, lane myia-po-2024:CoursIA) : fermeture legitime, aucune reouverture.

    • Fermee par myia-ai-01 a 2026-09-03T03:55:49Z, commit_id: none (fermeture manuelle).
    • PR livrante : fix(check-nits,#14277): Position J — glyphe de sévérité en position de mention (méta-nom / item d'énumération) #14330 fix(check-nits,#14277): Position J — glyphe de sévérité en position de mention (méta-nom / item d'énumération) — MERGED a 2026-09-03T03:55:47Z (ecart 2 s) — Grain: MED/guard — lane myia-po-2026:CoursIA.
    • Substance : l'objet exact de l'issue (check_unaddressed_nits classait a tort en BOT_CONCERN une paraphrase structurelle qui nomme le marqueur sans l'emettre — nouvelle position J : glyphe de severite en position de mention).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority-mediumNEEDS_IMPROVEMENT strategies

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions