Files
git.stella-ops.org/docs/implplan/archived/2025-12-29-completed-sprints/SPRINT_COMPLETION_20251230.md

6.2 KiB

Sprint Completion Summary - December 30, 2025

Completed Sprints

SPRINT_20251229_009_PLATFORM_ui_control_gap_report

  • Status: COMPLETE (all 4 tasks DONE)
  • Scope: UI control coverage audit and gap report
  • Evidence: Gap report appendix with 11 new sprints mapped

SPRINT_20251229_010_PLATFORM_integration_catalog_core

  • Status: COMPLETE (all 9 tasks DONE)
  • Scope: Integration Catalog service with plugin architecture
  • Location: src/Integrations/
  • Key Deliverables:
    • Integration entity schema (type, provider, auth, status, metadata)
    • CRUD endpoints with pagination
    • AuthRef secret reference integration
    • Test-connection and health polling contracts
    • Plugin architecture with IIntegrationConnectorPlugin
    • Connector plugins: InMemory, Harbor, GitHubApp
    • Integration lifecycle events

SPRINT_20251229_011_FE_integration_hub_ui

  • Status: CORE COMPLETE (tasks 001-009 DONE, P1/P2 items 010-016 deferred)
  • Scope: Integration Hub UI components
  • Location: src/Web/StellaOps.Web/src/app/features/integration-hub/
  • Key Deliverables:
    • Integration list view with filters and status badges
    • Integration detail view with health and activity tabs
    • Connection test UI
    • Activity log timeline with filtering and stats
    • Routes wired to Angular app
    • UI architecture doc updated (section 3.10)

SPRINT_20251229_012_SBOMSVC_registry_sources

  • Status: COMPLETE (all 8 tasks DONE)
  • Scope: Registry source management for container registries
  • Location: src/SbomService/StellaOps.SbomService/
  • Key Deliverables:
    • Registry source schema (RegistrySourceModels.cs)
    • CRUD/test/trigger/pause/resume endpoints (RegistrySourceController.cs)
    • AuthRef credential integration
    • Webhook ingestion (RegistryWebhookService.cs, RegistryWebhookController.cs)
      • Supports: Harbor, DockerHub, ACR, ECR, GCR, GHCR
      • HMAC-SHA256 signature validation
      • Auto-provider detection from headers
    • Repository/tag discovery (RegistryDiscoveryService.cs)
      • OCI Distribution Spec compliant
      • Allowlist/denylist filtering
      • Pagination via Link headers
    • Scan job emission (ScanJobEmitterService.cs)
      • Batch submission with rate limiting
      • Deduplication
      • Scanner API integration
    • Architecture doc updated (section 8.1)

Files Created

src/Integrations/

  • AGENTS.md - Module documentation
  • StellaOps.Integrations.WebService/ - Main service
    • Program.cs, IntegrationService.cs, IntegrationEndpoints.cs
    • IntegrationPluginLoader.cs, appsettings.json
    • Infrastructure/Abstractions.cs, Infrastructure/DefaultImplementations.cs
  • __Libraries/StellaOps.Integrations.Core/ - Core models
    • Integration.cs, IntegrationEnums.cs, IntegrationModels.cs
  • __Libraries/StellaOps.Integrations.Contracts/ - Plugin contracts
    • IIntegrationConnectorPlugin.cs, IntegrationDtos.cs
  • __Libraries/StellaOps.Integrations.Persistence/ - Data access
    • IIntegrationRepository.cs, IntegrationDbContext.cs, PostgresIntegrationRepository.cs
  • __Plugins/StellaOps.Integrations.Plugin.InMemory/ - Test connector
  • __Plugins/StellaOps.Integrations.Plugin.Harbor/ - Harbor connector
  • __Plugins/StellaOps.Integrations.Plugin.GitHubApp/ - GitHub App connector

src/SbomService/StellaOps.SbomService/

  • Models/RegistrySourceModels.cs - Entity and enum definitions
  • Repositories/IRegistrySourceRepository.cs - Repository interfaces
  • Repositories/RegistrySourceRepositories.cs - In-memory implementations
  • Services/RegistrySourceService.cs - Business logic
  • Services/RegistryWebhookService.cs - Webhook processing
  • Services/RegistryDiscoveryService.cs - Registry discovery
  • Services/ScanJobEmitterService.cs - Scanner integration
  • Controllers/RegistrySourceController.cs - REST API
  • Controllers/RegistryWebhookController.cs - Webhook endpoints

src/Web/StellaOps.Web/src/app/features/integration-hub/

  • integration-hub.component.ts - Hub container
  • integration-list.component.ts - List view
  • integration-detail.component.ts - Detail view
  • integration-activity.component.ts - Activity timeline

Files Modified

  • src/SbomService/StellaOps.SbomService/Program.cs - DI registrations
  • src/Web/StellaOps.Web/src/app/app.routes.ts - Integration routes
  • docs/modules/sbomservice/architecture.md - Section 8.1 added
  • docs/modules/ui/architecture.md - Section 3.10 added
  • docs/architecture/integrations.md - Plugin architecture section

Archived Sprints

All completed sprints moved to docs/implplan/archived/2025-12-29-completed-sprints/:

  • SPRINT_20251229_009_PLATFORM_ui_control_gap_report.md
  • SPRINT_20251229_010_PLATFORM_integration_catalog_core.md
  • SPRINT_20251229_011_FE_integration_hub_ui.md
  • SPRINT_20251229_012_SBOMSVC_registry_sources.md

SPRINT_20251229_026_PLATFORM_offline_kit_integration

  • Status: COMPLETE (all 12 tasks DONE)
  • Scope: Offline Kit integration for air-gapped operation
  • Location: src/Scanner/StellaOps.Scanner.WebService/ + src/Web/StellaOps.Web/
  • Key Deliverables:
    • FE: OfflineModeService with health check and state management
    • FE: ManifestValidatorComponent with drag-drop and validation
    • FE: BundleFreshnessWidget with age indicators
    • FE: OfflineBannerComponent and ReadOnlyGuard
    • FE: OfflineVerificationComponent with evidence chain visualization
    • FE: offline-kit feature with dashboard, bundles, verification, JWKS views
    • BE: OfflineKitManifestService with GetManifestAsync and ValidateManifest
    • BE: /api/offline-kit/manifest and /api/offline-kit/validate endpoints
    • BE: /api/v1/offline-kit/* alias routes for backward compatibility
    • E2E tests for manifest, validate, and v1 alias endpoints

Architecture Decisions

  1. Integration Catalog in dedicated service: src/Integrations/ NOT Gateway (Gateway is HTTP routing only)
  2. Plugin architecture for connectors: Each provider implements IIntegrationConnectorPlugin
  3. AuthRef for all credentials: No raw credentials in code or config
  4. OCI Distribution Spec compliance: Standard registry API for discovery
  5. Webhook signature validation: HMAC-SHA256 with provider-specific patterns
  6. Offline Kit v1 alias in Scanner: Alias routes added directly in Scanner endpoints for backward compatibility