Drift found while auditing derived repos against ptr727/ProjectTemplate, per the template's verbatim-carry contract (introduced in ptr727/ProjectTemplate#124). The review-loop contract + Copilot runbook are already present here - good. Remaining drift:
- Missing
.markdownlint-cli2.jsonc. Copy the template's .markdownlint-cli2.jsonc verbatim.
.editorconfig line-ending drift. end_of_line = crlf is set only under [*.md], so code/config files (.cs, XML, .json, .yml) follow editor defaults and drift between LF and CRLF. Carry the template's full per-extension end_of_line rules (simplest: copy the template's .editorconfig verbatim). (.gitattributes is already correct.)
- Ruleset names are capitalized
Develop/Main. The template requires the exact lowercase load-bearing names develop/main (referenced by AGENTS.md and workflow conditionals). Recreate via the JSON export/import in the template README's "Rules / Rulesets".
The deprecated app-id -> client-id migration is handled separately in #159.
Drift found while auditing derived repos against ptr727/ProjectTemplate, per the template's verbatim-carry contract (introduced in ptr727/ProjectTemplate#124). The review-loop contract + Copilot runbook are already present here - good. Remaining drift:
.markdownlint-cli2.jsonc. Copy the template's.markdownlint-cli2.jsoncverbatim..editorconfigline-ending drift.end_of_line = crlfis set only under[*.md], so code/config files (.cs, XML,.json,.yml) follow editor defaults and drift between LF and CRLF. Carry the template's full per-extensionend_of_linerules (simplest: copy the template's.editorconfigverbatim). (.gitattributesis already correct.)Develop/Main. The template requires the exact lowercase load-bearing namesdevelop/main(referenced by AGENTS.md and workflow conditionals). Recreate via the JSON export/import in the template README's "Rules / Rulesets".The deprecated
app-id->client-idmigration is handled separately in #159.