Developer docs
Reference

Glossary

The words this codebase uses, and what they mean here specifically.

docs/GLOSSARY.md

Words this codebase uses, and what they mean here — several of them are used loosely elsewhere.

TermHere it means
AEOAnswer Engine Optimisation. Being the source an AI assistant cites, which is a different target from ranking in a list of links. Measured by citation rate across a fixed prompt panel, not by position.
Agent runOne execution by an AI agent: what was asked, what it proposed, what it cost, and who decided. Both the execution record and the approval-queue entry — deliberately one row, because a proposal without its provenance is what gets rubber-stamped.
Approval gateThe rule that nothing reaches a third-party platform without a recorded approval. Implemented as a state machine with no edge from running to applied.
ChannelOne marketing surface: SEO, AEO, paid search, paid social, organic social, email, WhatsApp, content, influencer, affiliate, PR, events. A database enum, not free text.
Contract@verjson/contracts. The zod schemas both apps import. A breaking change fails typecheck in both, which is the whole reason it exists.
DeployableSomething that ships as its own container: @verjson/api and @verjson/web. The worker is a third process from the API's image, not a third deployable.
FindingOne thing worth fixing, from a site audit (AuditFinding) or a security review (S-### in the register). Audit findings are re-derived every run; security findings are never deleted.
Internal roleowner, admin or member. Sees every project in the organization. Contrast with an external role, which sees only projects it is a member of.
Marketing mixWhich channels a project actually invests in. A budget may only exist for a declared channel.
Minor unitsInteger cents/paise. Money is never a float anywhere in this system — API, database, or contract.
OrganizationThe tenant. Every query is filtered by it, without exception.
ProjectThe top-level unit of work. Budgets, campaigns, calendar entries, KPIs and agency assignments all hang off one.
Project membershipA ProjectMember row. For an external role this is the access — no row, no project, and it 404s.
ProposalWhat an agent run wants to do, held on the run until a human decides. Never applied by the thing that produced it.
Scope filterThe where clause that bounds a query to what the caller may see. Built in the data-access layer so there is no unscoped alternative to forget.
Terminal statusA run state nothing leaves: applied, rejected, failed, cancelled.
TrackOrganic, paid, or influencer. One calendar, three tracks, different approval rules.
Verified emailAn address the identity provider vouches for. Account linking requires one; an unverified address creates a new account instead.