Changes for page Tools Decisions
Last modified by Robert Schaub on 2026/02/08 08:12
From version 1.1
edited by Robert Schaub
on 2025/12/25 20:31
on 2025/12/25 20:31
Change comment:
There is no comment for this version
To version 2.4
edited by Robert Schaub
on 2026/02/08 08:12
on 2026/02/08 08:12
Change comment:
Update document after refactoring.
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 -FactHarbor.Roadmap.WebHome 1 +Archive.FactHarbor 2026\.01\.20.Roadmap.Development Guidance.WebHome - Content
-
... ... @@ -1,70 +1,89 @@ 1 1 = Tools Decisions = 2 2 3 3 == Purpose == 4 -This page documents the **deliberate tool choices** for FactHarbor POC → Beta. 5 -The goal is **low friction now**, **no rewrites later**, and **clear upgrade paths**. 6 6 5 +This page documents the deliberate tool choices for FactHarbor from **POC1 to Beta**. The guiding principles are: 6 + 7 +* minimal setup and cognitive load for POC1 8 +* no rewrites when moving to Beta 9 +* clear, incremental upgrade paths 10 + 7 7 ---- 8 8 9 9 == Phase 1 — POC1 (Local, Low Infrastructure) == 10 10 11 -=== Core Principles === 12 -* Minimize setup and cognitive load 13 -* Avoid infrastructure that is not strictly required 14 -* Keep architecture identical to Beta where possible 15 +=== Principles === 15 15 16 -=== Selected Tools === 17 +* Local-first development 18 +* No mandatory container or cloud infrastructure 19 +* Same architectural shape as later phases 17 17 18 -==== Backend ==== 19 -* **ASP.NET Core (.NET 8)** 20 -** Role: system of record (jobs, status, results, events) 21 -** Reason: strong typing, long-term maintainability, C# expertise 21 +=== Backend === 22 22 23 -* **SQLite (EF Core provider)** 24 -** Role: local persistence 25 -** Reason: zero setup, file-based, easy Postgres transition 23 +* ((( 24 +**ASP.NET Core (.NET 8)** 26 26 27 -==== Frontend & Orchestration ==== 28 -* **Next.js (TypeScript)** 29 -** Role: UI + AI orchestration 30 -** Reason: fast iteration, strong ecosystem, good AI SDK support 26 +* Role: system of record (jobs, status, results, events) 27 +* Reason: strong typing, long-term stability, C# expertise 28 +))) 29 +* ((( 30 +**SQLite (EF Core provider)** 31 31 32 -* **VercelAI SDK**33 -* *Role:LLMabstractionlayer34 - ** Reason: OpenAI-first, Claude-ready, clean provider switching32 +* Role: local persistence 33 +* Reason: zero setup, file-based, smooth transition to PostgreSQL 34 +))) 35 35 36 -==== AI Providers ==== 37 -* **OpenAI (default)** 38 -* **Anthropic (optional / later)** 39 -** Selection via environment variables 36 +=== Frontend & Orchestration === 40 40 41 -==== Editors ==== 42 -* **Visual Studio 2022** — primary for .NET API 43 -* **Cursor or VS Code** — primary for Next.js / TypeScript 38 +* ((( 39 +**Next.js (TypeScript)** 44 44 41 +* Role: UI and AI orchestration 42 +* Reason: fast iteration, strong ecosystem, good AI tooling 43 +))) 44 +* ((( 45 +**Vercel AI SDK** 46 + 47 +* Role: LLM abstraction 48 +* Reason: OpenAI-first, Claude-ready, provider switching without rewrites 49 +))) 50 + 51 +=== AI Providers === 52 + 53 +* OpenAI (default) 54 +* Anthropic (optional, later) 55 + 56 +=== Editors === 57 + 58 +* Visual Studio 2022 — primary for .NET API 59 +* Cursor or VS Code — primary for Next.js / TypeScript 60 + 45 45 ---- 46 46 47 -== Phase 2 — POC → BetaTransition ==63 +== Phase 2 — Transition to Beta == 48 48 49 49 === Changes (No Rewrite) === 50 -* SQLite → PostgreSQL (EF Core provider switch) 51 -* Local run → hosted environments 66 + 67 +* SQLite → PostgreSQL 68 +* Local execution → hosted environments 52 52 * Add authentication, quotas, persistence hardening 53 53 54 54 === Additional Tools Introduced === 55 -* **Docker** (optional, for DB parity) 56 -* **Managed Postgres** 57 -* **CI (GitHub Actions)** 58 -* **Hosting** 72 + 73 +* Docker (optional, mainly for DB parity) 74 +* Managed PostgreSQL 75 +* GitHub Actions (CI) 76 +* Hosting: 59 59 ** Next.js → Vercel 60 -** .NET API → Azure App Service /Container Apps78 +** .NET API → Azure App Service or Container Apps 61 61 62 62 ---- 63 63 64 -== Non-Goals (Explicitly Deferred) == 82 +== Explicitly Deferred == 83 + 65 65 * Kubernetes 66 -* Microservice ssplit67 -* Complex queue systems85 +* Microservice decomposition 86 +* Complex distributed queues 68 68 * Multi-region deployment 69 69 70 70 These are intentionally deferred to reduce early risk. ... ... @@ -71,8 +71,8 @@ 71 71 72 72 ---- 73 73 74 -== Key Decision Summary == 93 +== Summary == 94 + 75 75 * Architecture is stable from POC1 onward 76 76 * Infrastructure is phased, not front-loaded 77 -* Tooling choices prioritize clarity over novelty 78 - 97 +* Tool choices prioritize clarity and durability over novelty