Skip to content

fix(perc-system): type remaining assembly/jexl maps (#3280) - #3284

Merged
natechadwick merged 1 commit into
mainfrom
fix/issue-3280-assembly-xlint
Aug 13, 2026
Merged

natechadwick merged 1 commit into
mainfrom
fix/issue-3280-assembly-xlint

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

PR-sized residual of #3280 / leftover of #3265 / epic #2022: type remaining com.percussion.services.assembly rawtypes/unchecked map usage with real generics.

  • Assemblers: drop redundant getBindings() casts on PSHtmlAssembler / PSMarkdownAssembler; extract PSBinaryAssemblerSupport.resolveSys (Map<?,?> reads)
  • Work item: PSAssemblyWorkItem.getMetaData uses a live typed $sys.metadata view (PSAssemblyBindingMaps)
  • Nav: PSNavHelper.putNavBaseFromVariables + getParams; PSNavonNodeInvocationHandler.copyPropertyMap
  • JEXL: PSAssemblerUtils.combine uses Map<String, List<String>>; timers use the live $sys view
  • Finder: PSContentFinderBase.find writes $sys.hasMore through the same helper
  • Tests: binding maps, binary resolve, nav helpers, jexl combine/timers, metadata write-through

Operator: Grok: night-issue-prs (model grok-4.5)

Parent: #2022
Fixes: #3280
Related leftover of: #3265

Product documentation

  • N/A — pure tech-debt generics / no product behavior, UX, API, or operator-step change

Test plan

  1. From system/: ../mvnw.cmd clean install (JDK 21)
  2. Focused: ../mvnw.cmd "-Dtest=PSAssemblyBindingMapsTest,PSBinaryAssemblerSupportTest,PSNavHelperTypedTest,PSAssemblerUtilsTypedTest,PSServicesPackageTypedTest" test
  3. Confirm BUILD SUCCESS and new/updated tests green

Checklist

  • Product documentation — N/A (not product-facing): pure tech-debt generics
  • Unit / module tests — new/extended unit tests; system standalone mvnw clean install green
  • WebUI + Playwright — N/A (no WebUI product screen change)
  • Build gates — system standalone clean install (no skipTests)
  • Cross-platform — N/A (no path/file I/O)

Gates evidence

  • modules_built: system
  • build_evidence: cd system && ../mvnw.cmd clean install → BUILD SUCCESS; Tests run: 2073, Failures: 0, Errors: 0, Skipped: 241
  • focused tests: 22 green (PSAssemblyBindingMapsTest 4, PSBinaryAssemblerSupportTest 3, PSNavHelperTypedTest 3, PSAssemblerUtilsTypedTest 4, PSServicesPackageTypedTest 8)
  • downstream_checked: none — no public type made final/sealed; no public/protected method or ctor signature change. Added new helper types only.
  • C5 UI: N/A (backend tech-debt only)

Co-Authored by Grok Build using grok-4.5 with agent main.

… casts (#3280)

Remove leftover @SuppressWarnings("unchecked") from PSHtmlAssembler,
PSMarkdownAssembler, PSBinaryAssembler, PSAssemblyWorkItem.getMetaData,
PSNavonNodeInvocationHandler, and PSAssemblerUtils. Introduce
PSAssemblyBindingMaps (copy + live $sys view) and typed nav/binary helpers.

Fixes #3280

> Co-Authored by Grok Build using grok-4.5 with agent main.
@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

qa_deferred_quality — human QA not assigned.

This-run PR #3284 (parent #3280) is not a human-QA candidate and does not meet the overnight quality bar.

Candidate

  • Not A — backend -Xlint / generics only (system assembly/jexl maps). No WebUI, Explorer, or user-visible flow.
  • Not B — no installer / packaging / upgrade / host-visible behavior.
  • Not C — no written acceptance that requires manual UAT after agent Maven proof.

Quality bar (live GitHub)

Gate Result
Q1 PR open, not draft, MERGEABLE pass (mergeable=MERGEABLE; mergeStateStatus=BLOCKED for reviews)
Q2 independent review APPROVE fail — reviews=[], reviewDecision=REVIEW_REQUIRED. Kilo check success is not an APPROVE review.
Q3 required checks snapshot pass — CodeQL / Analyze (java-kotlin) / Kilo Code Review SUCCESS; no pending/failing
Q4 C1 Maven evidence pass — cd system && ../mvnw.cmd clean install BUILD SUCCESS in PR body
Q5 C5 UI proof fail-if-treated-as-UI — no C5 surface commands (correct: not a UI PR)
Q6 slice pass for the Xlint leftover
Q7 no overlapping open QA pass
Q8 cycle verify pass (status=passed; this PR was the integration tip)

Do not assign @vijaya-boddipudi. Tech-debt typing does not warrant a qa task.

Co-Authored by Grok Build using grok-4.5 with agent human-qa-handoff.

@natechadwick
natechadwick merged commit d665a98 into main Aug 13, 2026
6 checks passed
@natechadwick
natechadwick deleted the fix/issue-3280-assembly-xlint branch August 13, 2026 05:40
natechadwick pushed a commit that referenced this pull request Aug 13, 2026
…3291) (#3294)

Assemblers, workitem getMetaData, and navon copyPropertyMap were typed in
#3284. This leftover slice removes FactoryBean rawtypes on
PSEhCacheFactoryBean.getObjectType, documents the inherent
LiveStringObjectMap erase cast, restores orphaned loadLandingPage javadoc,
and adds behavioral Ehcache factory tests.

Fixes #3291
Parent: #2299 / #2022

> Co-Authored by Grok Build using grok-4.5 with agent main.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.5 Grok 4.5 model operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants