Skip to content

CLI: Cepha Store ظ€¤ version-locked premium acquisition system #31

@sultanaalyami

Description

@sultanaalyami

Implemented

Cepha Store ظ�¤ Version-Locked Premium Acquisition System

Architecture:

  • ~/.cepha/store/store.db ظ�¤ SQLite registry of all acquisitions
  • ~/.cepha/store/packages/{featureId}/{cliVersion}/ ظ�¤ versioned package storage
  • Each package has manifest.json (metadata + SHA-256 hash) + payload/ directory

Key Invariant: A store-acquired package is version-locked to the CLI version that installed it. Packages for v1.0.52 will not load on v1.0.53. This follows Microsoft's immutable store pattern.

Security:

  • SHA-256 per-file content hashing
  • Combined directory hash (path + content)
  • Tamper detection via cepha store verify
  • Integrity timestamp tracking

CLI Commands:

Command Description
cepha store Browse premium catalog with install status
cepha store list Show installed packages (current version only)
cepha store verify [id] Verify integrity of one or all packages
cepha store info <id> Show detailed package & license info
cepha store history Show acquisitions across ALL CLI versions
cepha store uninstall <id> Remove a package

Integration:

  • CephaLicense.IsEnabled() checks store acquisitions first
  • CephaLicense.GetStatusLabel() shows store status with version info
  • Store menu added to InteractiveMenu (position 13)
  • cepha store registered as CLI command in Program.cs

Files: CephaStore.cs (569 lines), StoreCommand.cs (465 lines)

Migrated from: WasmMvcRuntime #40

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions