Skip to content

v1.16.0 — Deterministic boussole and unified run identity

Choose a tag to compare

@RonanDavalan RonanDavalan released this 02 Jul 08:46

Deterministic boussole and unified run identity

Six items building toward a boussole an agent can act on directly, plus a unified run identity.

New

  • etat: a deterministic verdict object (pret_a_agir, niveau_confiance,
    raisons) at the JSON root, synthesizing authentication, session drift,
    citizenship caps, and console/JS errors into one read.
  • operation_id: a single UUID generated once per run, isolating all
    temporary files under /tmp/diwall/<operation_id>/ and shared with the
    operations journal — replaces two independent, inconsistent identities.
  • Passive WAF detection: citoyennete.waf_bloquants flags a likely block
    (HTTP 403/429 or known keywords) as a non-fatal signal — never an exception.
    Diwall reports the friction; it does not arbitrate access.
  • erreurs_console: captures console.error(...) calls, distinct from
    uncaught JS exceptions (erreurs_js).
  • citoyennete.indice_agressivite: ratio of mutating to total actions per
    run, logged in the operations journal.

Fixed

  • --stealth was non-functional since v1.15.0. The installed
    playwright-stealth 2.x removed the stealth_sync function this project
    called; the import failed silently and boussole.stealth_actif reported
    true regardless. Fixed to use the current Stealth().apply_stealth_sync()
    API, and stealth_actif now reflects real application, not just the flag.
    Verified: fingerprint-detection failures on a public bot-detection benchmark
    dropped from 12 to 0 with the fix applied.