core: add training model and validators

This commit is contained in:
scawful
2025-12-30 13:37:28 -05:00
parent 3de9c302ce
commit a6fd2591dd
9 changed files with 1442 additions and 1 deletions

32
tests/test_validators.py Normal file
View File

@@ -0,0 +1,32 @@
from __future__ import annotations
import asyncio
from afs_scawful.training import TrainingSample
from afs_scawful.validators import AsmValidator, CppValidator
def test_asm_validator_basic() -> None:
sample = TrainingSample(
instruction="",
input="",
output="LDA #$01\nSTA $7E0000\n",
domain="asm",
source="test",
)
result = asyncio.run(AsmValidator().validate(sample))
assert result.valid
assert result.score > 0.0
def test_cpp_validator_basic() -> None:
sample = TrainingSample(
instruction="",
input="",
output="int main() { return 0; }\n",
domain="cpp",
source="test",
)
result = asyncio.run(CppValidator(check_compile=False).validate(sample))
assert result.valid
assert result.score > 0.0