From a1c708ac96908da627e65da120df9cc1973d4fdb Mon Sep 17 00:00:00 2001 From: Paul O'Reilly Date: Sun, 4 Oct 2026 09:12:38 +1300 Subject: [PATCH] fix(harness): add -hatchmate composites for sonnet, haiku, deepseekv4flash (bug 678d4e8e) Hatchmate templates resolving to claude-sonnet-5, claude-haiku-4-5 or airouter-deepseekv4flash mounted only gitea-ssh/v1 and could not clone hatchmate/hatchmate-agents. Mirror the existing -hatchmate composites: non-hatchmate base layers plus gitea-ssh-hatchmate/v1 after gitea-ssh/v1 (HC-26). Claude-Session: https://claude.ai/code/session_01N218bERyNeLhbLmDRDvbWF --- .../v1/harness.yaml | 20 +++++++++++++++++++ .../v1/harness.yaml | 15 ++++++++++++++ .../v1/harness.yaml | 15 ++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 harnesses/composites/code-airouter-deepseekv4flash-tdd-repo-hatchmate/v1/harness.yaml create mode 100644 harnesses/composites/code-haiku-tdd-repo-hatchmate/v1/harness.yaml create mode 100644 harnesses/composites/code-sonnet-tdd-repo-hatchmate/v1/harness.yaml diff --git a/harnesses/composites/code-airouter-deepseekv4flash-tdd-repo-hatchmate/v1/harness.yaml b/harnesses/composites/code-airouter-deepseekv4flash-tdd-repo-hatchmate/v1/harness.yaml new file mode 100644 index 0000000..601f50b --- /dev/null +++ b/harnesses/composites/code-airouter-deepseekv4flash-tdd-repo-hatchmate/v1/harness.yaml @@ -0,0 +1,20 @@ +kind: composite +name: code-airouter-deepseekv4flash-tdd-repo-hatchmate +version: 1 +description: "Airouter DeepSeek V4 Flash code agent (hatchmate fork) — adds gitea-ssh-hatchmate for write access to hatchmate/hatchmate-agents. Use this for hatchmate work; the un-suffixed composite uses the shared ai-enablement key which has no access to the hatchmate org." + +# Inherits airouter context's label gate — only the airouter dispatcher +# advertises this composite (see dispatcher/poller._collect_supported_harnesses). +requires_labels: [airouter] + +layers: + - context: deepseek-code-methodology/v1 + - context: best-practices/v1 + - context: airouter/v1 + - context: gitea-ssh/v1 + - context: gitea-ssh-hatchmate/v1 + - context: agent-repo/v1 + - context: tdd-protect/v1 + - context: tdd-gate/v1 + - capability: python-dev/v1 + - capability: tdd-file-lock/v1 diff --git a/harnesses/composites/code-haiku-tdd-repo-hatchmate/v1/harness.yaml b/harnesses/composites/code-haiku-tdd-repo-hatchmate/v1/harness.yaml new file mode 100644 index 0000000..d505349 --- /dev/null +++ b/harnesses/composites/code-haiku-tdd-repo-hatchmate/v1/harness.yaml @@ -0,0 +1,15 @@ +kind: composite +name: code-haiku-tdd-repo-hatchmate +version: 1 +description: "Haiku code agent (hatchmate fork) — adds gitea-ssh-hatchmate for write access to hatchmate/hatchmate-agents. Use this for hatchmate work; the un-suffixed composite uses the shared ai-enablement key which has no access to the hatchmate org." + +layers: + - context: code-methodology/v1 + - context: anthropic-cloud-paul-oauth/v1 + - context: gitea-ssh/v1 + - context: gitea-ssh-hatchmate/v1 + - context: agent-repo/v1 + - context: tdd-protect/v1 + - context: tdd-gate/v1 + - capability: python-dev/v1 + - capability: tdd-file-lock/v1 diff --git a/harnesses/composites/code-sonnet-tdd-repo-hatchmate/v1/harness.yaml b/harnesses/composites/code-sonnet-tdd-repo-hatchmate/v1/harness.yaml new file mode 100644 index 0000000..e054c30 --- /dev/null +++ b/harnesses/composites/code-sonnet-tdd-repo-hatchmate/v1/harness.yaml @@ -0,0 +1,15 @@ +kind: composite +name: code-sonnet-tdd-repo-hatchmate +version: 1 +description: "Sonnet code agent (hatchmate fork) — adds gitea-ssh-hatchmate for write access to hatchmate/hatchmate-agents. Use this for hatchmate work; the un-suffixed composite uses the shared ai-enablement key which has no access to the hatchmate org." + +layers: + - context: code-methodology/v1 + - context: anthropic-cloud-paul-oauth/v1 + - context: gitea-ssh/v1 + - context: gitea-ssh-hatchmate/v1 + - context: agent-repo/v1 + - context: tdd-protect/v1 + - context: tdd-gate/v1 + - capability: python-dev/v1 + - capability: tdd-file-lock/v1