[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
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- ai-infra-agents, cli
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Shell
- Estrellas
- 16
- Forks
- 6
- Merge medio
- 6 h 24 min
- PR fusionados (30 d)
- 5
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DimitriGeelen/agentic-engineering-framework
-
area:cli bug severity:low status:fixed-on-bleeding-edge triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
DimitriGeelen/agentic-engineering-framework#100 · 5 comentarios ·
-
area:cli bug severity:medium status:fixed-on-bleeding-edge triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
DimitriGeelen/agentic-engineering-framework#97 · 5 comentarios ·
-
area:context bug severity:low status:fixed-on-bleeding-edge triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
DimitriGeelen/agentic-engineering-framework#96 · 5 comentarios ·
-
area:docs bug severity:medium status:in-progress triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DimitriGeelen/agentic-engineering-framework#95 · 4 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Todos los issues de DimitriGeelen/agentic-engineering-framework
Issues similares
-
level/task type/enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
wazuh/wazuh-installation-assistant#1177 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
ComputeCanada/puppet-magic_castle#634 ·
Los mantenedores suelen responder en 1 día
-
source:reader type:enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
stephrobert/blog-roadmap#115 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
pi-hole/docker-pi-hole#2087 ·
-
Python Volcengine provider returns failures instead of raising themPosiblemente ocupada @Ricardo-M-L la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
agent-infra/sandbox#248 ·