feat(stage3): scaffold task-001 baseline

- WHY: establish Stage 3 task-001 execution baseline per repo intent
- WHAT: add minimal solution/project skeleton and boundary docs
- RULE: apply stage3 execution runtime and repository workflow directives
This commit is contained in:
José René White Enciso 2026-02-22 01:30:02 -06:00
parent 87076b9f3d
commit 8fbda692ca
32 changed files with 373 additions and 0 deletions

20
Blueprint.Platform.slnx Normal file
View File

@ -0,0 +1,20 @@
<Solution>
<Folder Name="/src/">
<Project Path="src/Core.Blueprint.Common/Core.Blueprint.Common.csproj" />
<Project Path="src/Core.Blueprint.KeyVault/Core.Blueprint.KeyVault.csproj" />
<Project Path="src/Core.Blueprint.Logging/Core.Blueprint.Logging.csproj" />
<Project Path="src/Core.Blueprint.Mongo/Core.Blueprint.Mongo.csproj" />
<Project Path="src/Core.Blueprint.Redis/Core.Blueprint.Redis.csproj" />
<Project Path="src/Core.Blueprint.SQLServer/Core.Blueprint.SQLServer.csproj" />
<Project Path="src/Core.Blueprint.Storage/Core.Blueprint.Storage.csproj" />
</Folder>
<Folder Name="/tests/">
<Project Path="tests/Core.Blueprint.Common.UnitTests/Core.Blueprint.Common.UnitTests.csproj" />
<Project Path="tests/Core.Blueprint.KeyVault.UnitTests/Core.Blueprint.KeyVault.UnitTests.csproj" />
<Project Path="tests/Core.Blueprint.Logging.UnitTests/Core.Blueprint.Logging.UnitTests.csproj" />
<Project Path="tests/Core.Blueprint.Mongo.UnitTests/Core.Blueprint.Mongo.UnitTests.csproj" />
<Project Path="tests/Core.Blueprint.Redis.UnitTests/Core.Blueprint.Redis.UnitTests.csproj" />
<Project Path="tests/Core.Blueprint.SQLServer.UnitTests/Core.Blueprint.SQLServer.UnitTests.csproj" />
<Project Path="tests/Core.Blueprint.Storage.UnitTests/Core.Blueprint.Storage.UnitTests.csproj" />
</Folder>
</Solution>

View File

@ -0,0 +1,18 @@
@startuml
skinparam packageStyle rectangle
package "Core.Blueprint.Common" as Common
package "Core.Blueprint.Logging" as Logging
package "Core.Blueprint.Mongo" as Mongo
package "Core.Blueprint.Redis" as Redis
package "Core.Blueprint.SQLServer" as SqlServer
package "Core.Blueprint.Storage" as Storage
package "Core.Blueprint.KeyVault" as KeyVault
Logging --> Common
Mongo --> Common
Redis --> Common
SqlServer --> Common
Storage --> Common
KeyVault --> Common
@enduml

View File

@ -0,0 +1,21 @@
# Blueprint Platform Boundaries
This repository is a modular multi-package platform library set.
## Package Ownership Matrix
| Package | Responsibility | Depends On |
|---|---|---|
| Core.Blueprint.Common | Shared primitives and cross-cutting contracts | - |
| Core.Blueprint.Logging | Logging abstractions and setup helpers | Core.Blueprint.Common |
| Core.Blueprint.Mongo | Mongo integration helpers and extension points | Core.Blueprint.Common |
| Core.Blueprint.Redis | Redis integration helpers and extension points | Core.Blueprint.Common |
| Core.Blueprint.SQLServer | SQL Server integration helpers and extension points | Core.Blueprint.Common |
| Core.Blueprint.Storage | Blob/file storage integration helpers | Core.Blueprint.Common |
| Core.Blueprint.KeyVault | Key vault access integration helpers | Core.Blueprint.Common |
## Boundary Rules
- Blueprint remains library-only.
- Identity abstractions are not owned by this repository.
- Downstream repositories consume package contracts from this repo.

View File

@ -0,0 +1,18 @@
# Blueprint Package Usage
## Intended Consumers
- building-block-inventory
- building-block-catalog
- furniture-dal
- thalos-dal
- furniture-service
- thalos-service
- furniture-bff
- thalos-bff
## Usage Guidance
- Reference only required packages per repository layer.
- Prefer package-specific extension methods over direct infrastructure bootstrapping.
- Keep identity abstractions in Thalos repositories.

View File

@ -0,0 +1,6 @@
namespace Core.Blueprint.Common;
public class Class1
{
}

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,5 @@
namespace Core.Blueprint.KeyVault;
public class Class1
{
}

View File

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,5 @@
namespace Core.Blueprint.Logging;
public class Class1
{
}

View File

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,5 @@
namespace Core.Blueprint.Mongo;
public class Class1
{
}

View File

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,5 @@
namespace Core.Blueprint.Redis;
public class Class1
{
}

View File

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,5 @@
namespace Core.Blueprint.SQLServer;
public class Class1
{
}

View File

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,5 @@
namespace Core.Blueprint.Storage;
public class Class1
{
}

View File

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.Common\Core.Blueprint.Common.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,10 @@
namespace Core.Blueprint.Common.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.KeyVault\Core.Blueprint.KeyVault.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
namespace Core.Blueprint.KeyVault.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.Logging\Core.Blueprint.Logging.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
namespace Core.Blueprint.Logging.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.Mongo\Core.Blueprint.Mongo.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
namespace Core.Blueprint.Mongo.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.Redis\Core.Blueprint.Redis.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
namespace Core.Blueprint.Redis.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.SQLServer\Core.Blueprint.SQLServer.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
namespace Core.Blueprint.SQLServer.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Core.Blueprint.Storage\Core.Blueprint.Storage.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,9 @@
namespace Core.Blueprint.Storage.UnitTests;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}