项目文件夹

文件
wehub-resource-sync a06f331eb8
CI / benchmark (push) Has been skipped
install-script / posix-syntax (push) Successful in 6m1s
CI / build-onnx (push) Failing after 6m43s
init-smoke / dry-run (push) Failing after 15m57s
security / govulncheck (push) Has been cancelled
security / trivy-fs (push) Has been cancelled
CI / test (1.26, ubuntu-latest) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
CI / test (1.26, macos-latest) (push) Has been cancelled
CI / build-windows (push) Has been cancelled
CI / lint (push) Has been cancelled
install-script / powershell-syntax (push) Has been cancelled
install-script / install (macos-14) (push) Has been cancelled
install-script / install (ubuntu-latest) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:33:42 +08:00

22 行
1.0 KiB
Go

package indexer
import "sync/atomic"
// resolutionRegressions counts how many times a shape-degradation guard has
// fired since process start: a live per-file patch or a warm reload that lost
// a material share of a unit's resolved edges with no matching symbol removal.
// It is the tamper-evidence signal a ratchet can no longer hide behind — the
// guards self-heal (persist-side re-resolve; boot-side re-index) AND bump this
// counter, so index_health surfaces that the daemon caught a regression rather
// than silently serving a shrunken graph. Process-global because the two guards
// live in different packages (indexer watcher, cmd/gortex boot) and the reader
// (index_health) in a third.
var resolutionRegressions atomic.Int64
// RecordResolutionRegression bumps the process-global regression counter.
func RecordResolutionRegression() { resolutionRegressions.Add(1) }
// ResolutionRegressions returns the number of shape-degradation guard firings
// since process start.
func ResolutionRegressions() int64 { return resolutionRegressions.Load() }