doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/java/KafkaStreamsScanner.java [259:289]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                 messageFlows.size(), statistics.getSuccessRate(), statistics.getOverallParseRate(), skippedCount);

        return buildSuccessResult(
            List.of(),
            List.of(),
            List.of(),
            messageFlows,
            List.of(),
            List.of(),
            List.of(),
            statistics
        );
    }

    /**
     * Extracts message flows from a parsed CompilationUnit using AST analysis.
     * This is the Tier 1 (HIGH confidence) parsing strategy.
     *
     * @param cu the parsed CompilationUnit
     * @return list of discovered message flows
     */
    private List<MessageFlow> extractMessageFlowsFromAST(CompilationUnit cu) {
        List<MessageFlow> messageFlows = new ArrayList<>();

        cu.findAll(ClassOrInterfaceDeclaration.class).forEach(classDecl -> {
            String className = classDecl.getNameAsString();
            String packageName = cu.getPackageDeclaration()
                .map(pd -> pd.getNameAsString())
                .orElse("");

            String fullyQualifiedName = packageName.isEmpty() ? className : packageName + "." + className;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/java/RabbitMQScanner.java [239:269]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                 messageFlows.size(), statistics.getSuccessRate(), statistics.getOverallParseRate(), skippedCount);

        return buildSuccessResult(
            List.of(),
            List.of(),
            List.of(),
            messageFlows,
            List.of(),
            List.of(),
            List.of(),
            statistics
        );
    }

    /**
     * Extracts message flows from a parsed CompilationUnit using AST analysis.
     * This is the Tier 1 (HIGH confidence) parsing strategy.
     *
     * @param cu the parsed CompilationUnit
     * @return list of discovered message flows
     */
    private List<MessageFlow> extractMessageFlowsFromAST(CompilationUnit cu) {
        List<MessageFlow> messageFlows = new ArrayList<>();

        cu.findAll(ClassOrInterfaceDeclaration.class).forEach(classDecl -> {
            String className = classDecl.getNameAsString();
            String packageName = cu.getPackageDeclaration()
                .map(pd -> pd.getNameAsString())
                .orElse("");

            String fullyQualifiedName = packageName.isEmpty() ? className : packageName + "." + className;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



