Execution binding is now wired into every adapter the package ships: 17 frameworks in Python, LangGraph in TypeScript (attenu-guard-ts 0.5.0, released together). Each adapter records, per authorized call, what its wrapper actually observed — with the capture mode stating honestly what the framework's own hook surface can and cannot guarantee. Where a framework permits a sibling hook to skip or repeat the body, the adapter defaults to pre_hook_only and offers an opt-in strict mode with its residual gaps documented.
Also in this release:
- D14 fixed, both languages: a bare v2
check()followed bycomplete()wedged the lifecycle — the guard registered every v2 allow as pending regardless of capture mode. Registration is now gated on capture modes that promise terminal observation. (Python2256db5, TSb32b985.) - Snapshot hardening across every adapter in both languages: params snapshots are rebuilt without invoking copy protocols, accessors or iterators the value controls, and never alias live objects; values that cannot be rebuilt without running their code degrade the commitment to
params_hash_reason: "unsupported". - Wire vectors unchanged at 20. params_c14n_v1 unchanged at 11. Nothing anyone seeded from moves.
The full defect trail is in CHANGELOG.md; every finding came out of adversarial review against pinned framework sources before merge.