Blindspot Analysis — TM Knowledge Hub & VirtualMeetings
Audit sistematic: ce lipsește față de TM oficial, ce poate fi îmbunătățit, ce diverge între codul nostru și spec-ul oficial. Actualizat: 2026-05-16 · Autor: Claude (rol “Role Architect”)
1. Gaps KB față de TM oficial complet
1A. Roluri nedocumentate (17 din 22)
| Rol | Prioritate | De ce contează |
|---|---|---|
| Evaluator› 1-4 (Speech Evaluator) | P0 | Pavel poate evalua sau fi evaluat — criterii clare necesare |
| Maestrul Jobenului› (TT› Master) | P0 | Faza 2.C module software — spec necesară |
| Președinte› | P1 | Coordonare ședință hibridă |
| Vorbitor 1-4 (Prepared Speaker) | P1 | Pregătire discurs, rubrici evaluare, Pathways› proiecte |
| TT Vorbitor 1-8 | P1 | Sfaturi improvizație, format 1-2 min |
| Secretar (ca role în ședință) | P2 | Minute ședință, documente |
Recomandare: Completează Evaluator + Maestrul Jobenului în Iteration 2 (post 2026-05-20).
1B. Evaluation Framework — complet lipsă
Nu avem documentat: - Rubrica oficială CRC (Commend-Recommend-Commend) — metoda standard de feedback TM - Fișa de evaluare per speech (criterii: content, structure, language, voice, body, timing) - Evaluarea prin Pathways (fiecare proiect are rubrică proprie în Base Camp›) - Difference Speech vs Table Topics› evaluation
Impact: Evaluatorii 1-4 și Evaluatorul General nu au spec clară pentru modulele Faza 2.
Recomandare: evaluation_framework/speech_rubric.md + evaluation_framework/crc_method.md — 1.5-2h.
1C. District 95 specific — aproape lipsă
Nu avem: - Calendar anual District 95› (Division B, C, D — România e în care?) - Contest timeline specific 2026-2027 - Regulile specifice District 95 pentru TM hibrid - Lista cluburilor active din România (pentru outreach)
Recomandare: administrative/district_95.md cu harta și calendarul.
1D. Timing protocols pentru toate tipurile de intervenție
Avem pragurile în TM_KNOWLEDGE.md și evaluation_timer.md, dar lipsesc:
- Timing pentru roluri de suport (Gramatician›, Numărător›, etc.) — există standard uniform?
- Timing pentru Maestrul Jobenului (intro-ul lui, tranziții)
- Timing pentru contest speeches vs regular speeches (diferit!)
- Grace period — cât timp după roșu ești tolerat?
Recomandare: extinde meeting/timing_protocols.md cu toate cazurile.
2. Divergențe cod VirtualMeetings față de spec TM oficial
2A. Numărător — threshold raportare
Documentul nostru: threshold ≥3 fillers pentru detaliu în raport.
Oficial TM: NU există threshold oficial. Oficialul recomandă “five-plus coaching” — spui „5+” în loc de cifre exacte, pentru vorbitorii cu count mare.
Divergență: Codul nostru hardcodează _NUMARATOR_DETAIL_THRESHOLD = 3 în report.py.
Recomandare: Adaugă comentariu în report.py că pragul e convenție internă, nu standard oficial. Opțional: face configurabil prin config.py.
2B. Cronometror — preset greșit pentru atingerea cu 2:30
Cod actual: _watchdog_loop avertizează la 2:30-2:45 pentru ORICE speaker.
Oficial TM:
- Speech = 5-7 min → verde la 5:00
- Table Topics = 1-2 min → verde la 1:00
- Evaluation = 2-3 min → verde la 2:00
Divergență: Avertizarea de 2:30 e calibrată doar pentru Evaluation speeches, nu pentru Speech preparat (unde e prea devreme) sau Table Topics (unde e prea târziu).
Recomandare P1 (Faza 2.C): Cronometrul nou trebuie să știe tipul curent al intervenției (current_slot_type = speech|tt|eval) și să aplice pragurile corespunzătoare.
2C. Gramatician — categorii erori față de TM oficial
Cod actual: 13 categorii erori în grammar_ro.py._VALID_CATEGORIES.
Oficial TM: Gramaticianul se uită la: gramatică, vocabular, expresii creative, WoD›. NU există lista oficială de 13 categorii.
Evaluare: Categoriile noastre (cacofonie, pleonasm, calc, anglicism etc.) sunt mai detaliate decât spec-ul oficial — e un plus, nu o divergență negativă. Dar ar fi util să mapăm explicit la ce din rubrica TM oficială corespunde fiecare.
Recomandare: Adaugă în evaluation_grammarian.md un tabel de mapare categorii noastre → categorii TM. Doc existent, update mic.
2D. Filler detection — nu respectă 4 buckets oficial Cluj TM
Cod actual: filler_detector.py face cross-check audio + regex. Nu grupează pe 4 buckets.
Oficial Cluj TM PDF: 4 buckets clare (interjecții, sunete vocale, cuvinte repetitive, sunete non-verbale/plescăieli).
Divergență: Raportul fisa_numarator.html nu afișează per bucket — amestecă toate filler-ele într-un singur tabel cu subtype.
Recomandare P1: Adaugă grouping per bucket în _render_fisa_numarator — hesitation_um = Bucket 2, discourse_marker = Bucket 1, tag_question = Bucket 1, repetitive phrases = Bucket 3.
2E. Word of the Day — tracking incomplet
Cod actual: word_of_day_usages cu correct: bool.
Oficial TM: Gramaticianul notează dacă cuvântul a fost folosit corect SAU incorect, de câte ori, și de cine. Include derivate (ex: „perspicace” → „perspicacitate” → contorizat).
Divergență: Codul detectează WoD în transcript, dar nu detectează automat derivatele morfologice (ex: dacă WoD e „perspicace”, și cineva zice „perspicacitate”, nu e detectat).
Recomandare P2: Adaugă în asr.py sau grammar_ro.py un set de derivate per WoD (sau Claude să le genereze la cuv <wod> setare).
3. Gaps organizatorice (pentru când VirtualMeetings crește)
3A. Multi-club suport
Momentan VirtualMeetings e single-club (TM Sibiu). Lipsesc: - Session isolation per club (dacă 2 cluburi rulează simultan) - Config per club (limbă, roluri preferate, membri cunoscuți) - Billing/licensing model (dacă vindem la alt club)
Recomandare: Nu acum. Notăm ca Faza 4+ constraint. Anti-panic.
3B. Privacy și GDPR (pentru lansare externă)
Speech transcripts conțin vocea și cuvintele membrilor — date personale. - Transcriptele sunt stocate local, nu în cloud → OK pentru Faza 1 - La lansare externă (cloud): necesită consent explicitat, privacy policy, GDPR compliance
Recomandare: administrative/privacy_gdpr.md — scurt, non-juridic, cu ce să faci practic la lansare. Creat în Iteration 3.
3C. Accessibility
VirtualMeetings UI nu are: - Suport screen reader - Contrast ratio verificat (WCAG AA) - Keyboard navigation completă
Recomandare: Audit accessibility pre-lansare externă. Iteration 3.
4. Îmbunătățiri propuse pentru VirtualMeetings bazate pe cunoașterea TM
4A. Speech type detection automată
Ce: Detectează automat dacă speakerul curent joacă: Prepared Speech / Table Topics / Evaluation / Role report — pe baza duratei, structurii transcript sau pre-config YAML.
De ce: Cronometrul trebuie să știe tipul pentru praguri corecte. Grammar analysis ar putea ajusta așteptările (un TT speech de 2 min e evaluat diferit față de un speech de 7 min).
Cum: CLI cu prompt la n <name>: „Cornel va face: (1) Speech preparat (2) Table Topics (3) Evaluare” — user alege. Sau auto-detect pe durată (sub 3 min = TT).
4B. Pathways tracking per speaker
Ce: La n <name> în CLI, tool-ul știe că „Cornel e pe Presentation Mastery Level› 2, Proiect 3 — Effective Body Language (5-7 min)”. Evaluatorul știe ce să urmărească specific.
Cum: YAML pre-ședință cu speakers.cornel.pathways: {path: PM, level: 2, project: 3}. La final, raportul menționează proiectul + link la rubrica Pathways.
Efort: 2-3h (YAML load + render în fișa Gramatician/Evaluator).
4C. Evaluator support module (Faza 2.C)
Ce: Când Pavel joacă rolul de Evaluator, tool-ul oferă: - Transcript complet al discursului evaluat (cu timestamps) - Observații automate din Gramatician + Numărător - Template evaluare cu toate categoriile - Timer› 2-3 min pentru evaluarea sa
De ce: Evaluatorul are nevoie de aceleași date ca Gramaticianul, dar structurate diferit (per discurs, nu per ședință).
4D. Discoverability sesiuni trecute
Ce: Index sesiuni cu search FTS5 pe transcript + observații Pavel. „Caută: când a mai spus «în fine» Cornel”.
Sursa: project_session_archiver_design_20260515.md în memory — deja planificat.
Efort: 3-4h (SQLite FTS5 index pe sessions/ folder).
5. Ce e bun și nu trebuie schimbat
- grammar_mode=”batch” — calitate > viteză, validat live. Nu reveni la “live”.
- audio mic + speakers Mac — câștigătorul confirmat empiric (deep analysis 2026-05-16).
- Fire-and-forget pentru filler repair — anti-blocking demonstrat în producție.
- TOOL × PAVEL × AMBELE pattern — original, valoros, nu există la alt tool TM.
- Markdown ca sursă de adevăr — diff granular, VS Code preview, edit cu Edit tool.
Rezumat priorităților
| # | Item | Efort | Termen› |
|---|---|---|---|
| B1 | Evaluator Speech + Maestrul Jobenului (roluri lipsă) | 2-3h | Iter. 2 |
| B2 | Evaluation Framework (CRC + rubric) | 1.5h | Iter. 2 |
| B3 | Speech type detection automată în CLI | 2h | post 2026-05-20 |
| B4 | 4 buckets grouping în fisa_numarator |
1h | post 2026-05-20 |
| B5 | Pathways tracking per speaker (YAML) | 2h | Faza 2.B |
| B6 | Cronometror› cu speech_type-aware thresholds | 3h | Faza 2.C |
| B7 | District 95 specific calendar + cluburi RO | 1h | Iter. 2 |
| B8 | GDPR + accessibility doc | 1h | Iter. 3 pre-lansare |
| B9 | Evaluator support module | 8-10h | Faza 2.C |
| B10 | FTS5 search sesiuni trecute | 3-4h | Faza 2.D |