Skip to content

Fix #89: make THINK vs SAY divergence observable#102

Merged
DeveshParagiri merged 1 commit intomainfrom
codex/issue-89-think-vs-say-divergence
Feb 17, 2026
Merged

Fix #89: make THINK vs SAY divergence observable#102
DeveshParagiri merged 1 commit intomainfrom
codex/issue-89-think-vs-say-divergence

Conversation

@DeveshParagiri
Copy link
Copy Markdown
Collaborator

Summary

  • Add public_position to ReasoningResponse so high-fidelity reasoning can carry a separate public stance
  • Classify private position from private_thought (fallback to reasoning), and classify public position from public_statement at high fidelity
  • Apply response.public_position in engine state updates (fallback to response.position) so divergence persists to DB-visible state
  • Include fidelity in meta.json for run auditability
  • Add tests for async two-pass divergence classification, engine public-position override behavior, and fidelity metadata export

Testing

pytest -q tests/test_reasoning_execution.py tests/test_engine.py::TestFlipResistance::test_public_position_prefers_explicit_public_field tests/test_engine.py::TestTokenAccumulation::test_cost_in_meta_json

Closes #89


Recreated from closed PR #96 (base branch was deleted)

@DeveshParagiri DeveshParagiri force-pushed the codex/issue-89-think-vs-say-divergence branch from 26d1df3 to 1e680b2 Compare February 17, 2026 19:01
@DeveshParagiri DeveshParagiri merged commit 41ed675 into main Feb 17, 2026
3 of 4 checks passed
@DeveshParagiri DeveshParagiri deleted the codex/issue-89-think-vs-say-divergence branch February 17, 2026 19:01
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.

THINK vs SAY (public/private position divergence) not observable — unclear if implemented

2 participants