[Bug]: Human-criterion classification only matches English keywords, so in a non-English project every review goes to an AI reviewer and the Awaiting review column (#92) stays empty
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- ai-infra-agents, cli
Direzione di ricerca
Start with _ACT_IN_THE_WORLD_RE and the criterion classification in lib/delegation.py; trace how [RUBBER-STAMP] and [REVIEWER] are handled, then check review_readiness in web/shared.py and verdict handling in lib/verdict_ledger.py. Reproduce with the French fw task classify-ac examples. Done when an explicit, language-independent operator-only classification works and those criteria do not require an AI verdict for the review queue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Description
lib/delegation.py decides who may close a Human criterion. The operator-only class act-in-the-world is detected by _ACT_IN_THE_WORLD_RE (line 188), a list of English words: publish, deploy, production, git push, customer, payment... A criterion written in another language matches nothing, falls to unclassified, and unclassified is reviewer-judged (T-3557).
Since T-4053, a task enters the "Awaiting review" column (#92, thank you for it) only when every reviewer-judged criterion has a green verdict from an independent reviewer (web/shared.py, review_readiness; lib/verdict_ledger.py). That reviewer is another AI agent dispatched by the framework.
In a project written in French, the operator's own review steps ("the operator reviews deliverable A and presents it to the client's founder") are therefore never operator-only. The column shows a task only by accident: here, one task out of seven appears, because its text happens to contain an English phrase the regex knows.
The criterion author can declare a criterion mechanical ([RUBBER-STAMP], [REVIEWER], lines 246-248 and 583-585), but there is no way to declare it operator-only.
Steps to Reproduce
fw task classify-ac --text '- [ ] [REVIEW] l’opérateur relit la trame du chantier A, la présente à la fondatrice du client au point du 2026-10-21 et recueille sa validation'
->REVIEWER-JUDGES (unclassified) — no deterministic signal — an independent reviewer judges itfw task classify-ac --text '- [ ] [REVIEW] l’opérateur remet le livrable A au client (dépôt GitHub du client) après relecture'
-> same result, although handing a deliverable to a client is an act outside the repository.fw review-queue: one task "ready", six "waiting on the agent" with "independent review not green on criterion N". All seven have their Agent criteria ticked and wait for the operator.
Expected Behavior
A way to classify a criterion that does not depend on English: for example an explicit [OPERATOR] prefix symmetrical to [RUBBER-STAMP] / [REVIEWER], or the project-level declaration discussed in T-3968. A task whose open Human criteria are operator-only then enters "Awaiting review" without an AI verdict.
Actual Behavior
Every Human criterion of a non-English project is sent to an AI reviewer. The operator who does not want deliverables judged by another AI (confidentiality, client sign-off) cannot use the "Awaiting review" column at all.
fw doctor output
AI Agent
Claude Code
Operating System
Linux
Additional Context
1.8.11 (e42aa41bf), vendored consumer, Linux (Ubuntu 20.04), non-root account, Claude Code. We decided not to rephrase our criteria with English keywords just to pass the regex: that would mislead the classifier rather than describe the work.
- Lingua principale
- Shell
- Stelle
- 16
- Fork
- 6
- Merge medio
- 6h 24m
- PR unite (30g)
- 5
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DimitriGeelen/agentic-engineering-framework
-
area:cli bug severity:low status:fixed-on-bleeding-edge triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
DimitriGeelen/agentic-engineering-framework#100 · 5 commenti ·
-
area:cli bug severity:medium status:fixed-on-bleeding-edge triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DimitriGeelen/agentic-engineering-framework#97 · 5 commenti ·
-
area:context bug severity:low status:accepted triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DimitriGeelen/agentic-engineering-framework#96 · 3 commenti ·
-
area:cli bug severity:medium status:accepted triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DimitriGeelen/agentic-engineering-framework#95 · 3 commenti ·
-
area:watchtower bug severity:low status:released triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DimitriGeelen/agentic-engineering-framework#94 · 4 commenti ·
Tutte le issue di DimitriGeelen/agentic-engineering-framework
Issue simili
-
data only (no code) good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
upstream-release
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
LinkStackOrg/linkstack-docker#170 · 8 reazioni ·