trace: support advanced Git index semantics for same-call attribution

Ouverte
#3,698 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
54/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
git, go
Domaine
devtools

Piste de recherche

Start by reading the implementation and lifecycle tests for same-call Git attribution, then inspect the existing normal-index behavior described in PR #3631. Add coverage for temporary indexes, intent-to-add entries, conflict resolution, replacement refs, and the temporary-index race path; the acceptance criteria define the expected results. Done means the listed cases pass and attribution matches only content newly staged by the committing Bash call.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug chainloop component/CLI trace-provider

Context

Follow-up to #3625 and PR #3631. This scope was intentionally deferred while narrowing the PR to the normal-index foreground Claude Bash case, following maintainer review.

Scope

Support same-call attribution when Git does not use the repository's normal stage-0 index:

Expected behavior

The pre-call and commit-time snapshots use the index Git is actually committing. Only content newly staged by that Bash call is attributed, and special index states cannot add or omit session attribution incorrectly.

Acceptance criteria

  • A same-call git commit --only <path> receives the correct session trailer.
  • Pre-existing normal-index content is not claimed by a temporary-index commit.
  • Intent-to-add paths do not receive attribution unless committed.
  • Resolving an unmerged path changes the index signature even when stage 0 reuses an existing blob.
  • Indexed blob reads remain exact in repositories with refs/replace/*.
  • Race-enabled lifecycle tests cover the temporary-index commit path.
Langage dominant
Go
Étoiles
582
Forks
61
Merge moyen
12 h 47 min
PR mergées (30 j)
137

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de chainloop-dev/chainloop

Toutes les issues de chainloop-dev/chainloop

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.