RnD · Линия доказательств Technical R&D
Каталог и оглавление
TECH.DOC RnD/technical/2026-07-25-map-spatial-consistency/VALIDATION.md raw.md ->

Validation: Map Contract и пространственная согласованность

Окружение#

Параметр Фактическое значение
Дата проверки 2026-07-25 (Asia/Ho_Chi_Minh)
Git snapshot 68582c97cb6b51804532cbd021290f07f4f74fa5; study files uncommitted
OS и hardware macOS 26.4 build 25E246, arm64
Runtime /usr/local/bin/node v22.14.0, --experimental-strip-types; TypeScript 7.0.2; @types/node 24.13.3
Внешние сервисы none
Входные данные prototype/fixtures/sci-fi-comedy-map.ts, original non-canonical fixture v1

Результаты по критериям#

ID Проверка Ожидалось Получено Evidence Результат
MC-01 Validate fixture 0 issues 0 issues; five nodes structurally reachable E-004, E-005 pass
MC-02 Corrupt region/endpoint/content refs Stable issue codes Все пять missing-ref classes получены E-004 pass
MC-03 Block every route to required finale Reject unreachable target unreachable_required_location E-004 pass
MC-04 Move with/without flag, reverse one-way, unauthorized private target Deterministic allow/deny and cost Все четыре outcomes совпали; allowed cost 2 time-segments E-004, E-005 pass
MC-05 Visitor/custodian projections Не раскрывать hidden/private IDs или edges Visitor видит только discovered public node; custodian видит authorized private node после discovery E-004, E-007 pass
MC-06 Clear/blocked/private direct LOS true, false, false Совпало E-004 pass
MC-07 Scene/encounter/trigger index Unknown refs rejected Три stable content-ref codes E-004 pass
MC-08 Inspect provenance Original, no borrowed IP, non-canonical true, false, false respectively E-004, E-006 pass

Команды проверки#

RED:

node --experimental-strip-types --test prototype/map.test.ts

До implementation:

ERR_MODULE_NOT_FOUND
Cannot find module '.../prototype/map.ts'
tests 1
pass 0
fail 1

GREEN:

node --no-warnings --experimental-strip-types --test prototype/map.test.ts

Существенный вывод:

tests 6
pass 6
fail 0
duration_ms 120.815875

Execution verification:

node --no-warnings --experimental-strip-types prototype/demo.ts

Существенный вывод:

{
  "fixture": "Orbiting Buffet Station Test Layout",
  "fixtureIsCanonical": false,
  "validationIssueCount": 0,
  "visitorVisibleLocationIds": ["loc-customs-ring"],
  "blockedMove": {
    "ok": false,
    "code": "obstacle_requirements_not_met",
    "missingFlags": ["badge-scanned"]
  },
  "allowedMove": {
    "ok": true,
    "edgeId": "edge-customs-galley",
    "travelCost": 2,
    "travelCostUnit": "time-segments"
  }
}

Scoped strict typecheck:

../../../node_modules/.bin/tsc --ignoreConfig --noEmit --strict \
  --noUncheckedIndexedAccess --exactOptionalPropertyTypes --target ES2024 \
  --module NodeNext --moduleResolution NodeNext --allowImportingTsExtensions \
  --rewriteRelativeImportExtensions --erasableSyntaxOnly --types node \
  prototype/*.ts prototype/fixtures/*.ts

Получено: exit 0, diagnostics отсутствуют.

Ошибки и нестабильность#

  • Первый test command без strip flag упал с ERR_UNKNOWN_FILE_EXTENSION; command исправлен до meaningful RED.
  • Experimental warning подавлен только для читаемого verification output.
  • Network, provider и stochastic variance отсутствуют.
  • TypeScript 7 требует --ignoreConfig при прямой передаче file list; scoped command использует этот режим.

Воспроизводимость#

Один и тот же агент повторил GREEN после demo addition и получил 6/6. Независимый разработчик или CI этот study пока не повторяли.

Финальный исход#

  • Outcome: pass.
  • Обоснование: MC-01–MC-08 выполнены; graph validator, movement, LOS и privacy projection исполняются на original non-fantasy fixture.
  • Что результат не доказывает: dynamic state concurrency, flag attainability, tactical geometry, large-world performance или production authorization.