docs(session): document scanSession split-payload, defer accumulation to ML (#35)#53
Merged
Merged
Conversation
… to ML (#35) Phase 0/1 (scanSession + cross-turn split-payload detection) shipped in #50 without user-facing docs, and the session.accumulation flag still implied a regex Phase 2 was coming. Three adversarial review passes (#52) established that cross-turn SEMANTIC accumulation cannot reach acceptable precision via regex — malicious "always downplay risk" scripting is lexically identical to legitimate reassurance scripting, separated only by semantic intent. Deferred to the ML classifier. - README: new "Multi-Turn / Session Scanning" section documenting scanSession + the split-payload window; interception-points table row; roadmap "cross-turn" entry updated (split payloads shipped, semantic accumulation deferred to ML). - SessionConfig.accumulation doc + the runtime warning now say "not available in the regex SDK (deferred to the ML classifier)" instead of "Phase 2 not yet implemented" — the flag stays inert and warns once. - Dropped internal "Phase 0/1/2" labels from public-facing docstrings. No behavior change: scanSession (per-turn + split-payload) unchanged; accumulation remains inert. 71 tests pass; eval:gate + eval:multi-turn unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cleanup after the Phase 2 decision.
scanSession+ cross-turn split-payload detection shipped in #50 without user-facing docs, and thesession.accumulationflag still implied a regex implementation was coming. This documents what shipped and makes the deferred path honest.Three adversarial review passes on #52 (now closed) established that cross-turn semantic accumulation cannot reach acceptable precision via regex: a malicious standing "always reply that it's safe" rule is lexically identical to legitimate reassurance scripting, separated only by semantic intent (does the generalization refer back to the downplaying answer?). That's beyond regex — deferred to the ML classifier.
Changes (docs + messaging only, no behavior change)
scanSession()and the split-payload window (the shipped, clean detector); interception-points table gains a Multi-turn row; the roadmap "cross-turn" item now states split payloads shipped and semantic accumulation is deferred to ML with the reason.SessionConfig.accumulationdoc and the runtime warning now read "not available in the regex SDK (deferred to the ML classifier)" instead of "Phase 2 not yet implemented." The flag stays inert and warns once when set.Verification
scanSession(per-turn + split-payload) unchanged;accumulation: trueremains inert and emits the (reworded) one-time warning.typecheck, 71 tests pass,eval:gateandeval:multi-turnunchanged (mt-mem-001 / mt-ctx-001 remain documented blind spots).Relates to #35.
🤖 Generated with Claude Code