Skip to content

feat: add opt-in exact Markdown source receipts - #2414

Draft
workstonedai-collab wants to merge 1 commit into
unclecode:developfrom
workstonedai-collab:feat/source-receipt-20261018
Draft

workstonedai-collab wants to merge 1 commit into
unclecode:developfrom
workstonedai-collab:feat/source-receipt-20261018

Conversation

@workstonedai-collab

Copy link
Copy Markdown

Refs #2307.

CrawlerRunConfig(source_receipt=True) attaches exact UTF-8 Markdown digests, byte counts, redacted source/final URLs, cache status and separate fetched/served timestamps to successful results. Minimal fetch provenance is retained in a reserved metadata key using existing cache persistence, without a database migration. Cache hits preserve recorded fetch identity; legacy cache entries keep unknown time/version/options null. Raw HTML/file inputs do not claim a network fetch. The flag is appended to the constructor to preserve existing positional arguments.

The processing fingerprint intentionally covers only four documented primitive options; it is not a complete cache key. Query strings/credentials/fragments are omitted from receipt URLs, but application-private paths still require care. Cached results hash only the output kinds they actually return.

Validation: 6 offline tests passed, including the actual arun miss -> persisted metadata -> cache-hit control flow with mocked fetching/processing; exact Unicode bytes, serialization, legacy unknowns, config cloning and failed/raw inputs. New files pass Black for Python 3.10 and git diff --check. No browser, remote crawl or model request was made. One existing model serializer warning for fit_html remains outside this patch.

Draft for review of the receipt/cache contract before expanding the field surface. The existing issue remains open; this PR does not claim the entire proposal is resolved. Prepared with Codex; all fixtures are fictional.

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