feat(devkit): add resumable workspace automation and UI review tooling
Verified with the coordinated workspace changes by devkit full run 2026-09-08T225814-186389-0000-3e3ed7cd (all seven phases passed). This shared UI pass does not mark the individual module reviews complete.
This commit is contained in:
Executable
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Devkit portable project configuration",
|
||||
"description": "The runtime additionally checks reference existence, cycles, resolved path confinement and cross-repository alias/path uniqueness. cwd defaults to the workspace when omitted.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["schema_version", "repositories"],
|
||||
"properties": {
|
||||
"schema_version": {"type": "integer", "const": 1},
|
||||
"name": {"type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[^\\u0000\\r\\n]+$"},
|
||||
"repositories": {
|
||||
"type": "array", "minItems": 1, "maxItems": 256,
|
||||
"items": {
|
||||
"type": "object", "additionalProperties": false, "required": ["name", "path"],
|
||||
"properties": {
|
||||
"name": {"$ref": "#/$defs/identifier"},
|
||||
"path": {"$ref": "#/$defs/relativePath"},
|
||||
"aliases": {"type": "array", "maxItems": 128, "uniqueItems": true, "items": {"$ref": "#/$defs/identifier"}}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"properties": {"python": {"$ref": "#/$defs/executable"}, "node": {"$ref": "#/$defs/executable"}, "npm": {"$ref": "#/$defs/executable"}}
|
||||
},
|
||||
"review": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"properties": {
|
||||
"issue_inventory": {"$ref": "#/$defs/relativePath"},
|
||||
"principles": {"$ref": "#/$defs/relativePath"}
|
||||
}
|
||||
},
|
||||
"checks": {
|
||||
"type": "array", "maxItems": 512,
|
||||
"items": {
|
||||
"type": "object", "additionalProperties": false, "required": ["id", "argv"],
|
||||
"properties": {
|
||||
"id": {"$ref": "#/$defs/identifier"},
|
||||
"title": {"type": "string", "maxLength": 1024, "pattern": "^[^\\u0000]*$"},
|
||||
"argv": {"type": "array", "minItems": 1, "maxItems": 256, "prefixItems": [{"type": "string", "minLength": 1, "maxLength": 8192, "pattern": "^[^\\u0000]+$"}], "items": {"type": "string", "maxLength": 8192, "pattern": "^[^\\u0000]*$"}},
|
||||
"cwd": {"$ref": "#/$defs/relativePath"},
|
||||
"deps": {"$ref": "#/$defs/profile"},
|
||||
"after": {"$ref": "#/$defs/profile"},
|
||||
"reuse": {"type": "string", "enum": ["verified", "never"]},
|
||||
"inputs": {"$ref": "#/$defs/inputs"},
|
||||
"resources": {"type": "array", "maxItems": 256, "uniqueItems": true, "items": {"type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[^\\u0000\\r\\n]+$"}},
|
||||
"repos": {"type": "array", "maxItems": 256, "uniqueItems": true, "items": {"$ref": "#/$defs/identifier"}},
|
||||
"timeout_seconds": {"type": "number", "exclusiveMinimum": 0, "maximum": 43200}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"properties": {
|
||||
"quick": {"$ref": "#/$defs/profile"}, "ui": {"$ref": "#/$defs/profile"},
|
||||
"backend": {"$ref": "#/$defs/profile"}, "full": {"$ref": "#/$defs/profile"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"inputs": {"type": "object", "additionalProperties": false, "required": ["repos"], "properties": {"repos": {"type": "array", "minItems": 1, "maxItems": 256, "uniqueItems": true, "items": {"$ref": "#/$defs/identifier"}}}},
|
||||
"identifier": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$(?![\\s\\S])"},
|
||||
"executable": {"type": "string", "minLength": 1, "maxLength": 4096, "pattern": "^[^\\u0000\\r\\n]+$"},
|
||||
"relativePath": {"type": "string", "minLength": 1, "maxLength": 4096, "pattern": "^(?!/)(?!\\.\\.(?:/|$))(?!.*?/\\.\\.(?:/|$))[^\\u0000\\r\\n]+$"},
|
||||
"profile": {"type": "array", "maxItems": 512, "uniqueItems": true, "items": {"$ref": "#/$defs/identifier"}}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user