♾️ WeOwnNet 🌐 | [💡 POC — Baserow.io — #StartWithWhy — v5.42.4-r1]

[🆔 REF: GTM_2026-W42_4005 | #masterCCC GTM_2026-W42_4003](https://git.weown.tools/WeOwnSeason005/pocs/src/branch/main/Baserow.md)
— 🎯 Landing @GTM directive e10c2a5e (2026-10-15T10:33:12Z, 💡︱POC︱🔵︱5️⃣︱4️⃣1️⃣️︱🗃️︱Baserow.io): NEW FILE Baserow.md on WeOwnSeason005/pocs · BP-075 footer of 🌾 DRAFT v0.1 pasted by @GTM verbatim — #HITL evidence carried in @GTM's OWN footer stamp `| #HITL by @yonks at 04:28 EDT on 15Oct2026` (stamp quoted verbatim from his paste; pre-applied to the landing copy inside the footer brackets → post-boundary, hash-neutral, canary UNCHANGED)
— 📜 Document: CHANNEL_POC_Baserow v5.42.4-r1 (Google OKF v0.2 · WeOwnVer S5·W42·D4 · upstream Baserow 2.4.1) — #StartWithWhy POC brief unpacking why we POC Baserow and why it maps to #ResponsibleAgenticAI; W1/W2/W3 carried in §1 · review charter §8 (question · T1–T6 · S1–S5 · E1–E4) · scoped negatives §7 · drafted by AI:🌾 CCC-MAIT-S004-GTM-MiMo (drafter-minted footer; relay signer 10135bbd == 🌾), landed event 6f3d442d 2026-10-15T09:40:25Z
— 🔒 BP-075: 97f8a5a507c522fad0f7dc57c50d3875de407c19984b65a8625644d4771dd72d — ✅ CANONICAL --verify rc=0 reproduced by this staging (bp075_canonical_v2 · 23,723 ch / 3,711 w / 313 L) and independently by 🐳 073c2b5b · 🐝 05312c91 (containment idx 2008) · 🚀 91ff5f75; whole-file pre-stamp 24,799 B sha256 3a2e9af6…0b63 → post-stamp 24,843 B sha256 4afb4c05…3853b3 (+44 B all-ASCII, post-boundary, hash-neutral — canary 97f8a5a5 UNCHANGED both sides)
— 🔵 [2] REVIEW record on canary 97f8a5a5: MC-BA-CCC-META 072f1d8d · 🐳 SEAT 1 073c2b5b · 💻 SEAT 2 2a707ae3→amend cad10da6 · 🚀 SEAT 6 91ff5f75 = 🔵 CONDITIONAL PASS each, 0 gate FAIL (the round's lone ⚪ FAIL on Kuma L203 was retracted by its own author — packaging-claim vs runtime-claim); 🛡️ SEAT 3 (this staging seat) did NOT score — held [1.2] backup lane; 🟩 SEAT 4 no verdict on the wire (D-468: absent ≠ pass)
— 🧹 Deliberately NOT folded (on record — owner-accepted-blob AS-IS, README 9d5e5879 precedent): MF-A doc cites `GTM_2026-W` ×0 (fold = anchor `GTM_2026-W42_4003`) · MF-B upstream list receipts lack `?per_page=3` (GitHub 34,569 B + GitLab 2,404 B reproduce byte-exact AT that param — 3-seat pin) · N2 Kuma off-state additive (`kuma.is_enabled:false`) · N3 frontmatter `generated.at 09:55:00Z` postdates landing 09:40:25Z · N4 tighten "No instance deployed" (settings API answered HTTP 200; signups off) · N5 dangling "§6.3" pointer · **W4 fold = RULING OPEN** (@GTM #COMMS:LOG 6a0e7a37; no ruling on record this thread) · P0 re-baseline W41→W42 D4 (doc §9-5) · folds later = NEW draft revision + NEW canary + THIS commit message re-mint, never silent
— 🚦 Landing battery: `pocs/raw/branch/main/Baserow.md` HTTP 404 pre-landing + repo live (raw README.md HTTP 200, this session) · stamped landing footer == @GTM-pasted footer byte-identical (this staging) · relay 6f3d442d contains the disk bytes (containment idx 2008 · 🐳/🐝/🚀, plus my verify rc=0) · ⛔ Stage ≠ Push — lands main via @GTM:ADMIN only (#127)
— 🧾 CCC-ID: leader line carries BOTH mints per the landed PRJ-541 window (e6d55d17 L3 `[🆔 REF: GTM_2026-W41_4010 | #masterCCC GTM_2026-W41_4008]` · its CCCID cell names 4010 the commit-message-lane mint, in REF) — REF slot = `GTM_2026-W42_4005` (this message's work-item mint, 🐳 2026-10-15T10:36:33Z, R-194) · #masterCCC = `GTM_2026-W42_4003` (CREATE mint, 9afe09ab) — two anchors, two jobs, not collapsed

## @yonks:ADMIN Changes (Human Review — #HITL stamp on @GTM's pasted BP-075 footer @ 04:28 EDT 15Oct2026 · commit-message directive e10c2a5e @ 2026-10-15T10:33:12Z)
- VERSION: v5.42.4-r1 — 💡 POC — Baserow.io — #StartWithWhy (Google OKF v0.2 · WeOwnVer S5·W42·D4 · upstream Baserow 2.4.1)
- FILE: Baserow.md (NEW — @GTM directive "filename = Baserow" + .md extension for Gitea raw render)
- SOT: https://git.weown.tools/WeOwnSeason005/pocs/src/branch/main/Baserow.md (post-push; raw HTTP 404 pre-landing)
- REPO: WeOwnSeason005 / pocs (raw README.md HTTP 200 this session)
- FOLDER: / (root)
- AUTHOR: doc = AI:🌾 CCC-MAIT-S004-GTM-MiMo (drafter-minted footer, signer 10135bbd) · compilation yonks (CCC-ID: @GTM | Gitea: @yonks) · stamped landing copy + commit message = AI:🛡️ CCC-MAIT-S004-GTM-GLM (bc385d5e, SEAT 3) per @GTM e10c2a5e · push = @GTM:ADMIN (Jason Younker) only
- SUBJECT: Baserow.io POC #StartWithWhy — why this POC and why it matters for #ResponsibleAgenticAI
- HASH: 97f8a5a507c522fad0f7dc57c50d3875de407c19984b65a8625644d4771dd72d — ✅ CANONICAL (--verify rc=0 pre- AND post-stamp) · CHARS 23723 | WORDS 3711 | LINES 313 — canary UNCHANGED across the +44 B HITL stamp
- STAGE: landing source = OUTBOX/CHANNEL_POC_Baserow_v5.42.4-r1_LANDING_STAMPED.md (24,843 B · sha256 4afb4c05a5aee4263c9a107a4f2d39033459603d4026ca42f4022097993853b3 · canary 97f8a5a5) · pen draft OUTBOX/CHANNEL_POC_Baserow_v5.42.4-r1.md left UNTOUCHED (24,799 B · 3a2e9af6…0b63)
- LANE-CCC-ID: REF slot = GTM_2026-W42_4005 (work-item mint, 🐳 10:36:33Z, R-194) · #masterCCC = GTM_2026-W42_4003 (create mint, 9afe09ab — doc anchor) — landed-PRJ-541 slot mapping (e6d55d17)
- TRAILERS (on push): Co-authored-by: Jason Younker <3+yonks@noreply.git.weown.tools> · Signed-off-by: Jason Younker <3+yonks@noreply.git.weown.tools>
- OPEN @GTM RULINGS at staging: W4 fold in/out of §1 · P0 re-baseline W41→W42 D4 (panel, 🐳 4004) · filename case ("Baserow" literal stands; BASEROW.md = S005 house style alternative — 🐳 4005 §2) · HITL-stamp clock (04:28 EDT precedes the pinned bytes ~1h10m; EDT→MDT slip reading vs re-cut — 🐳 4005 §3; stamp carried VERBATIM from @GTM's paste meanwhile) — folding any = one-line edit and/or NEW canary + re-mint of this message (@GTM only)

#FlowsBros #FedArch #WeOwnSeason005 #CCC #CCCMait #POC #Baserow #StartWithWhy #ResponsibleAgenticAI #ZeroTo100 #BuildThePIPELINE #GoogleOKF #OKFv02 #BP075 #TMPL007 #CCCbuzzAgent #CCC-MAIT-S004-GTM-GLM #CCC-MAIT-SQUAD #Seat3 #GLM #GLM53Flash #Zai #FELG #Core6 #HITL #R011 #R194 #StageNeverPush #v5.42.4-r1

tagline: "💡 POC Baserow.io v5.42.4-r1 (#StartWithWhy) — canary 97f8a5a5 — @GTM:ADMIN push only."

**♾️ WeOwnNet 🌐 [DUNA][.OCA] Ecosystem** ● 🏡 Real Estate and 🤝 cooperative ownership for everyone ● An 🤗 inclusive community, *by 👥 invitation only*.
This commit is contained in:
2026-10-15 10:51:19 +00:00
parent 1461e2fad0
commit d35a50c671
+325
View File
@@ -0,0 +1,325 @@
---
type: Channel
title: "💡︱POC︱🔵︱5️⃣︱4️⃣1️⃣︱🗃️︱Baserow.io — POC (Proof Of Concept) for Baserow.io — #StartWithWhy"
description: "<CHANNEL_NAME>:<💡︱POC︱🔵︱5️⃣︱4️⃣1️⃣︱🗃️︱Baserow.io> | POC (Proof Of Concept) for Baserow.io | Home Page: https://Baserow.io/ | #devTEAM SME = @PLT | Candidate THIRD #SharedBrain pillar for WeOwn.Cloud #HybridArchitecture — #ResponsibleAgenticAI"
tags: [poc, proofofconcept, baserow, baserowio, sharedbrain, hybridarchitecture, responsibleagenticai, startwithwhy, weownseason005, mcp, doks, zero-to-100, build-the-pipeline, plt, open-core, no-code-database]
status: active
created: 2026-10-15
version: "v5.42.4-r1"
weownver: "v5.42.4-r1"
okf: "v0.2"
resource: "https://baserow.io/"
channel_id: "c34d487c-3bbd-4039-8618-4b6d21c2beea"
generated:
by: "AI:🌾 CCC-MAIT-S004-GTM-MiMo (Xiaomi MiMo-V2.6-Pro) — lane [1.1] per @GTM directive 6c59a9c8 (2026-10-15T09:26:50Z)"
at: "2026-10-15T09:55:00Z"
sources:
- id: directive
resource: "Buzz event 6c59a9c867cea5dba276d977c962b632abd3f802eb1c9f76457d8da614a1cce4 (@GTM, 2026-10-15T09:26:50Z, channel c34d487c)"
note: "Lane [1.1]: create POC for Baserow v5.42.4-r1 DOCUMENT unpacking #StartWithWhy → receive REVIEW feedback → finalize."
- id: origin-signal
resource: "Buzz event aab18e9f275845638adf1842a42ba6c427477841107c7bfde596a01e5329cd82 (@GTM, 2026-09-30T13:53:29Z) — relay of Signal 14:28 EDT 29Sep2026"
note: "THE ORIGIN — the three-part why, quoted verbatim in §1."
- id: review-contract
resource: "RESEARCH/BASEROW_POC_STARTWITHWHY_GROUND_TRUTH_AND_REVIEW_CONTRACT_W42D4_FEDARCHBUZZ.md (🐝 LEARN+ORCHESTRATE, 2026-10-15T09:30–09:48Z)"
note: "Frozen WHY corpus + consolidated G1–G10 rubric. This draft is written against that bar."
- id: deployment-learn
resource: "RESEARCH/BASEROW_POC_DEPLOYMENT_LEARN_W40D3.md (🐝, 2026-09-30) — chart, supply chain, MinIO, licence mix"
- id: chart-region-learn
resource: "RESEARCH/BASEROW_POC_CHART_110_AND_REGION_MATRIX_LEARN_W40D7.md (🐝, 2026-10-05) — chart 1.1.0, bitnamilegacy, ATL1/MEM1 matrix"
- id: domain-learn
resource: "RESEARCH/BASEROW_POC_DOMAIN_DECISION_WEOWNTOOLS_LEARN_W41D1.md (🐝, 2026-10-05) — baserow.weown.tools zone decision"
- id: freetier-learn
resource: "RESEARCH/BASEROW_FREE_TIER_VALUE_LEARN_W41D3.md (🐝, 2026-10-07) — 76-row pricing grid + source package split"
- id: pivot-learn
resource: "RESEARCH/BASEROW_KANBAN_HERMES_PLANE_POCLIST_LEARN_W41D3.md (🐝, 2026-10-07) — Kanban→Hermes · plane.so→#POCList · AOP.biz no-SSO"
- id: smtp-learn
resource: "RESEARCH/BASEROW_SMTP_PROTON_INTERIM_SENDGRID_TARGET_LEARN_W41D4.md (🐝, 2026-10-08) — Proton interim / Twilio target posture"
- id: own-upstream-pull
resource: "GitLab tags API + GitHub releases API — own pull 2026-10-15T09:31:28Z"
note: "gitlab tags 200 · 2,404 B · sha256 f4af549e1d7cd13b5501757001185155327986c1dee79a7c3ebcc857ebe8302f · newest 2.4.1 (commit created_at 2026-10-13T17:10:59+02:00). github releases 200 · 34,569 B · sha256 2f153eaeab9a08220d323895bab8217119e2247c6f280d29ed7bad0a91f49dee · 2.4.1 published 2026-10-13T15:39:27Z."
- id: live-channel
resource: "buzz channels get + channels members --channel c34d487c-3bbd-4039-8618-4b6d21c2beea — own read 2026-10-15T09:52Z"
note: "22 members = 1 owner + 4 human members + 17 bots."
---
# 💡︱POC︱🔵︱5️⃣︱4️⃣1️⃣︱🗃️︱Baserow.io — POC v5.42.4-r1
> **#StartWithWhy** — Why we are running a POC for Baserow.io, why Baserow is the candidate, and why it matters for **#ResponsibleAgenticAI + Build the PIPELINE + #ZeroTo100**.
>
> **Version `v5.42.4-r1` = the DOCUMENT stamp (WeOwnVer `v{S}.{W}.{D}-r{REV}` — S005 · W42 · D4).** It is **not** a Baserow product release. The upstream product pin is stated in §5.1 and nothing in this doc claims otherwise.
---
## 1 — #StartWithWhy — the ORIGIN, verbatim
The why already exists in @GTM's own words (Signal 14:28 EDT 29Sep2026, relayed to this channel as `aab18e9f`, 2026-09-30T13:53:29Z). Quoted, not paraphrased:
> ```
> @[♾️] @PLT (Dilonne Muchingami) | Please #FastTrack deployment of Baserow.io as a POC for WeOwn.Dev ... we will use sub-domain Baserow.WeOwn.app
>
> I want this deployed in the NEW v5 DOKS that @[♾️] @SHD (Shahid) deployed in ATL1 / MEM1 #DigitalOcean data centers. This will also be a great time to do #PeerReview of his deployment.
>
> Baserow will likely be THIRD #SharedBrain PILLAR for our WeOwn.Cloud #HybridArchitecture for #ResponsibleAgenticAI
> 1) Supabase (Database / OAuth)
> 2) ownCloud (Cloud File Storage)
> 3) Baserow (Database with great UX/UI for non-techies)
>
> I have created a NEW POC CHANNEL within FELG.WeOwn.Buzz to drive our execution strategy.
> ```
**Three separable whys — kept apart, per the review contract:**
| # | Why | Verbatim anchor |
|:-:|:--|:--|
| **W1** | **Fast-track a POC for WeOwn.Dev** — an evaluation, not a purchase, not an adoption | *"Please #FastTrack deployment … as a POC for WeOwn.Dev"* |
| **W2** | **#PeerReview of @SHD's NEW v5 DOKS cluster** — the POC is the first real workload on the new ATL1/MEM1 deployment | *"This will also be a great time to do #PeerReview of his deployment"* |
| **W3** | **Candidate pillar ③ of the #SharedBrain** — under `WeOwn.Cloud` #HybridArchitecture, for **#ResponsibleAgenticAI** | the numbered 3-pillar list |
> ⚠️ **W2 is the why easiest to drop.** It is a second deliverable riding the same deployment. This doc carries it (§6.3); a POC report that covers only W1+W3 is incomplete.
---
## 2 — WHY a POC at all (and why now)
**The thing under test is not "does Baserow have features."** It is: **can WE run it in OUR data plane, and does the free tier carry OUR responsibilities.** Neither question is answerable from a pricing page. Both are load-bearing because the target is a **cooperative that must own its own data**.
| Test | Question | Why it can only be answered by a POC |
|:--|:--|:--|
| **A — our data plane** | Does the pinned chart run on the v5 DOKS (ATL1 / MEM1) inside our DNS, TLS, object-store and email posture? | ATL1 and MEM1 are **not interchangeable** (W38 D5, re-confirmed W40 D7): Spaces/Registry/Managed PostgreSQL exist at **ATL1** and are **absent at MEM1**; Volumes · NFS · LB · VPC-peering exist at both. Region choice changes the architecture. |
| **B — the free-tier ceiling** | Does "Always Free" carry what a #ResponsibleAgenticAI data pillar actually needs? | Unlimited data is genuinely free; **the governance layer is not** (§4). That tension can only be measured against real co-op workloads, not a compare grid. |
**Why now — and an honest scheduling fact.** The channel description carries, verbatim: *"STATUS UPDATE {04Oct2026} - This is @PLT P0 Priority to implement 1st week of #WeOwnSeason005 {2026-W41}"*. Today is **W42 D4** ⇒ the item is **past its own stated week** while still P0. Stated, not swept.
---
## 3 — WHY Baserow (vs the audited alternatives)
**The gap it fills is NOT "a database."** Supabase is already the co-op's Postgres/DB-OAuth pillar. The gap named at origin is narrower and human:
> **"Database with great UX/UI for non-techies"** — @GTM, verbatim.
Division of labour across the three pillars: **① Supabase = the builder's DB/OAuth spine · ② ownCloud = files · ③ Baserow = the surface a non-technical owner/co-op member can actually operate.**
### 3.1 Why Baserow specifically — the honest case
| # | Reason | Receipt |
|:-:|:--|:--|
| 1 | **Named at origin** as the pillar-③ candidate for exactly the non-techie-UX gap | `aab18e9f` (§1) |
| 2 | **MIT Expat core** — permissive, no licence paywall on the code we self-host | `LICENSE` read (W40 D3, 2,092 B) · only `premium/` + `enterprise/` are separately licensed |
| 3 | **The agent seam is in CORE** — MCP server ships free, so an agent-addressable DB survives the paywall | source tree `backend/src/baserow/core/mcp/` (W41 D3) · MCP doc §5.1 |
| 4 | **First-party Helm chart bundles the stack** (PostgreSQL · Redis · MinIO · Caddy) — one packaging path onto our DOKS | chart **1.1.1** / appVersion **2.4.1** (§5.1) |
| 5 | **Already half-wired**: domain decision, DNS posture, SMTP interim path all settled in this channel | W41 D1 · W41 D4 (§6) |
### 3.2 Why not one of the alternatives (licence floor only — no runtime test)
The alternatives scan (W41 D3, own GitHub/LICENSE reads) verified **licence + liveness only**. None has been runtime-tested; the same free-tier feature-gating question must be checked per candidate before any adoption.
| Project | Licence (own read) | vs Baserow |
|:--|:--|:--|
| `gristlabs/grist-core` | **Apache-2.0** (clean) | different product shape (spreadsheet-Python, not Airtable-parity) |
| `appsmithorg/appsmith` | **Apache-2.0** (clean) | internal-tools builder, not the named UX gap |
| `teableio/teable` | **AGPL-3.0** + MIT packages | closer shape; no origin mandate |
| `Budibase/budibase` | GPLv3 overall, **BSL** for `/packages/pro` | paid tier under BSL |
| `nocodb/nocodb` | **Sustainable Use License — NOT OSI** | licence-paywalled shape |
| `directus/directus` | **MSCL-1.0-GPL — NOT OSI** | licence-paywalled shape |
| `makeplane/plane` (CE) | **AGPL-3.0** (OSI) | Kanban free in CE, but **12-seat cap** + SSO/RBAC tiered → moved to **#POCList** (`8b3b5f7c`) |
⇒ *"Open source no-code DB"* is **not a licence guarantee** — two of the biggest names have left OSI. Baserow's core stays MIT; its extraction is a **runtime** paywall, which is a different shape from a **licence** paywall (and the shape @GTM matched to n8n — §4.2).
---
## 4 — WHY it matters for #ResponsibleAgenticAI
This is the core of the ask. The link is argued by **mechanism**, not asserted.
### 4.1 The agent seam is NOT paywalled
Baserow ships an **MCP server in the CORE package** (`backend/src/baserow/core/mcp/` + `contrib/database/mcp/`, W41 D3 source-tree read; doc live at `baserow.io/user-docs/mcp-server`, §5.1). Free tier ⇒ agents can list/create/update/delete rows conversationally against the free edition.
| MCP capability (doc verbatim) | |
|:--|:--|
| Create rows · Delete rows · Get table schema · List databases · List table rows · List tables · Update rows | clients: any MCP-spec client (Claude Desktop · Cursor · Windsurf …) |
### 4.2 Baserow's MCP design independently encodes our #ResponsibleAgenticAI pattern
From the MCP doc's own Security best practices + FAQ (§5.1 receipt):
- one **unique URL per endpoint** = a credential scoped to a workspace; *"Treat this URL as a password."*
- *"Create separate endpoints for different use cases"* · *"Use descriptive endpoint names to track usage"*
- *"Each team member must generate their own unique MCP endpoint"* — no shared endpoints
- multiple endpoints per workspace, each with **independent access controls**
- **revocation = delete the endpoint; the old URL stops working**
⇒ **least-privilege · per-use-case credential · attributable · revocable.** The same enforcement shape this ecosystem already applies (per-agent keys, revoke-not-rotate). Named as *convergent*, not as our requirement being met by accident.
### 4.3 Self-hosting the AI path = infrastructure sovereignty
`baserow-ai-security` (own pull, §5.1) carries a **Self-Hosted Environment** section: direct-to-provider connection · air-gapped & local AI (Ollama) · granular retention control · abuse monitoring · API key safety (*"infrastructure sovereignty"*); plus **BYOK architecture** and **no training on customer data** (their provider APIs).
⇒ For a co-op that must own its data: **BYOK + optional local model = the AI path can stay inside our boundary.**
### 4.4 ⚠️ The honest counterweights — the real tension of this POC
| # | Counterweight | Consequence |
|:-:|:--|:--|
| 1 | **MCP grants destructive power by default** — the capability list includes **Delete rows**; Baserow's own limitation text: AI interpretation is probabilistic, *"Always verify critical operations, especially bulk updates or deletions."* | An agent-addressable DB is an **agent-destructive** DB unless the governance layer is present |
| 2 | **The governance layer is `Advanced`, not free** — RBAC · field/view permissions · teams · **SSO (OAuth2/SAML)** · audit log all sit behind a licence | The part #ResponsibleAgenticAI most needs is exactly what "always free" removes |
| 3 | **§7.2 "no training" does not transfer to us** — those commitments describe **Baserow's own** provider APIs. Under **self-host + BYOK** the provider relationship is **ours** | Do not claim Baserow guarantees no-training for our self-hosted traffic; that becomes **our** contract with the provider |
| 4 | **No instance is deployed.** Every claim in this doc is a document/source/registry read | Nothing here is a runtime result (§7) |
**State the tension; do not resolve it in this revision.** Resolution is the POC's job (§8).
### 4.5 Build the PIPELINE + #ZeroTo100
| Thread | How this POC serves it |
|:--|:--|
| **Build the PIPELINE** | Pillar ③ completes the #SharedBrain data triangle (Supabase DB/OAuth · ownCloud files · **Baserow non-techie DB UX**), which the AOP.biz/WeOwn.Dev agent pipeline writes into. A POC de-risks one of the three legs before the pipeline depends on it. |
| **#ZeroTo100** | Zero → a verified, running, self-hosted Baserow on our DOKS with our DNS and our email posture — measured against the free-tier ceiling. The POC is the 0→1 leg; production hardening is the 1→100 leg, gated on the exit decision (§8.4). |
| **#ResponsibleAgenticAI** | The data pillar an agent can address (MCP, §4.1) **and** a human can operate (UX, §3) — with the governance cost of doing so honestly named (§4.4). |
---
## 5 — Verified facts (receipts)
### 5.1 Upstream pin — DOCUMENT version vs PRODUCT version
| Field | Value | Receipt |
|:--|:--|:--|
| **This document** | `v5.42.4-r1` = WeOwnVer (S005 · W42 · D4 · r1) | `GUIDES/WEOWNVER_DAILY_ROUTINE.md` slot legend |
| **Upstream product** | **Baserow `2.4.1`** | GitLab tags (own pull 09:31:28Z): newest `2.4.1`, commit created_at `2026-10-13T17:10:59+02:00` · sha256 `f4af549e…302f` |
| **Helm chart** | **`1.1.1`** / appVersion **`2.4.1`** · index generated `2026-10-13T15:25:39Z` | 🐝 pull 09:28Z (`d3c6fbf7…7e98`) · corroborated by GitHub releases `2.4.1` published `2026-10-13T15:39:27Z` (own pull, sha `2f153eae…dee`) |
| Running version on `baserow.weown.tools` | **not probed** | scoped negative (§7) |
⚠️ Treating `5.42.4` as a Baserow release is a **fail** — it is the document stamp only.
### 5.2 What "Always Free" actually gives (W41 D3, pricing grid + source split)
| ✅ INCLUDED (free, self-host) | ⛔ GATED |
|:--|:--|
| Unlimited DBs · rows · storage · row-change history · **automation credits** · **no self-host rate limit** · **unlimited users** | **Premium**: Kanban · Survey · Calendar · Timeline · personal views · AI field · row comments/coloring |
| Views: **Grid · Form · Gallery** · custom dashboards · public sharing | **Advanced**: **RBAC** · field/view permissions · teams · **SSO (OAuth2/SAML)** · audit log · data sync |
| 2FA · snapshots · CSV/Excel/XML/JSON import · 20+ field types | **Enterprise**: co-branding · data scanner · secure file serving · custom scripts |
| **MCP server · Kuma AI · AI agent node (all CORE)** | — |
Vendor FAQ verbatim: *"The self-hosted version will never have row, storage, or API request limitations. It will always be unlimited and free."*
⇒ **What "always free" removes is exactly the governance layer (SSO/RBAC/audit) plus view variety.** For a #ResponsibleAgenticAI DB, governance is the part we would most likely want. **This is a cost of the free tier, stated, not resolved (G8).**
### 5.3 The open-core / n8n tension (named, not minimized)
@PLT (`4329065b`, 2026-10-07): *"Baserow's self-hosted open-source edition paywalls SSO and Kanban and some other stuff such as role-based access control (RBAC) … With our anti-extractive SaaS model we probably need to rethink Baserow."* — **verified true**: Kanban lives entirely in `premium/` (zero Kanban code in core); SSO/RBAC live in `enterprise/`, runtime-gated by licence key.
@GTM (`9be98eaa`): *"similar pricing model to n8n.io … I personally am MOST INTERESTED to see how much VALUE we can get out of the 'Always Free' open source tier."* — the n8n precedent (same open-core pattern ⇒ de-prioritized) is why **this is a POC with an exit decision, not an adoption**.
---
## 6 — Settled decisions folded (W40 D3 → W41 D4 — do not re-derive)
| # | Decision | State | Source |
|:-:|:--|:--|:--|
| 1 | **Domain = `baserow.weown.tools`** (Cloudflare `weown.tools` PRO zone) — supersedes origin's `Baserow.WeOwn.app` (DO DNS) | **decided** | GTM `9972eff6` (2026-10-05) · W41 D1 |
| 2 | **3 hostnames, DNS-only** — `baserow` (domain) · `api.baserow` (backendDomain) · `objects.baserow` (objectsDomain, gated on `minio.enabled`); proxying breaks the chart's DO-LB TLS-passthrough + Caddy ACME; records must resolve **before** `helm install` | **decided** | W41 D1 · chart recipe |
| 3 | **Kanban goal → 🪽 Hermes Agent**, NOT Premium Kanban | **decided** | GTM `8b3b5f7c` (2026-10-07) |
| 4 | **plane.so → #POCList (S005)** | **decided** | GTM `8b3b5f7c` |
| 5 | **AOP.biz will NOT use SSO** | **decided** | GTM `8b3b5f7c` |
| 6 | **"sign up" removed → invite-only** — *"we are the gatekeeper for every account"* | **directive — NOT verified done** | GTM `a3b4179b` |
| 7 | **SMTP: Proton interim → Twilio (SendGrid) target** — `weown.net` is already SendGrid-domain-authenticated (`s1/s2._domainkey` → `u111720651.wl152`), DMARC `p=quarantine` | **decided; wiring open** | GTM `cc34d339` (2026-10-08) · W41 D4 |
| 8 | **Chart pin `--version 1.1.1`** (app 2.4.1) — and the traps **persist** in 1.1.1: `bitnamilegacy/*` frozen images (ImagePullBackOff risk) + `mc anonymous set download` on the `baserow` bucket | **decided + traps named** | W40 D7 · 🐝 §5.2 |
| 9 | **Object store:** MinIO → **AIStor** rename; `minio/minio` archived; frozen image still pullable | **known constraint** | W40 D3 |
| 10 | **Region matrix:** ATL1 = full data plane (Spaces/Registry/Managed PG); **MEM1 = no Spaces / no Managed PG** ⇒ self-hosted PG + Redis + object store on Volumes/NFS | **architecture-shaping** | W38 D5 · W40 D7 |
| 11 | **SME = @PLT** · **P0** · stated window = S005 W41 (now past — §2) | **standing** | channel description |
| 12 | **Licence mix of the #SharedBrain stack:** Supabase Apache-2.0 · ownCloud **AGPL-3.0** · Baserow **MIT Expat** · MinIO **AGPL-3.0** — AGPL is already precedent via ownCloud | **known** | W40 D3 |
---
## 7 — Scoped negatives — what this doc does NOT claim
| ❌ Not claimed | Why |
|:--|:--|
| "The POC is deployed / running" | No instance deployed in any record; all results are document/source/registry reads |
| "Baserow guarantees no training on our data" | Their §7.2 covers **their** provider APIs; self-host + BYOK ⇒ the contract is **ours** (§4.4-3) |
| "The free tier is enough" | Enough for **data + agent access**; **not** enough for **governance** (RBAC/SSO/audit = Advanced) |
| "MCP is safe by default" | MCP includes **Delete rows**; Baserow's own guidance requires human verification of destructive ops |
| "ATL1 == MEM1" | Different data-plane feature sets; region choice changes the architecture |
| "Email works" | Proton is the **interim**, Twilio is the **target**; SMTP wiring + token mint are open items (§9) |
| "Sign-up is disabled" | A **directive** (`a3b4179b`), not a verified state |
| Any running-version claim for `baserow.weown.tools` | Not probed |
| Any byte count on a rolling page | Pricing/docs pages move between reads; cited by sha + clock |
| Any CCC-ID minted by this seat | CCC-ID = 🐳 lane (R-194); referenced only |
---
## 8 — POC charter — test plan, success criteria, exit decision
### 8.1 POC question
> **Can the Always-Free self-hosted Baserow OSE serve as #SharedBrain pillar ③ — a database a non-technical co-op member can operate AND an agent can responsibly address — running on our own v5 DOKS, inside our DNS/TLS/email posture, at a governance cost we accept?**
### 8.2 Test plan
| # | Test | Method | Answers |
|:-:|:--|:--|:--|
| T1 | **Deploy** | `helm install` pinned chart **1.1.1** on v5 DOKS (region per §6-10 decision) with `baserow.weown.tools` 3-hostname DNS-only recipe; decide BYO vs bundled (bitnamilegacy trap named) | W1 · Test A |
| T2 | **Peer review** | Review @SHD's v5 DOKS deployment as the host platform (origin W2) | **W2** |
| T3 | **Free-tier value** | Exercise Always Free against real co-op workloads for 2 weeks: databases, forms, dashboards, automations, portals | Test B · GTM's live question |
| T4 | **Agent seam** | Connect one MCP client per endpoint (per §4.2 credential discipline); run list/create/update against a scratch database; **verify destructive-op gating manually** | §4.1 · §4.4-1 |
| T5 | **Governance probe** | Attempt the collaboration patterns we actually need (read-only member, attributable edit history, invite flow) and record **exactly which fail behind Advanced** | §4.4-2 (the tension) |
| T6 | **Email posture** | Invite delivery through Proton interim; prepare Twilio target (DKIM already live) | §6-7 |
### 8.3 Success criteria
| # | Criterion | Measure |
|:-:|:--|:--|
| S1 | Runs on our DOKS | Pinned chart healthy at `baserow.weown.tools`, TLS via Caddy ACME, DNS-only |
| S2 | Non-techie operates it | @PLT (SME) + one co-op-level user complete a real task without SQL or a developer |
| S3 | Agent addresses it safely | MCP client CRUD against a scratch DB, with per-endpoint credentials + one documented revocation |
| S4 | Governance cost measured | T5 findings written up: every failed collaboration pattern named, with the licence row that gates it |
| S5 | Email delivers | Invite lands in inbox via Proton interim (target Twilio prepared) |
### 8.4 Exit decision (options — @GTM R-011 owns the pick)
| Option | When it wins |
|:--|:--|
| **E1 — ADOPT on Always Free** | T5 shows the governance gap is tolerable for POC-phase collaboration (invite-only + gatekeeper accounts cover it) |
| **E2 — ADOPT + buy Advanced** | RBAC/SSO/audit prove load-bearing and the per-user price is accepted against the anti-extractive posture |
| **E3 — REPLACE** | T3/T5 fail and an audited alternative (Grist/Appsmith/Teable/plane-CE) passes the same tests — note none is runtime-tested yet (§3.2) |
| **E4 — DROP pillar ③** | The non-techie UX gap is better served by staying on Supabase + ownCloud alone |
---
## 9 — Open items
| # | Item | Owner | State |
|:-:|:--|:--|:--|
| 1 | **R-011 on this POC doc** (review → finalize → accept) | @GTM | ⬜ open |
| 2 | **Deploy decision**: region (ATL1 vs MEM1) + bundled vs BYO object store | @GTM · @PLT · @SHD | ⬜ open |
| 3 | **Sign-up-off implementation** (directive `a3b4179b` → verified state) | @PLT | ⬜ open |
| 4 | **SMTP token mint** — Proton interim sender (`noreply@`/`baserow@weown.net`) + Twilio account alignment (`u111720651` vs `u112197143`) | @GTM · @PLT · @MWK | ⬜ open |
| 5 | **Re-baseline the P0 window** (stated W41; today W42 D4) | @GTM · @PLT | ⬜ open |
| 6 | **SOT path + target repo** for this doc (predecessors disagree: `WeOwnBuzz/s004 :: _CHANNELS_/` vs `WeOwnSeason005/pocs`) | @GTM | ⬜ ruling |
---
## 10 — Provenance & review status
| Field | Value |
|:--|:--|
| Drafter | 🌾 CCC-MAIT-S004-GTM-MiMo (Xiaomi MiMo-V2.6-Pro) — lane **[1.1]** |
| Backup pen | 🛡️ CCC-MAIT-S004-GTM-GLM — lane [1.2], activates only on declared unresolved errors |
| Review panel | 🐝 + MC-BA-CCC-META + CCC-GTM-CORE6 (🐳 💻 🛡️ 🟩 🚀) — bar = 🐝 contract G1–G10 |
| CCC-ID | 🐳 lane (R-194) — **this seat never mints** |
| Review state | **DRAFT v0.1 posted for REVIEW** — gate ② open |
| R-011 | ⛔ **NOT charged** (#127 — stage only) |
<!-- CONTENT-HASH-BOUNDARY -->
### ✅ BP-075 CANONICAL HASH — 🌾 DRAFT v0.1 [drafter-minted · bp075_canonical_v2 · stage-only, never push | #HITL by @yonks at 04:28 EDT on 15Oct2026]
Content-SHA256: 97f8a5a507c522fad0f7dc57c50d3875de407c19984b65a8625644d4771dd72d
FEDARCH-CANARY: 97f8a5a5
CHARACTERS: 23723
WORDS: 3711
LINES: 313
---
**♾️ WeOwnNet 🌐 [DUNA][.OCA] Ecosystem** ● 🏡 Real Estate and 🤝 cooperative ownership for everyone ● An 🤗 inclusive community, *by 👥 invitation only*.