test(ai): lock auto and verify orchestrator transport contracts - #109
test(ai): lock auto and verify orchestrator transport contracts#109cursor[bot] wants to merge 3 commits into
Conversation
Keep ADR-0013 and drop the colliding ADR-0005 copies. Record one Unreleased changelog entry, restore the runtime-adapter and post-evaluation transport regressions, and correct the leftover post-chat docstring so it no longer describes a forced route. Co-authored-by: Seongho Bae <[email protected]>
Keep post-chat and adjudication off the auto source-scan list so a docstring mention cannot satisfy the product default. Assert both checked-judgment clients send mode=verify on the wire. Co-authored-by: Seongho Bae <[email protected]>
The live client already sends mode=auto. Keep the research note aligned with ADR-0013 so operators do not reintroduce route. Co-authored-by: Seongho Bae <[email protected]>
There was a problem hiding this comment.
Stale comment
No blocking production defect on this head. Ordinary adapters already send
mode="auto"; post-chat and adjudication already sendmode="verify". The newanswer/judgemonkeypatches close the #106 hole where a docstringmode="auto"greened post-chat as an auto client.Residual:
tests/test_contextual_orchestrator_default_policy.pystill whole-file substring-scans while its messages say "executable source." Membership can still be satisfied by a comment unless the assertion requires the payload literal"mode": "auto"/"mode": "verify".Prefer #113 (
5eeaa7f) over merging this draft. It keeps these transport tests, requires those payload literals, and ships the related-node business-caption slice (v0.75.0) that #92 left unmergeable.CodeRabbit CLI 0.7.3 is installed here but
coderabbit auth status --agentisnot_authenticated(automatic login timed out). This is not a CodeRabbit review.Do not merge #106 as-is. Do not treat queued Checks as a blocker for the next caption/contract work; they are not evidence of success.
Sent by Cursor Automation: Fix Issues
There was a problem hiding this comment.
Findings
No production-payload defect on this head. The answer() / judge() wire tests close the original #106 post-chat-as-auto hole.
The source scan is still the weaker #106 a815440 form: _AUTO_MARKERS / _VERIFY_MARKERS can go green from a docstring. Closed #113 mixed this lock with related-node captions; do not reopen that mix.
What to do next
Close this draft in favor of #117. That PR is #106 plus payload-literal scans only.
Sent by Cursor Automation: Fix Issues
| self.assertTrue( | ||
| _contains_any(source, _AUTO_MARKERS), | ||
| f"{relative} must request mode=auto in executable source", | ||
| ) |
There was a problem hiding this comment.
This _contains_any(..., _AUTO_MARKERS) check still treats a docstring mode="auto" as enough. #117 requires the payload literal "mode": "auto" (and "mode": "verify" for the verify list), with the post-evaluation typed-default exception.
Close this draft in favor of #117 rather than merging this scan.


Summary
autosource-scan list so a docstring mention ofmode="auto"cannot satisfy ADR-0013.ContextualOrchestratorPostChatClient.answerandContextualOrchestratorAdjudicationClient.judgeand assert the outbound payload ismode="verify".mode="route".This branch is #106 plus the contract fix. Prefer this PR over merging #106 as-is.
Product contract
mode="auto".mode="verify"on the wire.routeremains, butauto/verifymembership is no longer inferred from comments.Test plan
pytest tests/test_contextual_orchestrator_default_policy.py— 2 passed, 7 subtestsmode == "verify", citation id, confidence 0.91)