Skip to content

Architecture Principles

PMP-001 uses the following principles.

1. Product first

Architecture exists to support PotatoLabs products and their delivery lifecycle.

2. Platform over duplication

Shared capabilities belong in the PotatoLabs platform when they are reusable across products.

3. Clear boundaries

Products, services, data stores, and deployment units must have explicit ownership and interface boundaries.

4. Technology is a capability, not a mandate

GitLab CE, code-server, GitLab CI/CD, PostgreSQL, Redis, Docker, and Nginx are platform capabilities.

A product uses only the capabilities it needs.

5. Prefer repeatability

Changes should be reproducible from source, configuration, and documented process.

6. Secure by default

Authentication, authorization, secrets handling, and network exposure must be designed in from the start.

7. Observable by default

Builds, releases, deployments, and runtime systems must be monitorable and diagnosable.

8. Documentation is part of the architecture

Architectural intent must be recorded in the docs, not only in code or tribal knowledge.

9. Exceptions are explicit

Departures from PMP-001 require a recorded exception with scope, risk, and exit criteria.

10. Keep the platform boring

Prefer operationally simple solutions that are easy to understand, maintain, and recover.