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_numaratorhesitation_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


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