Changes for page Tools Decisions
Last modified by Robert Schaub on 2026/02/08 08:12
From version 2.2
edited by Robert Schaub
on 2026/01/02 09:31
on 2026/01/02 09:31
Change comment:
Update document after refactoring.
To 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
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 -FactHarbor.Roadmap. Development Guidance.WebHome1 +FactHarbor.Roadmap.WebHome - Content
-
... ... @@ -1,89 +1,70 @@ 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**. 4 4 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 - 11 11 ---- 12 12 13 13 == Phase 1 — POC1 (Local, Low Infrastructure) == 14 14 15 -=== Principles === 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 16 16 17 -* Local-first development 18 -* No mandatory container or cloud infrastructure 19 -* Same architectural shape as later phases 16 +=== Selected Tools === 20 20 21 -=== Backend === 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 22 22 23 -* ((( 24 -**ASP.NET Core (.NET 8)** 23 +* **SQLite (EF Core provider)** 24 +** Role: local persistence 25 +** Reason: zero setup, file-based, easy Postgres transition 25 25 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)** 27 +==== Frontend & Orchestration ==== 28 +* **Next.js (TypeScript)** 29 +** Role: UI + AI orchestration 30 +** Reason: fast iteration, strong ecosystem, good AI SDK support 31 31 32 -* Role: local persistence33 -* R eason:zerosetup, file-based, smooth transitionto PostgreSQL34 - )))32 +* **Vercel AI SDK** 33 +** Role: LLM abstraction layer 34 +** Reason: OpenAI-first, Claude-ready, clean provider switching 35 35 36 -=== Frontend & Orchestration === 36 +==== AI Providers ==== 37 +* **OpenAI (default)** 38 +* **Anthropic (optional / later)** 39 +** Selection via environment variables 37 37 38 -* ((( 39 -**Next.js (TypeScript)** 41 +==== Editors ==== 42 +* **Visual Studio 2022** — primary for .NET API 43 +* **Cursor or VS Code** — primary for Next.js / TypeScript 40 40 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 - 61 61 ---- 62 62 63 -== Phase 2 — Transition to Beta==47 +== Phase 2 — POC → Beta Transition == 64 64 65 65 === Changes (No Rewrite) === 66 - 67 -* SQLite → PostgreSQL 68 -* Local execution → hosted environments 50 +* SQLite → PostgreSQL (EF Core provider switch) 51 +* Local run → hosted environments 69 69 * Add authentication, quotas, persistence hardening 70 70 71 71 === Additional Tools Introduced === 72 - 73 -* Docker (optional, mainly for DB parity) 74 -* Managed PostgreSQL 75 -* GitHub Actions (CI) 76 -* Hosting: 55 +* **Docker** (optional, for DB parity) 56 +* **Managed Postgres** 57 +* **CI (GitHub Actions)** 58 +* **Hosting** 77 77 ** Next.js → Vercel 78 -** .NET API → Azure App Service orContainer Apps60 +** .NET API → Azure App Service / Container Apps 79 79 80 80 ---- 81 81 82 -== Explicitly Deferred == 83 - 64 +== Non-Goals (Explicitly Deferred) == 84 84 * Kubernetes 85 -* Microservice decomposition86 -* Complex distributedqueues66 +* Microservices split 67 +* Complex queue systems 87 87 * Multi-region deployment 88 88 89 89 These are intentionally deferred to reduce early risk. ... ... @@ -90,8 +90,8 @@ 90 90 91 91 ---- 92 92 93 -== Summary == 94 - 74 +== Key Decision Summary == 95 95 * Architecture is stable from POC1 onward 96 96 * Infrastructure is phased, not front-loaded 97 -* Tool choices prioritize clarity and durability over novelty 77 +* Tooling choices prioritize clarity over novelty 78 +