Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cu 86bzwgbuv update architecture section #294

Merged
merged 5 commits into from
Aug 8, 2024

Conversation

MatthewErispe
Copy link
Collaborator

@MatthewErispe MatthewErispe commented Aug 7, 2024

Summary by CodeRabbit

  • Documentation
    • Updated descriptions and configurations for various microservices in the JeMPI architecture.
    • Revamped asynchronous flow diagram for improved visualization.
    • Clarified functionality of the JeMPI_AsyncReceiver and enhanced flexibility in the JeMPI_Controller service.
    • Renamed Kafka topics for better alignment with new naming conventions.
    • Streamlined functions and removed redundancy in the JeMPI_API service description.

@rcrichton
Copy link
Member

Task linked: CU-86bzwgbuv Update Architecture Section

Copy link
Contributor

coderabbitai bot commented Aug 7, 2024

Walkthrough

The changes to the JeMPI documentation enhance clarity and update configurations across its microservices. Key modifications include renaming Kafka topics for better alignment with service functions, refining descriptions to highlight data flow improvements, and expanding details on transformation processes. These adjustments aim to streamline user understanding and ensure accurate representation of the updated architecture.

Changes

File(s) Change Summary
documentation/architecture.md Updated architecture descriptions and asynchronous flow diagram link.
documentation/architecture.md Refined JeMPI_AsyncReceiver service to clarify CSV handling and updated Kafka topic naming.
documentation/architecture.md Altered JeMPI_ETL service details, including new Kafka topic names and enhanced transformation examples.
documentation/architecture.md Revised JeMPI_Controller to specify workflow-dependent data routing and updated associated Kafka topics.
documentation/architecture.md Updated JeMPI_EM and JeMPI_Linker services with new input Kafka topics reflecting the naming convention.
documentation/architecture.md Expanded JeMPI_Linker to clarify patient matching thresholds and streamline the JeMPI_API service description.

Poem

🐇 In fields of code where changes bloom,
New topics sprout, dispelling gloom.
With every tweak, the services dance,
A clearer path for our data's chance.
Hooray for flows, both bright and neat,
In the land of JeMPI, progress is sweet! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Outside diff range, codebase verification and nitpick comments (2)
documentation/architecture.md (2)

11-11: The link requires authentication and is not publicly accessible.

The provided link to the asynchronous flow diagram redirects to a Google login page, indicating that it is not accessible without authentication. Please make the document publicly accessible or provide an alternative method for users to access the diagram.

  • File: documentation/architecture.md
  • Line: 11
Analysis chain

Verify the updated link.

Ensure that the new link to the asynchronous flow diagram is correct and accessible.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the updated link to the asynchronous flow diagram.

# Test: Check if the link is accessible. Expect: HTTP 200 OK status.
curl -I https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing

Length of output: 1527

Tools
Markdownlint

11-11: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


188-193: Inconsistent Kafka topic name update.

The Kafka topic name change for the JeMPI_Linker service is inconsistent. Both old and new Kafka topic names are present in the codebase. Please update the following references to ensure consistency:

  • documentation/architecture.md
  • devops/windows/base-docker-linux/helper/topics/topics-config.sh
  • devops/windows/base-docker-wsl/helper/topics/topics-config.sh
  • JeMPI_Apps/JeMPI_Bootstrapper/src/main/resources/data/kafka/kafkaBootStrapConfig.json
  • devops/linux/docker/helper/topics/topics-config.sh
  • JeMPI_Apps/JeMPI_LibShared/src/main/java/org/jembi/jempi/shared/models/GlobalConstants.java
  • JeMPI_Apps/JeMPI_EM_Scala/src/main/scala/org/jembi/jempi/em/kafka/Config.scala
Analysis chain

Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_Linker service is consistent throughout the documentation and the codebase.


Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_Linker service is consistent throughout the documentation and the codebase.


Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_Linker service is consistent throughout the documentation and the codebase.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg --type python -A 5 $'_TOPIC_PATIENT_LINKER="JeMPI-patient-linker"'
rg --type python -A 5 $'_TOPIC_INTERACTION_LINKER="JeMPI-interaction-linker"'

Length of output: 211


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg '_TOPIC_PATIENT_LINKER="JeMPI-patient-linker"' --glob '*.py' -A 5
rg '_TOPIC_INTERACTION_LINKER="JeMPI-interaction-linker"' --glob '*.py' -A 5

Length of output: 149


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg 'JeMPI-patient-linker' -A 5
rg 'JeMPI-interaction-linker' -A 5
rg 'JeMPI-patient-em' -A 5
rg 'JeMPI-interaction-em' -A 5

Length of output: 9814

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 75abfa4 and 1ddddd9.

Files selected for processing (1)
  • documentation/architecture.md (4 hunks)
Additional context used
Markdownlint
documentation/architecture.md

11-11: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


13-13: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


42-42: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


171-171: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


171-171: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

LanguageTool
documentation/architecture.md

[misspelling] ~178-~178: Did you mean “you”?
Context: ...orithm (quality (m) and the uniqueness (u) per field). This object is used in the...

(U_TO_YOU)

Additional comments not posted (8)
documentation/architecture.md (8)

58-58: Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_Controller service is consistent throughout the documentation and the codebase.

Verification successful

Verification successful.

The Kafka topic name for the JeMPI_Controller service has been consistently updated to _TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller" throughout the documentation and codebase. No occurrences of the old topic name were found.

  • documentation/architecture.md
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg --type python -A 5 $'_TOPIC_PATIENT_CONTROLLER="JeMPI-patient-controller"'
rg --type python -A 5 $'_TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller"'

Length of output: 227


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names in Python files and documentation files.
# Expect: Only occurrences of the new Kafka topic name.

# Search within Python files
rg --glob '*.py' -A 5 $'_TOPIC_PATIENT_CONTROLLER="JeMPI-patient-controller"'
rg --glob '*.py' -A 5 $'_TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller"'

# Search within documentation files
rg --glob '*.md' -A 5 $'_TOPIC_PATIENT_CONTROLLER="JeMPI-patient-controller"'
rg --glob '*.md' -A 5 $'_TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller"'

Length of output: 1225


36-39: Verify the example input file.

Ensure that the example input file provided for the JeMPI_AsyncReceiver service is correct.

Verification successful

Verify the example input file.

The example input file format for the JeMPI_AsyncReceiver service is correctly included in the documentation/architecture.md file. No issues were found.

  • documentation/architecture.md
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the example input file for the `JeMPI_AsyncReceiver` service.

# Test: Check if the example input file format matches the expected format.
rg --type csv -A 5 $'ID,Given_Name,Family_Name,Gender_at_Birth,Date_of_Birth,City,Phone_Number,National_ID'

Length of output: 255


Script:

#!/bin/bash
# Description: Verify the example input file for the `JeMPI_AsyncReceiver` service.

# Test: Check if the example input file format matches the expected format across all files.
rg -A 5 $'ID,Given_Name,Family_Name,Gender_at_Birth,Date_of_Birth,City,Phone_Number,National_ID'

Length of output: 627


157-161: Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_Controller service is consistent throughout the documentation and the codebase.

Verification successful

Verified Kafka topic name change consistency.

The Kafka topic name _TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller" is consistently used in the documentation, and there are no occurrences of the old Kafka topic name _TOPIC_PATIENT_CONTROLLER="JeMPI-patient-controller".

  • documentation/architecture.md
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg --type python -A 5 $'_TOPIC_PATIENT_CONTROLLER="JeMPI-patient-controller"'
rg --type python -A 5 $'_TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller"'

Length of output: 227


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg -A 5 $'_TOPIC_PATIENT_CONTROLLER="JeMPI-patient-controller"'
rg -A 5 $'_TOPIC_INTERACTION_CONTROLLER="JeMPI-interaction-controller"'

Length of output: 1031


53-54: Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_ETL service is consistent throughout the documentation and the codebase.

Verification successful

Verify Kafka topic name change consistency.

The Kafka topic name _TOPIC_INTERACTION_ETL="JeMPI-interaction-etl" is consistently used in the documentation/architecture.md file, and there are no occurrences of the old topic name _TOPIC_PATIENT_ASYNC_PREPROCESSOR="JeMPI-async-etl" in the codebase.

  • documentation/architecture.md: Kafka topic: _TOPIC_INTERACTION_ETL="JeMPI-interaction-etl"
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg --type python -A 5 $'_TOPIC_PATIENT_ASYNC_PREPROCESSOR="JeMPI-async-etl"'
rg --type python -A 5 $'_TOPIC_INTERACTION_ETL="JeMPI-interaction-etl"'

Length of output: 212


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names across all files.
rg -A 5 '_TOPIC_PATIENT_ASYNC_PREPROCESSOR="JeMPI-async-etl"'
rg -A 5 '_TOPIC_INTERACTION_ETL="JeMPI-interaction-etl"'

Length of output: 552


168-169: Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_EM service is consistent throughout the documentation and the codebase.

Verification successful

Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_EM service is consistent throughout the documentation and the codebase.


Verified Kafka topic name change consistency.

The Kafka topic name change for the JeMPI_EM service is consistent throughout the documentation and the codebase. No occurrences of the old Kafka topic name were found.

  • documentation/architecture.md
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg --type python -A 5 $'_TOPIC_PATIENT_EM="JeMPI-patient-em"'
rg --type python -A 5 $'_TOPIC_INTERACTION_EM="JeMPI-interaction-em"'

Length of output: 195


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg -A 5 '_TOPIC_PATIENT_EM="JeMPI-patient-em"'
rg -A 5 '_TOPIC_INTERACTION_EM="JeMPI-interaction-em"'

Length of output: 941


67-147: Verify the example Kafka message.

Ensure that the example Kafka message provided for the JeMPI_Controller service is correct and accurately reflects the expected format.

Verification successful

Let's refine our approach to verify the example Kafka message for the JeMPI_Controller service by searching for relevant JSON structures and keywords.


Let's broaden our search to include other file types and look for relevant keywords associated with Kafka messages and the JeMPI_Controller service.


Verified the example Kafka message.

The example Kafka message provided for the JeMPI_Controller service in documentation/architecture.md is correct and accurately reflects the expected format.

  • documentation/architecture.md: Contains detailed descriptions and example Kafka messages for the JeMPI_Controller service.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the example Kafka message for the `JeMPI_Controller` service.

# Test: Check if the example Kafka message format matches the expected format.
rg --type json -A 10 $'"contentType": "BATCH_INTERACTION"'

Length of output: 59


Script:

#!/bin/bash
# Description: Verify the example Kafka message for the `JeMPI_Controller` service.

# Test: Search for JSON files containing the `JeMPI_Controller` service and inspect the Kafka message structure.
rg --type json -A 10 'JeMPI_Controller'

Length of output: 39


Script:

#!/bin/bash
# Description: Verify the example Kafka message for the `JeMPI_Controller` service.

# Test: Search for files containing the `JeMPI_Controller` service and inspect the Kafka message structure.
rg -A 10 'JeMPI_Controller'

Length of output: 11835


45-45: Verify Kafka topic name change consistency.

Ensure that the Kafka topic name change for the JeMPI_AsyncReceiver service is consistent throughout the documentation and the codebase.

Verification successful

Kafka topic name change verified successfully.

The Kafka topic name _TOPIC_INTERACTION_ETL="JeMPI-interactions-etl"_ has been consistently updated in the documentation. No instances of the old topic name _TOPIC_INTERACTION_ASYNC_ETL="JeMPI-async-etl"_ were found in the codebase or documentation.

  • documentation/architecture.md: Kafka topic name updated.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Test: Search for the old and new Kafka topic names. Expect: Only occurrences of the new Kafka topic name.
rg --type python -A 5 $'_TOPIC_INTERACTION_ASYNC_ETL="JeMPI-async-etl"'
rg --type python -A 5 $'_TOPIC_INTERACTION_ETL="JeMPI-interactions-etl"'

Length of output: 208


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Locate all Python files and search for the old Kafka topic name.
fd -e py -x rg '_TOPIC_INTERACTION_ASYNC_ETL="JeMPI-async-etl"' {}

# Locate all Python files and search for the new Kafka topic name.
fd -e py -x rg '_TOPIC_INTERACTION_ETL="JeMPI-interactions-etl"' {}

Length of output: 142


Script:

#!/bin/bash
# Description: Verify the consistency of the Kafka topic name change.

# Search for the old Kafka topic name in all files.
rg '_TOPIC_INTERACTION_ASYNC_ETL="JeMPI-async-etl"'

# Search for the new Kafka topic name in all files.
rg '_TOPIC_INTERACTION_ETL="JeMPI-interactions-etl"'

# Specifically search in documentation files for the new Kafka topic name.
fd -e md -x rg '_TOPIC_INTERACTION_ETL="JeMPI-interactions-etl"' {}

Length of output: 334


Script:

#!/bin/bash
# Description: Verify the consistency of Kafka topic names.

# Search for any Kafka topic patterns in the codebase.
rg '_TOPIC_INTERACTION_' --glob '*.py'

# Search for any Kafka topic patterns in documentation files.
fd -e md -x rg '_TOPIC_INTERACTION_' {}

Length of output: 723


19-19: Verify the accuracy of the service description.

Ensure that the updated description of the JeMPI_AsyncReceiver service accurately reflects its functionality.

@@ -8,18 +8,16 @@ The JeMPI Client Registry is a system that incorporates a microservice architect

**Below the synchronous and asynchronous flow diagram.**

#### [Asynchronous flow](https://drive.google.com/file/d/1rcbF3UJ5Lh-4bjXl8GVpJVnYxA1diRjl/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
#### [Asynchronous flow](https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>

![](.gitbook/assets/0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add alternate text for images.

Images should have alternate text for accessibility.

- ![](.gitbook/assets/0)
+ ![Asynchronous Flow Diagram](.gitbook/assets/0)

- ![](.gitbook/assets/4) ![](.gitbook/assets/5)
+ ![JeMPI Controller Flow Diagram](.gitbook/assets/4) ![JeMPI Controller Workflow](.gitbook/assets/5)

Also applies to: 171-171

Tools
Markdownlint

13-13: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


![](.gitbook/assets/0)

## JeMPI_AsyncReceiver <a href="#_6om7ih1t1k41" id="_6om7ih1t1k41"></a>

**Description:** A microservice that sends the content of an uploaded csv file to the JeMPI_ETL service. the JeMPI_AsyncReciever service produces kafka messages where each message has a row from the CSV file uploaded. it will then be saved under a kafka topic.

The base version of JeMPI supports only 10 columns in the following order **\[for the current version]**:
The base version uses a reference implementation with the fields below:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use heading instead of emphasis.

Avoid using emphasis for headings.

- **String** auxId,\
- **String** givenName,\
- **String** familyName,\
- **String** gender,\
- **String** dob,\
- **String** city,\
- **String** phoneNumber,\
- **String** nationalId
+ ### String Fields
+ - auxId
+ - givenName
+ - familyName
+ - gender
+ - dob
+ - city
+ - phoneNumber
+ - nationalId
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The base version uses a reference implementation with the fields below:
The base version uses a reference implementation with the fields below:
### String Fields
- auxId
- givenName
- familyName
- gender
- dob
- city
- phoneNumber
- nationalId

@@ -8,18 +8,16 @@ The JeMPI Client Registry is a system that incorporates a microservice architect

**Below the synchronous and asynchronous flow diagram.**

#### [Asynchronous flow](https://drive.google.com/file/d/1rcbF3UJ5Lh-4bjXl8GVpJVnYxA1diRjl/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
#### [Asynchronous flow](https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix heading level increment.

The heading level should increment by one level at a time.

- #### [Asynchronous flow](https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
+ ### [Asynchronous flow](https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### [Asynchronous flow](https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
### [Asynchronous flow](https://drive.google.com/file/d/1G3_-BZNwRSOeriad6IbR6rFERQUnx1AK/view?usp=sharing) <a href="#_2v012h2bohjt" id="_2v012h2bohjt"></a>
Tools
Markdownlint

11-11: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)

@MatthewErispe MatthewErispe merged commit 4bd660b into dev Aug 8, 2024
5 checks passed
@MatthewErispe MatthewErispe deleted the CU-86bzwgbuv_Update-Architecture-Section branch August 8, 2024 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants