Conversation
Amends the roadmap in place with a second pass: view templates as artifacts with a role, view-dispatch edges, descriptor-derived routes, a template-internal code model, and template-to-code dataflow. Records the collision between a new template role and the still-open roles-vocabulary errata (#48), and folds that resolution into the same design session. Bundler-output inventory is recorded as not-now.
…eaches them Group D of the 2026-09-11 roadmap pass. Coins the view-template artifact role with its classification rules, the J_DISPATCHES_TO edge from a dispatching body node to the Artifact it reaches (via: forward | include | redirect | view-name | navigation; prov: literal | dataflow), and the view_dispatches / view_dispatches_unresolved lists on the application. Return body nodes carry their expression so the literal tier can see Spring view names. Declares the shipped artifact-layer vocabulary (format + roles[], dependency kind, per-analyzer ecosystem) canonical, closing the vocabulary item of #48.
This was referenced Sep 11, 2026
…analyzer-java#261)
This was referenced Sep 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/design/roadmap.mdin place with a second pass, the Java web layer: view templates as artifacts, view-dispatch edges, descriptor-derived routes, a template-internal code model, and template-to-code dataflow, with collision groups D/E/F, a dependency DAG, release trains, and a not-now list.docs/design/specs/2026-09-11-java-view-templates-and-dispatch.md, Group D's spec: theview-templaterole and its classification rules, theJ_DISPATCHES_TOedge (via,prov),view_dispatches[]/view_dispatches_unresolved[], andargument_expronreturnbody nodes.format+ openroles[], dependencykind, per-analyzerecosystem) canonical, which closes the vocabulary item of Spec errata: repository-artifact-layer names three vocabularies codeanalyzer-python v1.3.0 never implemented #48; Spec errata: repository-artifact-layer names three vocabularies codeanalyzer-python v1.3.0 never implemented #48's id-grammar and orphan-sweep items stay open.Why now
An exploitability run over DayTrader with codeanalyzer-java 3.2.0 found its findings skewed away from source because "JSP was never parsed". Measured: the JSP text is already inventoried in full, but 23 JSPs, 15 Facelets and 348 output expressions have no structure, and 22 dispatch call sites (only 5 with literal targets) end at a string.
Review focus
viashape, populatingreturnnodes, and the never-guess resolution rules.Implementation follows as one work item on codeanalyzer-java (3.3.0), SDK as its DoD line.