Background
Raised during review of PR #1 (Initial repo structure) by @leynos.
The inherited githubRepositorySchema transform in src/store/entities/repository.ts embeds a hardcoded localhost:3300 host directly in domain entity URLs (e.g. url, html_url, clone_url, and the full set of GitHub template URLs). This pattern must not be replicated in new DigitalOcean entity schemas introduced as part of DigitalPuddle.
ADR 0005 (transitional Simulacat boundaries) records the architectural rule: transport URLs must not live in domain entities; they must be produced at the serialisation layer.
Required work
- Ensure all new DigitalOcean entity schemas (DOKS clusters, SSH keys, projects, node pools, etc.) contain no hardcoded hostnames or port numbers.
- Inject the base URL via a constructor parameter or serialiser adapter when constructing response payloads.
- Add a contract test or lint rule that rejects any new entity schema that embeds a
http:// or https:// literal outside of the serialisation layer.
References
/cc @leynos
Background
Raised during review of PR #1 (Initial repo structure) by @leynos.
The inherited
githubRepositorySchematransform insrc/store/entities/repository.tsembeds a hardcodedlocalhost:3300host directly in domain entity URLs (e.g.url,html_url,clone_url, and the full set of GitHub template URLs). This pattern must not be replicated in new DigitalOcean entity schemas introduced as part of DigitalPuddle.ADR 0005 (transitional Simulacat boundaries) records the architectural rule: transport URLs must not live in domain entities; they must be produced at the serialisation layer.
Required work
http://orhttps://literal outside of the serialisation layer.References
docs/adr/0005-transitional-simulacat-boundaries.md/cc @leynos