Patterns

Engineering Patterns

Index of all patterns available in the Ontopix Engineering Handbook.

Production

For understanding the difference between Principles and Patterns, see the main README.


Organizational Patterns (Mandatory)

PatternProblem SolvedStatus
Repository StructureInconsistent file organization✅ Required
AI Agent EntrypointAgents don't know where to start✅ Required
Taskfile ContractInconsistent operational interfaces✅ Required
Pattern AuthoringHow patterns are written and how the library coheres✅ Required*
Repository Context DirectoryCross-session repo knowledge is lost between sessions and contributors✅ Recommended
Roadmap and Epic PlanningMedium-term direction is disconnected from independently deliverable work🧪 Emerging
Infrastructure LayoutWhere to put Terraform/IaC✅ Required*
AWS Resource TaggingConsistent AWS resource tagging✅ Required*
AWS Bedrock Inference ProfilesCost-attributed, tagged Bedrock model invocation✅ Required*
Sandbox EnvironmentsSafe local development✅ Required*
Local AWS SandboxEmulating AWS services locally with LocalStack✅ Required*
Git ConventionsInconsistent git workflows✅ Required
GitHub ActionsCI/CD setup and patterns✅ Required
Service StructureCanonical shape of an Ontopix backend service✅ Required*
CodeArtifact + GitHub ActionsSecure package management from CI/CD✅ Recommended*
ECR + GitHub ActionsContainer image build and push from CI/CD✅ Recommended*

*Required if applicable: Pattern Authoring (when authoring or editing a pattern in this handbook), Infrastructure Layout (for repos with infrastructure), AWS Tagging (for repos provisioning AWS resources), Bedrock Inference Profiles (for services invoking AWS Bedrock), Sandbox (for application repos), Local AWS Sandbox (for repos with AWS-dependent local sandboxes), Service Structure (for backend services), CodeArtifact (for repos publishing/consuming private packages), ECR (for repos deploying container images)


PatternProblem SolvedStatus
Python Module NamingPublic vs internal API boundaries✅ Active
Python Project StructureInconsistent Python project layout and tooling✅ Active
Python Test OrganizationUnstructured, hard-to-navigate Python test suites✅ Active
Lambda DeployStandard Lambda code deployment from CI/CD✅ Active
Rich Search on AWS AmplifySophisticated search/filtering when DynamoDB alone is not enough🧪 Emerging
LLM RequestsFragile, expensive, or unparseable LLM invocations✅ Active
AuthenticationUser identity verification🚧 Coming soon
CachingPerformance optimization🚧 Coming soon
Rate LimitingAPI protection🚧 Coming soon
Error HandlingConsistent error responses🚧 Coming soon

Authoring Patterns

How a pattern is written — its anatomy, classification, cross-linking, and how the library evolves — is defined by a single pattern: Pattern Authoring. It is the source of truth and this index does not restate it. In short:

  • Promote a solution to a pattern once you have solved the same problem 3+ times, or to set a deliberate organizational standard.
  • Follow the canonical anatomy — front-matter, the Status/Type header block, and the fixed section order. See Anatomy of a Pattern.
  • Evolve patterns in place. No -v2 files, no archive copies — delete superseded content; git history is the archive. See Evolution & Coherence.
  • Register every new pattern in this index.

Org-level patterns change the standard for every Ontopix repository — review the escalation rules in AGENTS.md before merging.


Related: Principles | Decisions | Templates