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 }