suite retire и проверка словаря в документе для читателя

- suite retire снимает правило, конвенцию или тему: правило остаётся заглушкой
  с датой и причиной, имя уезжает в раздел выбывших, снятие с непогашенными
  ссылками отклоняется с перечнем мест
- добавлена проверка META-30: короткое описание языка обязано называть все
  слова словаря, иначе читатель копии толкует их по памяти
- retired-раздел манифеста больше не считается объявлением пути: снятый
  префикс означает, что файл ушёл вместе с ним
This commit is contained in:
av
2026-07-27 10:51:46 +03:00
parent b29b5b5e6f
commit 5321fba89d
9 changed files with 753 additions and 7 deletions
+3 -3
View File
@@ -91,13 +91,13 @@ func Load(root string) (*Suite, error) {
// front matter rather than the location of the file: the suite rearranges its
// taxonomy, while the front matter asserts.
func (s *Suite) findUnregistered() error {
// Only live prefixes declare a path. A retired entry records why a prefix
// left and when, not where a file lies — retiring a prefix means the file
// went with it, so one left behind is undeclared and has to say so.
declared := make(map[string]bool)
for _, path := range s.Manifest.Prefixes.Live {
declared[filepath.ToSlash(path)] = true
}
for _, path := range s.Manifest.Prefixes.Retired {
declared[filepath.ToSlash(path)] = true
}
err := filepath.WalkDir(s.Root, func(name string, entry fs.DirEntry, err error) error {
if err != nil {