consent-engine v0.5.7
feat: CMP runtime introspection + consent-event stream capture (v0.5.7)
- New cmp_runtime_introspect module: OneTrust.testLog() + GetDomainData()
parsed via Playwright console listener. Captures template_name
(Loi-25v1.1), geolocation_rule, geo country, consent model, script
version, expected-cookies-by-category, vendor IDs. - New consent-event dataLayer extractor: filtered to gtag consent
default/update, OneTrustGroupsUpdated, OneTrustLoaded, Cookiebot/
CookieYes/Didomi/Usercentrics native events, tcfapi callbacks, and
any 'consent' event. Preserves firing order. - New Pydantic models CMPRuntimeConfig + ConsentEvent on AuditResult.
- Report: 'CMP Runtime Configuration' + 'Consent Event Stream' sections.
- Deck: 'CMP Self-Report · Ground Truth' slide.
- RAG: when CMP template contains GDPR + jurisdiction is CA, also pulls
gdpr.md (Hydro-Québec Law 25-GDPR hybrid case). - Vendor library +5: Qualtrics, YouTube embeds, Facebook page cookies,
Google general, Cloudflare bot-mgmt.
Smoke: hydroquebec.com extracts full runtime config, 3 consent events,
report cites Law 25 + PIPEDA + GDPR. 70 tests pass, ruff + mypy clean.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com