Skip to content

Version 0.64.0 - #152

Merged
timoheimonen merged 20 commits into
mainfrom
development
Sep 6, 2026
Merged

timoheimonen merged 20 commits into
mainfrom
development

Conversation

@timoheimonen

Copy link
Copy Markdown
Owner

Added

  • Independent LLM artifact verifier: Added script-examples/verify_llm_result.py for all eight current CPU/Metal decode/prefill and contiguous/paged profiles. Independent Python arithmetic checks geometry, work, checksums, timing, rates, accepted sample populations, and statistics. Optional --binary checks the executable file's SHA-256, and --require-raw-timing requires original CPU timing evidence. Verdicts distinguish consistent accepted results, inconsistent or unaccepted results, and unsupported evidence or resource limits. Added make test-llm-verifier to the aggregate make test-all gate.
  • LLM build provenance and original CPU timing: Results now retain a build manifest with available Git revision and dirty state, compiler, build flags, architecture, SDK, deployment target, and executable SHA-256. CPU measurements and excluded attempts retain original Mach start/stop/delta ticks and timebase for elapsed-time reconstruction. Python 3 is now required for build provenance generation; missing evidence remains explicitly unavailable or partial.
  • CPU and Metal checksum fault coverage: Added independent arithmetic goldens, corruption and work-mutation tests, real-GPU reduction-boundary tests, and wider prefill boundary coverage. Documented profile-specific checksum collisions and final-state sampling limits, with acceptance validation across all eight profiles, file/stdout output, graceful interruption, and persistent multi-GiB Metal resources.

Changed

  • LLM output advances to JSON schema 2 and v2 methodologies: All eight profiles now use llm-memory-v2-<backend>-<phase>-<layout>. Canonical scenario plans and expected checksums are stored once, measurements and calibration attempts reference those plans, and aggregates identify their accepted measurements. Geometry, model context, layout, resources, and component identities have explicit owners, with strict reference and null/status semantics. The API documents the schema-1-to-schema-2 field map; no compatibility aliases or fallback reader are provided.
  • LLM validation retains separate observations: Named checks now preserve applicability, completion, validity, and reasons for structure, final KV writes or unchanged append state, and applicable padding checks. A checksum match cannot hide a failed final-state check, and unevaluated checks remain unresolved instead of appearing successful.
  • LLM file checkpoints are bounded by loop count: Files now receive progress snapshots every K=max(1,ceil(count/8)) completed loops, normally at most eight progress snapshots plus one terminal snapshot. Abrupt termination can lose up to 3K completed attempts since the last successful snapshot. Exact --output - prepares only the terminal document, and disabled output skips JSON construction. Writer counters report actual prior persistence attempts; checkpoint failures remain terminal and are not retried.
  • LLM result collection avoids repeated retained data and statistics work: Calibration keeps compact actual checksum evidence, canonical plans own expected values, and exact statistics are prepared at snapshot boundaries from accepted measurement IDs. Memory admission accounts for retained evidence, canonical-plan storage, statistics scratch, and simultaneous JSON construction and serialization peaks.
  • CPU task preparation validates inputs once per call: Removed duplicate plan/resource validation within expected-checksum calculation while retaining fresh validation of borrowed plans and materialized resources before each executor call starts workers or timing.
  • LLM acceptance and comparison quality are separate: results_complete describes the measured population, while run_accepted also requires valid execution evidence and no known command or checkpoint failure. Position balance, sample count, CV, duration, and environment remain separate comparison criteria. Documentation clarifies that cyclic order balances scenario positions without guaranteeing predecessor-pair balance, and that comparisons must account for conditioning and output cadence.
  • CLI help and reference documentation updated: Refreshed general and LLM help, the machine API, manual, whitepaper, and supporting references for schema 2, verification, checkpoint behavior, and comparison requirements. Clarified the synthetic meaning of query heads, prefill tiles, and theoretical attention quantities.
  • Test coverage cleaned up: Removed redundant contract tests and replaced brittle source-text assertions with focused semantic coverage. Hardware-dependent LLM cases are classified as integration tests, and the Makefile now builds Objective-C++ test sources with test flags and ARC.

Fixed

  • CPU contiguous decode validates final KV append bytes: After timing stops and workers join, KV-bearing scenarios now verify every final K/V append byte against the expected pattern. Corruption produces an invalid measurement with retained diagnostics and cannot enter accepted aggregates, even when the timed checksum matches.
  • Theoretical prefill overflow no longer rejects valid memory work: Overflowing model-context attention-pair or FMA quantities become nullable values with an explicit arithmetic-overflow reason. Exact byte, work, allocation, and execution guardrails remain enforced.

timoheimonen and others added 20 commits August 29, 2026 21:29
Validate bundled standard-memory examples by schema, methodology, completion, and consumed field shape while retaining software version only as provenance. Remove redundant legacy-output tests and make current-state documentation patch-version independent.
Simplify 0.63.1 version maintenance, modify CLI print and remove some tests
version: 0.64.0
@timoheimonen
timoheimonen merged commit 04d0d89 into main Sep 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant