Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ Superintendent が同時に生成する Engineer の数は `harness.toml` の `[

- 受け入れ条件: `get_config` が harness.toml の max_engineers 値を返し、CLAUDE.md テンプレートが並列上限としてこの値を参照していること
- verify: test
- 実装状況: 実装済み — テンプレート側 (`cmd/hermit/templates/CLAUDE.md.tmpl` が `{{ .MaxEngineers }}` を展開し、超過分の繰り越しも記述) に加え、`get_config` (`internal/mcp/tools.go`) が `[agent].max_engineers` (既定値未設定または 0 以下のときは既定 4、`cmd/hermit/main.go` の `loadConfig`) を `max_engineers` として返すようになった。受け入れ条件の両半分がそれぞれテストで検証されている: `get_config` 側は `internal/mcp/req_test.go` の `TestREQ011_GetConfig_ReturnsMaxEngineers`、CLAUDE.md テンプレート側は `cmd/hermit/inprocess_test.go` の `TestREQ011_ClaudeMdReferencesConfiguredMaxEngineersAsCap` (`hermit init` を任意の max_engineers 値で実行し、生成された CLAUDE.md の並列上限ステップにその値が実際に反映されることを検証。従来はコメントで「テンプレート側は実装済み」と主張するのみでテストが存在しなかった)。`owner`/`repo` を返さない点は HERMIT.md との差分として残るが、この要件の受け入れ条件には含まれない
- 実装状況: 実装済み — テンプレート側 (`cmd/hermit/templates/CLAUDE.md.tmpl` が `{{ .MaxEngineers }}` を展開し、超過分の繰り越しも記述) に加え、`get_config` (`internal/mcp/tools.go`) が `[agent].max_engineers` (既定値未設定または 0 以下のときは既定 4、`cmd/hermit/main.go` の `loadConfig`) を `max_engineers` として返すようになった。受け入れ条件の両半分がそれぞれテストで検証されている: `get_config` 側は `internal/mcp/req_test.go` の `TestREQ011_GetConfig_ReturnsMaxEngineers`、CLAUDE.md テンプレート側は `cmd/hermit/inprocess_test.go` の `TestREQ011_ClaudeMdReferencesConfiguredMaxEngineersAsCap` (`hermit init` を任意の max_engineers 値で実行し、生成された CLAUDE.md の並列上限ステップにその値が実際に反映されることを検証。従来はコメントで「テンプレート側は実装済み」と主張するのみでテストが存在しなかった)。`owner`/`repo` を返さない点は HERMIT.md との差分として残るが、この要件の受け入れ条件には含まれない。Issue #174 での再点検: PR #172 で Superintendent サイクルが単一の「Superintendent cycle」ステップ列に統合された後も、上記 2 テストが検証する文字列 (`up to N at a time` / `exceeds N` / `max_engineers = N`) はテンプレート内に維持されており、両テストは変更なしで現行の受け入れ条件を引き続き正しく検証していることを確認した

## REQ-012: harness.toml による設定と GITHUB_TOKEN の非保存

Expand Down
6 changes: 6 additions & 0 deletions cmd/hermit/inprocess_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,12 @@ func TestCmdInit_ClaudeMdIncludesGhSnapGuideline(t *testing.T) {
// test's own doc comment asserted the template half was "already" correct
// without any test actually exercising the rendered template, which is the
// gap this test closes.
//
// Re-verified under Issue #174 after PR #172 merged the previously separate
// "Foreground dispatch" / "Background cycle" sections into a single
// "Superintendent cycle": the assertions below still target substrings that
// remain present verbatim in the rendered template, so no changes were
// needed here.
func TestREQ011_ClaudeMdReferencesConfiguredMaxEngineersAsCap(t *testing.T) {
dir := t.TempDir()
prev, _ := os.Getwd()
Expand Down
Loading