Repository navigation
Conversation
|
Review fixes pushed (9f49dee), branch rebased onto main (S3_SECRET_KEY change from #982 is now in the base). D-0802 (volumes). The previous cleanup labelled only the new volume, listed every volume with the switch label on the host, and ignored list errors. Replaced by one hook in D-0979 (key in URL). The PR text was wrong: the ping_api ( D-0737. Added the legacy secret-key refusal test (v1.4 refuses, non-secret key still written, v1.5 not affected); the guard is now Proof: each new test fails with its fix reverted (secret guard off, |
|
CI fix pushed (c985000), rebased onto main. The only failing check was |
…clean image-switch volumes (D-0979, D-0737, D-0802)
…ject, keep the key out of errors, test the MCP secret guard (D-0802, D-0979, D-0737) - D-0802: compose down -v now removes the old data volume a db image switch kept plus the project's switch-labelled volumes, found from the switch state and the compose project label, so other projects' volumes are never listed. List and removal errors fail the down instead of being swallowed. One hook in ComposeDown covers reset, stop --volumes and uninstall --purge, so cmd/commands does not grow (package-size ratchet). - D-0979: the ping_api reads the migration key only from the GET query, so it stays there URL-encoded; transport errors now drop the request URL so the key never prints. license refresh is pinned to its fixed failure codes. - D-0737: add a legacy secret-key refusal test for nself_config_set.
…the v1.4 artifact comparison
|
No review findings were attached, so I looked at the red checks and the base.
|
Summary
Fixes three medium-severity technical-debt rows from hq quality/debt.yaml.
D-0979 — license validate/migrate human stderr leaks server text and raw key
license validateandlicense migratethroughlicenseScrubso--jsonruns no longer echo unscrubbed server text on stderr.fetchMigrationStatus; usereq.URL.Query().Setso net/http errors no longer carry?key=<raw>.D-0737 — legacy MCP nself_config_set bypasses secret-key gate
config.IsSecretKeykeys in the v1.4 legacynself_config_sethandler when!compat.V15(), closing the path that let a token-less loopback client writePOSTGRES_PASSWORDwithout confirmation. V1.5 replaces this tool with the generated gated version (P7-SURF-03).D-0802 — reset/uninstall/stop --volumes miss image-switch postgres volumes
docker.VolumeListByLabelto list volumes by label.compose down --volumes, remove any volumes carrying theorg.nself.image-switchlabel inreset,uninstall --purge, andstop --volumes, so old postgres data volumes left behind bydb image switchare actually cleaned up.Verification
go build ./cmd/commands/... ./internal/docker/...— passgo vet ./cmd/commands/... ./internal/docker/...— passgo test ./cmd/commands/ -run 'Reset|Uninstall|Stop|License|Migrate|Scrub|MCP|ConfigSet' -count=1— pass (64s)Not addressed
acmeRun.reloader()/servedEnv()); tied to P7-DEPL-25 scope.