Skip to content

docs: Mais Retorno Free quota limits in resolver cascade - #44

Merged
robertoecf merged 4 commits into
mainfrom
cursor/mais-retorno-mcp-free-limits
Aug 13, 2026
Merged

docs: Mais Retorno Free quota limits in resolver cascade#44
robertoecf merged 4 commits into
mainfrom
cursor/mais-retorno-mcp-free-limits

Conversation

@robertoecf

@robertoecf robertoecf commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Documents the optional Mais Retorno cascade step for resolve_asset with the public Free tier limits (500 credits/month, 1-year history, 15 req/s, HTTP 429 when exhausted).
  • Clarifies REST API-key vs MCP OAuth auth, shared credit pool, and variable per-call credit costs so operators do not treat Free as unlimited or as 500 resolutions/month.
  • Cross-links docs/SOURCES_WITH_AUTH.md and points to dated public docs (maisretorno.com/mcp, developers.maisretorno.com, 2026-08-12).

Test plan

Review evidence

  • Deslop: no removable slop found
  • Adversarial review: Adversarial docs review — ship with caveats; medium findings (variable credits; MCP vs API key) addressed in follow-up commit 4c4de9f. Cross-family attempt via Task adversarial-reviewer (Cursor subagent). Label: EXTERNAL_SAME_FAMILY if same host pool, otherwise treat as external harness pass.
  • MCP Trust:
    • Classificação: AGENT_DATA (docs only; no MCP catalog/runtime change)
    • Base: origin/main
    • Head: 4c4de9f
    • Tools tocadas: n/a
    • Conclusão: PASS
    • Achados: NO_FINDINGS — no secrets, no wiring, cascade remains stub-only; docs state operator-owned credentials and Free quota limits.
    • Over-engineering: NO_FINDINGS — docs-only clarification.

Made with Cursor

Summary by CodeRabbit

  • Documentation
    • Documented Mais Retorno as an optional source for asset resolution.
    • Clarified REST API key and MCP OAuth authentication requirements.
    • Added details about Free-tier quotas, shared credits, history limits, rate limits, variable usage costs, and HTTP 429 responses.
    • Documented paid-plan limitations and unsupported assets.
    • Clarified that provider results replace the current classification while preserving the existing cascade.
    • Updated dated links, changelog references, and integration status.

robertoecf and others added 2 commits August 12, 2026 16:33
Make the optional resolver cascade step explicit about operator-owned API keys and the public Free tier (500 credits/month), so deploy wiring does not treat it as unlimited.

Co-authored-by: Cursor <cursoragent@cursor.com>
Correct variable per-call credit costs and separate REST API-key wiring from MCP OAuth so the cascade docs do not imply one credit per resolution or the wrong auth path.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a823bd7d-e5c3-4030-b1fa-18a6f9bddda0

📥 Commits

Reviewing files that changed from the base of the PR and between 4c4de9f and 16ead70.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • docs/RESOLVER.md
  • docs/SOURCES_WITH_AUTH.md
  • src/findata/resolver/engine.py
🚧 Files skipped from review as they are similar to previous changes (4)
  • CHANGELOG.md
  • docs/SOURCES_WITH_AUTH.md
  • docs/RESOLVER.md
  • src/findata/resolver/engine.py

📝 Walkthrough

Walkthrough

The change documents Mais Retorno as an optional resolver source. It records REST API key and MCP OAuth authentication, shared Free-tier limits, rate-limit behavior, source classification, and provider replacement semantics.

Changes

Mais Retorno resolver documentation

Layer / File(s) Summary
Resolver source and account usage documentation
docs/RESOLVER.md, docs/SOURCES_WITH_AUTH.md, CHANGELOG.md
The documentation identifies Mais Retorno as an optional external source. It describes operator credentials, REST and MCP authentication, shared Free-tier credits, limits, rate-limit behavior, quota exhaustion, source classification, and pending integration work.
Provider replacement contract documentation
src/findata/resolver/engine.py
The provider contract and resolver documentation state that non-None provider results replace the current classification. The resolver prepends the prior cascade, and providers own the returned fields, source, and confidence.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Mergeability Score: ⚪ Minimal · up to 16ead

The PR clarifies Mais Retorno Free-tier limits and related resolver behavior; no actionable merge-blocking risk remains based on the supplied current-head evidence.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main documentation change: Mais Retorno Free quota limits in the resolver cascade.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/mais-retorno-mcp-free-limits

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
src/findata/resolver/engine.py (1)

10-13: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Use deployment-side wording for provider ownership.

client-side / networked is ambiguous and conflicts with the server-side REST provider described in docs/RESOLVER.md. It can suggest placing the REST API key in browser code. Use outside the library / networked, and state that REST credentials remain in the operator's deployment. The provider documentation recommends X-Api-Key for server-side REST and OAuth for MCP. (developers.maisretorno.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/findata/resolver/engine.py` around lines 10 - 13, Update the “External
providers” documentation wording to say providers are outside the library and
networked, not client-side/networked. Clarify that REST credentials remain in
the operator’s deployment, while preserving the existing injected async callback
and provider ownership guidance.

Source: MCP tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/RESOLVER.md`:
- Around line 131-132: Update the “Cota esgotada” entry in RESOLVER.md to state
that HTTP 429 ends when the billing cycle renews or when the operator upgrades
the plan, preserving the existing renewal behavior and email-warning detail.
- Around line 101-102: The resolver documentation and provider contract are
inconsistent: the resolver replaces AssetClassification with provider results
rather than merging fields or lowering confidence. Update docs/RESOLVER.md lines
101-102 and the corresponding contract description in
src/findata/resolver/engine.py lines 14-15 to state that providers control
overrides and confidence, and that cascade entries are carried forward from
enriched.cascade; do not describe merge or confidence-reduction behavior unless
implementing it in the resolver.

---

Nitpick comments:
In `@src/findata/resolver/engine.py`:
- Around line 10-13: Update the “External providers” documentation wording to
say providers are outside the library and networked, not client-side/networked.
Clarify that REST credentials remain in the operator’s deployment, while
preserving the existing injected async callback and provider ownership guidance.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f2077952-8d8b-487b-8e78-2a2bb6092225

📥 Commits

Reviewing files that changed from the base of the PR and between 269f53b and 4c4de9f.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • docs/RESOLVER.md
  • docs/SOURCES_WITH_AUTH.md
  • src/findata/resolver/engine.py

Comment thread docs/RESOLVER.md Outdated
Comment thread docs/RESOLVER.md Outdated
robertoecf and others added 2 commits August 13, 2026 10:44
Address CodeRabbit feedback: providers replace the classification and own confidence/source; document HTTP 429 clears on cycle renewal or plan upgrade.

Co-authored-by: Cursor <cursoragent@cursor.com>
Include plan-upgrade escape for Mais Retorno HTTP 429 and record the provider-replace wording alignment in the changelog.

Co-authored-by: Cursor <cursoragent@cursor.com>
@robertoecf
robertoecf merged commit 607de01 into main Aug 13, 2026
6 checks passed
@robertoecf
robertoecf deleted the cursor/mais-retorno-mcp-free-limits branch August 13, 2026 13:46
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