Skip to content

Add scenario runner seam for runtime summaries#44

Merged
Pan14ek merged 1 commit into
mainfrom
bug/scenario-runner-seam
Jun 1, 2026
Merged

Add scenario runner seam for runtime summaries#44
Pan14ek merged 1 commit into
mainfrom
bug/scenario-runner-seam

Conversation

@Pan14ek
Copy link
Copy Markdown
Owner

@Pan14ek Pan14ek commented Jun 1, 2026

Purpose

Add a reproducible scenario-runner seam for local runtime experiment evidence generation.

Type

  • 🧪 Experiment (fitness function research)
  • ✨ Feature (new business logic)
  • 🐛 Bug fix
  • ♻️ Refactor / neutral change
  • 📝 Documentation only

Changes

This PR adds a no-dependency Node scenario runner that accepts one deployment scenario and one k6 workload, coordinates Kubernetes/k6 adapters, and writes sanitized runtime-summary artifacts for collector ingestion.

The runner preserves backend business behavior. It does not add runtime-aware scoring, SLO classification, Cosmos writes, cluster creation, image loading, secrets handling, or production monitoring.

Files changed

File Change
load-tests/runtime-scenarios/*.mjs Add CLI, runner seam, k6 adapter, Kubernetes adapter, command runner, runtime summary builder, and unit tests.
docs/runtime-scenario-summaries.md Document supported inputs, runner workflow, safety rules, artifact contract, validation, and cleanup.
docs/README.md Add documentation routing for runtime scenario summaries.
docs/runtime-fitness-extension.md Route runtime-summary generation through the scenario runner seam.
.beads/issues.jsonl Track lined-51s scenario-runner seam work as in progress.

Expected result

Metric Baseline (main) Branch Direction
checkstyle_violations neutral
spotbugs_total neutral
line_coverage neutral
critical_violations neutral
code_smells possible increase
duplicated_lines_density neutral
F score unknown
SonarQube QG expected pass

This is experiment tooling only. Structural fitness may move slightly because new test/tooling code and docs are added, but backend business logic is unchanged.

Verification

  • ./gradlew check passes locally
  • ./gradlew jacocoTestReport passes locally
  • No unintended changes to main business logic
  • Branch name matches experiment/feature naming convention

Additional checks run:

  • node --test load-tests/runtime-scenarios/*.test.mjs
  • node --check load-tests/runtime-scenarios/*.mjs
  • git diff --check
  • kubectl kustomize k8s/kind/scenarios/fixed-small
  • kubectl kustomize k8s/kind/scenarios/fixed-medium
  • kubectl kustomize k8s/kind/scenarios/replicas-2
  • kubectl kustomize k8s/kind/scenarios/hpa-cpu

@Pan14ek Pan14ek merged commit 59b55a3 into main Jun 1, 2026
1 check failed
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jun 1, 2026

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant