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
Change comment: There is no comment for this version
To version 2.1
edited by Robert Schaub
on 2025/12/25 21:20
Change comment: There is no comment for this version

Summary

Details

Page properties
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 -* **Vercel AI SDK**
33 -** Role: LLM abstraction layer
34 -** Reason: OpenAI-first, Claude-ready, clean provider switching
32 +* 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 → Beta Transition ==
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 Apps
78 +** .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 -* Microservices split
67 -* Complex queue systems
85 +* 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