feat(architecture): publish VPN rules module metadata
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user