This file records where work stopped so you can continue in stages. The full plan is in plan_go.md at the repository root (official stages 0–6). Stage 7 is an agreed extension after the plan: optional automation and badges described in plan_go.md §5.1 / §5.3 and in the former “next step” section of this file.
| Stage | Title | Status |
|---|---|---|
| 0 | Technical inventory and baseline | Done |
| 1 | Organisation, standards, and repo hygiene | Done |
| 2 | Code, architecture, and security | Done |
| 3 | A+ documentation | Done |
| 4 | Quality, tests, and local automation | Done |
| 5 | CI/CD, governance, and polish | Done |
| 6 | Final delivery and report | Done |
| 7 | Post-plan: scheduled audit, releases, and CodeFactor | Done |
-
Stage 7 (2026-05-02): post-
plan_go.md§5.1 (extra workflows) and §5.3 (CodeFactor badge)..github/workflows/security-schedule.yml: weeklygovulncheck(Monday 06:00 UTC) andworkflow_dispatch;continue-on-error: truealigned with the CIvulncheckjob while dependencies lack a published OSV fix on the module..goreleaser.yaml+.github/workflows/release.yml: publish to GitHub Releases when pushing av*tag; per-OS/architecture packages with all three binaries (godeployd,godeploy-tui,godeploy-logtail),formats/idsper GoReleaser v2 (no deprecated properties);goreleaser checkvalidated locally.README.md: CodeFactor badge forgithub.com/esousa97/godeploy-platform(register the repo on CodeFactor if the badge does not yet show a grade).CONTRIBUTING.md: Releases section with tag flow andgoreleaser check/ snapshot commands.- Local validation:
go build ./...,go test -short ./...,goreleaser checksucceeded on this clone.
-
Stage 6 (2026-05-02): final delivery and report (
plan_go.md# STAGE 6).FINAL.md(root): executive report with before/after summary, changelog by stages 0–5, exact commands, architectural decisions, residual risks, simulated A+ evaluation, reviewer positioning, and checklist 6.2 with item status. Local file — it is in.gitignore(internal document, aligned with the plan)..github/dependabot.yml: Dependabot forgomod(/),github-actions(/), anddocker(/deployments), closing the final checklist item from the plan.- Local validation:
go mod tidy,go mod verify,go build ./...,go vet ./...,go test -short ./...succeeded on this clone.
-
Stage 5 (2026-05-02): CI/CD, governance, and professionalism.
.github/workflows/ci.yml:permissions: contents: read;concurrencyto cancel stale runs on PRs;lintjob withgolangci-lintonly;vulncheckjob with dedicatedgovulncheck(continue-on-error: truewhilegithub.com/docker/dockerhas no module tag fixing reported OSVs — the scan remains visible in checks);verifyjob with Go matrix1.25.0andstable(fail-fast: false); artifact uploadcoverage-<version>.txtafter tests with-race,-short, and coverage floor (29%).CONTRIBUTING.md: explicit recommendation to protectmainwith required checkslint,vulncheck,verify.- GitHub templates (already present):
.github/ISSUE_TEMPLATE/*,.github/PULL_REQUEST_TEMPLATE.md,CODEOWNERS,SECURITY.md.
-
Stage 4 (2026-05-02): quality, tests, coverage, and lint clean.
.golangci.yml: aligned with the plan (errcheck, staticcheck, revive, gocritic, godot, exhaustive, sqlclosecheck, etc.);gocriticwithrangeValCopydisabled (noise vs. copies in Docker structs).cmd/godeployd:run()exits via return code instead ofos.Exitmid-flow (defers andgocriticexitAfterDefer); explicit DB close if the Docker client fails (path fixed before refactor).internal/proxy: sharedhttp.TransportinServeHTTP(avoids connection leaks / hangs on Windows tests);CloseIdleConnectionsonRunshutdown; deterministic hot-reload test withreloadIfChanged(ctx, true).- New tests:
internal/pipeline/pipeline_test.go(Newvalidation, helpers,waitHTTP200);internal/platform/iox/iox_test.go;internal/platform/sqlpool/sqlpool_test.go;internal/webhook/example_test.go; observability respectstesting.Short()somake test-short/ CI-shortdo not depend on Docker. Makefiletest-cover-check: flag order-covermodebefore-coverprofile(compatible with shells that split=file).- Coverage:
go test -short+ floor ≥29% passing (~30% after new tests). - Windows note:
go test -raceneeds CGO and a C compiler (e.g. gcc); without it, use CI or install a toolchain;.githooks/pre-commitalready falls back togo test -shortwithout-racewhenCGO_ENABLED=0.
-
Stage 3 (2026-05-02): documentation and godoc (see earlier history).
-
Stages 0–2: see previous commit history or the table above.
Plan 0–7 complete (0–6 in plan_go.md + stage 7 extension). Maintenance: follow CONTRIBUTING.md (including Releases), review Dependabot PRs, and update CHANGELOG.md / docs when product behaviour changes. Optional: register the project on CodeFactor so the README badge shows a grade.
After each stage: mark the table row Done, update Where it stopped with the date and files touched, and set Recommended next step to the following stage number.