Adam Moussa
f5c09757f3
feat(lambda): report unhandled Lambda errors to Sentry (PLAT-138) ( #203 )
...
* feat(lambda): report unhandled Lambda errors to Sentry
* fix(lambda): strip Sentry stack-frame locals
* style(tests): wrap long lines in sentry_init tests
2026-08-29 20:02:54 +00:00
renovate[bot]
8fc125a1ac
chore(deps): update dependency boto3 to v1.43.78 ( #198 )
2026-08-24 23:19:43 +00:00
dependabot[bot]
e9686aff07
chore(deps): bump boto3
...
Bumps the minor-and-patch group in /lambdas/po/site_extractor with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.67 to 1.43.72
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.67...1.43.72 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.72
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-18 06:45:27 +00:00
dependabot[bot]
dc8ac20f69
chore(deps): bump boto3 ( #179 )
...
Bumps the minor-and-patch group in /lambdas/po/site_extractor with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.63 to 1.43.67
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.63...1.43.67 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.67
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 16:17:33 +00:00
dependabot[bot]
6dfa658df5
chore(deps): bump boto3 ( #167 )
...
Bumps the minor-and-patch group in /lambdas/po/site_extractor with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.62 to 1.43.63
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.62...1.43.63 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.63
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 16:32:15 +00:00
dependabot[bot]
5a10163f85
chore(deps): bump boto3 ( #152 )
...
Bumps the minor-and-patch group in /lambdas/po/site_extractor with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.57 to 1.43.62
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.57...1.43.62 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.62
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 15:07:21 +00:00
dependabot[bot]
781b90b446
chore(deps): bump boto3 ( #146 )
...
Bumps the minor-and-patch group with 1 update in the /lambdas/po/site_extractor directory: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.56 to 1.43.57
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.56...1.43.57 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.57
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 12:01:19 -04:00
dependabot[bot]
fe98a90dd7
chore(deps): update boto3 requirement in /lambdas/wo/web_ui ( #135 )
...
Deploy / deploy (push) Has been cancelled
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.55...1.43.56 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.55
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 23:13:16 +00:00
Adam Moussa
09946c0448
chore(deps): consolidated Dependabot bumps (checkout v7, setup-node v7, aws-cdk-lib 2.262.1, boto3 1.43.55) ( #142 )
...
Deploy / deploy (push) Waiting to run
* chore(deps): bump actions/checkout from 4.2.2 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4.2.2 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](11bd71901b...3d3c42e5aa )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump actions/setup-node from 4.4.0 to 7.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 4.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](49933ea528...8207627860 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Adam Moussa <adam@seahavenind.com>
* chore(deps): bump boto3
Bumps the minor-and-patch group in /lambdas/po/web_ui with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.53 to 1.43.55
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.53...1.43.55 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.55
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump aws-cdk-lib in /cdk in the minor-and-patch group
Bumps the minor-and-patch group in /cdk with 1 update: [aws-cdk-lib](https://github.com/aws/aws-cdk ).
Updates `aws-cdk-lib` from 2.261.0 to 2.262.1
- [Release notes](https://github.com/aws/aws-cdk/releases )
- [Changelog](https://github.com/aws/aws-cdk/blob/main/CHANGELOG.v2.alpha.md )
- [Commits](https://github.com/aws/aws-cdk/compare/v2.261.0...v2.262.1 )
---
updated-dependencies:
- dependency-name: aws-cdk-lib
dependency-version: 2.262.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): update boto3 requirement in /lambdas/wo/web_ui
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.53...1.43.55 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.55
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump boto3
Bumps the minor-and-patch group in /lambdas/po/site_extractor with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.53 to 1.43.55
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.53...1.43.55 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.55
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Adam Moussa <adam@seahavenind.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 23:04:32 +00:00
dependabot[bot]
01a2a6498c
chore(deps): bump boto3 ( #116 )
...
Bumps the minor-and-patch group with 1 update in the /lambdas/po/site_extractor directory: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.52 to 1.43.53
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.52...1.43.53 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 16:06:22 -04:00
Adam Moussa
a878bc395f
chore(deps): batch Dependabot updates ( #116 , #122 , #123 ) ( #124 )
...
* chore(deps): bump boto3
Bumps the minor-and-patch group with 1 update in the /lambdas/po/site_extractor directory: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.51 to 1.43.52
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.51...1.43.52 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump boto3
Bumps the minor-and-patch group in /lambdas/po/web_ui with 1 update: [boto3](https://github.com/boto/boto3 ).
Updates `boto3` from 1.43.51 to 1.43.52
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.51...1.43.52 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.52
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): update boto3 requirement in /lambdas/wo/web_ui
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.51...1.43.52 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.52
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 15:49:36 -04:00
Adam Moussa
3c28df05a6
chore(deps): bump boto3 to 1.43.51 (po/web_ui, po/site_extractor, wo/web_ui) and constructs to 10.7.1 (cdk) ( #121 )
...
Deploy / deploy (push) Waiting to run
* chore(deps): bump boto3 from 1.43.31 to 1.43.51 in /lambdas/po/web_ui
* chore(deps): bump boto3 from 1.43.37 to 1.43.51 in /lambdas/wo/web_ui
* chore(deps): bump boto3 from 1.43.31 to 1.43.51 in /lambdas/po/site_extractor
* chore(deps): bump constructs from 10.6.0 to 10.7.1 in /cdk
2026-07-20 17:22:15 -04:00
Adam Moussa
75fe91c198
Ops/recovery tooling + dependency hygiene (refactor phase 7) ( #110 )
...
* feat: ops/recovery tooling + dependency hygiene (refactor phase 7)
Generalize scripts/reprocess.py from a PO-only full-sweep script into a
pipeline-general recovery tool. Targeted replay (--key/--prefix/--since)
is now the default, and the full inbound/ sweep is demoted behind an
explicit --all that documents its five hazards (async concurrency does
not serialize, use RequestResponse if order matters, metric double-count,
Bedrock re-bill, out-of-order field regression). --pipeline po|wo resolves
the correct function + bucket; dry-run-by-default / --execute is preserved.
A new tests/test_reprocess_contract.py pins the synthetic S3 event shape
and asserts the raw list_objects_v2 key is emitted untransformed (the
handler is the single decode point; a pre-decoded key would corrupt keys
containing spaces or '+').
Add docs/runbook-dlq-recovery.md: the async on-failure DLQ has no console
redrive-to-source, so it documents the receive -> extract key -> targeted
reprocess --key -> verify -> purge procedure, the real recovery windows
(14-day DLQ breadcrumb, 90-day raw-email S3 that overrides the table
RETAIN policy and is the true replay floor), and that sender-auth and
ai_fallback_rejected drops are fail-closed skips that never reach the DLQ.
Linked from the README alarms and scripts sections.
Drop the vendored boto3 floor pin from both email-processor requirements
(the Lambda runtime provides boto3; lambda-template.md empty-with-comment
form). With nothing left to install, the email-processor bundling becomes
cp-only -- the whole pip step is removed, which is the only acceptable way
the manylinux2014_aarch64 pin disappears (removing the pin while keeping a
pip install caused the PR #34 x86-wheel outage). Exact-pin moto==5.2.2 and
add pinned po/web_ui + po/site_extractor manifests (excluded from their
bundles, so hash-neutral) so their new Dependabot entries have something
to act on; add Dependabot entries for /tests, /lambdas/po/web_ui, and
/lambdas/po/site_extractor.
cdk diff is confined to exactly the two email processors' asset hashes on
both stacks. The wo/web_ui dead-manifest reduction was deliberately left
out: that manifest already ships inside the plain (non-bundled) WebUI
asset on main, so reducing or excluding it would redeploy workorder-web-ui
for no functional change -- deferred to keep the blast radius to the two
intended targets.
The untracked 44 MB lambdas/po/email_processor/package/ dir was removed
from the filesystem (asset-hash-neutral given Phase 2's package/ exclude);
it is untracked, so there is nothing to commit for it.
* Reject --all combined with --prefix/--since in reprocess.py
--all is a distinct mode (the demoted full-prefix sweep), but the args.all
branch unconditionally set prefix=inbound/ and since=None, so passing it
alongside a narrower selector silently discarded that selector. `--all
--since 2026-07-01` swept the entire corpus instead of the bounded window,
triggering every documented --all hazard (Bedrock re-bill, metric double-
count, merged-field regression) on objects the operator never targeted --
contradicting the tool's safety goal. Add the missing mutual-exclusion
guard alongside the existing --key one, and pin --all+--prefix,
--all+--since, and all three together as argparse rejections.
2026-07-20 12:53:34 -04:00