← back to the tree

GuideArch

Fuzzy multi-criteria decision analysis for software architecture, in three languages.

3 implementationsidentical to 1e-9v1.0.0

git clone --recurse-submodules https://github.com/thekaveh/GuideArch

Choosing between competing technology stacks is a multi-criteria decision made under uncertainty, and most teams make it on gut feel. GuideArch makes it rigorous. It models the decision space — the decisions, their alternatives, weighted quality properties, and the constraints that rule combinations out — and ranks the surviving candidate architectures with fuzzy TOPSIS. Beyond the ranking it reports which decisions actually move the outcome, through sensitivity analysis, and which constraints do the most eliminating. The same application ships three times over, in TypeScript, C#, and Python, each an idiomatic build held to one shared spec.

Highlights

  • Three implementations, one spec — TypeScript (Svelte 5 + Tauri 2), C# (Avalonia 12 on .NET), and Python (NiceGUI 3), kept honest by a shared conformance corpus rather than shared code
  • Fuzzy TOPSIS engine — a canonical, spec-documented pipeline with a fixed tie-break rule, implemented identically in all three languages
  • Numerically identical to 1e-9 — every implementation must reproduce the corpus’s expected scores within 1e-9 absolute, rankings exact, or the build fails
  • Decision-support analytics — critical-decision sensitivity and critical-constraint elimination counting sit alongside the ranked results, not in a separate report
  • One shared design system — an elevated dark theme and a fully retinted light theme, with the toolbar, dialogs, and results charts specified once and rendered by every flavor
  • Instant re-solve — every edit to a weight, alternative, or constraint re-ranks the candidates synchronously, with a full solve under 10 ms at sample scale
  • Bundled sample scenarios — two real decision models (10 decisions, 25 alternatives, 7 weighted properties apiece) load from the toolbar, each with a documented top-candidate score to check the engine against
  • Built on VMx — all three sit on the VMx MVVM framework, with numbered ADRs recording each non-obvious call

Stack & Architecture

A language-neutral spec — a JSON Schema for scenario files, algorithm reference cards, and a conformance corpus — is the source of truth, and each implementation is judged against it in its own test framework rather than against the others. A single monorepo version releases all three together, and VM-layer integration tests prove the MVVM separation without mounting any UI.


Status

v1.0.0 released and feature-complete across all three implementations, MIT licensed. Every release tag produces Tauri desktop installers, self-contained Avalonia binaries, a Python wheel and Docker image, and a static web bundle from the CI release workflow.