Add signal contracts for reachability, exploitability, trust, and unknown symbols
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Signals DSSE Sign & Evidence Locker / sign-signals-artifacts (push) Has been cancelled
Signals DSSE Sign & Evidence Locker / verify-signatures (push) Has been cancelled

- Introduced `ReachabilityState`, `RuntimeHit`, `ExploitabilitySignal`, `ReachabilitySignal`, `SignalEnvelope`, `SignalType`, `TrustSignal`, and `UnknownSymbolSignal` records to define various signal types and their properties.
- Implemented JSON serialization attributes for proper data interchange.
- Created project files for the new signal contracts library and corresponding test projects.
- Added deterministic test fixtures for micro-interaction testing.
- Included cryptographic keys for secure operations with cosign.
This commit is contained in:
StellaOps Bot
2025-12-05 00:27:00 +02:00
parent b018949a8d
commit 8768c27f30
192 changed files with 27569 additions and 2552 deletions

View File

@@ -0,0 +1,24 @@
using StellaOps.Router.Common;
namespace StellaOps.Microservice;
/// <summary>
/// Configuration for a router endpoint.
/// </summary>
public sealed class RouterEndpointConfig
{
/// <summary>
/// Gets or sets the router host.
/// </summary>
public required string Host { get; set; }
/// <summary>
/// Gets or sets the router port.
/// </summary>
public required int Port { get; set; }
/// <summary>
/// Gets or sets the transport type to use.
/// </summary>
public TransportType TransportType { get; set; } = TransportType.Tcp;
}

View File

@@ -0,0 +1,28 @@
using Microsoft.Extensions.DependencyInjection;
namespace StellaOps.Microservice;
/// <summary>
/// Extension methods for registering Stella microservice services.
/// </summary>
public static class ServiceCollectionExtensions
{
/// <summary>
/// Adds Stella microservice services to the service collection.
/// </summary>
/// <param name="services">The service collection.</param>
/// <param name="configure">Action to configure the microservice options.</param>
/// <returns>The service collection for chaining.</returns>
public static IServiceCollection AddStellaMicroservice(
this IServiceCollection services,
Action<StellaMicroserviceOptions> configure)
{
ArgumentNullException.ThrowIfNull(services);
ArgumentNullException.ThrowIfNull(configure);
// Stub implementation - will be filled in later sprints
services.Configure(configure);
return services;
}
}

View File

@@ -0,0 +1,40 @@
using StellaOps.Router.Common;
namespace StellaOps.Microservice;
/// <summary>
/// Options for configuring a Stella microservice.
/// </summary>
public sealed class StellaMicroserviceOptions
{
/// <summary>
/// Gets or sets the service name.
/// </summary>
public required string ServiceName { get; set; }
/// <summary>
/// Gets or sets the semantic version.
/// </summary>
public required string Version { get; set; }
/// <summary>
/// Gets or sets the region where this instance is deployed.
/// </summary>
public required string Region { get; set; }
/// <summary>
/// Gets or sets the unique instance identifier.
/// </summary>
public string InstanceId { get; set; } = Guid.NewGuid().ToString("N");
/// <summary>
/// Gets the router endpoints to connect to.
/// At least one router endpoint is required.
/// </summary>
public List<RouterEndpointConfig> Routers { get; set; } = [];
/// <summary>
/// Gets or sets the optional path to a YAML config file for endpoint overrides.
/// </summary>
public string? EndpointConfigPath { get; set; }
}

View File

@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>preview</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0-rc.2.25502.107" />
<PackageReference Include="Microsoft.Extensions.Options" Version="10.0.0-rc.2.25502.107" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\StellaOps.Router.Common\StellaOps.Router.Common.csproj" />
</ItemGroup>
</Project>