pipeline-service/models/audit_log.json
ymq 3687270ca7 feat(task-capability): 任务状态机语义化迁移能力 + 通用审计原语
- task_capability.py: claim/submit/approve/reject/complete/mark_failed/retry/suspend/revive/set_task_state
  CAS 原子迁移(防并发/越权覆盖) + tenant 隔离 + record_audit 审计
  定位=状态机语义化操作层,CRUD 复用 storage.py,不遮蔽 storage/executor 同名函数
- audit.py: record_audit append-only 通用审计原语(支持 sor 复用避免嵌套连接)
- models/audit_log.json: 审计日志表(append-only, tenant 隔离)
- init.py: 注册 task_* + record_audit 到 ServerEnv
2026-08-16 23:39:05 +08:00

29 lines
1.4 KiB
JSON

{
"summary": [
{
"name": "audit_log",
"title": "审计日志表(append-only)",
"primary": ["id"],
"catelog": "entity"
}
],
"fields": [
{"name": "id", "title": "主键ID", "type": "str", "length": 32, "nullable": "no"},
{"name": "tenant_id", "title": "租户ID", "type": "str", "length": 32, "nullable": "no"},
{"name": "entity", "title": "实体类型", "type": "str", "length": 64, "nullable": "no"},
{"name": "entity_id", "title": "实体ID", "type": "str", "length": 64, "nullable": "no"},
{"name": "action", "title": "动作", "type": "str", "length": 64, "nullable": "no"},
{"name": "from_state", "title": "原状态", "type": "str", "length": 32},
{"name": "to_state", "title": "新状态", "type": "str", "length": 32},
{"name": "who", "title": "操作角色", "type": "str", "length": 64},
{"name": "agent_id", "title": "操作Agent标识", "type": "str", "length": 64},
{"name": "detail", "title": "详情", "type": "text"},
{"name": "created_at", "title": "创建时间", "type": "timestamp", "nullable": "no"}
],
"indexes": [
{"name": "idx_al_tenant", "idxtype": "index", "idxfields": ["tenant_id"]},
{"name": "idx_al_entity", "idxtype": "index", "idxfields": ["entity", "entity_id"]},
{"name": "idx_al_created", "idxtype": "index", "idxfields": ["created_at"]}
]
}