Data model
The six tables behind Agimon, with their columns, defaults, and constraints. Everything the portfolio, the evidence, and the ledger read comes from here.
product
One product the company operates. Organization-scoped.
idULID primary key.
organization_idThe owning organization. Indexed.
nameRequired.
summaryOptional description.
stageLifecycle stage. Defaults to idea.
monthly_budget_minorMonthly budget in minor currency units. Defaults to 0.
currencyDefaults to USD.
postureHow the company is treating the product. Defaults to maintain.
archivedBoolean. Defaults to false.
created_at, updated_atTimestamps.
weekly_snapshot
One week of evidence for one product. Unique on product and week together.
idULID primary key.
product_idReferences product. Cascades on delete. Indexed.
week_startThe week covered. Unique per product.
submitted_atWhen the snapshot was submitted. Required.
created_at, updated_atTimestamps.
area_signal
One area of evidence inside a snapshot. Unique on snapshot and area together.
idULID primary key.
weekly_snapshot_idReferences weekly_snapshot. Cascades on delete.
areaOne of product, sales, or marketing. Unique per snapshot.
focus_textWhat the area was working toward.
current_valueObserved value for the week.
metric_name_snapshotKPI name as it stood that week.
target_value_snapshotTarget as it stood that week.
unit_snapshotUnit as it stood that week.
trendOne of up, down, or flat.
statusOne of populated, not_applicable, or missing. Defaults to populated.
noteFree text.
created_at, updated_atTimestamps.
metric_definition
The standing focus and KPI target for one area of one product. Unique on product and area together.
idULID primary key.
product_idReferences product. Cascades on delete.
areaOne of product, sales, or marketing. Unique per product.
focus_textThe standing focus for the area.
nameKPI name. Required.
target_valueTarget number. Nullable.
unitUnit of the target. Nullable.
created_at, updated_atTimestamps.
decision
The immutable company decision ledger. There is no status, draft, or approval column.
idULID primary key.
organization_idThe owning organization.
product_idNullable, and deliberately carries no foreign key, so the ledger stays readable regardless of product lifecycle.
typeOne of focus, budget, or metric. Required.
statementThe call itself. Required.
rationaleThe reasoning. Nullable.
effective_dateWhen the decision takes effect. Required.
review_dateOptional date to revisit the call.
changeJSON payload discriminated by kind, carrying the typed effect. Required.
supersedes_decision_idThe decision this one replaces, when it replaces one.
created_at, updated_atTimestamps.
mcp_mutation_receipt
Makes MCP write tools safe to retry. Unique on organization, tool name, and idempotency key together.
idULID primary key.
organization_idThe owning organization.
tool_nameThe write tool the receipt belongs to.
idempotency_keyThe key supplied by the caller. Unique per organization and tool.
request_hashHash of the request, so a reused key with different arguments is detectable.
resultJSON result of the original call, replayed on retry.
created_at, updated_atTimestamps.