You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(compliance): PR 2 — restart continuity via SessionID
Add SessionID to Config, ChainEntry, and Merkle hash so process-restart
boundaries are detectable in the audit chain.
- Config.SessionID written into every chain entry
- NewWithContext warns (via Client.Warnings()) when chain's last entry has a
different non-empty session_id, flagging a cross-restart chain
- VerifyFull() returns VerifyResult with Valid, EntryCount, RootHash, and
SessionGaps — structured session-boundary detection without breaking
existing Verify() API
- SessionID uses omitempty in HashContent so pre-v0.2 entries remain
verifiable (no hash drift on upgrade)
- Fix chainTimestampStr helper: JSONL round-trip deserialises Timestamp as
string, not time.Time; verifyChain was silently using "" causing hash
mismatch for file-backed stores
gosec: 0 issues (1 nosec); go test -race: PASS; govulncheck: clean
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments