Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 276069@bnt-lap001 Assistant-Session: 2e192b3d-b3e8-4403-94d4-d55a2c8b476c
67 lines
4.2 KiB
Markdown
67 lines
4.2 KiB
Markdown
---
|
|
id: EMAIL-WP-0009
|
|
type: workplan
|
|
title: "Wave-2 resource right-sizing from the 2026-10-21 allocation review"
|
|
domain: infotech
|
|
repo: email-connect
|
|
status: finished
|
|
flavor: implementation
|
|
owner: claude
|
|
topic_slug: email-connect
|
|
created: "2026-10-21"
|
|
updated: "2026-10-21"
|
|
related:
|
|
- CUST-WP-0071
|
|
- RESOURCE-WP-0008
|
|
state_hub_workstream_id: "cf2bc940-4a8c-5785-b005-c73122603a2e"
|
|
---
|
|
|
|
# EMAIL-WP-0009 — Wave-2 resource right-sizing from the 2026-10-21 allocation review
|
|
|
|
Receiving workplan in `email-connect` for the wave-2 request changes below.
|
|
|
|
Origin: the 2026-10-21 node allocation review (`RESOURCE-WP-0008-T03`, feeding `CUST-WP-0071-T03`). Per the founder's 2026-10-21 delivery interview (`the-custodian/docs/decisions/2026-10-21-cust-wp-0071-delivery-interview.md`) the small adjustments form wave 2: one receiving task per owner repo, applied later in a batch. Applying wave 2 needs a separate founder approval, so every cluster-write task here is a human-gated `wait`. This file changes no manifest.
|
|
|
|
## Apply the reviewed request changes
|
|
|
|
```task
|
|
id: EMAIL-WP-0009-T01
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "b34ff94e-a2ef-5df1-b7ec-f2a29ae0191f"
|
|
```
|
|
|
|
Values are pod-aggregate figures from the budget file (7-day window ending 2026-10-21T06:08Z). Limits stay unchanged unless stated.
|
|
|
|
| Workload (ns/name) | Pods | CPU request | CPU limit | CPU p95/peak 7d (m) | Memory request | Memory limit | Mem p95/peak (Mi) | Throttle | Action |
|
|
|---|---:|---:|---:|---:|---:|---:|---:|---:|---|
|
|
| `email-connect/email-connect` | 1 | 25m → **5m** | 250m | 0.3/0.8 | 64Mi → **64Mi** | 256Mi | 13.0/13.0 | 0.001 | decrease |
|
|
|
|
Source and container detail:
|
|
|
|
- `email-connect/email-connect`: Deployment `email-connect`, container `email-connect`, `deploy/k8s/railiance/deployment.yaml` (25m/64Mi).
|
|
|
|
Evidence: resource-control `docs/evidence/2026-10-21-node-allocation-review/2026-10-21-node-budget.md` (+ `.json`, commit `3d9b1bd`). Rule: CPU = max(floor, p95x1.5, peakx0.5) rounded up to 5m; memory request = 7d p95 working set x1.15 (only when the change is at least 64Mi).
|
|
|
|
Steps:
|
|
|
|
1. Map the pod-aggregate proposal onto the named container(s) in the source file; where a workload has several containers or pods, split by the per-pod figures in `2026-10-21-workload-usage.json` and keep the sum at the proposed value.
|
|
2. Prepare the source change as a reviewed commit (no push, no sync) and record the before values here.
|
|
3. Apply only inside the batched wave-2 rollout, after founder approval, through the owner's normal deploy path (ArgoCD sync or documented helm/kubectl apply).
|
|
|
|
Verification: `kubectl -n <ns> get pod -o jsonpath='{..resources}'` shows the new requests; pods Ready with no new restarts or OOMKilled over 24h; for CPU decreases the throttle ratio and request latency stay at or below the 7d baseline; node request total drops by the expected delta.
|
|
|
|
Rollback: revert the source commit and re-sync/re-apply; the before values in the table above are the rollback target. Keep before/after `kubectl get -o yaml` captures as the receipt.
|
|
|
|
## Prepared 2026-10-22 (wave-2 worker W1b)
|
|
|
|
Status stays `wait` / `needs_human`. Local commit only: not pushed, not applied. Diff = full owner render vs live (`kubectl diff`, object names and changed key paths only, Secret objects skipped).
|
|
|
|
- Live source: `deploy/k8s/railiance` kustomization, applied client-side.
|
|
- Change: email-connect `64d81e3`: CPU request 25m -> 5m.
|
|
- Diff: NOT resource-only. Besides requests.cpu, the apply would also replace the `email-connect.railiance.io/rollback-note` annotation text (the source wording from e9b9d1c differs from live) and reorder the container volumeMounts and pod volumes. The volume set itself is unchanged. This drift goes to the founder before apply.
|
|
- Apply (after founder OK): `kubectl apply -k deploy/k8s/railiance`.
|
|
|
|
## Applied — 2026-10-22 (EMAIL-WP-0009-T01)
|
|
|
|
Applied under the founder's wave-2 authorization (the-custodian docs/decisions/2026-10-21-cust-wp-0071-delivery-interview.md), after a full-render diff against live that showed resources only, plus the founder-approved annotation and volume reordering. Ready; both ExternalSecrets are synced. Evidence: the-custodian docs/evidence/2026-10-22-wave2-apply.md.
|