--- id: analysis/build-type-edges name: Implement buildTypeEdges — populate operation graph with type-compatibility edges status: pending depends_on: - analysis/type-compat - graph/construction-operation scope: narrow risk: medium impact: component level: implementation --- ## Description Implement `buildTypeEdges()` which iterates over all operation pairs in the graph and adds type-compatibility edges based on `typeCompat()` results. Called internally by `fromSpecs()` and callable manually for incremental construction. ## Acceptance Criteria - [ ] `buildTypeEdges(graph: FlowGraph): void` — standalone function in `src/analysis/type-compat.ts` - [ ] For each pair (A, B): call `typeCompat(A.outputSchema, B.inputSchema)`, add edge with result - [ ] Compatible edges: `edgeType: "typed", compatible: true, detail: "A.output → B.input"` - [ ] Incompatible edges: `edgeType: "typed", compatible: false, detail describing mismatch, mismatches array` - [ ] Unknown compatibility (either schema is Unknown): no edge added - [ ] O(n²) in worst case — documented, acceptable for 10-200 operations - [ ] Function is callable after incremental `addOperation()` calls - [ ] Unit tests: known operation specs produce expected edges, incompatible pairs get compatible: false edges, unknown schemas produce no edges ## References - docs/architecture/analysis.md — buildTypeEdges specification - docs/architecture/operation-graph.md — edge construction, compatible: false edges rationale ## Notes > To be filled by implementation agent ## Summary > To be filled on completion