Files
cluster-autoscaler-with-capi/docs/sessions/2026-09-26-2355-history-conventions.md
T
kacerrandClaude Opus 5.5 5fd998c5f9 Initial import: phase docs, configs, Claude conventions
Phase 1-3 runbooks and design notes, version pins, config templates,
project-history conventions, cluster-inspector read-only credentials setup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 00:58:52 +02:00

2.3 KiB

Session: which conventions to adopt from egress-proxies-operator

Created: 2026-09-26 23:55

Question

look into project in /Users/jan.novak/srv/go/egress-proxies-operator and suggest which rules i should copy over into this project

this project is sort of research/experimentation project, so i want to keep history of conversations, decisions, plans, etc.

What was checked

egress-proxies-operator: CLAUDE.md, .claude/settings.json + settings.local.json, .claude/commands/{ship,release}.md, .claude/agents/*, AGENTS.md, and samples from docs/plans/, docs/plans-executions/, docs/prompts/, docs/reviews/, CHANGELOG.md.

Findings

Adopted, adapted to a docs/lab repo:

  • Plans in docs/plans/ with the "commit the plan first, on its own" ordering rule.
  • Execution logs in docs/plans-executions/, especially "exact commands with one line of context, deviations called out", which suits lab runbook work better than Go code.
  • docs/prompts/, docs/reviews/, top-inserted CHANGELOG.md with real date timestamps.
  • Gitea + tea pr create MR flow, but only for phase-3 Go code; docs go straight to main.
  • /ship command; a small read-only permission allowlist (kubectl get/describe/logs, clusterctl describe, helm list, git read commands).

Not adopted: Go and testing conventions, CI/CD, kubebuilder gotchas, AGENTS.md, the two operator reviewer agents (candidates for phase 3), /release (no tags or images here), .junie/.codex/.agents duplicates, and the broad kubectl * / curl * permissions.

New, not in the operator repo, because decisions there are buried in plan context sections:

  • docs/decisions.md: one table with alternatives and status, back-filled with 9 rows.
  • docs/sessions/: summaries of conversations that did not produce a plan (this file is the first).

Open questions

  • Whether kubectl get * in the allowlist is too broad: kubectl get secret -o yaml would print the lab1-kubeconfig secret without a prompt. Resolved by decision #11: a parallel session introduced read-only cluster-inspector kubeconfigs, so the kubectl / clusterctl / helm allowlist entries were dropped from .claude/settings.json again.

Follow-ups

  • Decision #10
  • CLAUDE.md sections "Project history" and "Git"