Changes for page Tools Decisions

Last modified by Robert Schaub on 2026/02/08 08:12

From version 2.4
edited by Robert Schaub
on 2026/02/08 08:12
Change comment: Update document after refactoring.
To version 1.1
edited by Robert Schaub
on 2025/12/25 20:31
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -Archive.FactHarbor 2026\.01\.20.Roadmap.Development Guidance.WebHome
1 +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 persistence
33 -* Reason: zero setup, file-based, smooth transition to PostgreSQL
34 -)))
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 or Container Apps
60 +** .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 decomposition
86 -* Complex distributed queues
66 +* 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 +