Attestrun

Осмотр закрытой работы

Автор не показывает код. Получатель получает не наше мнение, а проверяемые факты с объявленными границами. Между ними стоит осмотр: он проходит по закрытому репозиторию автора и выпускает отчёт о состоянии работы.

Кому это

Автору закрытой работы

Показать состояние работы, не раскрывая ни строки кода — ни получателю, ни нам. Осмотр читает репозиторий и выпускает отчёт; исходный код из отчёта не восстанавливается и в поставку не попадает. Имена файлов, пути, дерево каталогов и цитаты кода не публикуются никогда.

Тому, кто финансирует

Прочитать величину и сразу увидеть, чем она ограничена. Отчёт устроен так, что его нельзя прочитать как обещание: рядом с каждой величиной стоит, на чём она основана и чего не покрывает.

Машине

Отчёт — файл с объявленной схемой, а не картинка. Его читает программа, без человека и без обращения к нам.

Как это происходит

Пуск — рука автора

Автор сам кладёт вызов в свой репозиторий и запускает осмотр. Кнопки на нашей стороне нет по устройству: никто, кроме владельца репозитория, не может дать к нему доступ, и мы этого доступа не получаем.

Один прогон — один коммит

Осмотр читает репозиторий один раз, на одном полном коммите, и больше к нему не возвращается. Отчёт говорит о названном состоянии на названный момент, а не о работе вообще.

Передача — тоже рука автора

Поставку забирает автор и сам передаёт её получателю. Мы не храним отчёт, не пересылаем его и не стоим между сторонами.

Что получает получатель

Ниже — состав настоящей поставки, а не замысел.

Первое, что он обязан прочитать

Состояние подписи. Отчёт открывается им, а не итоговой величиной: если работа не заверена площадкой, отчёт говорит об этом первой строкой и прямо советует отнестись к нему как к незаверенному. Незаверенная поставка отличается от заверенной и машинным полем, и самим именем артефакта — спутать их нельзя.

Что он проверяет сам

Предмет осмотра, коммит продукта, коммит и версию самого осмотра, направление работы, балл развития и факты дерева. Проверка не требует ни доступа к репозиторию автора, ни обращения к нам. Корень доверия получатель берёт у площадки сам — никогда от нас: смысл осмотра в том, чтобы не верить никому, включая нас.

Что лежит в поставке

Без подписи — четыре файла: отчёт, слепой журнал прогона, якорь личности прогона и вердикт канарейки. С подписью — шесть: те же четыре, запись о шаге заверения и сама связка подписи.

Что осмотр утверждает и чего не утверждает

Утверждает

Что названная работа существует в названном состоянии на названный момент, и что это измерено, а не пересказано. Всё, чего прогон не смог измерить, он перечисляет поимённо — пустой список неизмеренного есть утверждение, а не молчание.

Не утверждает

Что работа хороша. Что она будет закончена. Что в ней нет ошибок. Что её написал именно автор: осмотр свидетельствует состояние вещи, а не авторство. Оценка объёма — это оценка труда на пересборку по фиксированной ставке, и она не является ни оценкой компании, ни рыночной ценой кода, ни размером чека. Качество кода, ценность замысла, потребность рынка, добросовестность человека и вероятность успеха не измеряются вовсе.

Состояние и как попасть

Attestrun в закрытой альфа-версии: осмотр работает и проходит живые прогоны, но код самого осмотра пока закрыт — вещь в разработке. Пока он закрыт, подача идёт не кнопкой, а через нас: напишите, и мы заведём прогон по вашему репозиторию. Когда код будет открыт, автор станет вызывать осмотр из своего репозитория сам, без нашего участия — это ближайшая цель работы.

Две границы, которые честнее назвать сразу. Постоянного адреса у отчёта сегодня нет: поставка живёт ограниченный срок в артефакте прогона автора, и ссылка умирает раньше самого отчёта. И доказательство опирается на добросовестность площадки: если её удостоверяющая сторона лжёт, заверение недействительно — этого не может исправить никакой осмотр.