Documentation

Technical documentation of the Quasar project

Что уже сделано

Ядро, знания, отбор, письмо кода, речь и инструменты — по состоянию на сегодня.

Ядро

  • Ядро думает первым ходом: запрос разбирается им самим, а не раздаётся органам на аукцион.
  • Дело расследования: цель, наблюдения, связи, гипотезы, доказательства, противоречия, вывод.
  • Обратный ход от следствия к причинам: что могло дать наблюдаемое.
  • Снятие версий, опровергнутых известным.
  • Честный исход «не доказано» с названием того, какое наблюдение требуется.
  • Единственная дверь к знанию: требование «верно ли, что …» с именем спрашивающего.
  • След решения: видно, кто и по каким числам выбран, и что отвергнуто.
  • Сеть узлов и способностей: узлы спрашивают друг друга через ядро, а не напрямую.
  • Память разговора: сказанное человеком — законное доказательство для дела.
  • Разбиение реплики на ходы: «Привет! Что умеешь?» — два обращения, а не одно.

Знания

  • Справочник C++ (cppreference): 9 735 записей с подписями, примерами и требованиями.
  • Справочник PHP: назначение, параметры, возврат, ограничения и пометы устаревания.
  • Толковые словари русского и двуязычные соответствия.
  • Морфология русского и английского, ударения, произношение.
  • Грамматика: Шведова (т. 1) и Виноградов (т. 2), словообразование, согласование.
  • Логика: законы равносильности из учебника, КНФ, силлогизмы, дилеммы.
  • Физика: 24 книги, 26 882 записи.
  • Википедия: 1 877 905 статей.
  • Руководства и планы решения задач, теоремы, математика.
  • Всего 47 кубов знаний на 8,9 ГБ.

Отбор страницы

  • Отбор по делу просьбы, а не по совпадению слов.
  • Предмет вопроса взвешивается редкостью слова: частое слово не указывает ни на что.
  • Слова рамки вопроса («какая функция») предметом не считаются.
  • Вид записи читается мануалом: метод класса не выдаёт себя за функцию.
  • Страница, не берущая названного условия, отвечает на другой вопрос.
  • Устаревшее не советуется: мануал сам помечает удалённое.
  • Чужой модуль не отвечает за сам язык.
  • Каждый довод отбора объясняется числом и виден в следе.

Письмо кода

  • Функция складывается по ПОДПИСИ операции, а не по тексту примера.
  • Род результата диктует тип возврата: пара мест — это std::pair.
  • Условие просьбы становится лямбдой по синтаксису из справочника.
  • Место отдаётся человеку индексом, значение — разыменованием.
  • Написанное собирается своей рукой, и вывод компилятора приводится дословно.
  • Поведение сверяется делом: ряд, ожидание прямым циклом, исполнение написанного.
  • Слово «проверено» звучит только там, где сверка была.
  • Отказ называет причину: «условие я заметил, но записать его пока не умею».

Речь

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

Инструменты

  • Штатный браузер (Camoufox по протоколу Marionette): движок сам ходит к источникам.
  • Экономический календарь для торгового терминала.
  • Рука движка: запись, сборка и запуск проб на машине.
  • Правки кода показываются человеку как Code Diff — решает он.