Skip to content

feat: enhanced module manifest security and integrity (arch-06)#263

Merged
djm81 merged 5 commits intodevfrom
feature/arch-06-enhanced-manifest-security
Feb 16, 2026
Merged

feat: enhanced module manifest security and integrity (arch-06)#263
djm81 merged 5 commits intodevfrom
feature/arch-06-enhanced-manifest-security

Conversation

@djm81
Copy link
Copy Markdown
Collaborator

@djm81 djm81 commented Feb 16, 2026

Description

Enhanced module manifest security and integrity (OpenSpec change arch-06-enhanced-manifest-security): publisher and integrity metadata in module-package.yaml, checksum/signature verification at registration time, optional SPECFACT_ALLOW_UNSIGNED, and signing automation (scripts/sign-module.sh, .github/workflows/sign-modules.yml).

Fixes #208

New Features #208

Contract References: @icontract / @beartype on crypto_validator, module_installer, and extended ModulePackageMetadata / registry flows.

Type of Change

Please check all that apply:

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🔒 Contract enforcement (adding/updating @icontract decorators)
  • 🧪 Test enhancement (scenario tests, property-based tests)
  • 🔧 Refactoring (code improvement without functionality change)

Contract-First Testing Evidence

Required for all changes affecting CLI commands or public APIs:

Contract Validation

  • Runtime contracts added/updated (@icontract decorators on public APIs)
  • Type checking enforced (@beartype decorators applied)
  • CrossHair exploration completed: hatch run contract-test-exploration
  • Contract violations reviewed and addressed

Test Execution

  • Contract validation: hatch run contract-test-contracts
  • Contract exploration: hatch run contract-test-exploration
  • Scenario tests: hatch run contract-test-scenarios
  • Full test suite: hatch run contract-test-full

Test Quality

  • CLI commands tested with typer test client
  • Edge cases covered with Hypothesis property tests
  • Error handling tested with invalid inputs
  • Rich console output verified manually or with snapshots

How Has This Been Tested?

Contract-First Approach: Contracts and unit tests validate checksum/signature verification, manifest parsing, and trust enforcement; contract-test and smart-test run successfully.

Manual Testing

  • Tested CLI commands manually
  • Verified rich console output
  • Tested with different input scenarios
  • Checked error messages for clarity

Automated Testing

  • Contract validation passes
  • Property-based tests cover edge cases
  • Scenario tests cover user workflows
  • All existing tests still pass

Test Environment

  • Python version: 3.11+
  • OS: Linux (Ubuntu)

Checklist

  • My code follows the style guidelines (PEP 8, ruff format, isort)
  • I have performed a self-review of my code
  • I have added/updated contracts (@icontract, @beartype)
  • I have added/updated docstrings (Google style)
  • I have made corresponding changes to documentation
  • My changes generate no new warnings (basedpyright, ruff, pylint)
  • All tests pass locally
  • I have added tests that prove my fix/feature works
  • Any dependent changes have been merged (branch rebased on latest origin/dev)

Quality Gates Status

  • Type checking ✅ (hatch run type-check)
  • Linting ✅ (hatch run lint)
  • Contract validation ✅ (hatch run contract-test-contracts)
  • Contract exploration ✅ (hatch run contract-test-exploration)
  • Scenario tests ✅ (hatch run contract-test-scenarios)

Screenshots/Recordings (if applicable)

N/A — no CLI UI changes.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

architecture Architecture and design changes enhancement New feature or request marketplace Module marketplace features module-system Module system and registry openspec

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Enhanced Module Manifest Security and Integrity Validation

1 participant