mick-gsk/Drift — AI Code Coherence Monitor

Catches what CodeQL and Semgrep don't cover: pattern fragmentation, architecture erosion, mutant duplicates, temporal volatility. Deterministic quality control layer for AI-assisted Python development.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 9, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: mick-gsk/drift@b9b1aec174e737ee31cbad40d368c4ad1add3076 # v2.51.1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
repoPath to the repository root to analyse.no.
fail-onExit 1 if any finding is at or above this severity: critical | high | medium | low | none. Use 'none' for report-only.nonone
sinceDays of git history to consider for temporal signals.no90
formatTerminal output format: rich | json | sarifnorich
configPath to a drift.yaml config file (optional).no""
upload-sarifUpload SARIF results to GitHub Code Scanning so findings appear as inline annotations on pull requests. Requires the 'security-events: write' permission. nofalse
drift-versionpip install spec for drift-analyzer, e.g. 'drift-analyzer==0.2.0'. Defaults to the latest published release. nodrift-analyzer
commentPost a PR summary comment with drift score, severity distribution, and top findings. Only works in pull_request events. Requires the 'pull-requests: write' permission. nofalse
briefRun drift brief and post a pre-task structural briefing as a PR comment. Extracts scope from the PR title or the brief-task input. Only works in pull_request events. Requires the 'pull-requests: write' permission. nofalse
brief-taskTask description for drift brief. If omitted, the PR title is used. no""
create-issuePaket 2C / ADR-095 — when 'true', automatically open a GitHub issue in the CURRENT repository for every BLOCK-severity drift finding (finding severity = critical or high). Opt-in: default is 'false' to respect the 'no unsolicited posting' contract. Requires the 'issues: write' permission on the calling workflow. Deduplicates against existing open issues by embedding the drift finding_id in the issue body so that re-runs do not spam the tracker. nofalse
issue-labelsComma-separated labels applied to auto-filed drift issues. Ignored unless 'create-issue' is 'true'. Labels MUST already exist in the repository; the workflow does not create labels. nodrift,agent-block
namedescription
sarif-fileAbsolute path to the generated SARIF file (only set when upload-sarif is 'true').
drift-scoreThe drift score (0.00–1.00) from the analysis.
finding-countTotal number of findings.
severityOverall severity level.
gradeLetter grade (A–F) derived from the drift score.
badge-svgAbsolute path to the generated SVG badge file.