docs: clarify Claro v1 status and validation

This commit is contained in:
Hermes Agent
2026-06-07 03:03:13 -06:00
parent 0da1095c03
commit 1e0ea06d21
74 changed files with 2351 additions and 336 deletions
+56
View File
@@ -0,0 +1,56 @@
#!/usr/bin/env python3
import subprocess
import sys
import tempfile
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
EXE = ROOT / "claro.exe"
DOC = ROOT / "docs" / "CONCURRENCY.md"
def fail(message):
raise SystemExit(message)
def run(cmd):
result = subprocess.run(cmd, cwd=ROOT, text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
return result.returncode, result.stdout
def main():
if not EXE.exists():
fail(f"Missing Claro executable: {EXE}")
if not DOC.exists():
fail("Missing docs/CONCURRENCY.md")
text = DOC.read_text(encoding="utf-8")
required = ["START TASK", "YIELD", "WAIT TASK", "TASK STATUS", "cooperative", "deterministic", "no native threads"]
for phrase in required:
if phrase.lower() not in text.lower():
fail(f"CONCURRENCY.md missing required phrase: {phrase}")
rc, out = run([str(EXE), "check", "tests/40_tasks_status.claro"])
if rc != 0:
fail(out)
rc, out = run([str(EXE), "tests/40_tasks_status.claro"])
if rc != 0:
fail(out)
if "DONE" not in out:
fail(f"TASK STATUS should report DONE after a cooperative task runs. Output was:\n{out}")
with tempfile.TemporaryDirectory() as td:
bad = Path(td) / "missing_endtask.claro"
bad.write_text("START TASK sample\n SAY \"oops\"\n", encoding="utf-8")
rc, out = run([str(EXE), "check", str(bad)])
if rc == 0:
fail("claro check should fail when START TASK is missing ENDTASK/END")
if "START block opened here needs ENDTASK" not in out:
fail(f"Missing ENDTASK diagnostic was not clear enough:\n{out}")
print("Concurrency foundation validation OK")
if __name__ == "__main__":
main()