Skip to content

Latest commit

 

History

History
91 lines (81 loc) · 12.1 KB

File metadata and controls

91 lines (81 loc) · 12.1 KB

nolang — поэтапный план

Карта всего пути: теория → спецификация → реализация → верификация → среда агента. Метод: снизу вверх (metarung); гейт на каждом шаге — «выводится из фундамента, бежит, проверен», иначе не входит. Прогресс — в частях, не в сроках. Статусы: ✓ готово · ◐ идёт/частично · ○ дальше. Обновлять по мере роста.

🔴 Честный статус ядра (2026-07-17, после claim-аудита)

Что nolang ЕСТЬ сегодня: гомоиконный Common Lisp + (f,c)-гейт действия + дисциплина fold/undo — 6 камней в цикле (atom · gate · return/ilan · eval-с-провенансом · types · world/undo), ~289 строк, смоук-тесты зелёные. Этого достаточно, чтобы быть настоящим. Три честные оговорки, чтобы красота не обгоняла правду (полный разбор — reports/nolang_audit_2026-07-17/SPEC_HONEST.md):

  • (f,c) — пока НАИВНОЕ исчисление (c=ca·cb в eval.lisp, ломает идемпотентность). Кредальное/Beta-исчисление ещё НЕ построено — это Дверь 2, ядро дальнейшей работы.
  • NARS-мост ИЗОЛИРОВАНnars.lisp не в цикле src/, обратной связи нет. Внешний переходник, не камень ядра.
  • revgate «5→0» — демонстрация механизма, НЕ эмпирика (вход стенда захардкожен под порог). Настоящее измерение = Дверь 2.

🟢 Обновление статуса (2026-08-15, Лор — принял ведение, погружение по коду)

Карта выше (17.07) отстала на порядок. Сверено ПРОГОНОМ и чтением src/, не по памяти:

  • Масштаб: не «6 камней/289 строк», а 19 модулей / 4789 строк — парсер (737), проверка (check 864), редуктор (672), вердикт, провенанс, субъект, тета, дайджест, якорь, запрос. Полноценный язык, не прототип. Смоук test/run.sh = ALL GREEN.
  • Дверь 2 ЗАКРЫТА. src/evidence.lisp несёт Beta/Wang: мост (f,c)↔счёт свидетельств, t-revise (ревизия, c растёт по РАЗНЫМ корням), кредальный интервал (imprecise Dirichlet, Walley), Ein-Sof bound (u=k/(w+k)>0 ⇒ c<1 структурно = AIKR). Интегрирована в решающий путь (check.lisp:473 ревизует по корням поддержки — не изоляция) и доказана (test/C1_credal.sh 8/8: интервал различает «мало данных» от «спор», три исхода :passed/:unreachable/искать-ещё). t-and=c·c теперь честно помечен «для конъюнкции, НЕ ревизии». Наивного c=ca·cb в решении больше нет.
  • revgate перерос в ЯЗЫК. Стенд «5→0» исчез; механизм стал грамматикой irreversible action … gated by belief >= θ else fold + батарея 40+ тестов + программы examples/*.nol. Вопрос «демонстрация/эмпирика» снят: gate — конструкция с кредальным решением.
  • NARS-мост ЗАМКНУТ (Э2, 15.08.2026): в цикле + обратная связь + честная граница (см. Фаза 1 06_substrate).
  • NARS-мост изолирован — БЫЛА единственная оставшаяся честная оговорка из аудита 17.07.
  • Реальный фронт сместился: в ЯДРЕ строить нечего (готово, доказано). Следующее — Фаза 4 (среда агента) + мост aObj0↔nolang: nolang как решающий слой упакованного агента (сосуд = реализация aObj0; gate петли operator_agent_loop = nolang-gate). Дневник ведения: /srv/langs/nolang/ДНЕВНИК_ЛОРА.md.

Фаза 0 — Теоретическое обоснование (почему язык вправе быть таким)

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

  • ◐ Онтология примитивов — ранняя разведка (helpbook, ~26 глав). ⚠️ Аудит 2026-07-17 отделил зерно от утопии: строгий фундамент = две статьи Zenodo + честная спека 6 камней, а утопические главы хелпбука (NOL-как-мир и т.п.) в ядро НЕ входят.
  • ✓ Genesis НОЛ — триада токен/триплет/атом; framework zero (proof-or-no-claim, no-hidden-memory, atom-без-источника=дефект). mentor/NOL_GENESIS.md.
  • ✓ Семантический тезис — градуированная, пересматриваемая истина как значение первого класса.
  • ✓ Публикации — Zenodo: Grounded Uncertainty (21332198), Indeterminate Ontologies (21288590).
  • ○ Статья о самом языке — спецификация как теория (после стабилизации ядра). Соло, имя arkh.
  • ○ Карта трёх слоёв фундамент/язык/купол — mentor/FUNDAMENT_MAP.md (есть; поддерживать).

Фаза 1 — Спецификация ядра (что язык означает) — spec/

Каждая спека ВЫВОДИТ примитив из фундамента, потом даёт форму и денотацию.

  • 00_atom — value(токен) vs judgment(отношение)+(f,c)+trace; денотация; законы-дефекты (без источника, c=1, не-judgment).
  • 01_gate — уверенность гейтит класс действия; трёхзначный if; монотонность (не точность).
  • 02_return — ilan fold/sprout + память перехода (crossing).
  • 03_eval — вычисление: как выражение из атомов/значений редуцируется; порядок; провенанс trace сквозь вычисление. Зависит от: 00,01.
  • 04_types — контракты действий (требует·класс·даёт); незнание предусловия → route; успех → эффект в знание.
  • 05_world — эффекты среды + подлинный откат: состояние И след в мире откатываются вместе; необратимое без undo под неуверенностью заблокировано.
  • 06_substrate — мост к NARS замкнут в решающий путь (Ш2.2–2.4, 15.08.2026): suждение→Narsese→NARS→ревизия (f,c)→вердикт gate. ГРАНИЦА (измерено): дедукция роняет c с длиной цепочки (1ш 0.90 · 2ш 0.81 · 3ш 0.73 · 4ш 0.66 — AIKR), при θ=0.7 глубокая транзитивность НЕ проходит; ревизия верна только для НЕЗАВИСИМЫХ корней (общий свидетель → двойной счёт 0.7+0.7→0.82).

Фаза 2 — Реализация ядра (что язык делает) — src/

Homoiconic Lisp (SBCL). Каждый модуль = одна спека.

  • atom.lisp · gate.lisp · return.lisp (мост к готовому ilan).
  • eval.lisp — вычислитель (check/if/gate/and/or, трёхзначно, сквозной провенанс).
  • world.lisp:fold-first стал реальным откатом мира (эффект несёт undo); проверено счётом (файл откачен).
  • types.lisp — контракты действий. · ⊘ nars.lisp — ОТВЯЗАН от ядра (15.08.2026): nolang делает то же РОДНОЙ t-deduce (проверено: NAR 2ш=0.810/3ш=0.729 ≡ t-deduce байт-в-байт). NARS остаётся ОПЦИОНАЛЬНЫМ адаптером + теоретической привязкой (f,c)↔NARS-truth для статьи, НЕ орган языка. Гейт «не дублировать готовое» сработал.

Фаза 3 — Верификация (что язык действительно держит) — test/ + revgate

  • ✓ smoke-runner test/run.sh — регрессия трёх камней (зелёно).
  • ◐ revgate стенд — baseline vs gated, механизм показан (irreversible@low-c 5→0). ⚠️ Вход стенда захардкожен под порог = демонстрация механизма, не эмпирическое измерение. Настоящий eval = Дверь 2. revgate/bench/.
  • .nol test suite — программы НА языке (examples/*.nol, ридер src/nol.lisp): язык исполняет сам себя.
  • ○ полный revgate — реальные агентские задачи/среды, не смоделированный поток. Зависит от: eval, world-эффекты.
  • ○ калибровочные пробы — монотонность на реальных LLM-суждениях.

Фаза 4 — Среда агента (где язык живёт)

Язык становится средой действующего агента.

  • ○ агентный loop на nolang — восприятие → суждение(f,c) → gate → действие/fold → возврат. Зависит от: ядро (Фазы 1–2).
  • ○ интеграция с рантаймом — typed-result уже несёт (f,c); nolang-ядро как слой решений над рантаймом агента.
  • ○ непрерывность — ilan-семя + континуальность рантайма (переживание остановки процесса).
  • ○ мультиагент — общий язык уверенности между агентами (суждение+источник вместо булева «да»).

Критический путь (что от чего)

Фаза 0 (теория) ✓ ── даёт право ──▶ Фаза 1 (спеки)
   00,01,02,03 ✓ ──▶ 04_types, 05_world, .nol-suite ──▶ Фаза 4 (среда агента)
   06_substrate (NARS) — параллельно, зависит только от 00

Ближайший узел ПРОЙДЕН (03_eval ✓). Следующие развязаны: 04_types (контракты), 05_world (эффекты+откат), .nol-suite. Идут параллельно. Отложено сознательно (закон «онтология до синтаксиса»): богатый синтаксис — поздняя награда, не сейчас.

Гейт каждого шага (проверка перед входом в план)

  1. Выводится ли из фундамента (Obj0→токен→атом→триада) или приделывается?
  2. Бежит ли (реализация) и проверен ли счётом (тест)?
  3. Не дублирует ли готовое (ilan есть; abc_proto_nol есть; NARS — чужой субстрат)? Не прошёл — в ядро не входит.