Synchronous call chain too deep
warningsync-chain-too-deep
Every consecutive synchronous hop from this entry point spends part of the stated p95 latency budget, and the chain's failures multiply. More than three hops is a budget nobody is tracking.
- Severity
- warning
- Selects
- every node of kind api-gateway
- Components in scope
- 41
It looks at every node of kind api-gateway, and fires when:
- — all of these hold:
- — the design requirement `latency.p95Ms` has a value
- — the longest chain of synchronous calls starting at the node is more than 3 hops long
Entry point '{{node.id}}' starts a synchronous call chain deeper than 3 hops while the design states a p95 latency target.Reference designs whose broken twin names this rule in its header. The gate reads the same header, and fails when a rule no design trips.
# yaml-language-server: $schema=../schema/rule.schema.json # syncChainDepth is the longest path of consecutive sync edges starting at this node. # With a stated p95 latency target, every extra synchronous hop eats into that budget. # Tripped by designs/order-processing.broken.yaml. schemaVersion: "1" type: "rule" id: "sync-chain-too-deep" severity: "warning" select: node: kind: "api-gateway" when: all: - requirement: "latency.p95Ms" exists: true - syncChainDepth: gt: 3 message: "Entry point '{{node.id}}' starts a synchronous call chain deeper than 3 hops while the design states a p95 latency target."