Commit graph

16 commits

Author SHA1 Message Date
renovate[bot]
9e11c2aa0f
chore(deps): update pip minor and patch (#214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 15:45:11 +00:00
renovate[bot]
8a568e4eaf
chore(deps): update dependency boto3 to v1.43.89 (#207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-09 18:48:49 +00:00
renovate[bot]
528da9ade5
chore(deps): update dependency boto3 to v1.43.83 (#204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 22:36:53 +00:00
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)
Some checks failed
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)
Some checks are pending
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)
Some checks are pending
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