Context
Independent review of #115 found that Validate Submodule Pointers dynamically discovers all changed mode-160000 paths, but Require Submodule Notes (PR) uses a static watched set containing only .gitmodules, bamboo, bodhi, and lotus. A future pointer-only update for Jiandu, Nova, Lotus Next, Magpie, Pavilion, or Bodhi Server can therefore bypass the required ## Submodule Updates notes when .gitmodules is unchanged.
This is a pre-existing P3 workflow-hardening gap and is intentionally separate from #114.
Acceptance criteria
- Detect changed gitlinks dynamically rather than maintaining a partial static path allowlist.
- Require a concrete
## Submodule Updates section for every added, removed, or updated gitlink.
- Keep the
edited PR event behavior so correcting the PR body reruns the gate.
- Add regression coverage for a pointer-only change to
jiandu and at least one other currently omitted submodule.
- Preserve the existing no-submodule-change fast path.
Non-goals
- No submodule pointer changes.
- No release-train changes.
- No Jiandu source changes.
Found during independent review of #115.
Context
Independent review of #115 found that
Validate Submodule Pointersdynamically discovers all changed mode-160000 paths, butRequire Submodule Notes (PR)uses a static watched set containing only.gitmodules,bamboo,bodhi, andlotus. A future pointer-only update for Jiandu, Nova, Lotus Next, Magpie, Pavilion, or Bodhi Server can therefore bypass the required## Submodule Updatesnotes when.gitmodulesis unchanged.This is a pre-existing P3 workflow-hardening gap and is intentionally separate from #114.
Acceptance criteria
## Submodule Updatessection for every added, removed, or updated gitlink.editedPR event behavior so correcting the PR body reruns the gate.jianduand at least one other currently omitted submodule.Non-goals
Found during independent review of #115.