Fix/ga audit blockers#26
Conversation
…ialing seat-update guard - mcp_server.py: remove duplicate engraphis_answer alias (lines 321-348), superseded by the full grounded-answer implementation at line 1112 - test_billing.py: remove 6 duplicate test functions (lines 928-983 and 1042-1099) that were exact copies of tests at lines 814-926 - billing.py: fix subscription.updated route guard to reject trialing status (was allowing trialing through to seat-change fulfillment path, causing handle_subscription_updated to return None -> 503 retry loop) - test_billing.py: align assertion with corrected route message Fixes 9 ruff F811 errors + 2 pre-existing test failures. All 100 tests pass, ruff clean.
…l-safe, auth-migration race, changelog)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 126754ef15
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @mcp.tool( | ||
| name="engraphis_answer", | ||
| annotations={"title": "Grounded answer (grounded recall + synthesis)", | ||
| "readOnlyHint": True, "openWorldHint": False}, | ||
| ) |
There was a problem hiding this comment.
Restore the
engraphis_why MCP tool declaration
Moving engraphis_answer to the end also deletes the engraphis_why decorator and function, leaving its former body orphaned near the grounded-recall function. This prevents engraphis.mcp_server from importing, so the dashboard skips mounting /mcp; once parsing is corrected, tools/list would still omit the documented engraphis_why tool that remains listed in _READ_ONLY_TOOLS and the MCP docs/tests.
Useful? React with 👍 / 👎.
| try: | ||
| result = service().grounded_recall(query=query, workspace=workspace, repo=repo, k=k, | ||
| min_support=min_support) |
There was a problem hiding this comment.
Honor the
synthesize option in engraphis_answer
When callers set synthesize=True, this implementation still calls grounded_recall without constructing or passing an LLM and unconditionally returns "synthesized": false. The previous alias delegated to engraphis_recall_grounded, which implements this option, so MCP clients can no longer obtain the promised cited synthesized answer even when an LLM is configured.
Useful? React with 👍 / 👎.
… conftest (fixes 401s)
The /license/v1/team-invite endpoint now requires invite_url in the request body. Update all test call-sites to include it so CI passes. Trivial fix: missing test argument restoration.
…-blockers (endpoint now requires it per 7ba0ed6)
|
Automated review: CI green (8/8 checks pass). Refund/revocation webhook handlers use proper idempotency. The importlib.util fix and mcp_over_http correction are correct. Test payloads updated with required invite_url. No security issues found. Ready for human approval. |
… engraphis_recall_grounded
Council Merge Gate — BLOCKED BY BRANCH PROTECTIONDecision: APPROVE (pending council infrastructure fix) Evidence reviewed
Note
Action required
Posted by council merge gate cron (2026-07-21) |
…, test_cloud_license, test_security_hardening)
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Description
Type
Verification
python -m pytest tests/ -qpassesruff check .passespython -m eval.harness --dataset eval/datasets/sample.jsonl --k 5passes