File size: 1,610 Bytes
3ce1a40 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | namespace Repoverse.Core.Model;
/// <summary>Why a derived value has the value it has (§28).</summary>
public sealed record Provenance(string Rule, string Evidence)
{
public static Provenance Override(string file) => new("manual-override", file);
public override string ToString() => $"{Rule}: {Evidence}";
}
public sealed record Derived<T>(T Value, Provenance Why);
public enum SemanticCategory
{
SystemsInfrastructure,
OperatingSystem,
Compiler,
CryptographicCore,
FormalVerification,
Financial,
Simulation,
Hardware,
Quantum,
Training,
AgentSystem,
Database,
Networking,
WebInterface,
Documentation,
Experimental,
}
public enum District
{
Kernel,
Ai,
Financial,
FormalMethods,
HardwareIndustrial,
QuantumResearch,
Agent,
WebInterface,
Data,
Security,
Archive,
Experimental,
Infrastructure,
Training,
}
public enum BuildingArchetype
{
Foundry, // compilers, runtimes: transformation machinery
ControlTower, // OS / kernel / infrastructure
Vault, // crypto, security
ProofChamber, // formal methods
Exchange, // finance
Laboratory, // quantum, hardware, simulation
Library, // docs, training corpora
Studio, // web / interface
Warehouse, // databases
Relay, // networking
Commons, // agent systems
Workshop, // small / experimental
}
public enum MaterialFamily { Stone, Concrete, Glass, Metal, Wood, Ceramic, Electronics, Laboratory, Archive, Security }
|