Skip to main content
Jira progress: loading…

ZTS-A1

Technology Decision Records (TDR)

TDR Template

Every TDR should follow the same structure.

tdr_id:
title:
status:
decision_date:
owners:
related_components:
related_specs:

Sections:

Context
Problem Statement
Requirements
Options Considered
Decision
Consequences
Alternatives Rejected
Review Criteria

1. TDR-001 PostgreSQL

tdr_id: TDR-001
title: PostgreSQL as Strategic Transactional Store
status: approved

Context

ZAYAZ requires:

  • ACID compliance
  • Strong consistency
  • Mature ecosystem
  • Regulatory-grade auditability
  • Multi-tenant support
  • Long-term maintainability

Options Considered

PostgreSQL
MySQL
MariaDB
CockroachDB
SQL Server
Oracle

Decision

PostgreSQL selected as strategic transactional database.

Reasons

Data Integrity

Strong ACID guarantees
Mature transaction handling
Excellent constraint support

Ecosystem

Large talent pool
Excellent tooling
Long-term viability

Extensibility

JSONB
PostGIS
pgvector
Logical replication
Partitioning

ESG Relevance

Supports:

CSRD datasets
ESRS datasets
Assurance evidence
Governance records

Consequences

Positive:

High reliability
Strong compliance support

Negative:

Horizontal scaling requires design discipline

2. TDR-002 Neo4j

tdr_id: TDR-002
title: Neo4j as Strategic Graph Platform
status: approved

Context

ZAYAZ increasingly operates as a graph system.

Examples:

Component Dependencies
Contracts
Interfaces
Schemas
Rulesets
Agents
Organizations
Supply Chains
Materiality Networks

Options Considered

Neo4j
JanusGraph
TigerGraph
Neptune
ArangoDB

Decision

Neo4j selected.

Reasons

Direct Alignment with ZAYAZ

Supports:

ZIR
ZCT
CIAS
Blast Radius Analysis
Lineage
Dependency Resolution

Query Capability

Cypher enables intuitive relationship analysis.

Example:

Component
→ Interface
→ Contract
→ Consumer

Agentic Development

Neo4j enables:

Impact Analysis
Dependency Traversal
Context Resolution

Consequences

Positive:

Excellent graph traversal
Strong ecosystem

Negative:

Additional operational platform

3. TDR-003 Temporal

tdr_id: TDR-003
title: Temporal as Strategic Workflow Engine
status: approved

Context

ZAYAZ contains hundreds of long-running workflows.

Examples:

Hecate
Verification
Assurance
CSRD Generation
Agent Coordination

Options Considered

Temporal
Camunda
Airflow
Custom Orchestration
Step Functions

Decision

Temporal selected.

Reasons

Reliability

Provides:

Durable execution
Replayability
Retries
State recovery

ACP Alignment

Required for:

Agent orchestration
Workflow governance
Approval chains

Blast Radius Support

Workflows become traceable execution units.

Consequences

Positive:

Operational resilience
Auditability

Negative:

Additional platform complexity

4. TDR-004 Kafka

tdr_id: TDR-004
title: Kafka as Strategic Event Backbone
status: approved

Context

ZAYAZ is fundamentally event-driven.

Decision

Kafka selected as strategic event platform.

Reasons

Supports:

Domain Events
Agent Events
Audit Events
Assurance Events
Workflow Events

Mandatory patterns:

Transactional Outbox
Schema Registry
Idempotent Consumers

Consequences

Positive:

High throughput
Scalable architecture

Negative:

Operational expertise required

5. TDR-005 Next.js

tdr_id: TDR-005
title: Next.js as Strategic Frontend Framework
status: approved

Context

ZAYAZ requires:

Enterprise UX
Multi-tenancy
Complex dashboards
Public portals
SEO support

Options Considered

Next.js
Remix
Angular
Vue
SvelteKit

Decision

Next.js selected.

Reasons

TypeScript Alignment

Supports:

Shared types
Shared contracts
Shared schemas

Enterprise Ecosystem

Supports:

Large engineering teams
Agent-generated code
Long-term maintainability

Consequences

Positive:

Strong ecosystem
Developer availability

Negative:

Framework evolution must be monitored

6. TDR-006 NestJS

tdr_id: TDR-006
title: NestJS as Strategic Backend Framework
status: approved

Context

ZAYAZ requires:

Modularity
Dependency Injection
Scalability
Governed Architecture

Options Considered

NestJS
Express
Fastify
Spring Boot
ASP.NET

Decision

NestJS selected.

Reasons

Architectural Fit

Maps naturally to:

Modules
Components
Services
Engines
Registries
Agents

Agentic Development

Produces:

Predictable project structure
Repeatable code patterns
Consistent architecture

Governance

Supports:

Validation
Interceptors
Guards
Audit layers

Consequences

Positive:

Highly maintainable
Architecture-friendly

Negative:

More structure than lightweight frameworks

7. Future TDRs Reserved

TDR-007 ClickHouse
TDR-008 OpenSearch
TDR-009 Keycloak
TDR-010 Vault
TDR-011 pgvector
TDR-012 GitHub Actions
TDR-013 Terraform
TDR-014 Prometheus
TDR-015 Grafana
TDR-016 OpenTelemetry
TDR-017 Codex
TDR-018 Claude Code
TDR-019 ACP
TDR-020 Hecate
note

ZTS-A1 should be version-controlled as a living appendix, and every future architecture decision should require a TDR before a technology is promoted to Strategic status in ZTS. This will give both human engineers and future coding agents a clear architectural rationale instead of just a list of approved technologies.




GitHub RepoRequest for Change (RFC)