Skip to content

feat(microbiology): separate no-growth review and release (OGC-782 R3) - #4074

Open
pmanko wants to merge 8 commits into
feat/782-ogc-782-microbiology-r2-order-bench-protocolfrom
feat/782-ogc-782-microbiology-r3-no-growth-acceptance
Open

feat(microbiology): separate no-growth review and release (OGC-782 R3)#4074
pmanko wants to merge 8 commits into
feat/782-ogc-782-microbiology-r2-order-bench-protocolfrom
feat/782-ogc-782-microbiology-r3-no-growth-acceptance

Conversation

@pmanko

@pmanko pmanko commented Aug 17, 2026

Copy link
Copy Markdown
Member

Behavior slice

  • record no growth as an audited, review-ready outcome without publishing a patient result
  • direct the user to Reports for final review and release
  • publish one negative Patient History result only after authorized final release
  • lock the final case against ordinary mutation
  • preserve canonical worklist/case URL state and breadcrumb return context

Validation

  • focused backend and frontend tests for the no-growth transition and release gates
  • Playwright core-app: authenticated record -> review -> release -> Patient History -> mutation-lock journey (2/2 including auth setup)
  • no SQL fixture seeding, fixed primary keys, forced interactions, or arbitrary waits

Stack

Local review

./scripts/dev-stack up

Current isolated R3 URL during validation: https://localhost:32855

Known unrelated console signals

Existing analyzer-menu missing translations and duplicate plugin navigation keys remain visible in Playwright console output; they do not alter this Microbiology journey.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cf529f2365

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/dev-stack
elif not (context.repo_root / "target" / "OpenELIS-Global.war").is_file():
raise RuntimeError("--skip-build requires target/OpenELIS-Global.war")
run(
compose_command(context, "up", "-d", "--remove-orphans"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Recreate the backend after rebuilding its WAR

On a subsequent scripts/dev-stack up after a Java change, build_application replaces the mounted WAR, but build_images does not rebuild oe.openelis.org and this unchanged Compose invocation does not force that container to be recreated. The reviewed harness documentation at projects/analyzer-harness/README.md:78-84 explicitly says Tomcat caches the exploded WAR and requires a force-recreate, so the authoritative hot-reload command can complete while continuing to serve stale classes; recreate the backend service after the WAR build.

AGENTS.md reference: AGENTS.md:L740-L742

Useful? React with 👍 / 👎.

Comment thread scripts/run-java21
Comment on lines +15 to +18
JAVA_HOME="${JAVA_HOME_21:-$SDKMAN_DIR/candidates/java/$JAVA_VERSION}"

if [[ -z "$JAVA_VERSION" || ! -x "$JAVA_HOME/bin/java" ]]; then
echo "Java $JAVA_VERSION is not installed under SDKMAN at $JAVA_HOME" >&2

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Honor an already-selected Java 21 installation

When Java 21 is installed through the system package manager, mise, or asdf and exposed through the standard JAVA_HOME/PATH, this assignment ignores it and requires the exact SDKMAN candidate from .sdkmanrc unless the undocumented JAVA_HOME_21 variable is set. Consequently the only supported scripts/dev-stack up path exits before building even in a Java-21-compliant environment; it also rejects the documented 21.0.1-tem install because .sdkmanrc currently names 21.0.5-tem. Validate and reuse the selected Java 21 before falling back to SDKMAN.

AGENTS.md reference: AGENTS.md:L77-L89

Useful? React with 👍 / 👎.

Comment thread scripts/dev-stack
override = environment.get("DEV_STACK_BUILD_FRONTEND")
if override is not None:
return override.lower() == "true"
paths = ("frontend/package.json", "frontend/package-lock.json", "frontend/Dockerfile")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Rebuild the frontend for local Vite configuration changes

When a branch changes frontend/vite.config.ts, index.html, or another frontend root runtime/build input while these three files remain unchanged, this check selects the published develop image. The Compose definition only mounts frontend/src and frontend/public (projects/analyzer-harness/docker-compose.dev.yml:96-98), so those local configuration changes are neither rebuilt nor mounted and the development stack silently runs the old configuration; include all non-mounted frontend inputs in the rebuild decision or mount them.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant