Skip to content

firecrawl: the tested CLI is 1.25.3, its real output captured and read before the move - #231

Merged
StepenkoAnatoli merged 1 commit into
mainfrom
main-axuse3
Oct 3, 2026
Merged

StepenkoAnatoli merged 1 commit into
mainfrom
main-axuse3

Conversation

@StepenkoAnatoli

Copy link
Copy Markdown
Owner

What

TESTED_CLI_VERSION moves from 1.25.2 to 1.25.3 (lib/firecrawl.mjs), the way the 1.25.2 move was done:

  • Four fixtures captured from the real 1.25.3 CLI (test/fixtures/firecrawl-{status,search,scrape}-1.25.3.*, the scrape's stderr kept apart): a scratch npm prefix, the key given per command, three credits, 2026-10-03.
  • Three tests feed them through parseStatus, normalizeSearch, creditsUsed and normalizeScrape; the 1.25.2 status test now asserts its own release rather than the tested one.
  • README install line and table row, the architecture map's firecrawl row, the decision index row and the CHANGELOG say the pin moved. doctor and the workflows' install spec read the constant.

Why

The operator upgraded the CLI on the collector machine; 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), 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 vendor update is allowed under the freeze (ADR-0117).

What the capture shows

Status: same text, a 1,500-credit cycle behind it. Search: three web rows with positions, three Alexandria tools reaching no result, creditsUsed: 2. Scrape: one JSON value on stdout, Scrape ID on stderr, 29,978 characters of markdown, status 200.

Verified

  • transport group red on exactly one assertion before the pin move (the new status test's version against the tested one), transport + doctor + cli 274/0 after.
  • Commit gate ran the full suite; fresh-clone gate GATE fc1253: PASS (1515 tests).
  • Fixtures scanned for the session's keys: 0 hits. The search and scrape fixtures carry the docs page's fc-YOUR_KEY placeholder, as the 1.25.2 ones do.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S1fT6wSqD2LwRjsUuRvDau


Generated by Claude Code

…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
@StepenkoAnatoli
StepenkoAnatoli marked this pull request as ready for review October 3, 2026 19:33
@StepenkoAnatoli
StepenkoAnatoli merged commit 38e6136 into main Oct 3, 2026
7 checks passed
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.

2 participants