Commit Graph

87 Commits

Author SHA1 Message Date
master
c32fff8f86 license switch agpl -> busl1, sprints work, new product advisories 2026-01-20 15:32:20 +02:00
master
b34bde89fa fix: compilation errors in Attestor and Policy modules
- Fix PredicateSchemaValidator to use static Lazy initialization
  avoiding JsonSchema.Net global registry conflicts in tests
- Add IContextPolicyGate interface for gates without MergeResult
- Rename ICveGate/IAttestationGate to avoid conflicts with IPolicyGate
- Add static Pass/Fail helper methods to GateResult record
- Unseal PolicyGateContext to allow ExtendedPolicyGateContext
- Add missing Type/Constraint properties to AuthorityScope and Principal
- Fix PolicyBundle to use ConditionDescription instead of Condition func
- Rename ExceptionResult to ExceptionCheckResult to avoid duplicate
- Rename GateResult static helper class to GateResultFactory
- Temporarily exclude 9 incomplete gate files with missing contracts
- Add AttestationContextExtensions for GetAttestation/GetVexSummary etc

All 216 Attestor.Core tests pass.
2026-01-19 13:35:21 +02:00
master
17419ba7c4 doctor enhancements, setup, enhancements, ui functionality and design consolidation and , test projects fixes , product advisory attestation/rekor and delta verfications enhancements 2026-01-19 09:02:59 +02:00
master
702a27ac83 synergy moats product advisory implementations 2026-01-17 01:32:20 +02:00
master
4ca3ce8fb4 sprints completion. new product advisories prepared 2026-01-16 16:30:03 +02:00
master
88a85cdd92 old sprints work, new sprints for exposing functionality via cli, improve code_of_conduct and other agents instructions 2026-01-15 18:38:18 +02:00
master
15aeac8e8b new advisories work and features gaps work 2026-01-14 18:39:19 +02:00
master
d7be6ba34b audit, advisories and doctors/setup work 2026-01-13 18:53:39 +02:00
master
9330c64349 sln build fix (again), tests fixes, audit work and doctors work 2026-01-12 22:15:51 +02:00
master
9873f80830 release orchestrator v1 draft and build fixes 2026-01-12 12:24:17 +02:00
master
7f7eb8b228 Complete batch 012 (golden set diff) and 013 (advisory chat), fix build errors
Sprints completed:
- SPRINT_20260110_012_* (golden set diff layer - 10 sprints)
- SPRINT_20260110_013_* (advisory chat - 4 sprints)

Build fixes applied:
- Fix namespace conflicts with Microsoft.Extensions.Options.Options.Create
- Fix VexDecisionReachabilityIntegrationTests API drift (major rewrite)
- Fix VexSchemaValidationTests FluentAssertions method name
- Fix FixChainGateIntegrationTests ambiguous type references
- Fix AdvisoryAI test files required properties and namespace aliases
- Add stub types for CveMappingController (ICveSymbolMappingService)
- Fix VerdictBuilderService static context issue

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 10:09:07 +02:00
master
51cf4bc16c more audit work 2026-01-08 20:46:43 +02:00
Codex Assistant
8f0320edd5 product advisories add change contiang folder 2026-01-08 09:06:03 +02:00
Codex Assistant
a2ce91060e Merge remote changes (theirs) 2026-01-08 09:01:53 +02:00
Codex Assistant
0b5d786ddb warnings fixes, tests fixes, sprints completions 2026-01-08 08:38:27 +02:00
master
608a7f85c0 audit work, fixed StellaOps.sln warnings/errors, fixed tests, sprints work, new advisories 2026-01-07 18:50:11 +02:00
master
04ec098046 Merge branch 'main' of https://git.stella-ops.org/stella-ops.org/git.stella-ops.org 2026-01-07 10:25:34 +02:00
master
044cf0923c docs consolidation 2026-01-07 10:23:21 +02:00
StellaOps Bot
ab364c6032 sprints and audit work 2026-01-07 09:43:12 +02:00
StellaOps Bot
37e11918e0 save progress 2026-01-06 09:42:20 +02:00
StellaOps Bot
f7d27c6fda feat(secrets): Implement secret leak policies and signal binding
- Added `spl-secret-block@1.json` to block deployments with critical or high severity secret findings.
- Introduced `spl-secret-warn@1.json` to warn on secret findings without blocking deployments.
- Created `SecretSignalBinder.cs` to bind secret evidence to policy evaluation signals.
- Developed unit tests for `SecretEvidenceContext` and `SecretSignalBinder` to ensure correct functionality.
- Enhanced `SecretSignalContextExtensions` to integrate secret evidence into signal contexts.
2026-01-04 15:44:49 +02:00
StellaOps Bot
1f33143bd1 feat(secrets): implement ISecretEvidenceProvider and SecretEvidenceContext for secret leak evaluation 2026-01-04 15:12:28 +02:00
StellaOps Bot
f5f12acbf0 DET-004: Refactor Policy library for determinism - Gates, Snapshots, TrustLattice, Scoring, Explanation
- VexProofGate: Inject TimeProvider for proof age validation
- SnapshotBuilder: Inject TimeProvider for WithVex/WithSbom/WithReachability/Build
- CsafVexNormalizer, OpenVexNormalizer, VexNormalizers: Add optional issuedAt parameter
- TrustLatticeEngine.ClaimBuilder: Add optional issuedAt parameter to Build
- PolicyBundle: Add asOf parameter to IsTrusted and GetMaxAssurance
- ProofLedger: Add createdAtUtc parameter to ToJson
- ScoreAttestationBuilder: Add scoredAt parameter to Create
- ScoringRulesSnapshotBuilder: Add createdAt parameter to Create
- TrustSourceWeightService: Inject TimeProvider for stale data calculation
- PolicyExplanation.Create: Add evaluatedAt parameter
- PolicyExplanationRecord.FromExplanation: Add recordId and evaluatedAt parameters
- PolicyPreviewService: Inject TimeProvider for snapshot creation
- PolicySnapshotStore: Inject IGuidProvider for audit entry ID generation
2026-01-04 13:33:21 +02:00
StellaOps Bot
ae78af4692 DET-004: Refactor Policy Replay and Deltas for determinism
- ReplayEngine: inject TimeProvider
- ReplayReport: inject TimeProvider and IGuidProvider via builder
- ReplayResult: add TimeProvider parameter to Failed() method
- DeltaComputer: inject TimeProvider
- DeltaVerdictBuilder: inject TimeProvider

Replace DateTimeOffset.UtcNow and Guid.NewGuid() with injected providers

Sprint: SPRINT_20260104_001_BE_determinism_timeprovider_injection
2026-01-04 13:25:15 +02:00
StellaOps Bot
ef6ce108aa DET-004: Refactor more Policy Gates for determinism
- BudgetConstraintEnforcer: inject TimeProvider
- EvidenceFreshnessGate: inject TimeProvider

Replace DateTimeOffset.UtcNow with _timeProvider.GetUtcNow()

Sprint: SPRINT_20260104_001_BE_determinism_timeprovider_injection
2026-01-04 12:41:14 +02:00
StellaOps Bot
406c6c119f DET-004: Refactor Policy Gates for determinism
- EarnedCapacityEvaluator: inject TimeProvider
- BudgetThresholdNotifier: inject TimeProvider

Replace DateTimeOffset.UtcNow with _timeProvider.GetUtcNow()

Sprint: SPRINT_20260104_001_BE_determinism_timeprovider_injection
2026-01-04 12:40:10 +02:00
StellaOps Bot
8e0cc71b2e DET-004: Refactor Policy BudgetLedger for determinism
- Inject TimeProvider and IGuidProvider in BudgetLedger constructor
- Replace DateTimeOffset.UtcNow with _timeProvider.GetUtcNow()
- Replace Guid.NewGuid() with _guidProvider.NewGuid()
- Add Determinism.Abstractions reference to Policy csproj

Sprint: SPRINT_20260104_001_BE_determinism_timeprovider_injection
Task: DET-004 (in progress - Policy module)
2026-01-04 12:38:35 +02:00
StellaOps Bot
cb898a4ac8 DET-001/002/003: Add IGuidProvider abstraction and refactor Policy.Unknowns for determinism
- Created IGuidProvider interface and SystemGuidProvider in StellaOps.Determinism.Abstractions
- Added SequentialGuidProvider for testing deterministic GUID generation
- Added DeterminismServiceCollectionExtensions with AddDeterminismDefaults()
- Refactored Policy.Unknowns:
  - UnknownsRepository now uses TimeProvider and IGuidProvider
  - BudgetExceededEventFactory accepts optional TimeProvider parameter
  - ServiceCollectionExtensions calls AddDeterminismDefaults()
- Fixed Policy.Exceptions csproj (added ImplicitUsings, Nullable, PackageReferences)

Sprint: SPRINT_20260104_001_BE_determinism_timeprovider_injection
Tasks: DET-001 (audit), DET-002 (IGuidProvider), DET-003 (registration pattern), DET-004 (partial - Policy.Unknowns)
2026-01-04 12:37:12 +02:00
StellaOps Bot
e411fde1a9 feat(audit): Apply TreatWarningsAsErrors=true to 160+ production csproj files
Sprint: SPRINT_20251229_049_BE_csproj_audit_maint_tests
Tasks: AUDIT-0001 through AUDIT-0147 APPLY tasks (approved decisions 1-9)

Changes:
- Set TreatWarningsAsErrors=true for all production .NET projects
- Fixed nullable warnings in Scanner.EntryTrace, Scanner.Evidence,
  Scheduler.Worker, Concelier connectors, and other modules
- Injected TimeProvider/IGuidProvider for deterministic time/ID generation
- Added path traversal validation in AirGap.Bundle
- Fixed NULL handling in various cursor classes
- Third-party GostCryptography retains TreatWarningsAsErrors=false (preserves original)
- Test projects excluded per user decision (rejected decision 10)

Note: All 17 ACSC connector tests pass after snapshot fixture sync
2026-01-04 11:21:16 +02:00
StellaOps Bot
bc4dd4f377 save progress 2026-01-03 15:42:20 +02:00
StellaOps Bot
83c37243e0 save progress 2026-01-03 11:02:24 +02:00
StellaOps Bot
c2b9cd8d1f Fix build and code structure improvements. New but essential UI functionality. CI improvements. Documentation improvements. AI module improvements. 2025-12-29 07:45:03 +02:00
StellaOps Bot
335ff7da16 Refactor NuGet package handling across multiple CI runners and documentation. Update paths to use .nuget/packages instead of local-nugets. Enhance README files for clarity on usage and environment setup. Add script to automate the addition of test projects to the solution. 2025-12-26 21:44:32 +02:00
StellaOps Bot
b4fc66feb6 Refactor code structure and optimize performance across multiple modules 2025-12-26 21:38:12 +02:00
StellaOps Bot
907783f625 Add property-based tests for SBOM/VEX document ordering and Unicode normalization determinism
- Implement `SbomVexOrderingDeterminismProperties` for testing component list and vulnerability metadata hash consistency.
- Create `UnicodeNormalizationDeterminismProperties` to validate NFC normalization and Unicode string handling.
- Add project file for `StellaOps.Testing.Determinism.Properties` with necessary dependencies.
- Introduce CI/CD template validation tests including YAML syntax checks and documentation content verification.
- Create validation script for CI/CD templates ensuring all required files and structures are present.
2025-12-26 15:17:58 +02:00
StellaOps Bot
22390057fc stop syncing with TASKS.md 2025-12-26 11:44:40 +02:00
StellaOps Bot
2a06f780cf sprints work 2025-12-25 12:19:12 +02:00
StellaOps Bot
b9f71fc7e9 sprints work 2025-12-24 21:46:08 +02:00
StellaOps Bot
7e384ab610 feat: Implement IsolatedReplayContext for deterministic audit replay
- Added IsolatedReplayContext class to provide an isolated environment for replaying audit bundles without external calls.
- Introduced methods for initializing the context, verifying input digests, and extracting inputs for policy evaluation.
- Created supporting interfaces and options for context configuration.

feat: Create ReplayExecutor for executing policy re-evaluation and verdict comparison

- Developed ReplayExecutor class to handle the execution of replay processes, including input verification and verdict comparison.
- Implemented detailed drift detection and error handling during replay execution.
- Added interfaces for policy evaluation and replay execution options.

feat: Add ScanSnapshotFetcher for fetching scan data and snapshots

- Introduced ScanSnapshotFetcher class to retrieve necessary scan data and snapshots for audit bundle creation.
- Implemented methods to fetch scan metadata, advisory feeds, policy snapshots, and VEX statements.
- Created supporting interfaces for scan data, feed snapshots, and policy snapshots.
2025-12-23 07:46:40 +02:00
StellaOps Bot
5146204f1b feat: add security sink detection patterns for JavaScript/TypeScript
- Introduced `sink-detect.js` with various security sink detection patterns categorized by type (e.g., command injection, SQL injection, file operations).
- Implemented functions to build a lookup map for fast sink detection and to match sink calls against known patterns.
- Added `package-lock.json` for dependency management.
2025-12-22 23:21:21 +02:00
master
4602ccc3a3 Refactor code structure for improved readability and maintainability; optimize performance in key functions. 2025-12-22 19:10:27 +02:00
StellaOps Bot
2e98f6f3b2 T5: Add 009_exception_applications.sql migration 2025-12-21 09:36:27 +02:00
StellaOps Bot
14746936a9 T5: Add PostgresExceptionApplicationRepository implementation 2025-12-21 09:35:48 +02:00
StellaOps Bot
94ea6c5e88 T5: Add ExceptionApplication model and interface 2025-12-21 09:34:54 +02:00
StellaOps Bot
b7b27c8740 Add unit tests for ExceptionEvaluator, ExceptionEvent, ExceptionHistory, and ExceptionObject models
- Implemented comprehensive unit tests for the ExceptionEvaluator service, covering various scenarios including matching exceptions, environment checks, and evidence references.
- Created tests for the ExceptionEvent model to validate event creation methods and ensure correct event properties.
- Developed tests for the ExceptionHistory model to verify event count, order, and timestamps.
- Added tests for the ExceptionObject domain model to ensure validity checks and property preservation for various fields.
2025-12-21 00:34:35 +02:00
StellaOps Bot
6928124d33 feat(policy): Complete Sprint 3900.0001.0001 - Exception Objects Schema & Model
Tasks completed:
- T3: PostgreSQL migration (008_exception_objects.sql) extending existing exceptions table
- T5: PostgresExceptionRepository implementation with event-sourcing support
- T7: All 71 unit tests passing for models, evaluator, and repository interface

Note: T8 (Integration Tests) exists in the project and tests are passing.

Sprint Status: DONE (8/8 tasks complete)
2025-12-21 00:14:56 +02:00
StellaOps Bot
d55a353481 feat(policy): Start Epic 3900 - Exception Objects as Auditable Entities
Advisory Processing:
- Processed 7 unprocessed advisories and 12 moat documents
- Created advisory processing report with 3 new epic recommendations
- Identified Epic 3900 (Exception Objects) as highest priority

Sprint 3900.0001.0001 - 4/8 tasks completed:
- T1: ExceptionObject domain model with full governance fields
- T2: ExceptionEvent model for event-sourced audit trail
- T4: IExceptionRepository interface with CRUD and query methods
- T6: ExceptionEvaluator service with PURL pattern matching

New library: StellaOps.Policy.Exceptions
- Models: ExceptionObject, ExceptionScope, ExceptionEvent
- Enums: ExceptionStatus, ExceptionType, ExceptionReason
- Services: ExceptionEvaluator with scope matching and specificity
- Repository: IExceptionRepository with filter and history support

Remaining tasks: PostgreSQL schema, repository implementation, tests
2025-12-20 23:44:55 +02:00
StellaOps Bot
0ada1b583f save progress 2025-12-20 12:15:16 +02:00
StellaOps Bot
439f10966b feat: Update Claim and TrustLattice components for improved property handling and conflict detection 2025-12-20 06:07:37 +02:00
StellaOps Bot
5fc469ad98 feat: Add VEX Status Chip component and integration tests for reachability drift detection
- Introduced `VexStatusChipComponent` to display VEX status with color coding and tooltips.
- Implemented integration tests for reachability drift detection, covering various scenarios including drift detection, determinism, and error handling.
- Enhanced `ScannerToSignalsReachabilityTests` with a null implementation of `ICallGraphSyncService` for better test isolation.
- Updated project references to include the new Reachability Drift library.
2025-12-20 01:26:42 +02:00