B2BEA.org Capability Map v1
internal prototype · canonical JSON + Dreamborn Forge HTML
internal generated
capability-map · supabase_json

B2BEA.org Capability Map v1

capability-map artifact · for B2BEA.org Rebuild · status approved

Planning Surface

Use this to decide what happens next.

Status

approved

open questions
  • What is the minimum production implementation for each V1 area without cutting core capability?
  • Which V1 capabilities can launch as admin-mediated workflows instead of full self-service UI?
  • Which workflows require Stripe, Sanity, HubSpot/CRM, Supabase-only, or a new service boundary?
  • What role/entitlement taxonomy supports all V1 surfaces without special cases?
  • Which capabilities require audit logs and notification side effects on day one?
  • Which current admin single-page workflows should become separate modules in the rebuild?
Agent Handoff
Start Here

capability-map artifact · for B2BEA.org Rebuild · status approved

Completion Evidence

No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.

Open Questions
  • What is the minimum production implementation for each V1 area without cutting core capability?
  • Which V1 capabilities can launch as admin-mediated workflows instead of full self-service UI?
  • Which workflows require Stripe, Sanity, HubSpot/CRM, Supabase-only, or a new service boundary?
  • What role/entitlement taxonomy supports all V1 surfaces without special cases?
  • Which capabilities require audit logs and notification side effects on day one?
  • Which current admin single-page workflows should become separate modules in the rebuild?
Structured Payload

Machine-readable source fields

basis

Derived from research artifact v2 and direct repo scan of current templates/scripts. This is a current-state plus target-gap catalog, not a final product requirement list.

title

B2BEA.org Capability Map v1

version

1

surfaces
idnameareaspurpose
public_sitePublic Site- Discovery And Search: id: string, name: string, capabilities: object - Content, Resources, And Gating: id: string, name: string, capabilities: object - Public Profiles And Directories: id: string, name: string, capabilities: object - Conversion And Public Intake: id: string, name: string, capabilities: objectBrowse, learn, discover, search, convert, and view public people/company/vendor/content pages.
authAuthentication And Account Security- Auth Core: id: string, name: string, capabilities: object - Account Security: id: string, name: string, capabilities: objectShared identity layer across all surfaces.
member_dashboard_profileIndividual Member Dashboard And Profile- Profile Management: id: string, name: string, capabilities: object - Learning And Progress: id: string, name: string, capabilities: object - Membership Benefits: id: string, name: string, capabilities: objectPersonal member account, public profile projection, learning state, and benefits.
b2bea_adminB2BEA Admin- Operations Overview: id: string, name: string, capabilities: object - Users And Roles: id: string, name: string, capabilities: object - Companies And Organization Membership: id: string, name: string, capabilities: object - Vendor Management: id: string, name: string, capabilities: object - Academy Management: id: string, name: string, capabilities: object - Jobs And Scraping: id: string, name: string, capabilities: object - Taxonomy And Hubs: id: string, name: string, capabilities: object - Studio And Media: id: string, name: string, capabilities: objectInternal operating system for B2BEA ecosystem management.
vendor_management_portalVendor Management Portal- Vendor Profile: id: string, name: string, capabilities: object - Vendor Content: id: string, name: string, capabilities: object - Analytics And Events: id: string, name: string, capabilities: object - Claims: id: string, name: string, capabilities: objectCompany workspace for vendors selling into the B2BEA ecosystem.
practitioner_company_workspacePractitioner Company Workspace- Company Access And Seats: id: string, name: string, capabilities: object - Company Academy: id: string, name: string, capabilities: object - Company Careers: id: string, name: string, capabilities: object - Company Membership: id: string, name: string, capabilities: objectCompany-level workspace for manufacturers, distributors, agencies, consultants, and similar non-vendor practitioner organizations.
decisions
idtopicdecision
DEC-001Public practitioner company profilesExclude from V1. Keep vendor public profiles; practitioner companies get private workspace only.
DEC-002Company-created jobsRequire B2BEA admin review before public publishing in V1.
DEC-003Sanity versus Supabase source of truthSanity owns editorial/public content. B2BEA Supabase owns application and operational data, including people, company, vendor, membership, course, survey, job, event, analytics, and notification records.
DEC-004NotificationsV1 is email-first with an internal notification event log. In-app notifications are designed for later unless a surface explicitly needs them.
DEC-005CRM source of truthHubSpot is the primary CRM for leads, pipeline, sales activity, and renewals. B2BEA Supabase owns website profiles and operational entities.
DEC-006Vendor and company analytics exportsV1 allows bounded own-account exports only. No raw platform-wide data, cross-account comparisons, or sensitive user-level data unless explicitly consented and permitted.
next steps
  • Create a production-readiness gap register for all V1 capability groups.
  • Create a permission + lifecycle matrix for all V1 capabilities.
  • Create surface specs that define MVP implementation depth without deferring production readiness.
  • Review capability names and missing areas with Justin.
  • Split target capabilities into MVP, phase 2, and later.
  • Turn each surface into a surface-spec artifact using these capabilities as the action inventory.
  • Derive permission model from capabilities.
  • Derive data model from capabilities and current table evidence.
project id

a820dd0c-6cef-4133-bfbd-d802fd806e44

updated at

2026-05-06T20:00:09.332Z

naming rule

Capability names use VerbObject style so they can later become permissions, service methods, API operations, QA scenarios, and UI actions.

artifact type

capability-map

scope summary
note

The total intentionally includes already-cataloged capabilities plus newly added V1 production requirements. Deduplication and final acceptance rules happen in surface specs.

v1 total existing and planned capabilities

259

status legend
current

Evidence exists in current repo.

partial

Some evidence exists, but capability is incomplete or indirectly implemented.

planned

Target capability implied by rebuild/surface model but not present as a first-class current workflow.

candidate

Possible capability to review before committing to target scope.

open questions
  • What is the minimum production implementation for each V1 area without cutting core capability?
  • Which V1 capabilities can launch as admin-mediated workflows instead of full self-service UI?
  • Which workflows require Stripe, Sanity, HubSpot/CRM, Supabase-only, or a new service boundary?
  • What role/entitlement taxonomy supports all V1 surfaces without special cases?
  • Which capabilities require audit logs and notification side effects on day one?
  • Which current admin single-page workflows should become separate modules in the rebuild?
v1 scope policy
rule

A capability may be deferred only if explicitly marked not-in-product after review. Otherwise, missing production capabilities are launch requirements.

decision

All listed production capability areas are V1 scope. No phase-2 bucket for core production readiness.

updated at

2026-05-06T19:35:23.513Z

production ready definition
  • Role/permission rules defined
  • Lifecycle states defined
  • Data model and ownership rules defined
  • Validation and error states defined
  • Admin/review path defined where needed
  • Notification side effects defined where needed
  • Audit/event logging defined for sensitive workflows
  • Acceptance criteria are testable
admin governance model
decision

V1 administration permissions should remain intentionally light because core site changes are handled by a small trusted team: Brett, Sarah, and Justin.

not v1 priority
  • Granular internal admin privilege tiers for Brett, Sarah, and Justin.
  • Complex approval chains for core site administration.
publishing paths
pathuse whenrequired v1 controls
Custom HTML importLanding pages or resources need a custom look beyond standard page templates.- owner - status - preview - publish - rollback/archive - analytics hooks - SEO metadata
Sanity standard page creationStandard site pages should be created from structured content and reusable page templates.- template selection - required fields - preview - publish/schedule - archive - SEO metadata
core site change team
  • Brett
  • Sarah
  • Justin
still required for v1
  • Separate external/vendor/company/member permissions from internal admin simplicity.
  • Server-side authorization for self-service actions and entitlements.
  • Clear data ownership for content and records created outside the core admin team.
production control focus
  • Make publishing paths explicit and repeatable.
  • Define ownership and lifecycle states for public content, member/vendor/company data, courses, surveys, events, jobs, and gated resources.
  • Keep public-facing changes reviewable and recoverable without building heavy internal RBAC around the three-person admin team.
  • Use audit/event logging for material public changes even when internal permissioning is simple.
cross cutting capabilities
idareanamenotesstatustarget
SystemAuthorizeByRolepermissionsAuthorize By RoleCurrent role checks exist client-side; target should move critical authorization server-side.currentcarry-forward
SystemAuthorizeByEntitlementpermissionsAuthorize By EntitlementMembership/course access checks exist but need unified entitlement model.partialcarry-forward
SystemRecordPageViewanalyticsRecord Page ViewPage-view tracking used for analytics/vendor portal.currentcarry-forward
SystemRecordResourceDownloadanalyticsRecord Resource DownloadDownloads recorded in resource_downloads.currentcarry-forward
SystemRenderEmptyStateuxRender Empty StateCurrent empty states exist but inconsistent; target design-system contract needed.partialcarry-forward
SystemRenderErrorStateuxRender Error StateCurrent error handling is page-specific.partialcarry-forward
SystemRenderLoadingStateuxRender Loading StateCurrent loading states exist but should be standardized.partialcarry-forward
production ready definition
  • Permissioning is intentionally light for the three-person core admin team, but external self-service, entitlement checks, and public publishing paths still need explicit authorization, lifecycle, audit, and rollback behavior.
missing production capabilities
idnamev1 requiredcapabilities
surveys_assessmentsSurveys And Assessments Platformtrue- Create Survey: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Update Survey: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Delete Survey: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Publish Survey: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Archive Survey: id: string, area: string, nam
forms_intakeForms And Intake Buildertrue- Create Form: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Update Form: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Publish Form: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Submit Public Form: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Submit Member Form: id: string, area: string,
events_sponsorshipEvents And Sponsorship Operationstrue- Create Event: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Update Event: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Publish Event: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Manage Event Speakers: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Manage Event Sponsors: id: string, area:
vendor_commercialVendor Commercial Lifecycletrue- Purchase Vendor Membership: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Renew Vendor Membership: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Upgrade Vendor Membership: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Manage Vendor Billing: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Inv
editorial_workflowEditorial And Content Workflowtrue- Create Article: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Edit Article: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Schedule Article: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Publish Article: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Archive Article: id: string, area: string
academy_certificationAcademy Certification And Credentialingtrue- Create Certification: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Set Certification Requirements: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Issue Certificate: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - View Certificate: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Share Certifica
notificationsNotificationstrue- Send Email Notification: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Send In-App Notification: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Notify Claim Approved: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Notify Content Approved: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Notify
reporting_analyticsReporting And Analyticstrue- View Platform Analytics: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - View Membership Analytics: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - View Content Analytics: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - View Academy Analytics: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - View V
crm_sales_opsCRM And Sales Operationstrue- Create Lead: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Update Lead: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Assign Lead: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Track Opportunity: id: string, area: string, name: string, notes: string, status: string, target: string, surface: string, evidence: object - Convert Lead To Member: id: string, area: string