Skip to content

A negative test parks itself in the review queue forever #1286

Description

@gHashTag

Часть #1090.

Негативная проверка — задача, один из критериев которой обязан остаться невыполненным: #1153 просит файл на пятьдесят тысяч знаков и прямо говорит, что второй критерий выполнен не будет, а счётчик обязан отказать, назвав измеренное число и порог.

Счётчик отказал. Проверка сработала. И задача встала в очередь ревью навсегда.

Причина в том, что у невыполненного критерия нет разновидностей. Ревью видит [unmet] и не может отличить «пчела не справилась» от «так и задумано». Возвраты исчерпываются, задача эскалируется человеку, держит свою границу — и всё это об успешном прогоне.

Пока маркера нет, каждая негативная проверка будет парковаться в очереди и блокировать свои файлы, пока человек не прочитает текст issue.

Готово, когда

  • Критерий можно пометить как заведомо невыполнимый — так, чтобы это было видно и в тексте issue, и в разобранном контракте.
  • QueenReviewDecision считает такой критерий выполненным ровно тогда, когда он не выполнен, и невыполненным, когда он вдруг выполнен: негативная проверка ломается, если проверяемое поведение исчезло.
  • Задача, все критерии которой разрешились, приёмку проходит и границу освобождает — без участия человека.
  • Проверка ломается, если убрать разбор маркера: помеченный критерий снова читается как обычный и задача снова застревает.

Boundary

rings/SR-00/QueenReviewDecision.swift

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions