fix: make --objective optional for alexandria feedback - #301
Merged
Merged
Conversation
1.25.1 made --objective a required option, so feedback from agents using skill copies without it failed before sending, and the recommended --silent & pattern hid the error. The API already accepts feedback without an objective. Bump to 1.25.3. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
There was a problem hiding this comment.
No issues found across 4 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would auto-approve. Makes --objective optional for alexandria feedback, restoring pre-1.25.1 behavior after a required-option regression; tests show feedback is sent without the field and blank values are still rejected, with README and version updated.
Re-trigger cubic
StepenkoAnatoli
pushed a commit
to StepenkoAnatoli/Research-Kit
that referenced
this pull request
Oct 3, 2026
…d before the move
What changed: `TESTED_CLI_VERSION` is 1.25.3, with the comment block in `lib/firecrawl.mjs`
extended by what the release is and what the capture showed. Four fixtures beside the
1.25.2 ones (`test/fixtures/firecrawl-{status,search,scrape}-1.25.3.*`, the scrape's
stderr kept apart) and three tests feeding them through `parseStatus`, `normalizeSearch`,
`creditsUsed` and `normalizeScrape`; the 1.25.2 status test now asserts its own release
rather than the tested one, as the 1.24.6 one did before it. README's install line and
table row, the architecture map's firecrawl row, the decision index row and the CHANGELOG
say the pin moved.
Why: the operator asked for the update after upgrading the CLI on the collector machine,
where doctor reported 1.25.3 against a 1.25.2 pin (same major, so it passed). The release
is one commit, "fix: make --objective optional for alexandria feedback" (firecrawl/cli#301,
read from a shallow clone; the releases page answers 403 to this session), with nothing on
scrape, search or --status, and the bundle is unchanged (SDK 4.40.0, axios 1.18.0, node
>= 22). The decision project's rule (docs/decisions/2026-10-02-firecrawl-cli-1-25) is to
move only on a capture of the real output, so it was captured anyway: a scratch npm
prefix, the key given per command, three credits (2026-10-03). A vendor update is allowed
under the freeze (ADR-0117).
What it touched: lib/firecrawl.mjs, test/transport.test.mjs, four fixtures; README.md,
docs/ARCHITECTURE.md (firecrawl row), docs/decisions/README.md, CHANGELOG Unreleased,
research-kit/README.md count 1515. No ADR: the decision project is the record, and its
brief is left as written. The fixtures were scanned for the session's keys (0 hits); the
search and scrape fixtures carry the docs page's `fc-YOUR_KEY` placeholders, as the 1.25.2
ones do. The status capture shows the account's cycle is now 1,500 credits.
What you verified: transport 99/1 before the pin move - the one red is the new status
test's version assertion, the fixture's 1.25.3 against the tested 1.25.2 - and transport +
doctor + cli 274/0 after; the fixtures parse (search: 3 web rows, 3 tools, creditsUsed 2;
scrape: one JSON value on stdout, "Scrape ID" on stderr, 29,978 chars of markdown, status
200). The commit gate runs the full suite on this commit; the CI-equivalent gate runs on a
fresh clone before the push.
What you got wrong and fixed: my doc script asserted the front README names the pin twice;
it names it three times (two on one line), so the script stopped before the map, changelog
and index edits and they were applied in a second pass - caught by `git status` showing
those files unchanged.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1fT6wSqD2LwRjsUuRvDau
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Alexandria feedback volume dropped from Sept 30. #292 (released in 1.25.1) made
--objectivearequiredOptiononfirecrawl alexandria feedback. Agents running skill copies written before that flag existed omit it, so the command exits before sending, and the recommended--silent &pattern hides the error. The API (firecrawl/firecrawl#4877) deliberately accepts feedback without an objective.Change
--objectiveis now a regular option; it is still trimmed and rejected when blank, and still shown in the skill example.--objectiveis sent (without the field); a blank value is still rejected.Testing
pnpm build && vitest run src/__tests__/alexandria-beta.test.ts src/__tests__/commands/feedback.test.ts: 70/70 pass.Made with Cursor
Summary by cubic
Restores compatibility with agents on older skill copies by making
--objectiveoptional forfirecrawl alexandria feedback. 1.25.1 required the flag, so the command exited before sending when it was omitted, and the recommended--silent &pattern hid the failure. The API already accepts feedback without an objective.Blank values are still trimmed and rejected before sending. The flag stays in the skill example and README (now noted as optional). Version bumped to 1.25.3.
Written for commit f941fca. Summary will update on new commits.