Transform meetings page into context page with tabs

Add structured organization context with 5 markdown sections (Product, Architecture, Team, Processes, Customers) editable inline. Meetings are now a tab within the context page. Moved all GraphQL queries from hooks/graph/MeetingGraph.ts into colocated components following new best practices. Updated database schema, backend services, GraphQL resolvers, and MCP API to support the new context fields and structure.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2026-03-19 17:42:14 +01:00
parent c2a1843c67
commit a9ebeef0fa
25 changed files with 1156 additions and 380 deletions

View File

@@ -29,7 +29,11 @@ import (
type (
OrganizationContext struct {
OrganizationID gid.GID `db:"organization_id"`
Summary *string `db:"summary"`
Product *string `db:"product"`
Architecture *string `db:"architecture"`
Team *string `db:"team"`
Processes *string `db:"processes"`
Customers *string `db:"customers"`
CreatedAt time.Time `db:"created_at"`
UpdatedAt time.Time `db:"updated_at"`
}
@@ -44,7 +48,11 @@ func (oc *OrganizationContext) LoadByOrganizationID(
q := `
SELECT
organization_id,
summary,
product,
architecture,
team,
processes,
customers,
created_at,
updated_at
FROM
@@ -88,13 +96,21 @@ func (oc *OrganizationContext) Insert(
INSERT INTO organization_contexts (
organization_id,
tenant_id,
summary,
product,
architecture,
team,
processes,
customers,
created_at,
updated_at
) VALUES (
@organization_id,
@tenant_id,
@summary,
@product,
@architecture,
@team,
@processes,
@customers,
@created_at,
@updated_at
)
@@ -103,7 +119,11 @@ INSERT INTO organization_contexts (
args := pgx.StrictNamedArgs{
"organization_id": oc.OrganizationID,
"tenant_id": scope.GetTenantID(),
"summary": oc.Summary,
"product": oc.Product,
"architecture": oc.Architecture,
"team": oc.Team,
"processes": oc.Processes,
"customers": oc.Customers,
"created_at": oc.CreatedAt,
"updated_at": oc.UpdatedAt,
}
@@ -124,7 +144,11 @@ func (oc *OrganizationContext) Update(
q := `
UPDATE organization_contexts
SET
summary = @summary,
product = @product,
architecture = @architecture,
team = @team,
processes = @processes,
customers = @customers,
updated_at = @updated_at
WHERE
%s
@@ -135,7 +159,11 @@ WHERE
args := pgx.StrictNamedArgs{
"organization_id": oc.OrganizationID,
"summary": oc.Summary,
"product": oc.Product,
"architecture": oc.Architecture,
"team": oc.Team,
"processes": oc.Processes,
"customers": oc.Customers,
"updated_at": oc.UpdatedAt,
}