phase 0 foundation
Phase 0 — Lessons Learned
- Keep toolchain-only changes off branches that add service code (avoid `go-services` CI on empty `services/auth`). - When PR A must merge before PR B, rebase B onto `main` immediately after A merges; do not leave B targeting a deleted branch. - Resolve Copilot review threads in GitHub when code is fixed, not only
Phase 0 — Lessons Learned
PR stacking and branch hygiene
- Keep toolchain-only changes off branches that add service code (avoid
go-servicesCI on emptyservices/auth). - When PR A must merge before PR B, rebase B onto
mainimmediately after A merges; do not leave B targeting a deleted branch. - Resolve Copilot review threads in GitHub when code is fixed, not only in local commits.
Go module strategy
- Adopt a single root
go.modearly (github.com/Rick1330/ibex-harness). - Build Docker images from repo root with
COPY go.mod+ service path.
Developer experience
- Windows contributors need GNU Make documented explicitly (Git Bash alone is insufficient).
- Delegate
Makefiletargets toinfra/scripts/dev-tool.shfor consistent Bash on Windows. security-scanshould soft-skip whengitleaksis missing locally; CI remains authoritative.
Observability deferrals
- Custom Prometheus text metrics in skeletons are acceptable for Foundation; migrate to
prometheus/client_golangin Phase 1 Goal 1.3. - OTel was deferred; wire noop provider in Phase 1 before production exporters.
Agent attribution
- Use
.cursor/cli.jsonwithattributeCommitsToAgent: falseandattributePRsToAgent: false. - Do not add
Co-authored-by: Cursortrailers to commits.
Roadmap process (going forward)
- Update
docs/app/content/roadmap/CURRENT_STATEafter every milestone merge. - Log pivots in
docs/app/content/roadmap/FINDINGSinstead of rewriting archived foundation audits in the session workspace.
Edit on GitHub
Last updated on