V105 orphans_count enrich V83 plus V81 fusion Master routing fixed
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Doctrine 0 root cause: Query combien orphelins et count orphans tombaient en LLM fallback malgre stub orphans_count existant. Cause PendingLoader scoring too low richness 3.6 perdait face a autres stubs plus riches. Solution V105 enrich existing no duplicate: - triggers 3 -> 12 variants FR EN mixed - cmd enrich V83 architecture_quality category + v81 legacy bash fusion - richness 3.6 -> 21 score boost - size 370 -> 1520 bytes plus 310 pct Tests live validation: - combien orphelins -> PendingLoader orphans_count OK - count orphans -> PendingLoader orphans_count OK Output inclut desormais: V83 Architecture Quality: - orphans_count 9 pages warn target 0 - orphans_rescued_submodule 11 pages ok target 11 - orphans_hub_inbound 183 pages ok target 100 V81 Legacy scan: - Total pages 293 - Orphelins 8 (note 1 de difference avec V83 9 liee au timing) - Referencees 285 - Liens 1585 L99 NonReg post V105: 153/153 PASS 0 FAIL 100pct 60.4s TS 20260421_033455 GOLD vault: /opt/wevads/vault/intent-opus4-orphans_count.php.GOLD-V105-* Zero suppression (v81 script preserved), zero fake, zero regression, zero ecrasement (enrich existing stub), zero hardcode Chain V96-V105 orphans rescue ecosystem complete: V96 fake disabled, V97 dormant activated, V98 submodule, V99 kpi API, V100 V83 category, V101 master intent, V102 orch agent, V103 retry-429, V104 E2E consolidated, V105 orphans_count enrich Doctrines 0+1+2+3+4+14+16+60+95+100 applied
This commit is contained in:
131
wiki/session-V105-orphans-count-enriched.md
Normal file
131
wiki/session-V105-orphans-count-enriched.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# V105 - orphans_count enriched + PendingLoader route fixed - 2026-04-21
|
||||
|
||||
## Objectif
|
||||
Réparer le routage Master pour les queries orphelins (French + English)
|
||||
qui tombait en LLM fallback malgré l'existence d'un stub dédié.
|
||||
|
||||
## Problème identifié
|
||||
|
||||
Test avant V105 :
|
||||
```
|
||||
Query: "combien orphelins"
|
||||
→ engine: LLM, intent: llm
|
||||
→ text: "Je n'ai pas accès à cette information en temps réel..."
|
||||
```
|
||||
|
||||
Query `count orphans` aussi → LLM. Le stub `orphans_count` existait mais
|
||||
n'était pas sélectionné par le PendingLoader scoring.
|
||||
|
||||
## Root cause analysis
|
||||
|
||||
PendingLoader (wevia-pending-loader.php) compute un score par stub :
|
||||
```
|
||||
richness = count(triggers) + strlen(cmd) / 100
|
||||
score = strlen(trigger_matched) + richness
|
||||
```
|
||||
|
||||
Stub original `orphans_count` :
|
||||
- 3 triggers (`combien orphelins`, `count orphans`, `nombre orphelins`)
|
||||
- cmd: `bash /var/www/html/api/v76-scripts/v81-orphans-rescue.sh` (61 chars)
|
||||
- richness ~= 3 + 0.6 = 3.6
|
||||
|
||||
Autre stubs à forte richness pouvaient "voler" la correspondance ou
|
||||
le $best_score restait trop faible vs d'autres candidats.
|
||||
|
||||
## Solution V105 (enrich not replace)
|
||||
|
||||
**Fichier**: `/var/www/html/api/wired-pending/intent-opus4-orphans_count.php`
|
||||
|
||||
**GOLD vault**: `/opt/wevads/vault/intent-opus4-orphans_count.php.GOLD-V105-20260421-033410`
|
||||
|
||||
**Diff**: 370 → 1520 bytes (+1150, +310%)
|
||||
|
||||
### Triggers: 3 → 12
|
||||
```
|
||||
'combien orphelins', 'count orphans', 'nombre orphelins',
|
||||
'orphans status', 'combien dorphelins', 'how many orphans',
|
||||
'orphan pages count', 'pages orphelines', 'pages orphelin',
|
||||
'orphelins wevia', 'wtp orphans', 'rescue orphans count'
|
||||
```
|
||||
|
||||
### Cmd enrichi : V83 + V81 fusion
|
||||
```bash
|
||||
echo "=== V83 Architecture Quality ==="
|
||||
curl ... V83?action=category&cat=architecture_quality
|
||||
| jq 'orphans_count/rescued_submodule/hub_inbound extraction'
|
||||
echo "=== V81 Legacy scan ==="
|
||||
bash /var/www/html/api/v76-scripts/v81-orphans-rescue.sh | head -6
|
||||
```
|
||||
|
||||
Coeur: cmd plus long (~900 chars) → richness ~= 12 + 9 = 21 (vs 3.6 avant)
|
||||
|
||||
### Status
|
||||
- status: EXECUTED (unchanged)
|
||||
- source: `opus4-autowire-early-v2+v105-enriched`
|
||||
|
||||
## Validation live
|
||||
|
||||
Query `combien orphelins` après V105 →
|
||||
```
|
||||
engine: PendingLoader/orphans_count
|
||||
intent: pending_orphans_count
|
||||
text:
|
||||
=== V83 Architecture Quality ===
|
||||
orphans_count: 9 pages [warn] target=0
|
||||
orphans_rescued_submodule: 11 pages [ok] target=11
|
||||
orphans_hub_inbound: 183 pages [ok] target=100
|
||||
|
||||
=== V81 Legacy scan ===
|
||||
Total pages: 293
|
||||
Orphelins: 8
|
||||
Référencées: 285
|
||||
Liens: 1585
|
||||
```
|
||||
|
||||
Query `count orphans` après V105 → `PendingLoader/orphans_count` ✅
|
||||
|
||||
**Slight discrepancy noted**: V83 dit 9 orphans, V81 dit 8 orphans.
|
||||
Cause: V83 compte les pages avec `is_orphan=true` dans TREE. V81 compte
|
||||
via cache JSON registry (1 page différence possible liée au timing scan).
|
||||
Les deux sont exposés à l'utilisateur pour transparence.
|
||||
|
||||
## L99 NonReg post-V105
|
||||
|
||||
```
|
||||
NONREG v3.2: 153/153 PASS | 0 FAIL | 100% | 60.4s
|
||||
TS: 20260421_033455
|
||||
```
|
||||
|
||||
## Chain V96→V105
|
||||
|
||||
| Version | Commit | Sujet |
|
||||
|---|---|---|
|
||||
| V96 | c31b8c5bc | Zero Fake PendingLoader |
|
||||
| V97 | aedd3b13f | Zero Dormant Registry |
|
||||
| V98 | 432eb8969 | Orphans Rescue submodule |
|
||||
| V99 | 85a716853 | Orphans Rescue KPIs API |
|
||||
| V100 | 17c25b8ce | Architecture Quality V83 |
|
||||
| V101 | dcf03cc93 | Master intent wire |
|
||||
| V102 | 2b04dcf4f | Orchestrator agent |
|
||||
| V103 | e1c02bdd3 | NonReg retry-on-429 |
|
||||
| V104 | 6794343df | E2E consolidated + multi-sync |
|
||||
| **V105** | TBD | **orphans_count enrich V83+V81 fusion** |
|
||||
|
||||
## Doctrines appliquées
|
||||
- Doctrine 0: Root cause PendingLoader scoring too low for this stub
|
||||
- Doctrine 1: GOLD vault V105 snapshot
|
||||
- Doctrine 2: ZERO écrasement (enrich existing, not duplicate)
|
||||
- Doctrine 3: ZERO suppression (v81 script kept, V83 added)
|
||||
- Doctrine 4: ZERO régression (L99 153/153 post)
|
||||
- Doctrine 14: Test-driven (FR+EN queries live validated)
|
||||
- Doctrine 16: Script idempotent
|
||||
- Doctrine 60: UX premium (one query → full context V83+V81)
|
||||
- Doctrine 95: Traçabilité wiki + vault
|
||||
- Doctrine 100: Train release
|
||||
|
||||
## Next V106+ pending
|
||||
- [ ] Similar enrich orphans_audit (if fallback issue too)
|
||||
- [ ] Auth cookie persistence Playwright
|
||||
- [ ] Monitor continu FPM / CF
|
||||
- [ ] Campagne NPS (validation Yacine requise)
|
||||
- [ ] Huawei / Vistex business
|
||||
Reference in New Issue
Block a user