refactor(core): align with cordis spatiotemporal composability architecture

- Purify core micro-kernel by removing context hardcoded helpers and reverse dependencies
- Eliminate init() side effects in infra plugins with reversible lifecycle disposal
- Completely isolate plugins by removing cross-plugin imports and using core/contracts
- Introduce TaskService and RiskControlService contracts for unified cross-plugin APIs
- Regenerate Swagger documentation and update developer guide matrix
- Achieve 0 violations in check_cordis_architecture.sh and 100% test pass
This commit is contained in:
ryan
2026-08-28 15:05:31 +08:00
parent fc7fae7b0e
commit 299ac30ee4
150 changed files with 4328 additions and 2923 deletions
+83 -68
View File
@@ -257,7 +257,7 @@
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/diskcache.Status"
"$ref": "#/definitions/disk.Status"
}
}
}
@@ -2149,7 +2149,7 @@
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/driver_asynq_worker.TaskMeta"
"$ref": "#/definitions/contracts.TaskMetaDTO"
}
}
}
@@ -4689,6 +4689,9 @@
"status": {
"type": "integer"
},
"trace_id": {
"type": "string"
},
"user_agent": {
"type": "string"
},
@@ -5019,7 +5022,60 @@
}
}
},
"diskcache.Status": {
"contracts.TaskMetaDTO": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"display_name": {
"type": "string"
},
"max_retry": {
"type": "integer"
},
"name": {
"type": "string"
},
"params": {
"type": "array",
"items": {
"$ref": "#/definitions/contracts.TaskParamDTO"
}
},
"queue": {
"type": "string"
},
"schedule": {
"type": "string"
},
"timeout": {
"$ref": "#/definitions/time.Duration"
}
}
},
"contracts.TaskParamDTO": {
"type": "object",
"properties": {
"default": {},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"required": {
"type": "boolean"
},
"type": {
"type": "string"
}
}
},
"disk.Status": {
"type": "object",
"properties": {
"base_path": {
@@ -5042,71 +5098,6 @@
}
}
},
"driver_asynq_worker.TaskMeta": {
"type": "object",
"properties": {
"asynq_task": {
"type": "string"
},
"description": {
"type": "string"
},
"max_retry": {
"type": "integer"
},
"name": {
"type": "string"
},
"params": {
"type": "array",
"items": {
"$ref": "#/definitions/driver_asynq_worker.TaskParam"
}
},
"queue": {
"type": "string"
},
"retryable": {
"description": "是否支持手动重试",
"type": "boolean"
},
"supports_time": {
"type": "boolean"
},
"type": {
"type": "string"
}
}
},
"driver_asynq_worker.TaskParam": {
"type": "object",
"properties": {
"description": {
"description": "描述",
"type": "string"
},
"label": {
"description": "显示名称",
"type": "string"
},
"name": {
"description": "参数键名",
"type": "string"
},
"placeholder": {
"description": "占位符",
"type": "string"
},
"required": {
"description": "是否必填",
"type": "boolean"
},
"type": {
"description": "类型:string, text, number, boolean",
"type": "string"
}
}
},
"handler.batchDownloadRequest": {
"type": "object",
"required": [
@@ -5528,6 +5519,30 @@
"example": ""
}
}
},
"time.Duration": {
"type": "integer",
"format": "int64",
"enum": [
-9223372036854775808,
9223372036854775807,
1,
1000,
1000000,
1000000000,
60000000000,
3600000000000
],
"x-enum-varnames": [
"minDuration",
"maxDuration",
"Nanosecond",
"Microsecond",
"Millisecond",
"Second",
"Minute",
"Hour"
]
}
},
"securityDefinitions": {