Skip to content

Commit 1f4a8dc

Browse files
Merge pull request #581 from OpenTouryoProject/3rd_agent
3rd agent
2 parents e4ea77a + 98bafe5 commit 1f4a8dc

29 files changed

Lines changed: 622 additions & 102 deletions

File tree

.github/ISSUE_TEMPLATE/quality.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ labels: quality improvement
3636
.\2_RunAllTests.ps1
3737
.\3_SmokeTest.ps1
3838
39-
合格の目安は 全ステップ OK / 8-8 差分 0 / 25-25
39+
合格の目安は 全ステップ OK / 8-8 差分 0 / 29-29
4040
-->
4141

4242
## 利用者への影響

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
.\2_RunAllTests.ps1
2626
.\3_SmokeTest.ps1
2727
28-
合格の目安は 全ステップ OK / 8-8 差分 0 / 25-25
28+
合格の目安は 全ステップ OK / 8-8 差分 0 / 29-29
2929
文書だけの変更なら「不要」と書いてください。
3030
-->
3131

AGENTS.md

Lines changed: 18 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -180,105 +180,41 @@ Copyright ブロックの扱い、`ArgumentException` 系の引数の順、`.bat
180180
| 単体テストの実行と判定 | [`TESTING.md`](root/programs/TESTING.md) |
181181
| サンプルの疎通確認 | [`SMOKETEST.md`](root/programs/SMOKETEST.md) |
182182

183-
検証は次の 3 本で、いずれも終了コードで合否が分かる。**この順で実行すること。**
183+
検証は `1_BuildAll.ps1`(ビルド)→ `2_RunAllTests.ps1`(単体テスト)→
184+
`3_SmokeTest.ps1`(疎通)の 3 本で、いずれも終了コードで合否が分かる。
185+
**順序は固定**(1 のクリーンとアセンブリ配置が 2・3 の前提)。
184186

185-
```powershell
186-
cd root\programs
187-
.\1_BuildAll.ps1 # 全ビルド
188-
.\2_RunAllTests.ps1 # 単体テスト
189-
.\3_SmokeTest.ps1 # サンプルの疎通
190-
```
187+
**本書にコマンドは書かない。** 引数(`-IgnoreErrors` / `-Only` / `-List` / `-Lang`)と
188+
合格の目安は [`CHEATSHEET.md`](root/programs/CHEATSHEET.md) 1 節が一次情報である。
189+
**転記すると、両方を直さないかぎりズレる。**
191190

192191
`2_RunAllTests.ps1` はワーキング ツリーの `Result*.txt` を書き換える(従来のバッチ運用と同じ)。
193192
**コミットの要否は人が判断する**ため、エージェントは差分を報告するに留める。
193+
**`-Only` で絞れば、書き換わるのも絞った分だけになる。**
194194

195-
**エージェントは、この 3 本を個別に実行することを検討する。**#576
196-
`0_RunAll.ps1` は 3 本をまとめて回す**利用者向けの入口**であり、
197-
**必要な 1 本だけを選ぶ、という判断が入らない。**
198-
どれを回すかは、次節の対応表で決める。
199-
200-
```powershell
201-
.\1_BuildAll.ps1 -Only "Framework_Tool" # ビルドするものだけ
202-
.\2_RunAllTests.ps1 -Only "TestBatch" # テスト結果 Result*.txt が絞られる
203-
.\3_SmokeTest.ps1 -Only "DeployZip" # 確かめるものだけ
204-
```
205-
206-
**`-Only` に何を指定できるかは `-List` で出す。**
207-
**文書には一覧を書かない。** 対象が増減したときに古くなるため、
208-
スクリプト自身を一次情報にする(ツールの `/HELP` と同じ考え方)。
209-
210-
```powershell
211-
.\1_BuildAll.ps1 -List -Lang Both # 45 ステップ
212-
.\2_RunAllTests.ps1 -List # 8 件
213-
.\3_SmokeTest.ps1 -List -Lang VB # 6 件(-Lang が効く)
214-
```
215-
216-
**3 本とも `-Only` が空振りしたら終了コード 1 で止まる。**
217-
打ち間違いが「全ステップ OK」になることはない。
218-
219-
#### 通しで回す前に、依存関係を見る(#576
195+
#### 回す範囲は、依存関係で決める(#576
220196

221197
**全部回すのは「安全」ではない。遅いだけのことがある。**
222198

223-
依存の向きは一方向で、段は 2 つしかない。
224-
225-
```
226-
基盤 NuGet / Business / Business.RichClient / CopyAssemblies
227-
↓ (ここが変われば、下は全部やり直し)
228-
末端 Tools / 各サンプル / Tests
229-
```
230-
231-
**ツールと個別サンプルは末端である。** そこを変えても、基盤も他のサンプルも変わらない。
232-
233-
| 変更した場所 | `1_BuildAll` | `2_RunAllTests` | `3_SmokeTest` |
234-
|---|---|---|---|
235-
| `Infrastructure/`(基盤) | **通し** | **通し** | **通し** |
236-
| `Tools/`(ツール) | `-Only Framework_Tool` | **不要** | `-Only <そのツール>` |
237-
| 個別サンプル | `-Only <サンプル>` | **不要** | `-Only <サンプル>` |
238-
| `Tests/` | `-Only <対象>` | `-Only <対象>` | **不要** |
239-
| `.ps1` / `.md` のみ | **不要** | **不要** | **不要** |
240-
241-
**`2_RunAllTests.ps1` の対象はフレームワークのテストだけ**である。
242-
`Tools/` や個別サンプルを変えても、ここは動かない。回す理由が無い。
243-
244-
実測(`0_RunAll.ps1 -Lang Both` は 24.6 分)。
245-
246-
```
247-
基盤のビルド 122.8 秒
248-
Framework_Tool 系だけ 74.8 秒 ← ツールの変更で必要なのはこちら
249-
2_RunAllTests 通し 111.6 秒
250-
2_RunAllTests -Only 35 秒ほど
251-
```
252-
253-
**ツールだけの変更なら、1/16 ほどで終わる。**
254-
255-
#### 時間だけの問題ではない
199+
`0_RunAll.ps1` は 3 本をまとめて回す**利用者向けの入口**であり、
200+
**必要な 1 本だけを選ぶ、という判断が入らない。**
201+
エージェントは**3 本を個別に実行することを検討する。**
256202

257-
`2_RunAllTests.ps1`**ワーキング ツリーの `Result*.txt` を書き換える。**
258-
関係の無い対象まで回すと、**人が確認してコミットする差分が増える。**
203+
ツールと個別サンプルは**依存の末端**で、そこを変えても基盤も他のサンプルも変わらない。
204+
`2_RunAllTests.ps1` の対象は**フレームワークのテストだけ**で、
205+
ツールやサンプルを変えても動かない。**回す理由が無い。**
259206

260-
`-Only` で絞れば、書き換わるのは絞った対象の分だけになる。
207+
**どこまで回すかは [`CHEATSHEET.md`](root/programs/CHEATSHEET.md) 1 節の対応表で決める。**
261208

262-
#### それでも通しを回す場面
209+
通しを回すのは次の場合。
263210

264211
- **基盤(`Infrastructure/`)に触れたとき**
265-
- **リリース前**`RELEASE.md`
266-
- **絞り込みで妙なエラーが出たとき**(再現するかを見る)
267-
268-
3 本目は制約による誤検知が実際にある。
269-
`-Only` は前段が用意した状態に依存するステップを落とすことがあり、
270-
**変更と無関係なエラーに見える。** 詳細は
271-
[`CHEATSHEET.md`](root/programs/CHEATSHEET.md) 1 節の
272-
`-Only``-SkipClean` は万能ではない」。
212+
- **リリース前**[`RELEASE.md`](root/programs/RELEASE.md)
213+
- **絞り込みで妙なエラーが出たとき**(再現するかを見る。制約による誤検知が実際にある)
273214

274215
**判断に迷ったら通しでよい。** ただし**迷っていないのに通すのは、ただの浪費である。**
275216

276217
**上記の既定は C# 側である。VB 側に手を入れたときは `-Lang` で回す。**
277-
278-
```powershell
279-
.\0_RunAll.ps1 -Lang VB # 1 と 3 を VB で通す(2 は VB に対象が無い)
280-
```
281-
282218
理由と対象は [`BUILDING.md`](root/programs/BUILDING.md) 10 節・
283219
[`SMOKETEST.md`](root/programs/SMOKETEST.md) 10 節。
284220

root/programs/BUILDING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ VS 18 のある環境では従来どおり `18.0` になるため、**挙動は
738738
### 実測(run 30984111639 : 全ステップ成功)
739739

740740
> **当時の件数での記録。** その後、単体テストは 8 ケース(#520)、
741-
> 疎通は 25 件(#528#546#566#570#571)である。**時間の目安として読むこと。**
741+
> 疎通は 29 件(#528#546#566#570#571#578)である。**時間の目安として読むこと。**
742742
743743
### 警告の内訳を見る(`-WarnDetail`#571
744744

root/programs/CHEATSHEET.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ cd root\programs
2626
|---|---|---|
2727
| ビルド | 全ステップ OK | [`BUILDING.md`](BUILDING.md) |
2828
| 単体テスト | 8/8 OK、差分 0 | [`TESTING.md`](TESTING.md) |
29-
| 疎通 | 25/25 OK | [`SMOKETEST.md`](SMOKETEST.md) |
29+
| 疎通 | 29/29 OK | [`SMOKETEST.md`](SMOKETEST.md) |
3030

3131
**既定は C# 側。VB 側は `-Lang` で回す**(3 節)。
3232

@@ -41,14 +41,16 @@ cd root\programs
4141

4242
### 通しは長い。反復では絞り込む(#571
4343

44-
実測(`-Lang Both`)は **合計 21.7**で、内訳はこうなっている。
44+
実測(`-Lang Both`)は **合計 24.6**で、内訳はこうなっている。
4545

4646
```
47-
1_BuildAll.ps1 12.6 分 ← 58%。ここが主因
48-
2_RunAllTests.ps1 1.7
49-
3_SmokeTest.ps1 7.4
47+
1_BuildAll.ps1 15.5 分 ← 63%。ここが主因
48+
2_RunAllTests.ps1 1.9
49+
3_SmokeTest.ps1 7.3
5050
```
5151

52+
**環境と状態で振れる。** 桁を掴むための目安として見ること。
53+
5254
**変更した箇所だけを回す。** 通しは最後に 1 回でよい。
5355

5456
```powershell
@@ -64,10 +66,36 @@ cd root\programs
6466
```
6567

6668
**どこまで回すかは依存関係で決まる。**#576
67-
ツールと個別サンプルは末端なので、基盤のビルドも他のサンプルの疎通も要らない。
69+
70+
依存の向きは一方向で、段は 2 つしかない。
71+
72+
```
73+
基盤 NuGet / Business / Business.RichClient / CopyAssemblies
74+
↓ (ここが変われば、下は全部やり直し)
75+
末端 Tools / 各サンプル / Tests
76+
```
77+
78+
| 変更した場所 | `1_BuildAll` | `2_RunAllTests` | `3_SmokeTest` |
79+
|---|---|---|---|
80+
| `Infrastructure/`(基盤) | **通し** | **通し** | **通し** |
81+
| `Tools/`(ツール) | `-Only Framework_Tool` | **不要** | `-Only <そのツール>` |
82+
| 個別サンプル | `-Only <サンプル>` | **不要** | `-Only <サンプル>` |
83+
| `Tests/` | `-Only <対象>` | `-Only <対象>` | **不要** |
84+
| `.ps1` / `.md` のみ | **不要** | **不要** | **不要** |
85+
6886
**`2_RunAllTests.ps1` の対象はフレームワークのテストだけ**で、
69-
ツールやサンプルを変えても動かないため、回す理由が無い。
70-
対応表は [`AGENTS.md`](../../AGENTS.md)「通しで回す前に、依存関係を見る」。
87+
ツールやサンプルを変えても動かない。**回す理由が無い。**
88+
89+
**ツールだけの変更なら、通しの 1/16 ほどで終わる。**
90+
91+
```
92+
基盤のビルド 122.8 秒
93+
Framework_Tool 系だけ 74.8 秒 ← ツールの変更で必要なのはこちら
94+
2_RunAllTests 通し 111.6 秒
95+
2_RunAllTests -Only 35 秒ほど
96+
```
97+
98+
**通しを回す場面の判断は [`AGENTS.md`](../../AGENTS.md)「回す範囲は、依存関係で決める」。**
7199

72100
**警告が多いステップの内訳を見る。**
73101

root/programs/CS/Frameworks/Infrastructure/Business/Presentation/MyMVCCoreFilterAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
//* 日時 更新者 内容
2929
//* ---------- ---------------- -------------------------------------------------
3030
//* 2018/08/08 西野 大介 新規作成
31-
//* 2026/08/21 玄人 幸道 CS4014対応(GetUserInfoAsyncを待つ。ログのUserInfoが空になっていた)
31+
//* 2026/08/21 玄人 幸道 CS4014対応(GetUserInfoAsyncを待つ。ログのUserInfoが空になっていた)(#575)
3232
//**********************************************************************************
3333

3434
using System;

root/programs/CS/Frameworks/Infrastructure/Framework/Util/FxLiteral.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
//* 2014/10/03 Rituparna Added constants for RadioButtonList,CheckBoxList events and prefix.
5757
//* 2015/04/16 Supragyan Added constants for Textbox events and prefix.
5858
//* 2017/08/28 西野 大介 非同期メソッドのリテラルを追加した。
59+
//* 2026/08/14 玄人 幸道 ConnectionGroupNameが現在は効果を持たない旨をremarksに明記(#546)
5960
//**********************************************************************************
6061

6162
namespace Touryo.Infrastructure.Framework.Util

root/programs/CS/Frameworks/Infrastructure/Public/IO/UnZipperV2.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
//* 日時 更新者 内容
2525
//* ---------- ---------------- -------------------------------------------------
2626
//* 2026/08/08 玄人 幸道 新規作成(#524)
27+
//* 2026/08/08 玄人 幸道 解凍したファイルのパスを保持するExtractedFilesを追加(#528)
2728
//**********************************************************************************
2829

2930
using System;

root/programs/CS/Frameworks/Infrastructure/Public/IO/ZipBaseV2.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
//* 日時 更新者 内容
2525
//* ---------- ---------------- -------------------------------------------------
2626
//* 2026/08/08 玄人 幸道 新規作成(#524)
27+
//* 2026/08/08 玄人 幸道 ZippedFiles・ExtractedFilesの追加に伴う共通部の調整(#528)
2728
//**********************************************************************************
2829

2930
using System;

root/programs/CS/Frameworks/Infrastructure/Public/IO/ZipEnumV2.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
//* 日時 更新者 内容
2525
//* ---------- ---------------- -------------------------------------------------
2626
//* 2026/08/08 玄人 幸道 新規作成(#524)
27+
//* 2026/08/08 玄人 幸道 ZippedFiles・ExtractedFilesの追加に伴う定義の調整(#528)
2728
//**********************************************************************************
2829

2930
namespace Touryo.Infrastructure.Public.IO

0 commit comments

Comments
 (0)