Структура:
Noetrail_Conformance_Test_Suite_v1.0/
│
├── README_UA.md
└── run_conformance.py
# Noetrail Executable Conformance Test Suite v1.0
## Призначення
Це executable test suite для машинної перевірки core semantics Noetrail v1.0.
Suite перевіряє:
1. structural validation;
2. canonical object types;
3. immutable policy identity behavior;
4. action-class semantics;
5. protected exploration bounds;
6. prospective/retrospective distinction;
7. challenge locking;
8. DecisionRecord semantics;
9. promotion-gate behavior;
10. registry identity conflicts.
## Що suite НЕ доводить
PASS не означає:
- scientific validity;
- superiority конкретної policy;
- external certification;
- independent institutional validation;
- universal interoperability.
PASS означає:
Implementation пройшла визначений executable Noetrail v1.0 Core Conformance Suite.
## Вимоги
Поруч повинні бути:
- `noetrail_ref.py`
- папка `schemas/`
Prototype потребує:
pip install jsonschema
Сам test runner використовує лише Python standard library.
## Запуск
python run_conformance.py
Або для іншого compatible module:
python run_conformance.py --module path/to/adapter.py
Module/adapter повинен expose:
- structural_validate(obj)
- semantic_validate(obj, challenge=None)
- registry_add(registry_path, policy_path, write=False)
## Результат
Успішний запуск завершується:
OVERALL: PASS
і process exit code:
0
Наявність хоча б одного failed mandatory test:
OVERALL: FAIL
та exit code:
1
## Evidence language
Коректний claim:
"Passed Noetrail v1.0 Core Executable Conformance Suite."
Некоректні claims:
"Scientifically validated by Noetrail."
"Officially certified."
"Independent external validation."
## Frozen-v1.0 rule
Цей suite має перевіряти frozen Noetrail v1.0 semantics.
Якщо prose-документація суперечить frozen machine-readable artifacts,
помилку слід виправляти в документації, а не мовчки змінювати frozen v1.0 schemas.
Це сам executable test suite.
"""Noetrail Executable Conformance Test Suite v1.0Purpose: Test a Noetrail v1.0 implementation against frozen Core structural and semantic behavior.Default target: ./noetrail_ref.pyUsage: python run_conformance.pyAlternative implementation: python run_conformance.py --module ./my_noetrail_adapter.py"""import argparseimport copyimport importlib.utilimport jsonimport sysimport tempfilefrom pathlib import PathSUITE_NAME = "Noetrail v1.0 Core Executable Conformance Suite"SUITE_VERSION = "1.0.0"# ---------------------------------------------------------# MODULE LOADING# ---------------------------------------------------------def load_iut(path): """ Load Implementation Under Test (IUT). Required functions: structural_validate(obj) semantic_validate(obj, challenge=None) registry_add(registry_path, policy_path, write=False) """ path = Path(path).resolve() if not path.exists(): raise FileNotFoundError( f"Implementation module not found: {path}" ) spec = importlib.util.spec_from_file_location( "noetrail_iut", path ) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) required = [ "structural_validate",
У в одній папці:
project/
├── noetrail_ref.py
├── run_conformance.py
└── schemas/
├── epistemic-state.schema.json
├── epistemic-policy.schema.json
├── challenge-profile.schema.json
├── decision-record.schema.json
└── registry-index.schema.json
Встановлювати лише:
pip install jsonschema
Після цього:
python run_conformance.py
У цій frozen-core suite зараз 22 executable checks за чотирма блоками:
Блок
Що перевіряється
Structural
core schemas, required fields, object types
Semantic
policy/action/challenge/decision semantics
Registry
identity/version/hash conflicts
Canonicalization
stable machine representation
Найважливіші тести:
NTRL-C104
retrospective promotion → REJECT
NTRL-C105
unlocked promotion → REJECT
NTRL-C106
prospective + locked + gates passed → ACCEPT
NTRL-C107
failed gate + promotion → REJECT
NTRL-C112
same id + same version + different hash → REJECT
Саме ці тести захищають Noetrail від ситуації:
«ми отримали результат, а потім переписали правила так, щоб він виглядав перемогою».
Раніше ми описали концептуальні:
L1 Structural
L2 Semantic
L3 Interoperability
L4 Governance
Але є принципова різниця.
Щоб чесно перевірити L3, потрібні:
Implementation A
↓
Noetrail object
↓
Implementation B
Одна програма не може сама собі довести незалежну interoperability.
А L4 повинен тестувати ще й:
persistent history
status transitions
negative-result retention
registry governance
audit reconstruction
Тому цей executable runner є насамперед Core/L1–L2 + identity/canonicalization suite.
Наш уже створений clean-room experiment дає початкове evidence для interoperability, але його не треба змішувати з локальною self-conformance suite.
Це буде чітко виправлено у фінальній документації.
Правильно:
Passed Noetrail v1.0 Core Executable Conformance Suite.
Ще точніше:
The implementation passed the frozen Noetrail v1.0 executable core structural and semantic conformance tests.
Не слід писати:
“Official Noetrail Certified.”
або:
“Scientifically validated.”