codeforjapan / codeforjapan/workflow-interviewer
C2. 新規ギャップ抽出 (標準 Mermaid steps vs 抽出 steps の差分)
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 30m
- Merged PRs (30d)
- 2
Description
親: #1
依存: #2 (A2), #3 (A3)
## 目的
対象業務の標準フロー(Mermaid)と抽出 steps[] を構造比較し、追加/欠落/順序違い/独自運用 として `gaps[]` を生成する。`matchedKnownGap` には紐づかない新規ギャップ。
## 実装範囲
- `lib/server/gap/diff.ts` 新規
- 入力: パース済み標準フロー(nodes/edges/subgraphs)+ 抽出 steps[]
- LLM支援で「標準ノードと抽出ステップの対応関係」をマッチング(純粋な文字列比較ではラベル揺れに弱いため)
- 不一致を分類:
- `add`: 抽出にあって標準にない(自治体独自運用候補)
- `missing`: 標準にあって抽出にない(言及漏れ or 実際に運用していない)
- `order`: 対応するが順序が違う
- `local-rule`: 同じ意図だがラベル/条件が違う
- 結果を `gaps[]` に追加(既存と重複しないようハッシュベースで dedupe)
## 完了条件
- 標準に「照会書送付」がある代理申請フローで、職員が言及しなければ `missing` ギャップとして検出される
- 標準にない「マイナンバー利用で照会書を省略している」運用を職員が語ると `add` ギャップとして検出される
## 関連
- `lib/kb/parser.ts`(A2 の出力を消費)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the dependencies in lib/kb/parser.ts and the requirements for the new lib/server/gap/diff.ts module. Trace the parsed nodes, edges, subgraphs, and extracted steps inputs, then define how matching, gap classification, and hash-based deduplication should fit together. Done means the two listed completion cases produce missing and add gaps respectively.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100