Skip to content

Conversation

@gareth-allan
Copy link
Contributor

@gareth-allan gareth-allan commented Jan 5, 2026

Description

This PR adds the MESH Acknowledger component.

571676fa-adb6-4e2c-917e-6cafa0634762
  • Added a new mesh-acknowledge lambda
    • In Python, so that the mesh_client library can be used to send MESH messages
  • Added component tests to verify the mesh-acknowledge lambda performs as expected
  • Added a new meshMessageId field to the MESHInboxMessageDownloaded event
  • Modified the event publisher library so that it can be used to publish events using the auto-generated types
    • This required a slight tweak to the way the types were generated in src/python-schema-generator
  • Extracted the sender_lookup.py file added to the mesh-poll lambda in CCM-12616 mesh poll retrieve #104 to the sender-management package that currently contains the TypeScript sender management library
    • This is using the same approach as for the digital-letters-events package, where we have both TS and Python packages in a single directory
    • Extracted the package_python_lambda.sh script to utils

Context

Notify is documented as providing acknowledgement messages in response to MESH messages received. This provides confirmation that a request was successfully received. Since the integrator response is documented publicly, users of Digital Letters are likely to expect it, given they will be unaware that we’re operating within a bounded context that doesn’t include all of Core’s functionality, so we should implement the same functionality in Digital Letters.

Validation

To check that publishing directly to the DLQ works, I manually updated the configuration of the mesh-acknowledge lambda to set an incorrect event bridge ARN and event bridge DLQ URL and then used the Lambda's "test" function to send a valid message downloaded event. This resulted in the event publishing and DLQ-ing failing, and so the function pushed the record directly to the DLQ:
Screenshot 2026-01-14 at 11 03 14
Screenshot 2026-01-14 at 11 05 03
Screenshot 2026-01-14 at 11 05 20

Type of changes

  • Refactoring (non-breaking change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would change existing functionality)
  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I am familiar with the contributing guidelines
  • I have followed the code style of the project
  • I have added tests to cover my changes
  • I have updated the documentation accordingly
  • This PR is a result of pair or mob programming

Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

  • I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

@gareth-allan gareth-allan force-pushed the feature/CCM-13278_mesh_acknowledge branch 17 times, most recently from f65e817 to 5e39535 Compare January 12, 2026 17:00
@gareth-allan gareth-allan force-pushed the feature/CCM-13278_mesh_acknowledge branch 5 times, most recently from 4ec46d3 to 9bc8e6c Compare January 13, 2026 13:11
@gareth-allan gareth-allan force-pushed the feature/CCM-13278_mesh_acknowledge branch 3 times, most recently from 18fb2ca to 99a2f39 Compare January 13, 2026 19:28
@gareth-allan gareth-allan marked this pull request as ready for review January 14, 2026 09:16
@gareth-allan gareth-allan requested review from a team as code owners January 14, 2026 09:16
@gareth-allan gareth-allan force-pushed the feature/CCM-13278_mesh_acknowledge branch from 99a2f39 to b1a6b60 Compare January 14, 2026 09:54
@gareth-allan gareth-allan added enhancement New feature or request python Pull requests that update python code labels Jan 14, 2026
@Ian-Hodges Ian-Hodges self-assigned this Jan 16, 2026
Copy link
Contributor Author

@gareth-allan gareth-allan left a comment

Choose a reason for hiding this comment

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

Just a couple of minor post-merge comments.

simonlabarere
simonlabarere previously approved these changes Jan 21, 2026
sidnhs
sidnhs previously approved these changes Jan 21, 2026
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm surprised the python event publisher is doing anything with mesh?

Copy link
Contributor

Choose a reason for hiding this comment

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

It is now moved to a utility package for Python projects.

@simonlabarere simonlabarere dismissed stale reviews from sidnhs and themself via 98792ed January 22, 2026 10:03
@simonlabarere
Copy link
Contributor

See #186

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants