Files
summercms/.planning/phases/14-domain-jobs-and-external-integrations/deferred-items.md

2.1 KiB

Phase 14 deferred items

Out-of-scope discoveries logged by executors. They are not fixed in the plan that found them.

From 14-03

  • Phase 12 album cover imports dial the real cover hosts during the parity replay. POST albums (six-covers), PUT albums/{id} (cover-urls), POST albums/bulk (cover-failures) and POST albums/{id}/photos import cover_urls through classes.CoverImporterFromConfig, whose default fetch is the one-shot fetchguard.Fetch. That fetch does not honour fetchguard.WithTransport, so the replay reaches i.discogs.com instead of an upstream fake, and PHP's recordings of those cases were made against the live hosts too. 14-03 added classes.NewGuardedCoverImporter (a fetchguard.Client that honours the seam, with PHP's GuzzleHttp/7 User-Agent) and uses it only on the Discogs routes. Moving the Phase 12 routes onto it needs their cases re-recorded with cover sidecars. Candidate owner: 14-06 or a quick task.

From 14-06

  • The Phase 12 cover-import replay (from 14-03) is still open. 14-06 kept it out of scope: moving the Phase 12 album routes onto classes.NewGuardedCoverImporter needs their cases re-recorded against PHP with cover sidecars. Until then classes/cover_importer.go fetch's 2xx path can only run against the live image hosts, which is why check-phase14.sh --coverage exempts that one function (72.7%).
  • TestCoverFetcherHostLock failed once under the full -race run of check-phase14.sh --go (the first run of 14-06, with the whole fonoteka.go tree under test in parallel). The failure output was not kept, and the test passed in every later run: three -race runs of its package under load, two further --go runs and two --all runs. The gate now keeps the full log of a failed go test run (phase14-failed-<pid>.json under $TMPDIR) so a repeat can be diagnosed. Candidate owner: a quick task if it recurs.
  • A testcontainers Postgres start can exceed its 60 s wait under the gate's parallel load (the updates package, seen once in --all at the coverage stage). The gate refuses, as it must; a rerun passed. Raising the wait in the shared test harnesses is a candidate quick task.