This document captures the scaffolding and rollout plan before any new code commits. It refers to the existing module layout and the architecture artifacts kept under docs/architecture/.
- The module tree is flat:
pom.xml,module-info.java,src/main/java,src/main/resources, and the service descriptors undersrc/main/resources/META-INF/services. - Whenever new features or packages are added, document the new package/module in
IMPLEMENTATION.mdand updatedocs/architecture/c4-component-fullcalendar-pro.mdif the component boundaries move. - Keep service provider declarations synchronized between
module-info.javaand theMETA-INF/servicesfiles. Re-runmvn -DskipTests clean packageto ensure the module'smodule-infoexports/opens remain consistent.
- Maven remains the orchestrator (
mvn -B -V verifyin CI). Any added annotation processors must appear inpom.xmland followrules/generative/language/java/build-tooling.md. - Maintain CRTP fluent APIs (no Lombok builders) and keep
@Log4j2logging consistent withrules/generative/backend/logging/LOGGING_RULES.md. - Nullness is enforced via JSpecify annotations referenced in
rules/generative/backend/jspecify/README.md; update package-info files if new packages are introduced.
- The GitHub Actions workflow (
.github/workflows/maven-build.yml) verifies the build; any additional steps (publishing, coverage, BrowserStack tests) should be appended to future job sections and documented inGUIDES.md. - Secrets follow
.env.exampleandrules/generative/platform/secrets-config/env-variables.md. Document any new keys introduced by future code under.env.exampleand ensure GitHub Actions uses them via repository secrets.
- Doc review: Before coding, confirm
RULES.md,GUIDES.md,GLOSSARY.md, and architecture diagrams capture the planned change. - Local build: Run
mvn -B -V verifyto ensure module boundaries and services compile with JDK 25. - CI validation: Push to a branch/PR and let GitHub Actions run the workflow; inspect Jacoco reports and BrowserStack triggers if applicable.
- Release readiness: After validation, update
IMPLEMENTATION.mdwith any new assets and ensureREADME.md/docs/PROMPT_REFERENCE.mdlink to new diagrams or stacks.
- Missing UI assets — Because the repo currently lacks JS/CSS files, adding them risks breaking the packaging flow. Mitigate by describing the assets in
GUIDES.mdand referencingdocs/architecture/sequence-runtime-wiring.mdbefore introducing them. - Module-info drift — JPMS module/
META-INF/servicescan fall out of sync. Always re-run the Maven build after edits that touch package exports or service registrations. - Secret handling regressions — Document new env variables in
.env.exampleand the secrets guide; avoid hardcoding placeholders in the code. - Policy gap — Keep the stage-gated artifacts consistent: if stage approvals are required later, they must reference this plan and affirm the diagrams/guides again.
- Architecture diagrams under
docs/architecture/describe current flows. - Docs loop is closed (
PACT ↔ GLOSSARY ↔ RULES ↔ GUIDES ↔ IMPLEMENTATION). -
docs/PROMPT_REFERENCE.mdlists the stacks and links to diagrams. -
.env.examplealigns withrules/generative/platform/secrets-config/env-variables.md. - GitHub workflow runs Maven verify with JDK 25.