feat(session-limits): LS5 — détecteur niveau 2 déclaratif + parsing temps partagé

Ajoute un détecteur niveau 2 (RateLimitParser, regex confiné à l'infra) qui
repère les mentions de limite de session dans la sortie textuelle, et factorise
le parsing d'heures dans un module pur (timeparse) partagé entre les niveaux 1
et 2. Le détecteur Claude niveau 1 est refactoré vers timeparse (~-121 lignes).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-16 20:02:24 +02:00
parent 9000b4d09f
commit 98bfcf4f22
7 changed files with 724 additions and 122 deletions

View File

@ -20,6 +20,11 @@ async-trait = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
# Moteur regex du détecteur de limite de session niveau 2 (ARCHITECTURE §21.2-T2) :
# le DOMAINE ne porte que la donnée du motif (`RateLimitPattern`) ; le moteur regex
# vit ICI, jamais dans `domain` (qui reste dépendance-zéro). Version alignée sur
# celle déjà présente dans le `Cargo.lock` (transitive).
regex = "1"
portable-pty = "0.9"
git2 = { workspace = true }