修复 Trellis 空闲态治理检查(07-26-trellis-upgrade-project-audit)
这个提交包含在:
@@ -97,6 +97,19 @@ export function contextManifestPolicy(dispatchMode) {
|
||||
};
|
||||
}
|
||||
|
||||
export function activeTaskDirectoryPolicy(taskCount) {
|
||||
if (taskCount === 0) {
|
||||
return {
|
||||
valid: true,
|
||||
detail: "0 active task directories; idle state after archive is valid",
|
||||
};
|
||||
}
|
||||
return {
|
||||
valid: true,
|
||||
detail: `${taskCount} task directories have Trellis contracts`,
|
||||
};
|
||||
}
|
||||
|
||||
function checkContextManifest(result, taskDir, action, dispatchMode) {
|
||||
const relativePath = `${taskDir}/${action}.jsonl`;
|
||||
const policy = contextManifestPolicy(dispatchMode);
|
||||
@@ -209,7 +222,8 @@ function checkTaskContracts(result) {
|
||||
const config = exists(".trellis/config.yaml") ? readText(".trellis/config.yaml") : "";
|
||||
const dispatchMode = /dispatch_mode:\s*sub-agent\b/.test(config) ? "sub-agent" : "inline";
|
||||
if (taskDirs.length === 0) {
|
||||
fail(result, "tasks.none", "no .trellis/tasks/* directories found");
|
||||
const policy = activeTaskDirectoryPolicy(taskDirs.length);
|
||||
pass(result, "task_contracts", policy.detail);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -251,7 +265,10 @@ function checkTaskContracts(result) {
|
||||
checkContextManifest(result, dir, "implement", dispatchMode);
|
||||
checkContextManifest(result, dir, "check", dispatchMode);
|
||||
}
|
||||
if (result.status === "PASS") pass(result, "task_contracts", `${taskDirs.length} task directories have Trellis contracts`);
|
||||
if (result.status === "PASS") {
|
||||
const policy = activeTaskDirectoryPolicy(taskDirs.length);
|
||||
pass(result, "task_contracts", policy.detail);
|
||||
}
|
||||
}
|
||||
|
||||
function checkDocsRegistration(result) {
|
||||
|
||||
在新工单中引用
屏蔽一个用户