{% if options.share_id %}{% endif %}
docs-drift / report
Documentation intelligence

{{ result.repo_path.name }}

{{ result.head_sha[:8] }} · {{ result.scan_time.strftime('%d %b %Y, %H:%M UTC') }}
{{ result.docs|length }} documents · {{ result.claims|length }} claims checked
{{ health }}DOCS HEALTH
{% for key,count in counts.items() if key != 'ok' and count %}{% endfor %}
{% if web_truncated %}

Showing the first 40 findings with shortened snippets. Download JSON for the complete result.

{% endif %} {% if options.share_id %}{% for warning in result.warnings %}

{{ warning }}

{% endfor %}{% endif %} {% if not counts.missing and not counts.renamed and not counts.default_changed and not counts.invalid_command %}

No drift found 🎉. Checked {{ result.claims|length }} claims across {{ result.docs|length }} docs. {{ counts.unverifiable }} could not be verified; their evidence explains why.

{% endif %}
What needs attention
{% for f in findings %}
{{ f.claim.doc_path }}:{{ f.claim.line }}{% if f.package %} · {{ f.package }}{% endif %}{{ rules[f.verdict][1] }}

{% set parts = (f.doc_text or f.claim.raw_text).partition(f.claim.value) %}{{ parts[0] }}{{ parts[1] }}{{ parts[2] }}

{% if f.suggestion %}

Proposed documentation fix (review required; not applied)

{% endif %}
− {{ f.claim.expected_default if f.verdict == 'default_changed' else f.claim.value }}
+ {{ f.suggestion or f.reasons[0] }}
{% if f.introduced_by %}
{% if remote %}{{ f.introduced_by.short_sha }}{% else %}{{ f.introduced_by.short_sha }}{% endif %} · {{ f.introduced_by.summary }}
{{ f.introduced_by.date.strftime('%d %b %Y') }}{% if options.show_authors %} · {{ f.introduced_by.author_name }}{% endif %}
{% endif %}
Evidence · {{ f.evidence|length }} sources{% for e in f.evidence %}

{{ e.file }}:{{ e.line }}

{% for line in e.text.splitlines() %}{{ e.line + loop.index0 }} │ {{ line }}
{% endfor %}
{% endfor %}

{{ f.reasons|join(' ') }}

{% else %}

No findings. Your documentation is in sync.

{% endfor %}