M
MANTRA
Taxonomy Architecture Framework

4×4 Matrix: Taxonomi Keputusan Arsitektur

ARSAKA Team ·

Masalah Klasifikasi

Saat tim membuat keputusan arsitektur, pertanyaan pertama adalah: “Ini masuk kategori apa?” Tanpa taxonomi yang jelas, keputusan bertebaran tanpa struktur. Ada yang masuk “tech stack”, ada yang masuk “coding standards”, ada yang masuk “process”. Tidak konsisten.

MANTRA memecahkan ini dengan 4×4 Decision Matrix: 4 Domain × 4 Aspect = 16 kategori.

4 Domain

INT (Intent & Direction)

Keputusan tentang arah — visi, tujuan, dan strategi produk. “Apa yang kita bangun dan untuk siapa?”

Contoh:

  • “Produk ini adalah SaaS multi-tenant untuk hospitality industry”
  • “Target user adalah hotel bintang 3-5 di Asia Tenggara”

ARCH (Architecture)

Keputusan tentang struktur — pattern, teknologi, dan desain teknis. “Bagaimana kita membangunnya?”

Contoh:

  • “Backend menggunakan Clean Architecture dengan 4 layers”
  • “Database menggunakan PostgreSQL dengan RLS untuk multi-tenancy”

CTL (Control & Policy)

Keputusan tentang aturan — standar, kebijakan, dan batasan. “Apa yang boleh dan tidak boleh?”

Contoh:

  • “Semua API response menggunakan format {success, data, error}
  • “Tidak boleh ada hardcoded credentials di source code”

EVO (Evolution)

Keputusan tentang perubahan — migrasi, versioning, dan deprecation. “Bagaimana kita berevolusi?”

Contoh:

  • “Migrasi dari RabbitMQ ke Kafka selesai Q1 2026”
  • “API v1 deprecated, gunakan v2 mulai Maret 2026”

4 Aspect per Domain

Setiap domain memiliki 4 aspect:

AspectINTARCHCTLEVO
A01/A05/A09/A13VisionPatternStandardStrategy
A02/A06/A10/A14ScopeComponentComplianceMigration
A03/A07/A11/A15StakeholderIntegrationMonitoringVersioning
A04/A08/A12/A16SpecificationContractEnforcementDeprecation

Total: 16 kategori yang mencakup semua aspek keputusan arsitektur.

Decision Code Format

Setiap keputusan mendapat kode unik:

ARCH-A06-001-v1.0.0
│    │   │   │
│    │   │   └── Semantic version
│    │   └────── Sequence number
│    └────────── Aspect (A06 = Component)
└─────────────── Domain (Architecture)

Kode ini menjadi referensi permanen yang bisa digunakan di code comments, documentation, dan conversation:

# mantra:ARCH-A06-001 — Clean Architecture layers
class UserService:
    def __init__(self, repo: UserRepository):
        self.repo = repo

Kenapa 4×4, Bukan Lebih?

Taxonomi yang terlalu granular membuat klasifikasi sulit. Taxonomi yang terlalu kasar tidak berguna. 4×4 = 16 kategori memberikan keseimbangan:

  • Cukup spesifik untuk membedakan jenis keputusan
  • Cukup sederhana untuk diingat dan digunakan
  • Simetris — setiap domain punya jumlah aspect yang sama
  • Exhaustive — semua keputusan arsitektur bisa masuk salah satu kategori

Contoh Penggunaan

Tim Anda memutuskan: “Gunakan JWT RS256 untuk authentication.”

  1. Domain: ARCH (ini tentang struktur teknis)
  2. Aspect: A08 (Contract — tentang interface/protocol antar service)
  3. Sequence: 001 (keputusan pertama di kategori ini)
  4. Version: v1.0.0 (versi awal)
  5. Code: ARCH-A08-001-v1.0.0

Ketika nanti perlu evolusi (misalnya pindah ke Paseto), buat v2.0.0 yang supersedes v1.0.0.

Benefit untuk AI Retrieval

Taxonomi terstruktur membuat retrieval sangat akurat:

  • AI sedang coding authentication? → Otomatis retrieve semua ARCH-A08-* decisions
  • AI review security policy? → Otomatis retrieve semua CTL-A09-* decisions
  • Engineer bertanya tentang migrasi? → Otomatis retrieve semua EVO-A14-* decisions

Tanpa taxonomi, retrieval hanya mengandalkan keyword matching yang sering miss.

Mulai Klasifikasikan

MANTRA menyediakan taxonomi lengkap via mantra_get_taxonomy MCP tool. Saat membuat keputusan, sistem akan membantu mengklasifikasikan ke domain dan aspect yang tepat.

16 kategori. Semua keputusan tercakup. Tidak ada yang terlewat.