mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-22 15:51:14 +00:00
[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:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user