Files
vpn-rules/MODULE_SPEC.yaml
T

121 lines
3.2 KiB
YAML

{
"schema_version": 1,
"module_id": "vpn-rules",
"authority": {
"scope": "module_metadata",
"subject": "vpn-rules",
"owner": "vpn-rules-owner",
"source": "MODULE_SPEC.yaml",
"revision": 1,
"effective_from": "2026-08-20T00:00:00+08:00"
},
"repository": {
"name": "vpn-rules",
"workspace_id": null,
"type": "infrastructure",
"maturity": "operational"
},
"bounded_context": {
"domain": "network-routing-policy",
"responsibility": "Own the single source of truth for direct-routing rules and deterministic projections for supported clients.",
"prohibited_responsibilities": [
"Applying rules to production clients, routers, VPN services, or proxy runtimes",
"Owning or exposing proxy subscription credentials, provider tokens, or device secrets",
"Claiming generated or checked-in artifacts are active production configuration"
]
},
"capabilities": [
{
"id": "direct-routing-rule-authoring",
"summary": "Maintain provider-neutral direct-routing entries in the authoritative mihomo rule-provider source.",
"status": "operational"
},
{
"id": "clash-verge-script-generation",
"summary": "Render source entries as idempotent DIRECT rules for Clash Verge Script.js.",
"status": "operational"
},
{
"id": "router-rule-projection",
"summary": "Generate policy-bearing YAML and policy-free plain-text projections for router consumers.",
"status": "operational"
}
],
"data": {
"owns": [
{
"asset_id": "direct-routing-rule-source",
"kind": "reference",
"classification": "restricted"
},
{
"asset_id": "generated-router-rule-projections",
"kind": "artifact",
"classification": "restricted"
}
]
},
"contracts": {
"provides": [
{
"contract_id": "mihomo-direct-rule-provider",
"kind": "artifact",
"version": "1.0.0",
"path": "direct.yaml",
"compatibility": "backward"
},
{
"contract_id": "router-direct-rules",
"kind": "artifact",
"version": "1.0.0",
"path": "router/direct-rules.yaml",
"compatibility": "exact"
},
{
"contract_id": "router-direct-plain-list",
"kind": "artifact",
"version": "1.0.0",
"path": "router/direct-plain.txt",
"compatibility": "exact"
}
],
"consumes": []
},
"dependencies": [],
"agent_context": {
"default_entrypoints": [
{
"path": "README.md",
"purpose": "Repository purpose, supported consumers, generation commands, and maintenance flow."
},
{
"path": "direct.yaml",
"purpose": "Authoritative direct-routing rule source and provider format."
}
],
"excluded_paths": [
"router"
],
"max_default_tokens": 6000
},
"verification": {
"commands": [
{
"id": "rule-contract-tests",
"argv": [
"python3",
"-m",
"unittest",
"discover",
"-s",
"tests",
"-v"
],
"cwd": ".",
"network": false,
"required": true
}
]
}
}