mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-04 20:41:36 +00:00
* refactor(media): hydrate and prune images from structured facts, delete marker-text parsing Embedded, CLI, host-context replay, and plugin-harness image hydration now consume the persisted/runtime MediaFact carrier instead of parsing OpenClaw-authored [media attached:]/[Image: source:] marker text. The prompt-text attachment parser family (splitPromptAndAttachmentRefs, leading/ trailing marker extractors, ref-count consumption, text-based prune scrubbing) is deleted; explicit user-authored paths and file URLs still hydrate. - Described-image suppression is a declared MediaFact.hydrationSuppressed field carried across copy/reprojection boundaries; the runtime symbol plumbing is removed. - Persisted facts plus mediaImageLayout are authoritative at every hydration entry point; image blocks reconcile by structural fact index, never byte/MIME equality. - Offloaded attachments (image and non-image) persist their media://inbound claim-check alias so ownership-aware history pruning can scrub markers after persistence; factless pre-MediaFact rows keep narrow legacy redaction. - History pruning removes facts, layout, and block provenance structurally before replay. Prompt bytes are golden-equal throughout; goldens from the fact-carrier PR are untouched. 1,303 tests across 44 files; delegated check:changed green (run 29980534186, pinned to the declared merge-base). * fix(media): fail missing inline image slots * test(agents): carry offloaded CLI retry image as a structured fact The retry-image reliability test modeled an offloaded attachment with only its [media attached:] marker text; offloaded attachments are carried as structured media facts and marker text is presentation-only, never parsed for hydration.