Я снова проверял учетные данные сегодня утром.
Тот же, который я проверял несколько дней назад.
Не ожидал ничего другого.
Он прошел гладко раньше.
Я снова его потянул.
Тот же атестатор.
Те же данные.
Та же ссылка.
Но это не разрешилось так же.
Не сломано.
Просто... другое.
Эта часть не сидела правильно.
Так что я вытащил более ранний результат рядом.
Сравнил их строка за строкой.
Вот тогда он и появился.
Учетные данные не изменились.
Но что-то за этим было.
Я вернулся к схеме.
Вытянул его напрямую из реестра.
Тот же schemaId.
Разное определение.
Сначала я думал, что у меня не тот.
Проверено снова.
Совпадает.
Все еще казалось странным.
Затем я проверил более старые версии.
Предыдущие записи.
Они не были одинаковыми.
Структура изменилась.
Нежно.
Порядок полей.
Правила валидации.
Одно поле разрешается иначе, чем раньше.
Ничего, что могло бы привести к неудаче верификации.
Но достаточно, чтобы изменить то, что на самом деле означала учетная запись.
Вот тогда это сузилось.
Я больше не читал учетную запись так же.
Учетная запись несет только schemaId.

Нет версии.
Нет снимка.
Нет привязки к тому, что это значило, когда это было выдано.
Вот где это становится неудобным.
Учетная запись должна быть стабильной.
Что-то, что вы можете проверить позже и получить тот же результат.
Но здесь...
значение не фиксировано.
Это движется.
Это зависит от того, как выглядит схема в момент верификации.
Не на момент выдачи.
Я пытался найти, где была заблокирована версия.
Некоторое упоминание.
Некоторый снимок.
Не смог найти.
Так что, когда схема изменяется...
интерпретация меняется вместе с этим.
Разрыв версии схемы.
Не несоответствие.
Не ошибка.
Разрыв между тем, что означала учетная запись, когда она была выдана...
и что это значит сейчас.
Я продолжал тестировать это.
Система доступа, читающая учетную запись сегодня...
будет оцениваться иначе, чем это было несколько дней назад.
Та же учетная запись.
Разный результат.
Ничто не терпит неудачу.
Ничто не сигнализирует об изменении.
Это просто тихо смещается.
Это то, на что я сейчас обращаю внимание.
Потому что как только схемы начинают двигаться вот так...
верификация больше ничего не подтверждает.
Это переписывает то, что значит учетная запись.
$SIGN имеет значение только если учетная запись остается привязанной к версии схемы, против которой она была выдана...
не только schemaId.
Потому что как только значение может измениться, не меняя учетную запись...
верификация перестает быть подтверждением.
И становится переосмыслением.
Так что настоящий вопрос становится таким.
Если учетная запись зависит от схемы, которая может развиваться...
что именно вы проверяете, когда проверяете это позже?

