Skip to content

[integrations] Chrome capture: skip per-turn LLM classification on bulk sync - #450

Open
eazene wants to merge 1 commit into
NateBJones-Projects:mainfrom
eazene:contrib/eazene/chrome-capture-sync-skip-classification
Open

[integrations] Chrome capture: skip per-turn LLM classification on bulk sync#450
eazene wants to merge 1 commit into
NateBJones-Projects:mainfrom
eazene:contrib/eazene/chrome-capture-sync-skip-classification

Conversation

@eazene

@eazene eazene commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

What

Bulk sync captures from the Chrome capture extension now send skip_classification: true on the /ingest payload. Manual captures are unchanged and still classify.

Why

All three bulk-sync paths (Claude, ChatGPT, Gemini) funnel every turn through the gateway's smart-ingest pipeline. Without the flag, a 400-turn backfill fires ~400 per-item classification LLM calls on top of extraction — pure cost, since sync-mode turns arrive with full source provenance already attached (extension_platform, conversation IDs, page URL, client fingerprint).

Verified against a live smart-ingest deployment: A/B dry-runs of the same conversational turn with and without the flag produce identical extraction results (the flag only gates the later per-item classification pass), so no capture behavior changes other than skipping that call.

How

One line in the shared payload builder in processCaptureRequest (background/service-worker.js):

skip_classification: capture.captureMode === 'sync',
  • All bulk paths set captureMode: 'sync'; manual clicks arrive as 'manual' → flag is false.
  • The retry queue re-sends the stored payload whole, so the flag survives retries.
  • Gateways that don't read the field simply ignore it (backward compatible).

Also bumps manifest.json to 0.6.1, adds a README changelog entry, and updates metadata.json (1.1.2 / 2026-07-14).

Testing

  • node --check on service-worker.js; JSON validity on manifest/metadata.
  • Live A/B smoke test against a deployed open-brain-rest → smart-ingest stack: identical extracted_count with/without the flag; provenance metadata persisted; dedup statuses unaffected.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LxP7M99m4EF5Ve7rn3SNKH

…lk sync

Bulk sync captures (Claude/ChatGPT/Gemini backfill, captureMode 'sync')
now send skip_classification: true on the /ingest payload. Smart-ingest
gateways use the flag to skip the per-item classification LLM call, so
a 400-turn backfill fires ~400 fewer LLM calls. Manual captures (user
clicked Capture on one exchange) still classify. Gateways that don't
support the flag ignore the extra field.

All three bulk paths funnel through the shared payload builder in
processCaptureRequest, and the retry queue re-sends the stored payload
whole, so the flag survives retries.

Bumps manifest to 0.6.1 with a README changelog entry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LxP7M99m4EF5Ve7rn3SNKH
@github-actions github-actions Bot added the integration Contribution: MCP extension or capture source label Jul 14, 2026
@github-actions

Copy link
Copy Markdown

OB1 PR Gate

Folder structure — All files are in allowed directories
Required files — README.md and metadata.json found in all contribution folders
Metadata valid — All metadata.json files passed JSON Schema validation
No credentials — No API keys, tokens, or secrets detected
SQL safety — No destructive SQL or core table modifications
Category artifacts — Required file types present for each category
PR format — Title follows [category] Description format
No binary blobs — No oversized or binary files
README completeness — All READMEs include Prerequisites, Steps, and Expected Outcome
Contribution dependencies — All declared skill and primitive dependencies exist and are linked in README
LLM clarity review — Covered by Claude PR Review workflow
Remote MCP pattern — No local MCP server patterns detected — uses remote MCP correctly
Tool audit link — Extensions/integrations link to the MCP Tool Audit guide
Scope check — All changes are within the contribution folder(s)
Internal links — All relative links in READMEs resolve to existing files

Result: All 15 checks passed! Ready for human review.


Post-Merge Tasks

These don't block merge — they're reminders for admins after this PR lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration Contribution: MCP extension or capture source

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant