feat: rename skills/skiff to pouch and move ACK state under .pouch

Use ~/.pouch, the pouch CLI, and .pouch.yaml as the SSOT container.
Keep the inner skills/ packages, and store ACK project state in
.pouch/ack instead of docs/ack.
This commit is contained in:
2026-08-25 15:20:02 +08:00
parent ee31278947
commit f3cd56b78e
83 changed files with 1265 additions and 1192 deletions
+9 -9
View File
@@ -364,7 +364,7 @@ class AckTaskValidationTests(unittest.TestCase):
def test_delivery_run_is_separate_and_requires_verified_tasks(self) -> None:
board = valid_manual_routing_board()
board["project"]["deliveryFile"] = "docs/ack/delivery.yaml"
board["project"]["deliveryFile"] = ".pouch/ack/delivery.yaml"
board["tasks"][0]["status"] = "verified"
board["deliveryRuns"] = [
{
@@ -405,7 +405,7 @@ class AckTaskValidationTests(unittest.TestCase):
def test_validation_ready_delivery_run_does_not_require_pull_request(self) -> None:
board = valid_manual_routing_board()
board["project"]["deliveryFile"] = "docs/ack/delivery.yaml"
board["project"]["deliveryFile"] = ".pouch/ack/delivery.yaml"
board["tasks"][0]["status"] = "verified"
board["deliveryRuns"] = [
{
@@ -440,7 +440,7 @@ class AckTaskValidationTests(unittest.TestCase):
def test_intent_delivery_run_allows_empty_task_ids(self) -> None:
board = valid_manual_routing_board()
board["project"]["deliveryFile"] = "docs/ack/delivery.yaml"
board["project"]["deliveryFile"] = ".pouch/ack/delivery.yaml"
board["deliveryRuns"] = [
{
"id": "DR-test-env-1",
@@ -488,7 +488,7 @@ class AckTaskValidationTests(unittest.TestCase):
)
board = valid_manual_routing_board()
board["project"]["deliveryFile"] = "docs/ack/delivery.yaml"
board["project"]["deliveryFile"] = ".pouch/ack/delivery.yaml"
self.assert_board_rejected_in_all_modes(
board,
"引用 deliveryFile 的任务板必须包含 deliveryRuns 列表",
@@ -496,7 +496,7 @@ class AckTaskValidationTests(unittest.TestCase):
def test_delivery_run_binds_revisions_and_final_artifact_digest(self) -> None:
board = valid_manual_routing_board()
board["project"]["deliveryFile"] = "docs/ack/delivery.yaml"
board["project"]["deliveryFile"] = ".pouch/ack/delivery.yaml"
board["deliveryRuns"] = [
{
"id": "DR-demo-2",
@@ -912,11 +912,11 @@ class AckTaskValidationTests(unittest.TestCase):
def test_knowledge_file_is_fixed_in_all_modes(self) -> None:
board = valid_knowledge_board()
board["project"]["knowledgeFile"] = "docs/ack/alternate.yaml"
board["project"]["knowledgeFile"] = ".pouch/ack/alternate.yaml"
self.assert_board_rejected_in_all_modes(
board,
"project.knowledgeFile 必须固定为 docs/ack/knowledge.yaml",
"project.knowledgeFile 必须固定为 .pouch/ack/knowledge.yaml",
)
def test_basic_identifiers_must_be_nonempty_strings_in_all_modes(self) -> None:
@@ -1116,8 +1116,8 @@ class AckTaskValidationTests(unittest.TestCase):
"repoPath": "/repo",
"baseUrl": "http://127.0.0.1:3000",
"devWorktree": "/repo-dev",
"overlayFile": "docs/ack/project.md",
"knowledgeFile": "docs/ack/knowledge.yaml",
"overlayFile": ".pouch/ack/project.md",
"knowledgeFile": ".pouch/ack/knowledge.yaml",
}
)
board["tasks"][0].update(