[AZ-325] C10 CacheProvisioner orchestrator

Implements the public top-level F1 build orchestrator for E-C10 per
contract v1.1.0. Composes EngineCompiler (AZ-321), DescriptorBatcher
(AZ-322), and ManifestBuilder (AZ-323) into a single idempotent
operation guarded by a fcntl-backed cache_root/.c10.lock and a
post-build coverage walk.

Adds:
- CacheProvisionerImpl + FilelockFileLockFactory (provisioner.py)
- BuildRequest/BuildReport/BuildOutcome/SectorClassification DTOs +
  FileLockFactory Protocol + replaced placeholder CacheProvisioner
  Protocol with v1.1.0 surface (interface.py)
- C10ProvisionerConfig wired into C10ProvisioningConfig (config.py)
- BuildLockHeldError + ManifestCoverageError (errors.py)
- build_cache_provisioner composition root (c10_factory.py)
- 18 tests covering AC-1..AC-16 + NFR-perf-coverage-walk
- filelock>=3.13,<4.0 (single new third-party dep)

Idempotence (CP-INV-1) reuses AZ-323's _compute_manifest_hash /
_aggregate_tile_hash so the build-identity decision agrees byte-for-
byte with the Manifest's recorded manifest_hash. Coverage rollback
uses a .prev rename snapshot. Diagnostic compile_engines_for_corpus
is lock-free per AC-10.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-05-13 05:00:16 +03:00
parent 684ec2601c
commit f7b2e70085
12 changed files with 2329 additions and 21 deletions
+8
View File
@@ -74,6 +74,14 @@ dependencies = [
# third-party deps in this file. Research fact #92 + arch tech-stack
# both pin upstream FAISS via this PyPI distribution.
"faiss-cpu>=1.7,<2.0",
# AZ-325 / E-C10: `CacheProvisioner` acquires a fcntl-based file
# lock at `cache_root/.c10.lock` to enforce CP-INV-4 (concurrent
# `build_cache_artifacts` invocations are mutually exclusive on the
# same cache root). `filelock` provides the cross-platform
# acquisition primitive with timeout + auto-release on process
# exit. Major-version bound (<4) follows the same pattern as other
# third-party deps in this file.
"filelock>=3.13,<4.0",
]
[project.optional-dependencies]