English | Chinese (Simplified)
The :kernel:repository-model module defines Athena's canonical M5 repository and package contract surface. It publishes the typed repository-root manifest, derived lock, package identity, dependency declaration, resolved package-graph, and inspectable report shapes that compiler, runtime, and ide/lsp can share without inventing parallel models.
- Publish the typed repository aggregate in
EngineeringRepository. - Keep
RepositoryManifestexplicit as authored intent forathena.yaml. - Keep
RepositoryLockexplicit as derived state forathena.lock. - Define stable package identity and primary package ownership through
PackageIdentifierandPrimaryPackage. - Define local-first dependency declaration shapes through
PackageDependency. - Define inspectable resolved package-graph and report types for later M5 stories.
EngineeringRepositoryRepositoryManifestRepositoryLockRepositoryArtifactRolePackageIdentifierPrimaryPackagePackageDependencyResolvedPackageResolvedPackageGraphRepositoryGraphReportRepositoryDiagnostic
This module has no project-module dependencies.
This module does not parse YAML, walk the filesystem, validate repository layout, resolve dependencies, materialize lockfiles, or implement SCM behavior. It stays VCS-neutral and publishes only the typed repository/package contracts that later compiler, runtime, IDE, and SCM layers can consume.
./gradlew :kernel:repository-model:testWindows PowerShell:
java25; .\gradlew.bat :kernel:repository-model:test