Skip to content

semcode-index: Exit non-zero when a lore archive fails - #94

Merged
rikvanriel merged 1 commit into
facebookexperimental:mainfrom
theihor:lore-exit-status
Sep 23, 2026
Merged

rikvanriel merged 1 commit into
facebookexperimental:mainfrom
theihor:lore-exit-status

Conversation

@theihor

@theihor theihor commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

When semcode-index --lore cannot clone, fetch or index a lore archive,
it reports the error on stderr, moves on to the next archive, and still
exits with status 0. With explicit archive names it also counts the
failed archive in "Archives processed". A script or CI job that runs
semcode-index before querying lore therefore cannot tell a refreshed
archive from a stale one.

BPF CI ran into this. It switched from re-cloning the bpf archive on
every job to refreshing the copy baked into its image, and the fetch
failed because gitoxide had no committer for the reflog ("reflog
messages need a committer which isn't set"). The step still passed,
and reviews ran against the image's copy of lore, up to a day old.

Keep going with the remaining archives, list the failed ones in the
summary as the refresh path already does, and return an error at the
end if any archive failed.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Ihor Solodrai ihor.solodrai@linux.dev

When semcode-index --lore cannot clone, fetch or index a lore archive,
it reports the error on stderr, moves on to the next archive, and still
exits with status 0. With explicit archive names it also counts the
failed archive in "Archives processed". A script or CI job that runs
semcode-index before querying lore therefore cannot tell a refreshed
archive from a stale one.

BPF CI ran into this. It switched from re-cloning the bpf archive on
every job to refreshing the copy baked into its image, and the fetch
failed because gitoxide had no committer for the reflog ("reflog
messages need a committer which isn't set"). The step still passed,
and reviews ran against the image's copy of lore, up to a day old.

Keep going with the remaining archives, list the failed ones in the
summary as the refresh path already does, and return an error at the
end if any archive failed.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Ihor Solodrai <ihor.solodrai@linux.dev>
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Sep 23, 2026
@theihor
theihor requested a review from rikvanriel September 23, 2026 22:01
@rikvanriel
rikvanriel merged commit e3b06c3 into facebookexperimental:main Sep 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants