Skip to content

[fix] [v1]: reject dupe artifact sources - #2225

Open
gtnv wants to merge 2 commits into
PrimeIntellect-ai:mainfrom
gtnv:fix/dupe-artifacts
Open

[fix] [v1]: reject dupe artifact sources#2225
gtnv wants to merge 2 commits into
PrimeIntellect-ai:mainfrom
gtnv:fix/dupe-artifacts

Conversation

@gtnv

@gtnv gtnv commented Aug 2, 2026

Copy link
Copy Markdown

Prev: archive and charge every declaration before dict kept only last value.
Now: duplicate artifact declarations are resolved before colection

closes: #2198


Note

Low Risk
Small validation-only change in artifact collection; the only behavioral shift is failing fast on misconfigured duplicate sources instead of silent overwrite.

Overview
collect now validates the resolved entries list before tarring anything: it tracks artifact.source values and raises RuntimeError if the same source appears twice.

That replaces the previous behavior where duplicate declarations still ran collection and the returned dict silently kept only the last entry per key—aligning runtime behavior with the existing docstring that a path cannot be collected twice.

Reviewed by Cursor Bugbot for commit a2f9abc. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Reject duplicate artifact sources in collect

Adds a pre-collection validation step in collect that tracks seen artifact.source values and raises a RuntimeError if any source appears more than once. Risk: existing callers with duplicate artifact sources will now fail at runtime instead of silently collecting duplicates.

Macroscope summarized a2f9abc.

gtnv added 2 commits August 2, 2026 11:00
Reject duplicate post-workdir artifact sources before collection so each budget charge maps to one returned archive.
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.

v1: reject or normalize duplicate artifact sources before collection

1 participant