From dc2f8c7329b4c93ab5923f132f1f44594458dcba Mon Sep 17 00:00:00 2001 From: t Date: Sun, 23 Aug 2026 09:47:32 -0500 Subject: [PATCH] fix(ci): stop tracking the per-run worker-attempt artifact langsmith-fleet-worker-attempt.json is a per-run CI provenance record, not source. reusable-codex-run.yml (in stranske/Workflows) rewrites it on every invocation and uploads it as artifact langsmith-fleet-v1-worker-attempt-. It became tracked in 2118f57, and because gitignore does not apply to an already-tracked path, the runner's `git add -A` commit step staged it on every run: ten commits across PRs #59/#61/#62/#63, one add/add conflict per concurrent PR, and a silently widened diff on each. Nothing reads it from the tree. The langsmith-fleet/v1 consumers here (langsmith_pull.py, langsmith_fetch.py) ingest the NDJSON Actions artifact `langsmith-fleet.ndjson`; neither names this path. The 30-day artifact upload already provides the replacement path, so untracking loses no provenance. stranske/Workflows reached the same verdict for its own copy. The ignore entry sits outside the synced WORKFLOWS STATUS FILES block, since that block mirrors a consumer template which does not carry this pattern and would drop it on the next rewrite. Co-Authored-By: Claude Opus 5 --- .gitignore | 21 +++++++++++++++++++++ langsmith-fleet-worker-attempt.json | 16 ---------------- 2 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 langsmith-fleet-worker-attempt.json diff --git a/.gitignore b/.gitignore index 86c4fef..bf74cee 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,27 @@ LOCAL_POLICY.md CAPABILITY_USEFULNESS.md *.local.md +# --- per-run CI provenance: an artifact, not source --- +# langsmith-fleet-worker-attempt.json is rewritten on EVERY reusable-codex-run +# invocation (one langsmith-fleet/v1 record for that run's worker model attempt). +# It was tracked from 2118f57 onward, and gitignore does not apply to an +# already-tracked path — so the runner's `git add -A` commit step staged it every +# time regardless of this file. Ten commits across PRs #59/#61/#62/#63 rewrote +# it, producing one add/add conflict per concurrent PR and silently widening +# diffs that had nothing to do with their change. +# +# Nothing reads it from the tree. This repo's langsmith-fleet/v1 consumers +# (langsmith_pull.py, langsmith_fetch.py) ingest the NDJSON Actions artifact +# `langsmith-fleet.ndjson`; neither one names this path. The producer already +# uploads it as artifact `langsmith-fleet-v1-worker-attempt-` (30-day +# retention), so untracking loses no provenance. stranske/Workflows reached the +# same verdict for its own copy — same filename, same reason, see its .gitignore. +# +# Deliberately OUTSIDE the synced block below: that block mirrors Workflows' +# templates/consumer-repo/.gitignore, which does NOT carry this pattern, so an +# entry placed inside it would be dropped when the block is next rewritten. +langsmith-fleet-worker-attempt.json + # ============================================================================= # Workflows Consumer Repo - Shared Status Files # ============================================================================= diff --git a/langsmith-fleet-worker-attempt.json b/langsmith-fleet-worker-attempt.json deleted file mode 100644 index 2595427..0000000 --- a/langsmith-fleet-worker-attempt.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "agent": "codex", - "cli_version": "0.144.1", - "emitted_at": "2026-08-23T15:04:55.656311Z", - "execution_profile": "codex-default", - "fallback_models": [ - "gpt-5.5" - ], - "operation_role": "worker", - "pr_number": "68", - "requested_model": "gpt-5.6-terra", - "runner": "reusable-codex-run", - "schema": "langsmith-fleet/v1", - "selected_model": "gpt-5.6-terra", - "selection_reason": "input" -}