Pytanie
📝 **Zadanie:** Zbuduj \`koszt_rekomendacji (miesięczne_wydatki, tempo_wzrostu, próg)\` zwracając jedną z ``skali'', ``prawidłowego rozmiaru'' lub ``ok'':
1. \`wskaźnik_wzrostu > 1,5\` ORAZ \`wydatki_miesięczne < próg\` → \`"skala"\` (poniżej budżetu ORAZ eksplodujący popyt — moc przedsprzedażowa).
2. \`miesięczne_wydatki > próg * 1,2\` → \`"rightsize"\` (>20% powyżej budżetu — żądanie/ograniczenie dostrajania + migracja punktowa przed dalszym skalowaniem).
3. \`miesięczne_wydatki > próg\` ORAZ \`wskaźnik_wzrostu < 1,0\` → \`"rightsize"\` (przekroczenie budżetu ORAZ popyt maleje – wyraźny sygnał dostrajający).
4. W przeciwnym razie → \`"ok"\` (w granicach; brak działań w tym miesiącu).
\`tempo_wzrostu\` to mnożnik miesięczny (1,2 = +20% m/m).
📋 Zaimplementuj powyższą funkcję. Testy uruchamiają się automatycznie.
💡 **Wskazówka:** Jeśli utkniesz, przeczytaj ponownie teorię.
A The pod restarts cleanly because kubelet kills the offending container before any neighbour is touched on the node. B Pod uses unbounded memory → node OOM-killer evicts random pods on the node, taking down unrelated services. C The event is logged to the kubelet log only and the pod keeps running until the next scrape detects the breach. D K8s detects the spike and triggers HPA to add another replica so memory pressure is spread across more nodes.