*.md linguist-detectable=true
*.md.tmpl linguist-language=Markdown linguist-detectable=true
*.patch -text

# The dogfood harness manifest records byte-exact SHA-256 checksums of installed
# artifacts, verified against raw file bytes by autoharness verify. Pin the
# checksummed artifacts to LF so their manifest checksums stay portable across
# platforms (a CRLF working tree on Windows must not diverge from LF on CI).
.github/agents/_ship.agent.md text eol=lf
.github/agents/_stage.agent.md text eol=lf
.github/agents/_orchestrator.agent.md text eol=lf
.github/skills/install-harness/SKILL.md text eol=lf
.github/skills/tune-harness/SKILL.md text eol=lf
.github/instructions/harness-architecture.instructions.md text eol=lf
.github/instructions/backlogit.instructions.md text eol=lf
.github/instructions/escalation-protocol.instructions.md text eol=lf
.github/instructions/circuit-breaker.instructions.md text eol=lf
AGENTS.md text eol=lf
start.ps1 text eol=lf

# Every installed skill and concurrency-pack script is checksummed in the
# manifest too. These are globs rather than a per-file list so that newly
# installed skills/scripts inherit the LF pin automatically -- an unpinned
# checksummed artifact silently records a platform-specific checksum (CRLF on
# Windows) that then fails verification on an LF checkout.
.github/skills/**/SKILL.md text eol=lf
scripts/acquire_lock.ps1 text eol=lf
scripts/acquire_lock.sh text eol=lf
scripts/release_lock.ps1 text eol=lf
scripts/release_lock.sh text eol=lf

# Root markdownlint config: manifest-checksummed so tune-harness can detect
# rule weakening or deletion deterministically, therefore it needs the same
# LF pin as every other checksummed artifact.
.markdownlint.json text eol=lf

# S0 policy registry + review-persona layer (156-S/336F3AB7): every installed
# artifact here is manifest-checksummed against raw LF bytes (D9-C/D8-D). Glob
# rules so any future persona render under this directory inherits the LF pin
# automatically, same rationale as the skills glob above -- without this,
# core.autocrlf=true on a Windows checkout silently converts the working-tree
# copy to CRLF after `git add`/checkout even though the committed blob (and the
# manifest's recorded checksum) are LF, diverging the working tree from what
# was actually installed.
.github/policies/** text eol=lf
.github/agents/subagents/** text eol=lf
