Skip to content

docs(session): document scanSession split-payload, defer accumulation to ML (#35)#53

Merged
evemcgivern merged 1 commit into
mainfrom
docs/35-session-docs-and-ml-defer
Jun 13, 2026
Merged

docs(session): document scanSession split-payload, defer accumulation to ML (#35)#53
evemcgivern merged 1 commit into
mainfrom
docs/35-session-docs-and-ml-defer

Conversation

@evemcgivern

Copy link
Copy Markdown
Contributor

Summary

Cleanup after the Phase 2 decision. scanSession + cross-turn split-payload detection shipped in #50 without user-facing docs, and the session.accumulation flag 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)

  • README: new "Multi-Turn / Session Scanning" section documenting 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.accumulation doc 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.
  • Dropped internal "Phase 0/1/2" labels from public-facing docstrings.

Verification

  • scanSession (per-turn + split-payload) unchanged; accumulation: true remains inert and emits the (reworded) one-time warning.
  • typecheck, 71 tests pass, eval:gate and eval:multi-turn unchanged (mt-mem-001 / mt-ctx-001 remain documented blind spots).

Relates to #35.

🤖 Generated with Claude Code

… 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>
@evemcgivern evemcgivern merged commit 07c50b4 into main Jun 13, 2026
2 checks passed
@evemcgivern evemcgivern deleted the docs/35-session-docs-and-ml-defer branch June 13, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant