Conversation
After an eligible call, print the job reference and a one-line optional reminder pointing to `firecrawl feedback <endpoint> <jobId> --help` instead of the full server message and flag template. Remove the daily submission rule and the exact attempt rate from help, the README, and bundled skills, and drop the retired DAILY_LIMIT_REACHED code.
Resolve conflicts with Alexandria session feedback and the Alexandria-only search command: - Send Alexandria session fields for endpoint alexandria and keyless task, assessment, document class, and observations for job feedback. - Keep the keyless feedback help beside the updated search action. - Keep the Alexandria guidance and relocated completion criteria in the bundled skills alongside the keyless feedback contract. - Describe keyless feedback as requested in exchange for free keyless use in the stderr reminder, help, README, and skills.
Point to feedback when a result is wrong, incomplete, blocked, or an error, matching the API invitation and MCP wording, instead of framing keyless use as an exchange for feedback. Updates the reminder, command help, README and skills.
There was a problem hiding this comment.
Review completed against the latest diff
Shadow auto-approve: would not auto-approve because issues were found.
Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 18 files
Shadow auto-approve: would not auto-approve. Auto-approval blocked because this review re-detected 1 unresolved P0–P2 issue already reported by Cubic.
Re-trigger cubic
|
@cubic-dev-ai review this PR in full at the current head. Use the API contract in firecrawl/firecrawl#4616 as the source of truth. Keyless feedback is optional for Search, Scrape, and Parse. Map feedback remains authenticated. Keyless evidence requirements are checked before submission; authenticated fields and preferences are retained. Search JSON preserves references even for empty results. Successful Scrape invitations are in data.metadata; failed jobs carry top-level metadata and are handled by the shared keyless request path, including HTTP 200 responses with success: false. Please recheck the complete diff and the prior findings against the current implementation. |
@Max17190 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR in full at the current head. Use the API contract in firecrawl/firecrawl#4616 as the source of truth. Keyless feedback is optional for Search, Scrape, and Parse. Map feedback remains authenticated. Keyless evidence requirements are checked before submission; authenticated fields and preferences are retained. Search JSON preserves references even for empty results. Successful Scrape invitations are in data.metadata; failed jobs carry top-level metadata and are handled by the shared keyless request path, including HTTP 200 responses with success: false. The latest revision also displays keyless validation details and retry timing while preserving authenticated error output. Please recheck the complete diff and the prior findings against the current implementation. |
@Max17190 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
1 issue found across 19 files
Confidence score: 5/5
- In
parse.test.ts, the keyless parse path never readsFIRECRAWL_NO_ENDPOINT_FEEDBACKor sends an opt-out header, so this test doesn't verify the env var's effect. Update it to assert behavior the keyless path actually supports.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="src/__tests__/commands/parse.test.ts">
<violation number="1" location="src/__tests__/commands/parse.test.ts:77">
P3: This test stubs `FIRECRAWL_NO_ENDPOINT_FEEDBACK` and asserts the request headers, but the keyless parse path never reads that env var and never sends an opt-out header, so the stub has no effect and the assertion is an exact duplicate of the "posts to /v2/parse without auth" test's header check. Either remove the test or make it assert the actual opt-out-relevant behavior of this PR: the keyless parse still reports the feedback invitation on stderr even when the opt-out env is set (as `feedback-invitation.test.ts` pins down).</violation>
</file>
Shadow auto-approve: would require human review. Adds keyless feedback submissions with new required fields and an auth bypass for feedback on search/scrape/parse; needs human review of the authorization and API contract changes.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review the latest changes at the current head. Removed the redundant Parse opt-out test reported in the latest review and the equivalent shared-request header tests. Invitation behavior remains covered by the helper and command tests plus actual API staging flows. The feedback auth gate now uses the same case normalization as the existing endpoint parser; regression tests verify that Search, Scrape, and Parse case variants remain keyless while Map variants retain authentication. |
@Max17190 A review is already in progress. Try again after it finishes. |
There was a problem hiding this comment.
0 issues found across 4 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would require human review. Adds keyless feedback submission for search/scrape/parse, a new required-field contract, and an auth-gate bypass for feedback; this is an authorization/data-handling change tied to an unreleased API contract.
Re-trigger cubic
|
@cubic-dev-ai review the complete current PR diff after syncing with main. Use firecrawl/firecrawl#4616 as the source of truth for optional keyless feedback. Verify the 24-hour window, evidence requirements, preserved job references on success and failure, ownership, one submission per job, separate attempt limits, no keyless refunds or quota resets, and preservation of authenticated feedback. Recheck prior findings against the current code. |
@Max17190 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
1 issue found across 18 files
Confidence score: 4/5
- The
README.mdcan be read as starting the 24-hour window when the reference arrives, but the API measures it from job creation. Clarify that submissions are due within 24 hours of job creation.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="README.md">
<violation number="1" location="README.md:476">
P2: This can imply a fresh 24-hour window after receiving the reference, but the API deadline is based on the job timestamp. State that submissions must be made within 24 hours of job creation.</violation>
</file>
Shadow auto-approve: would not auto-approve because issues were found.
Fix all with cubic | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 4 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would not auto-approve. Auto-approval blocked by 1 unresolved P0–P2 issue from previous reviews.
Re-trigger cubic
Why
Let agents discover and optionally submit evidence for keyless Search, Scrape, and Parse using the API contract in #4616.
Summary
firecrawl feedbackcommand with task, assessment, observation JSON/files, and Parse document class. Keyless submissions omit Authorization.Release after the API is deployed and Docs #1414 is published.
Test Plan
Current head
713628d: synced with main; all 704 tests across 38 files passed after rebuilding, plus build, TypeScript checks, formatting, and diff whitespace checks.Coverage includes keyless requests, same-request references on success/failure, evidence flags and help, JSON output, API validation/retry details, case-normalized auth gates, authenticated Search defaults, and feedback preferences.
All 861 API/OpenAPI schema parity cases passed across the aligned API and Docs branches.
Clarified submission requirements, the invitation deadline, and the same-caller-IP requirement. Tests restore the original feedback preference environment variable.
Cubic reports zero new issues on the final revision; all seven CI jobs and the Cubic check passed.
Built-client exercises against the staging API passed for Search, Scrape, Parse, failed-job references, accepted feedback, and duplicate retries.