Skip to content

fix: make --objective optional for alexandria feedback - #301

Merged
nickscamara merged 1 commit into
mainfrom
nsc/optional-alexandria-objective
Oct 2, 2026
Merged

nickscamara merged 1 commit into
mainfrom
nsc/optional-alexandria-objective

Conversation

@nickscamara

@nickscamara nickscamara commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Why

Alexandria feedback volume dropped from Sept 30. #292 (released in 1.25.1) made --objective a requiredOption on firecrawl 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

  • --objective is now a regular option; it is still trimmed and rejected when blank, and still shown in the skill example.
  • Tests: feedback without --objective is sent (without the field); a blank value is still rejected.
  • README notes the flag is optional.
  • Bump to 1.25.3.

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 --objective optional for firecrawl 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.

Review in cubic

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>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

@nickscamara
nickscamara merged commit a3cc6af into main Oct 2, 2026
8 checks passed
@nickscamara
nickscamara deleted the nsc/optional-alexandria-objective branch October 2, 2026 18:44
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
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