Conversation
dertin
commented
Aug 10, 2026
- Removed max_codegraph_corroboration_anchors_per_repo from ManifestExtensions.
- Updated ExecutionPolicyOverrides to use a single struct without wire representation.
- Introduced AgentNextAction struct for enhanced agent navigation capabilities.
- Updated CLI commands to require --config flag for MCP operations.
- Enhanced documentation to reflect changes in configuration and usage.
- Updated SQLite schema version to 2, rejecting databases from version 1.0.x.
- Added new explore and query limits to configuration.
- Improved error handling and validation for schema compatibility.
- Updated tests to ensure compatibility with the new schema and features.
- Removed max_codegraph_corroboration_anchors_per_repo from ManifestExtensions. - Updated ExecutionPolicyOverrides to use a single struct without wire representation. - Introduced AgentNextAction struct for enhanced agent navigation capabilities. - Updated CLI commands to require --config flag for MCP operations. - Enhanced documentation to reflect changes in configuration and usage. - Updated SQLite schema version to 2, rejecting databases from version 1.0.x. - Added new explore and query limits to configuration. - Improved error handling and validation for schema compatibility. - Updated tests to ensure compatibility with the new schema and features.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9f4d5af40d
ℹ️ 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".
| let deadline = | ||
| tokio::time::Instant::now() + Duration::from_millis(policy.max_explore_wall_time_ms); |
There was a problem hiding this comment.
Enforce the Explore deadline across the entire request
On large workspaces, load_current_graph and load_current_evidence complete before this deadline is started, while the later handoff correlation scans those collections and provider shutdown also run without deadline enforcement. Consequently, maxExploreWallTimeMs bounds only the provider-call portion and an Explore request can exceed the operator's wall-time budget by an arbitrary amount; start the deadline before repository/database work and enforce it around the complete lifecycle.
Useful? React with 👍 / 👎.
| let reserve = TRUNCATION_NOTICE.len().min(maximum); | ||
| for block in blocks { | ||
| if output.len().saturating_add(block.len()) <= maximum.saturating_sub(reserve) { | ||
| output.push_str(&block); | ||
| } else { | ||
| truncated = true; | ||
| } | ||
| } | ||
| if truncated && output.len().saturating_add(TRUNCATION_NOTICE.len()) <= maximum { |
There was a problem hiding this comment.
Preserve a truncation response for small byte limits
When a valid manifest sets an MCP response limit smaller than TRUNCATION_NOTICE, reserve consumes the entire budget, so every content block is rejected and the notice itself cannot fit; the renderer therefore returns an empty string for every tool and resource response. Execution-policy validation accepts any positive byte limit, so these configurations silently lose status, errors, and truncation information instead of receiving bounded Markdown; either enforce a sufficient minimum or emit a partial bounded notice.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fbcef47276
ℹ️ 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".
| arguments: BTreeMap::from([ | ||
| ("workspace".to_owned(), workspace.to_owned()), | ||
| ("repository".to_owned(), repository.alias.clone()), | ||
| ]), |
There was a problem hiding this comment.
Include the query in the Explore follow-up
When an Explore response offers this follow-up action, its arguments cannot be passed to the explore tool because ExploreInput.query is required. Agents that execute the advertised action directly will receive an invalid-parameters error; include the current query (or another concrete bounded query) so the next action is callable.
Useful? React with 👍 / 👎.
| "code-system-graph://evidence/{id}".to_owned(), | ||
| "evidence-metadata".to_owned(), | ||
| "Template URI for one evidence metadata record; replace {id} with its stable ID." | ||
| .to_owned(), |
There was a problem hiding this comment.
Publish evidence lookup as a resource template
When clients call list_resources, this tuple is emitted as an ordinary Resource with the literal {id} URI, but read_evidence_resource explicitly rejects that value and the server implements no list_resource_templates handler. Consequently the advertised resource is unreadable and clients cannot discover the supported parameterized evidence lookup through the MCP template mechanism; expose it as a resource template rather than a concrete resource.
Useful? React with 👍 / 👎.
| if output.len() == total_limit { | ||
| break; |
There was a problem hiding this comment.
Record truncation before stopping at the total handoff limit
When the final permitted handoff is also the last matching edge for its anchor but a later anchor has additional matches, this branch exits the outer loop without adding maxExploreFederatedHandoffs to truncations. The marker at the earlier limit check only runs if another unique edge is encountered for the same anchor, so this input silently omits later handoffs despite the report promising explicit truncation accounting.
Useful? React with 👍 / 👎.