Skip to content

Agent Session Bridge v0.3.0

Choose a tag to compare

@atomicdjt atomicdjt released this 21 Sep 09:43

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_timestamps instead of being dropped silently or copied onto another step.
  • Invalid source timestamps no longer abort an import. A non-string or non-ISO-8601 timestamp is omitted and counted as fidelity.invalid_source_timestamps; the record is otherwise converted.
  • Unknown structure no longer becomes known semantics. text blocks with null/non-string text and tool_use blocks with no string name are counted as unsupported instead of emitting the literal "None". is_error is preserved as the source value instead of coerced with bool() ("false" was recorded as an error).
  • Includes the differential conformance corpus, interoperability.reproduce/verifier modules, 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+0085 inside a JSON string no longer create phantom records or shift source positions.
  • tool_result_timestamps is derived from the source (NOT_APPLICABLE when 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=…), Authorization schemes 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_file stay visible. Matching is linear on adversarial input.
  • Redaction remains heuristic. docs/SECURITY.md now 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.cff and the README pin in sync.

Known limitations

  • ATIF v1.7 cannot represent tool-result timestamps (reported, not recoverable). atif 1.7.0 is still the only released version; ASB stays on atif>=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