Commit Graph

542 Commits

Author SHA1 Message Date
master
8e69cdc416 more audit work 2026-01-08 10:21:59 +02:00
Codex Assistant
43c02081ef fix conflicts 2026-01-08 09:08:49 +02:00
Codex Assistant
8f0320edd5 product advisories add change contiang folder 2026-01-08 09:06:03 +02:00
Codex Assistant
ae6968d23f Merge branch 'main' of https://git.stella-ops.org/stella-ops.org/git.stella-ops.org 2026-01-08 09:02:11 +02:00
Codex Assistant
a2ce91060e Merge remote changes (theirs) 2026-01-08 09:01:53 +02:00
StellaOps Bot
56d77a9f84 Merge remaining changes 2026-01-08 08:55:04 +02:00
StellaOps Bot
7bd3ecff45 Merge remaining change 2026-01-08 08:54:45 +02:00
StellaOps Bot
110591d6bf Merge all changes 2026-01-08 08:54:27 +02:00
StellaOps Bot
589de352c2 Resolve merge conflicts in archived sprint docs 2026-01-08 08:50:03 +02:00
Codex Assistant
0b5d786ddb warnings fixes, tests fixes, sprints completions 2026-01-08 08:38:27 +02:00
StellaOps Bot
2096cf49a6 Merge branch 'main' of https://git.stella-ops.org/stella-ops.org/git.stella-ops.org 2026-01-07 21:30:44 +02:00
StellaOps Bot
a2070225ce Add Layer SBOM endpoints and CLI command tests for integration 2026-01-07 21:24:51 +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
05833e0af2 Merge branch 'main' of https://git.stella-ops.org/stella-ops.org/git.stella-ops.org 2026-01-06 21:03:06 +02:00
StellaOps Bot
8cb2bc677a commit 2026-01-06 20:52:41 +02:00
master
4789027317 docs consolidation and others 2026-01-06 19:07:48 +02:00
StellaOps Bot
37e11918e0 save progress 2026-01-06 09:42:20 +02:00
StellaOps Bot
94d68bee8b move permament spritns 2026-01-05 19:17:32 +02:00
master
d7bdca6d97 docs consolidation, big sln build fixes, new advisories and sprints/tasks 2026-01-05 18:37:08 +02:00
master
d0a7b88398 move docs/**/archived/* to docs-archived/**/* 2026-01-05 16:02:11 +02:00
StellaOps Bot
dfab8a29c3 docs re-org, audit fixes, build fixes 2026-01-05 09:35:33 +02:00
StellaOps Bot
eca4e964d3 save audit remarks applications progress 2026-01-04 22:49:53 +02:00
StellaOps Bot
8862e112c4 finish secrets finding work and audit remarks work save 2026-01-04 21:48:13 +02:00
StellaOps Bot
75611a505f save progress 2026-01-04 19:08:47 +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
61098b0509 docs: update sprint file - DET-016 complete 2026-01-04 15:11:54 +02:00
StellaOps Bot
6c4823d941 refactor(vulnexplorer): inject TimeProvider and IGuidProvider for determinism - DET-016
VexDecisionStore: Added TimeProvider and IGuidProvider injection for deterministic
ID generation and timestamps in Create/Update methods.

Added StellaOps.Determinism.Abstractions project reference.
2026-01-04 15:11:38 +02:00
StellaOps Bot
ff3e32e0b0 docs: update sprint file with DET-005 to DET-014 progress
Completed tasks:
- DET-005: Provcache module (8 files)
- DET-006: Provenance (already clean)
- DET-007: ReachGraph (1 file)
- DET-008: Registry (1 file)
- DET-009: Replay (6 files)
- DET-010: RiskEngine (already clean)
- DET-014: Unknowns (already clean)

Remaining work assessed:
- Scanner: ~45+ matches
- Scheduler: ~20+ matches
- Signer: ~89 matches
- VexLens: ~76 matches
- VulnExplorer: 3 matches
- Zastava: ~48 matches
2026-01-04 15:10:50 +02:00
StellaOps Bot
a872da765d refactor: inject TimeProvider/IGuidProvider across multiple modules - DET-006 to DET-010
DET-006 Provenance module: Skipped - already uses TimeProvider in production code

DET-007 ReachGraph module:
- PostgresReachGraphRepository: Added TimeProvider for fallback timestamp in StoreAsync

DET-008 Registry module:
- RegistryTokenIssuer: Added IGuidProvider for JWT ID (jti) generation
- Added StellaOps.Determinism.Abstractions project reference

DET-009 Replay module:
- ReplayEngine: Added TimeProvider for ExecutedAt timestamp
- ReplayResult.Failed: Added optional executedAt parameter for determinism
- ReplayManifestExporter: Added TimeProvider constructor, replaced DateTimeOffset.UtcNow
- FeedSnapshotCoordinatorService: Updated GenerateSnapshotId to use injected TimeProvider
- ExportMetadataInfo: Made ExportedAt required (callers must provide explicitly)
- PolicySimulationInputLock: Made GeneratedAt required (callers must provide explicitly)

DET-010 RiskEngine module: Skipped - no determinism issues found

All changes maintain backward compatibility through optional parameters with system defaults.
2026-01-04 15:08:48 +02:00
StellaOps Bot
99cb2bcb0f refactor(provcache): inject TimeProvider and IGuidProvider for determinism - DET-005
Refactored 8 files across StellaOps.Provcache, StellaOps.Provcache.Postgres, and StellaOps.Provcache.Valkey:

Core Provcache library:
- EvidenceChunker: Added IGuidProvider for ChunkId generation in ChunkAsync/ChunkStreamAsync
- LazyFetchOrchestrator: Added IGuidProvider for ChunkId generation when storing fetched chunks
- MinimalProofExporter: Added IGuidProvider for ChunkId generation in ImportAsync
- FeedEpochAdvancedEvent: Added optional eventId/timestamp parameters to static Create()
- SignerRevokedEvent: Added optional eventId/timestamp parameters to static Create()

Postgres implementation:
- PostgresProvcacheRepository: Added TimeProvider and IGuidProvider for IncrementHitCountAsync,
  GetStatisticsAsync, LogRevocationAsync, and MapToEntity
- PostgresEvidenceChunkRepository: Added TimeProvider and IGuidProvider for GetManifestAsync and MapToEntity

Valkey implementation:
- ValkeyProvcacheStore: Added TimeProvider for TTL calculations in GetAsync, SetAsync, SetManyAsync

All constructors use optional parameters with defaults to system implementations for backward compatibility.
Added StellaOps.Determinism.Abstractions project references where needed.
2026-01-04 15:02:09 +02:00
StellaOps Bot
3098e84de4 save progress 2026-01-04 14:54:52 +02:00
StellaOps Bot
c49b03a254 Update sprint: DET-004 Policy library complete 2026-01-04 13:34:16 +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
8c10b7203b Update determinism sprint execution log with progress 2026-01-04 12:41:38 +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
3130cdb702 feat(audit): Complete SPRINT_20251229_049 - mark all tasks DONE
- 242 production APPLY tasks: TreatWarningsAsErrors=true applied
- 144 production MAINT tasks: deferred determinism to SPRINT_20260104
- 144 production TEST tasks: deferred coverage to SPRINT_20260104
- 290 test project tasks: waived per decision (test projects excluded)

Created new SPRINT_20260104_001_BE_determinism_timeprovider_injection.md
for systematic TimeProvider/IGuidProvider refactoring (~1526 instances)
2026-01-04 12:22:35 +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
d486d41a48 save progress 2026-01-03 12:41:57 +02:00
StellaOps Bot
83c37243e0 save progress 2026-01-03 11:02:24 +02:00
StellaOps Bot
ca578801fd save progress 2026-01-03 00:49:19 +02:00
StellaOps Bot
3f197814c5 save progress 2026-01-02 21:06:27 +02:00