Repository navigation
Agent Session Bridge v0.3.0
Agent Session Bridge v0.3.0
Interoperability and fidelity hardening for the Claude Code → ATIF v1.7 path, a stronger heuristic redactor, and the ATIF differential-conformance corpus and verifier added since v0.2.1. No breaking change to the ATIF output contract; the ASB fidelity report gains two additive counters.
Interoperability and fidelity
- Timestamp loss is now reported, never fabricated. ATIF v1.7 has no timestamp on an observation result, so a tool result's own timestamp cannot be carried. It is counted as
fidelity.omitted_tool_result_timestampsinstead of being dropped silently or copied onto another step. - Invalid source timestamps no longer abort an import. A non-string or non-ISO-8601
timestampis omitted and counted asfidelity.invalid_source_timestamps; the record is otherwise converted. - Unknown structure no longer becomes known semantics.
textblocks with null/non-string text andtool_useblocks with no string name are counted as unsupported instead of emitting the literal"None".is_erroris preserved as the source value instead of coerced withbool()("false"was recorded as an error). - Includes the differential conformance corpus,
interoperability.reproduce/verifiermodules, structured tool-result arrays, multimodal omission reporting, span-status correction, and provider-attribution precedence merged since v0.2.1.
Conformance verifier
- Reads source lines exactly as the parser does;
U+2028/U+0085inside a JSON string no longer create phantom records or shift source positions. tool_result_timestampsis derived from the source (NOT_APPLICABLEwhen nothing is timestamped) and cross-checked against ASB's fidelity counter.
Security
- Redaction closes realistic leaks reproduced with synthetic values: prefixed env vars (
OPENAI_API_KEY=…,GITHUB_TOKEN=…,DB_PASSWORD=…),Authorizationschemes beyond Bearer,Cookie/Set-Cookie,--token VALUE,curl -u, URL user-info,client_secret/refresh_token/id_token, JSON-escaped pairs, PEM private keys, JWTs, AWS access-key IDs. - Names are matched by their ending, so
credential_type,max_tokens,tokenizer,password_filestay visible. Matching is linear on adversarial input. - Redaction remains heuristic.
docs/SECURITY.mdnow states what is matched and what is not claimed.
Tests and metadata
- 158 tests (up from 77), including regression tests that fail against v0.2.1 behavior; a test keeps
pyproject.toml,CITATION.cffand the README pin in sync.
Known limitations
- ATIF v1.7 cannot represent tool-result timestamps (reported, not recoverable).
atif1.7.0 is still the only released version; ASB stays onatif>=1.7,<1.8. - Thinking, image, document, server-tool and unknown Claude blocks remain unsupported (counted, not converted).
- Not detected by redaction: short secrets, unlisted names,
mysql -pSECRET, npm/cloud tokens without a listed shape, encoded values. - ASB is transcript/session interchange; it does not resume sessions natively in any harness.
- The wheel installs generic top-level packages (
adapters,bridge,cli,security, …); namespacing them is future work.
Full PR: #36