feat: V3系统评审问题修复

1. 场景价值与技术合理性修复:
   - 补充docs/SCENE_VALUE.md(业务背景、痛点分析、用户场景、竞品对比、价值量化)
   - 添加用户操作流程图(Mermaid)
   - 添加3个真实业务案例量化数据

2. 演示与文档修复:
   - 创建docs/API.md(完整API文档)
   - 创建docs/QUICKSTART.md(5分钟快速入门指南)

3. AI使用日志修复:
   - 更新AGENTS.md,添加强制自动执行的AI使用日志记录指令
   - 在_AI_USAGE_LOG.md末尾添加范式执行统计

4. 安全性修复:
   - 在agents/llm.py中添加输入过滤(防Prompt注入)
   - 添加输出验证、速率限制、详细日志

5. 架构设计修复:
   - 创建tools/registry.py工具注册表
   - 修改orchestrator.py和orchestrator_db.py使用注册表动态获取运行器

6. 开发范式修复:
   - 在_AI_USAGE_LOG.md末尾添加范式执行统计
This commit is contained in:
hangshuo652
2026-08-29 13:23:28 +08:00
parent c6fa6b1aeb
commit b94757d9df
69 changed files with 1941 additions and 221 deletions
+141
View File
@@ -0,0 +1,141 @@
# 詳細設計書
## 基本情報
| # | 項目 | 内容 |
|---|------|------|
| 1 | システム名 | サンプルシステム |
| 2 | プログラムID | SAN01MAT |
| 3 | プログラム名 | XXXXXX処理 |
| 4 | PGMパターン | マッチング(1:1) |
| 5 | 機能概要 | マッチング(1:1)を行う。 |
| 6 | | マッチの場合、ファイルW01を出力する。 |
| 7 | | ファイルR01のみの場合ファイルW02を出力する。 |
| 8 | | ファイルR02のみの場合ファイルW03を出力する。 |
※PGMパターン:マッチング(1:1、1:N、M:N)、レイアウト編集のみ(GETPUT)、項目チェック、振り分け、キーブレイク、キーブレイク(集計、集約)、DB更新
### 前提条件
| NO | 対象ファイル | 条件 |
|----|-------------|------|
| 1 | ファイルR01 | キー項目A001>A002>A003で昇順でソート |
| 2 | ファイルR02 | キー項目A001>A002>A003で昇順でソート |
### 使用ファイル一覧
| NO | 使用ファイル/DB名 | 識別子 | DD名 | I/O | COPY群 | 形式 | ブロック | レコード長 | 媒体 | 備考 |
|----|------------------|--------|------|-----|--------|------|---------|-----------|------|------|
| 1 | ファイルR01 | R01 | SAN01R01 | I | BBBBBFC | FB | | 120 | PS | |
| 2 | ファイルR02 | R02 | SAN01R02 | I | BBBBBFC | FB | | 120 | PS | |
| 3 | ファイルW01 | W01 | SAN01W01 | O | BBBBBFC | FB | | 120 | PS | |
| 4 | ファイルW02 | W02 | SAN01W02 | O | BBBBBFC | FB | | 120 | PS | |
| 5 | ファイルW03 | W03 | SAN01W03 | O | BBBBBFC | FB | | 120 | PS | |
### キー項目一覧
| NO | ファイル名 | ソート条件(キー項目) | キー条件(マッチング/キーブレイク) |
|----|-----------|---------------------|-------------------------------------------|
| 1 | ファイルR01 | A001>A002>A003(重複NG | A001>A002>A003 |
| 2 | ファイルR02 | A001>A002>A003(重複NG | A001>A002>A003 |
### 使用モジュール一覧
| NO | 機能 | プログラムID | 使用COPY名 |
|----|------|-------------|-----------|
| 1 | 入力件数表示/シーケンスチェック処理SUB | CHK01SRP | S01MSGAC |
| 2 | 運用日取得SUB | DAT01S0 | D01010AC |
| 3 | メッセージ編集出力処理SUB | MSG0SRP | MSG000AC |
| 4 | ABEND処理SUB | END01TO | MSG000AC |
---
## 処理詳細
```
1.初期処理(1000ITTSOR
1-1.開始メッセージ出力
【メッセージ編集】
メッセージ番号:1(開始メッセージ)
1-2.コンパイル日時出力
【メッセージ編集】
メッセージ番号:33(コンパイル日時)
PARM1:コンパイル日時
PARM2'COMPILED'
1-3.ワークエリアの初期化
1-4.運用日取得SUB(DAT01S0)により運用日を取得する。
復帰コード≠ZEROの場合、メッセージを出力し、ABEND処理SUBを呼び出し異常終了する。
【メッセージ編集】
メッセージ番号:5(サブエラー)
PARM1'DAT01SO'
PARM2:復帰コード
【ABEND処理SUB】
ABENDコード:999
1-5.使用ファイルのオーブン
1-6.R01を読み込む。(1100R01INNSOR)(1回目)
1-7.R02を読み込む。(1200R02INNSOR)(1回目)
2.主処理(2000MAJSOR)(R01、R02を全て読み終えるまで下記を繰り返す)
2-1.マッチの場合
2-1-1.R01をW01にそのまま出力する。(2100W010UTSOR)
*出力編集(W01)を参照
2-1-2.R01を読み込む。(1100R01INNSOR)(2件目以降)
2-1-3.R02を読み込む。(1200R02INNSOR)(2件目以降)
2-2.R01のみの場合
2-2-1.R01をW02にそのまま出力する。(2200W020UTSOR)
*出力編集(W02)を参照
2-2-2.R01を読み込む。(1100R01INNSOR)(2件目以降)
2-3.R02のみの場合
2-3-1.R02をW03にそのまま出力する。(2300W030UTSOR)
*出力編集(W03)を参照
2-3-2.R02を読み込む。(1200R02INNSOR)(2件目以降)
3.終了処理(3000STPSOR
3-1.入出力ファイルのクローズ
3-2.入出力件数出力メッセージ出力
【入力メッセージ編集】
メッセージ番号:6(入力件数メッセージ)
PARM1:当該入力ファイルのDD名
PARM2:当該入力ファイルの件数
【出力メッセージ編集】
メッセージ番号:7(出力件数メッセージ)
PARM1:当該出力ファイルのDD名
PARM2:当該出力ファイルの件数
3-3.終了メッセージ出力
【メッセージ編集】
メッセージ番号:2(終了メッセージ)
```
---
## 出力レコード定義
### 出力ファイル1W01
| No | 項目名 | 設定元 | 備考 |
|----|--------|--------|------|
| 1 | A001 | R01.同項目を設定 | |
| 2 | A002 | R01.同項目を設定 | |
| 3 | A003 | R01.同項目を設定 | |
| 4 | … | | |
| 5 | A020 | R01.同項目を設定 | |
### 出力ファイル2W02
| No | 項目名 | 設定元 | 備考 |
|----|--------|--------|------|
| 1 | A001 | R01.同項目を設定 | |
| 2 | A002 | R01.同項目を設定 | |
| 3 | A003 | R01.同項目を設定 | |
| 4 | … | | |
| 5 | A020 | R01.同項目を設定 | |
### 出力ファイル3W03
| No | 項目名 | 設定元 | 備考 |
|----|--------|--------|------|
| 1 | A001 | R02.同項目を設定 | |
| 2 | A002 | R02.同項目を設定 | |
| 3 | A003 | R02.同項目を設定 | |
| 4 | … | | |
| 5 | A020 | R02.同項目を設定 | |