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>
52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
# 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](../decisions.md): 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](../decisions.md)
|
|
- `CLAUDE.md` sections "Project history" and "Git"
|