Skip to content

D1.3: провести неразрушающий аудит качества 4 086 записей #28

Description

@sunpole

D1.3 — non-destructive data-quality audit

Цель

Спроектировать и выполнить воспроизводимый аудит качества всех 4 086 записей зарегистрированных наборов uDream без автоматического исправления, перезаписи или удаления данных.

Исходная точка

D1.1 и D1.2 завершены:

  • docs/DATA_PROVENANCE.md — доказанное происхождение и hashes;
  • data/datasets.json — machine-readable registry;
  • docs/DATASET_REGISTRY.md — logical/physical identities и migration policy;
  • scripts/validate-data-provenance.mjs;
  • scripts/validate-dataset-registry.mjs.

Зарегистрированы:

  • source-divinity-code-en — один English logical dataset;
  • ru-current-v1 — current localized runtime dataset;
  • canonical serialization data/bd2.json;
  • retained equivalent serialization data/db.json;
  • active runtime data/divinity_code_ru.json.

Ожидаемый результат

  • формальная спецификация audit rules и severity levels;
  • permanent non-destructive audit script;
  • machine-readable JSON report;
  • human-readable Markdown report;
  • отдельное разделение automatic findings и вопросов, требующих human/source review;
  • проверка всех 4 086 записей;
  • сравнение source/current datasets без изменения файлов;
  • документированные counts, examples и ограничения;
  • интеграция audit consistency в GitHub Actions;
  • синхронизированные README, VERSION, CHANGELOG, ROADMAP, PROJECT_STATE и FILE_MAP;
  • factual uNews patchnote и новое реальное изображение.

Минимальные автоматические проверки

  • JSON array shape и record count;
  • ordered/unique integer IDs;
  • required fields и types;
  • empty/whitespace-only values;
  • duplicate normalized symbols и aliases;
  • alias equal to primary symbol;
  • duplicate aliases inside one record;
  • suspicious control characters, replacement characters и HTML-like content;
  • invalid or inconsistent date_added;
  • source-field distribution;
  • empty/duplicate tags;
  • notes/description anomalies;
  • source/current ID alignment;
  • source/current preserved-field equality;
  • changed-field counts;
  • cross-reference patterns where they can be detected safely;
  • deterministic report hashes/counts.

Severity model

Audit должен разделять как минимум:

  • error — структурное нарушение или broken identity;
  • warning — вероятная проблема, требующая проверки;
  • review — содержательная неоднозначность без автоматического решения;
  • info — наблюдение/статистика.

Наличие findings не означает автоматическую ошибку CI. CI обязан падать при нарушении audit contract, недетерминированном отчёте или новых structural errors, но содержательные review findings остаются отчётом до отдельного решения.

Жёсткие ограничения

  • не менять data/bd2.json, data/db.json, data/divinity_code_ru.json или data/report.txt;
  • не менять record IDs, texts, aliases, notes, tags или порядок записей;
  • не выполнять physical migration;
  • не добавлять user-facing database selector;
  • не начинать D1.4/D1.5;
  • не считать автоматическую эвристику доказанной содержательной ошибкой;
  • не исправлять findings в том же PR;
  • не добавлять API keys или платные API-вызовы.

Критерии завершения

  • audit script запускается повторно и создаёт deterministic reports;
  • reports охватывают все зарегистрированные datasets и 4 086 IDs;
  • доказанные structural facts отделены от heuristics/human review;
  • существующие data/runtime/PWA files отсутствуют в diff;
  • tests, provenance-validator, registry-validator, audit-validator и project-validator проходят;
  • GitHub Actions зелёные;
  • новый patchnote и real image соответствуют D1.3;
  • PR объединён после полного diff review;
  • Issue закрыт как completed;
  • main/WORK_STATUS.md возвращён в READY;
  • следующая задача — D1.4 two-book product architecture.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions