---
type: JS Module
title: worktree-fingerprint.mjs
resource: npm/scripts/utils/worktree-fingerprint.mjs
docgen:
  crc: 38831a93
  model: openai-codex/gpt-5.4-mini
  tier: cloud-min
  score: 100
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

`worktreeFingerprint` формує стабільний fingerprint git-робочого дерева з `HEAD`, diff і `untracked`-файлів. Це потрібно, щоб розпізнавати той самий стан дерева й дедуплікувати повторні `lint --full` прогони без змін.

## Поведінка

1. worktreeFingerprint визначає, чи поточне git-робоче дерево вже має унікальний стан для повторного повного lint-прогону.
2. Якщо дерево не належить git-репо або перевірку неможливо виконати, повертає `null`.
3. Інакше бере базовий стан з `HEAD`, додає різницю від `HEAD` і враховує всі untracked-файли, щоб зміна вмісту або набору нових файлів впливала на результат.
4. Для untracked-файлів формує впорядковану сукупність «шлях + вміст», щоб однаковий набір файлів давав той самий fingerprint незалежно від порядку їх виявлення.
5. На основі цього зводить весь стан дерева в один SHA-256 fingerprint у вигляді hex-рядка.
6. Використовується як стабільний маркер незміненого дерева для відсікання повторних повних lint-прогонів.

## Публічний API

- worktreeFingerprint — Fingerprint поточного стану git-робочого дерева.

## Гарантії поведінки

- (специфічних машинно-виведених гарантій немає)
