safe-code-change

Setelah perubahan kode, temukan tes yang terpengaruh, perbarui agar sesuai dengan perilaku baru, lalu jalankan pipeline validasi penuh satu kali. Gunakan ketika pengguna telah melakukan atau meminta…

npx skills add https://github.com/openshift/lightspeed-service --skill safe-code-change

Safe Code Change

After a code change is made, find and fix affected tests before running validation.

Rules

  • The code change is already done. Do not modify production code.
  • Only update tests to match the new behavior, not the other way around.
  • Do not reformat or lint-fix during test updates. Save that for validation.
  • If a test change is ambiguous (unclear what the new expected behavior is), ask the user.

Step 1: Identify What Changed

git diff --name-only
git diff --stat

List the modified production files (ignore test files, configs, docs).

Step 2: Find Affected Tests

Search for imports of changed functions/classes across all test files:

rg "from ols\.<changed_module> import" tests/

Step 3: Analyze Impact on Tests

For each affected test file, check whether the change breaks existing tests:

  1. Signature changes — function renamed, parameters added/removed/reordered.
  2. Behavior changes — return value, side effects, exceptions differ.
  3. Removed code — tests for deleted functions/classes need removal.
  4. New code — consider whether new tests are needed (ask user if unclear).

Step 4: Update Tests

Apply minimal fixes to each affected test:

  • Update function names, parameters, expected values.
  • Add async/await and @pytest.mark.asyncio if sync changed to async.
  • Remove tests for deleted functionality.
  • Do not add new tests unless the user asks.

Step 5: Done

Report what was updated. The user can invoke validate-and-fix when ready.

Lebih banyak skill dari openshift

openshift-docs
openshift
Cari dan baca dokumentasi OpenShift Container Platform dalam format markdown. Gunakan saat pengguna bertanya tentang fitur OpenShift, konfigurasi, instalasi,…
triage-leaked-infra
openshift
Menilai apakah VPC AWS atau set infrastruktur dari HyperShift CI aman untuk dihapus. Gunakan saat pengguna menempelkan output cleanleaked dan bertanya 'dapatkah saya menghapus ini?', 'apakah…
openshift-expert
openshift
Pakar platform OpenShift dan Kubernetes dengan pengetahuan mendalam tentang arsitektur klaster, operator, jaringan, penyimpanan, pemecahan masalah, dan pipeline CI/CD. Gunakan…
Konflux Archived PipelineRuns
openshift
Mengakses PipelineRun, TaskRun, dan log pod Konflux yang diarsipkan melalui KubeArchive. Diterapkan secara otomatis saat memeriksa hasil PipelineRun Konflux, menyelidiki…
backport
openshift
Backport komit atau PR dari cabang utama ke cabang rilis. Gunakan saat pengguna meminta untuk backport, cherry-pick, atau memindahkan perubahan antar cabang, atau saat menyelesaikan…
rebase
openshift
Rebase cabang saat ini ke cabang basisnya, selesaikan semua konflik, dan verifikasi lint, i18n, serta build berhasil. Gunakan saat pengguna meminta untuk rebase, memperbarui, atau menyinkronkan…
Build CPO Image
openshift
Bangun dan dorong citra container control-plane-operator. Diterapkan secara otomatis saat menguji perubahan CPO yang memerlukan penerapan ke klaster langsung.
find-complexity
openshift
Temukan fungsi dan metode dengan kompleksitas sikomatis tinggi, panjang berlebihan, atau terlalu banyak parameter. Gunakan saat pengguna meminta untuk menemukan kode yang kompleks, kompleksitas…