Commit Graph

24 Commits

Author SHA1 Message Date
3c1cf171a7 feat(lib): add _assets module for bundled-weight resolution
Provide bundled_path() and resolve() helpers that locate ONNX
weights and JSON metadata via importlib.resources, falling back to
a user-supplied directory. Missing assets raise ModelLoadError.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 01:04:37 +08:00
8182bb1a01 feat(lib): add errors module
Introduce AiMouseError base class plus ModelLoadError and
GenerationError subclasses so downstream consumers can catch the
umbrella or specific failure modes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 01:02:57 +08:00
17b406c28b feat(lib): add private _coord.py with numpy transforms
Copy of coord.py (which is already pure numpy) into the private
underscored module to be consumed by upcoming mouse.py rewrite.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 01:02:25 +08:00
6702269494 test(tools): cover export_onnx with tiny synthetic models 2026-05-12 00:57:32 +08:00
fc7b2bd236 refactor(tests): split into tests/unit and tests/tools 2026-05-12 00:47:00 +08:00
3507fdc202 refactor: move eval/ and data_adapters/ to tools/ 2026-05-12 00:40:33 +08:00
d1ecb13175 refactor: move server/ to tools/server/ 2026-05-12 00:37:47 +08:00
6c96ab68c8 refactor(scroll): move trainer/models/collector to tools/scroll/ 2026-05-12 00:34:05 +08:00
ba52c49edf refactor: move trainer/models/utils/config to tools/ 2026-05-12 00:30:55 +08:00
e3d4626031 test: capture scroll generate() golden output (pre-migration) 2026-05-12 00:20:13 +08:00
98daef54ca test: capture mouse generate() golden output (pre-migration) 2026-05-12 00:19:39 +08:00
05be116cde feat(eval): Markdown report builder with matplotlib plots
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 13:39:13 +08:00
dc38f031b8 feat(eval): kinematics metrics, FFT spectrum, KL divergence
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 13:33:19 +08:00
3fb4d3a8c0 feat(generator): add 5-point gaussian smoothing on lateral 2026-05-10 13:27:15 +08:00
50dbf40709 refactor(generator): remove deterministic speed_profile and hard log_dt clip
These post-processing hacks were added to compensate for small-data
training. With Balabit pretraining they suppress the multimodal
timing distribution and cause the template-y Δt curves seen in the
verify UI.
2026-05-10 13:22:57 +08:00
1d9dff4f2a fix(trainer): rename _LOG_1_1 → _LOG_INV_0_9, add tests for aug_ids 2-5 2026-05-10 13:11:27 +08:00
e992823aef feat(trainer): add resume_from for two-stage training 2026-05-10 13:08:37 +08:00
bba8fc567b feat(trainer): replace eager _augment with streaming TrajectoryDataset
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 12:51:52 +08:00
0b1d18d15c feat(adapter): implement process_session and CLI 2026-05-10 12:42:43 +08:00
cc855e0ae2 feat(adapter): implement segment quality filters 2026-05-10 12:38:17 +08:00
82f803403c feat(adapter): implement click-anchored segmentation 2026-05-10 12:35:43 +08:00
1559f7ab11 feat(adapter): implement Balabit CSV parser 2026-05-10 12:32:20 +08:00
97a835769e feat(adapter): scaffold balabit data adapter package 2026-05-10 12:29:11 +08:00
4d414fd180 chore: initialize git repo, add matplotlib dep, extend config
- Add .gitignore for Python/data/models
- Add matplotlib>=3.8.0 for eval plots
- Add PretrainConfig, FinetuneConfig, BalabitAdapterConfig, EvalConfig dataclasses
2026-05-10 12:24:07 +08:00