Owner Noun Model Decision

redesign-owner-console-product-experienceProject noteWorking notes
Created openspec/changes/redesign-owner-console-product-experience/design-notes/owner-noun-model-decision-20260618.mdView on GitHub →

Date: 2026-06-18 Status: Decided for implementation packets

Decision

The normal owner-facing noun for a configured data-producing instance is Source.

Source covers:

  • provider account source, such as "Gmail - work"
  • browser-backed source, such as "Amazon - family account"
  • local collector source, such as "Claude Code on Peregrine"
  • artifact/import source, such as "WhatsApp - personal exports"
  • device-bound source when the device is the essential identity

The console should use Source in normal navigation, headings, source detail, Add Data, source setup, recovery, and record-inspection entry points.

Owner Noun Map

Owner nounMeaningInternal/API terms that may back itOwner-surface rule
SourceConfigured data-producing instanceconnection, connection_id, connector_instance_id, source_instance_id, connector bindingUse Source by default. Show raw IDs only in advanced/debug detail or copyable technical metadata.
ConnectorConnector type or capability, such as Gmail or WhatsAppconnector_id, manifest key, provider keyUse only when choosing what kind of source to add or explaining connector capability. Do not use it for an owner-configured instance.
StreamTyped subset of records under a sourcestream key, manifest stream nameUse for child data slices under a source.
RecordReadable collected itemrecord key, record id, row, itemUse for data items in Explore and stream views.
ClientApp or agent that can request/read dataOAuth client, MCP client, dynamic client, client idUse for access review. Distinguish verified origin from client-authored name/logo.
GrantAuthority the owner approvedgrant id, package child grant, consent artifactUse when explaining what the client can read. Do not force owners to decode raw package children first.
Grant packageParent bundle of related grantspackage id, grant groupUse when grouping package children, but always explain it as a bundle for one client/request.
ReadActual access/disclosure eventtrace event, disclosure event, read recordUse when explaining what a client actually read.
Run or SyncCollection attempt/evidencerun id, sync id, scheduled run, active runUse as evidence. Sync may be owner-facing for collection attempts, but source state remains primary.
TraceLow-level protocol/runtime timelinetrace id, span, eventUse in advanced/evidence contexts, not as the first answer to an owner question.
CredentialStored provider secret or owner/client credentialtoken, app password, PAT, OAuth credentialUse concrete credential language; keep bearer-token/debug paths advanced.
DeviceHost or local collector identitylocal device exporter, host binding, device idUse when the device is the owner-action location, such as re-running a collector on Peregrine.
ScheduleCollection timing policycron, cadence, next eligible runUse as source policy, not as an independent product object unless the owner is editing schedules.

Route Decision

Do not rename or remove routes in this planning tranche.

Implementation packets may propose clean owner aliases such as /dashboard/sources, but any route change must include:

  • compatibility redirects for existing links
  • a screenshot/mock showing the owner route model
  • subject-preserving link helpers for View records, Explore, Review, Reauthorize, Recover, run, trace, grant, and credential links
  • no backend/API renames unless a separate protocol or reference contract change requires them

Why

the owner's feedback shows that Sources, Connections, Records, Runs, Syncs, IDs, and URLs currently require translation. The essential object in the owner journey is not the connector type or internal connection row; it is the owner-configured source of personal data. Keeping that noun stable reduces incidental complexity without hiding advanced evidence.

Acceptance Implication

Wave 1 implementation may proceed only after it can show:

  • the changed surface's route, heading, nav label, primary CTA, empty state, and breadcrumb using this map
  • a vocabulary-boundary report explaining any remaining internal/protocol terms
  • desktop and mobile pixels proving the language works in context