Skip to content

fix: stop excluding AEM structure entry from migration (CMG-1112) - #1152

Merged
vikrantraut-cstk merged 7 commits into
devfrom
bugfix/aem-cmg-1112
Aug 26, 2026
Merged

fix: stop excluding AEM structure entry from migration (CMG-1112)#1152
vikrantraut-cstk merged 7 commits into
devfrom
bugfix/aem-cmg-1112

Conversation

@shradha-nahar

@shradha-nahar shradha-nahar commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

🔗 Jira Ticket

CMG-1112


📋 PR Type

  • 🐛 Bug Fix

📝 Description

What changed?

  • Removed the AEM template-structure exclusion in createEntry (api/src/services/aem.service.ts) that was added in the previous CMG-1112 fix — it was dropping the "structure" entry from migration entirely instead of just deduplicating it.
  • Sorted the file walk ([...read(entriesDir)].sort()) instead of relying on raw fs-readdir-recursive order, so when two files legitimately collide on the same modelId+locale, which one wins is deterministic and reproducible across machines/runs.

Why?

The prior fix (merged in #1146) correctly stopped the "structure" entry from being duplicated, but did so by excluding it from migration entirely on the assumption it was non-content template/schema metadata. QA reopened CMG-1112 after observing the "structure" entry now isn't migrated at all. The actual requirement is: migrate it, just once — not duplicated, not missing. The existing modelId::locale collision key (from the previous fix) already guarantees exactly one entry gets created once the outright exclusion is removed; the sort addresses the original reviewer concern (arbitrary/non-reproducible collision winner) without needing to drop the entry.

🧩 Affected Areas

  • api — Node.js backend
  • ui — React frontend

🧪 How to Test

  • Run an AEM migration against source data containing a page template whose structure/model definition is exported into two files sharing the same id (e.g. notitle.model.json + page-content-full-width.template.json).
  • Run iteration 1, then iteration 2 (delta) against the same or copied source data.
  • Check Contentstack for the "structure" entry.

Expected result:
exactly one Contentstack entry for the "structure" content exists after iteration 1, it is present (not excluded), and no additional duplicate appears after iteration 2 or later.


📸 Screenshots / Recordings

N/A — backend-only change, no UI impact.

✅ Author Checklist

  • Branch follows naming convention: feature/, bugfix/, or hotfix/ + 5–30 lowercase chars
  • Jira ticket linked above
  • Self-reviewed the diff — no debug logs, commented-out code, or TODOs left in
  • No sensitive credentials or secrets committed

👀 Reviewer Notes

  • This directly reverses part of a change from the previous PR (Bugfix/aem cmg 1110 #1146) — worth calling out explicitly in review since it's a correction, not new scope.
  • The modelId::locale collision-dedup logic from the prior fix is unchanged and still does the actual work of preventing duplicates.
  • Sorting the file walk is a small, low-risk addition purely for reproducibility of which file "wins" on a genuine collision — it doesn't change whether something is migrated, only tie-break determinism.

@shradha-nahar
shradha-nahar requested a review from a team as a code owner August 26, 2026 07:21
@snyk-io

snyk-io Bot commented Aug 26, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 15 390 25 ✅ Passed
🟡 Medium Severity 19 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 7 371 30 / 120 days ❌ Failed / ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

🟠 High Severity - SLA Breached Issues (with fixes)

Showing 7 issue(s) that have exceeded the 30-day SLA threshold:

  1. Directory Traversal

    • ID: SNYK-JS-POSTCSS-18313038
    • Package: postcss@8.5.12
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.7
    • CVE: CVE-2026-73646
  2. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  3. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  4. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685
  5. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  6. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  7. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

❌ BUILD FAILED - Security checks failed

Please review and fix the security vulnerabilities before merging.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 15 390 25 ✅ Passed
🟡 Medium Severity 19 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 7 371 30 / 120 days ❌ Failed / ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

🟠 High Severity - SLA Breached Issues (with fixes)

Showing 7 issue(s) that have exceeded the 30-day SLA threshold:

  1. Directory Traversal

    • ID: SNYK-JS-POSTCSS-18313038
    • Package: postcss@8.5.12
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.7
    • CVE: CVE-2026-73646
  2. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  3. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  4. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685
  5. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  6. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  7. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

❌ BUILD FAILED - Security checks failed

Please review and fix the security vulnerabilities before merging.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 15 390 25 ✅ Passed
🟡 Medium Severity 19 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 7 371 30 / 120 days ❌ Failed / ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

🟠 High Severity - SLA Breached Issues (with fixes)

Showing 7 issue(s) that have exceeded the 30-day SLA threshold:

  1. Directory Traversal

    • ID: SNYK-JS-POSTCSS-18313038
    • Package: postcss@8.5.12
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.7
    • CVE: CVE-2026-73646
  2. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  3. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  4. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685
  5. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  6. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  7. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

❌ BUILD FAILED - Security checks failed

Please review and fix the security vulnerabilities before merging.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 15 390 25 ✅ Passed
🟡 Medium Severity 19 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 7 371 30 / 120 days ❌ Failed / ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

🟠 High Severity - SLA Breached Issues (with fixes)

Showing 7 issue(s) that have exceeded the 30-day SLA threshold:

  1. Directory Traversal

    • ID: SNYK-JS-POSTCSS-18313038
    • Package: postcss@8.5.12
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.7
    • CVE: CVE-2026-73646
  2. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  3. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  4. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685
  5. Cross-site Scripting (XSS)

    • ID: SNYK-JS-REACTROUTER-18313128
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7
    • CVE: CVE-2026-53667
  6. Open Redirect

    • ID: SNYK-JS-REACTROUTER-18313144
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 7.1
    • CVE: CVE-2026-53669
  7. Inefficient Algorithmic Complexity

    • ID: SNYK-JS-REACTROUTER-18313148
    • Package: react-router@7.16.0
    • Published: 30 days ago (SLA: 30 days)
    • CVSS Score: 8.2
    • CVE: CVE-2026-55685

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

❌ BUILD FAILED - Security checks failed

Please review and fix the security vulnerabilities before merging.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 5 390 25 ✅ Passed
🟡 Medium Severity 14 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 371 30 / 120 days ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

⚠️ BUILD PASSED WITH WARNINGS - SLA breaches detected for issues without available fixes

Consider reviewing these vulnerabilities when fixes become available.

@umesh-more-cstk umesh-more-cstk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review — CMG-1112 follow-up (head e002672)

Reviewed the AEM change against the code at the PR head. The direction is right — reverting the outright exclusion and deduplicating instead is the correct reading of the requirement. But I don't think the PR's central claim holds:

The existing modelId::locale collision key already guarantees exactly one entry gets created once the outright exclusion is removed.

It guarantees at most one, not exactly one. There is a reachable path where the collision key is consumed by a file that produces no entry, which then suppresses the sibling file that would have produced one — the same "structure entry is missing" symptom QA reopened the ticket for, just now reproducible instead of order-dependent. Details in the inline comment.

1 blocker, 1 question, 1 nit.


question: the sort makes the winner deterministic, but not semantically chosen

api/src/services/aem.service.ts:1370 → the tie-break is the lexicographically-first relative path. Nothing in that ordering correlates with "is real content" vs "is template metadata". When the winner does produce an entry, its title (:1422), templateUid/contentType (:1424-1428) and field data (:1430) all come from the winning file — so on a genuine collision the surviving entry's content is decided by filename sort order.

The comment being deleted in this PR asserted the structure file can "compete with a real page for the same derived id". The PR description instead describes both colliding files as template/model definitions (notitle.model.json + page-content-full-width.template.json). Those two readings imply very different blast radii, and I can't tell which is accurate from the code alone.

Could you confirm from the actual export: are the two files that collide on modelId::locale both template/structure definitions, or is one of them a real content page? If the latter, sorting locks in deterministically dropping a real page rather than fixing it, and the tie-break needs to prefer the real page explicitly (e.g. keep the repo:path detection from #1146, but use it to rank which file wins instead of to exclude).

nit: Affected Areas doesn't match the diff

Only api is ticked, but the diff also touches:

  • ui/package.json + ui/package-lock.jsonreact-router/react-router-dom ^7.15.0^7.18.2, plus a postcss override. This is a real behavioural dependency change, and per the security-scan comments it's what moved the gate from BUILD FAILED (7 SLA breaches with fixes) to BUILD PASSED WITH WARNINGS (0). Worth ticking ui so it isn't reviewed as api-only.
  • package.jsonpostcss override >=8.5.10>=8.5.23.
  • upload-api/src/config/index.{ts,json} — trailing-comma and trailing-newline only, no functional change. Incidental churn; fine to drop from the PR.

Not asking you to split it if the dep bumps are what unblocks CI — just declare them.


Reviewed e002672. Note the trigger fired on e3d9df5; this review covers the current head, which is 1 commit further along.


Generated by Claude Code

Comment thread api/src/services/aem.service.ts
usedEntryUids was reserving modelId::locale unconditionally right after
computing uid, before the later contentType/mappedLocale check decided
whether an entry would actually be produced. A file that fell into the
"no content type matched" branch (e.g. a template structure export with
no mapped content type) still consumed the key — permanently blocking a
sibling file sharing that key from producing the real entry, leaving
zero entries instead of one. That's the same "structure entry missing"
symptom QA reopened CMG-1112 for, now made deterministic by the added
sort instead of order-dependent.

Move the reservation into the success branch so a non-producing file
never blocks its sibling, while still guaranteeing at most one entry
per modelId::locale.
@shradha-nahar

Copy link
Copy Markdown
Contributor Author

Addressing the review-level question and nit from the latest round:

Question (semantic tie-break): I can only speak to the sample data included in this repo (Archive/templates, aem_data_structure 2.zip) — both colliding files there (notitle.model.json + page-content-full-width.template.json) are template/structure definitions with identical content (same id, same repo:path under .../settings/wcm/templates/page-content-full-width/structure.html), not one real page + one template file. I don't have visibility into other AEM exports where a real page might collide with something else. That said, this is now a much smaller residual risk after 9708bdb: the blocker fix means a non-producing file (e.g. a template file with no matching content type) can no longer suppress a producing sibling — so the only remaining case where sort order matters is when both colliding files would independently produce a valid entry, which is a narrower and less severe scenario than the zero-entries bug. Open to reintroducing repo:path-based ranking (preferring a real content page over a structure export) as a follow-up if that scenario turns out to matter in practice.

Nit (Affected Areas / incidental churn): Updating the PR description to tick ui given the react-router/postcss dependency bump. On upload-api/src/config/index.{ts,json} — confirmed via git diff dev...HEAD that these are indeed part of this branch's committed history (trailing-comma/newline only, no functional change), though I didn't stage or commit them myself this session. Flagging to @shradha-nahar to confirm whether these should be dropped from the branch — happy to do it via a follow-up commit if so.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 5 390 25 ✅ Passed
🟡 Medium Severity 14 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 371 30 / 120 days ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

⚠️ BUILD PASSED WITH WARNINGS - SLA breaches detected for issues without available fixes

Consider reviewing these vulnerabilities when fixes become available.

Reverts upload-api/src/config/index.ts and index.json to match dev
exactly. These were unrelated trailing-comma/trailing-newline diffs
that had ridden along in this branch's history, not part of the
CMG-1112 fix (flagged in PR review).
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 5 390 25 ✅ Passed
🟡 Medium Severity 14 11 500 ✅ Passed
🔵 Low Severity 2 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 371 30 / 120 days ⚠️ Warning
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 390
  • Medium without fixes: 11
  • Low without fixes: 0

⚠️ BUILD PASSED WITH WARNINGS - SLA breaches detected for issues without available fixes

Consider reviewing these vulnerabilities when fixes become available.

@vikrantraut-cstk
vikrantraut-cstk merged commit c2d98f2 into dev Aug 26, 2026
10 checks passed
@vikrantraut-cstk
vikrantraut-cstk deleted the bugfix/aem-cmg-1112 branch August 26, 2026 12:34
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.

4 participants