Add repository toolchain policy
This commit is contained in:
18
.editorconfig
Normal file
18
.editorconfig
Normal file
@@ -0,0 +1,18 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{c,cpp,cs,h,py,ps1,sh}]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.{csproj,json,jsonl,props,targets,toml,tscn,tres,xml,yaml,yml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.{bat,cmd}]
|
||||
end_of_line = crlf
|
||||
76
.gitattributes
vendored
76
.gitattributes
vendored
@@ -1,5 +1,73 @@
|
||||
docs/opcode-reference.md whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
docs/global-reference.md whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
docs/engine-ctx-reference.md whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
tools/age_opcodes_himegari.py whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
* text=auto
|
||||
.editorconfig text eol=lf
|
||||
.gitattributes text eol=lf
|
||||
.gdignore text eol=lf
|
||||
.gitignore text eol=lf
|
||||
|
||||
*.bat text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
|
||||
*.c text eol=lf
|
||||
*.cfg text eol=lf
|
||||
*.cs text eol=lf
|
||||
*.csproj text eol=lf
|
||||
*.config text eol=lf
|
||||
*.cpp text eol=lf
|
||||
*.gd text eol=lf
|
||||
*.godot text eol=lf
|
||||
*.h text eol=lf
|
||||
*.json text eol=lf
|
||||
*.jsonl text eol=lf
|
||||
*.md text eol=lf
|
||||
*.props text eol=lf
|
||||
*.targets text eol=lf
|
||||
*.ps1 text eol=lf
|
||||
*.py text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.sln text eol=lf
|
||||
*.toml text eol=lf
|
||||
*.tscn text eol=lf
|
||||
*.tres text eol=lf
|
||||
*.uid text eol=lf
|
||||
*.xml text eol=lf
|
||||
*.yaml text eol=lf
|
||||
*.yml text eol=lf
|
||||
|
||||
*.7z binary
|
||||
*.a binary
|
||||
*.agf binary
|
||||
*.avi binary
|
||||
*.bin binary
|
||||
*.bmp binary
|
||||
*.cur binary
|
||||
*.dll binary
|
||||
*.dylib binary
|
||||
*.exe binary
|
||||
*.gif binary
|
||||
*.ico binary
|
||||
*.jpeg binary
|
||||
*.jpg binary
|
||||
*.lib binary
|
||||
*.mp3 binary
|
||||
*.mp4 binary
|
||||
*.mpeg binary
|
||||
*.mpg binary
|
||||
*.ogg binary
|
||||
*.otf binary
|
||||
*.pdb binary
|
||||
*.png binary
|
||||
*.rar binary
|
||||
*.so binary
|
||||
*.ttf binary
|
||||
*.wav binary
|
||||
*.woff binary
|
||||
*.woff2 binary
|
||||
*.zip binary
|
||||
|
||||
# These generated files currently have CRLF committed by generator contract.
|
||||
# Preserve their bytes while retaining textual diffs until the generators and
|
||||
# their committed output are deliberately migrated together.
|
||||
docs/opcode-reference.md -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
docs/global-reference.md -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
docs/engine-ctx-reference.md -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
tools/age_opcodes_himegari.py -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||
|
||||
@@ -29,6 +29,9 @@ S:\Game Hacking\Eushully\Himegari\ ← workspace root (three siblings)
|
||||
└── age-reimpl/ ← OUR WORK (everything we made lives here)
|
||||
│
|
||||
├── README.md navigation-only repository front door; canonical facts stay in docs/
|
||||
├── global.json pins the validated .NET 8 SDK feature band
|
||||
├── .editorconfig / .gitattributes UTF-8, indentation, text/EOL, and binary-file policy;
|
||||
│ generator-owned CRLF references retain their committed bytes
|
||||
├── run-godot.ps1 / run-godot.cmd tracked development launcher + Windows wrapper;
|
||||
│ resolves Godot/game-root from parameters, environment,
|
||||
│ PATH, and the conventional sibling install
|
||||
|
||||
@@ -903,6 +903,15 @@ do not mix mechanical moves with semantic changes.
|
||||
backup. Public distribution remains blocked on item 3; destructive cleanup and compaction remain blocked on
|
||||
item 4 plus explicit target approval.
|
||||
|
||||
**Policy baseline (2026-08-03):** item 1 is complete. `global.json` pins the validated .NET 8.0.408 feature
|
||||
band to stable patch releases; `.editorconfig` establishes UTF-8, final-newline, trailing-whitespace, and
|
||||
indentation defaults; and `.gitattributes` classifies repository text, Windows command wrappers, and binary
|
||||
assets. Generator-owned references that already commit CRLF are explicit byte-preserving exceptions with
|
||||
textual diffs, so rebuilding them does not create whole-file normalization churn. No existing source or
|
||||
project file was reformatted or renormalized. Both solution builds and the asset-independent core validation
|
||||
gate remain green under the tracked policy. Item 2, a CI workflow calling that same core gate, is the next
|
||||
safe slice.
|
||||
|
||||
**Not cleanup targets:** generated `build/` output, the two intentional solution files, historical
|
||||
`docs/superpowers/` plans/specifications, and fidelity-specific complexity that is directly covered by the
|
||||
native ABI. Reorganization is successful when ownership and reproduction become clearer, not when the raw
|
||||
@@ -1249,9 +1258,9 @@ layer's rendering diverges from ADV; save layout.
|
||||
---
|
||||
|
||||
## 8. Immediate next step
|
||||
Continue step 5 of the **codebase consolidation** maintenance slice with the first non-destructive policy change:
|
||||
add a repository `global.json`, `.editorconfig`, and complete text/line-ending attributes based on the validated
|
||||
.NET 8/Python 3.11 toolchain. Do not mechanically reformat existing files or change warning/runtime behavior;
|
||||
verify both solutions and the core validation driver under the tracked policy.
|
||||
Continue step 5 of the **codebase consolidation** maintenance slice with an asset-independent CI workflow that
|
||||
invokes `py -3.11 -X utf8 tools/validate.py --level core` on Windows using the tracked .NET SDK policy. Keep the
|
||||
private game corpus and Godot runtime out of the hermetic CI job, preserve the validation driver's failure and
|
||||
child-process semantics, and avoid introducing a second build/test command path.
|
||||
Concrete playthrough blockers may still preempt this bounded maintenance work; the consolidation effort does
|
||||
not replace Phase B gameplay validation or the open cross-platform gates.
|
||||
|
||||
7
global.json
Normal file
7
global.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "8.0.408",
|
||||
"rollForward": "latestPatch",
|
||||
"allowPrerelease": false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user