Glossary
What each word means in Starlings. Each term lists the document that decided it.
- owner
- An authenticated Envisioning member (`@envisioning.com` / `@envisioning.io`) who hosts from the Mac or iOS app. Not a role a guest can hold.docs/PRIVACY.md
- host
- The one device that runs a meeting: it admits guests, renews the lease and runs the recognizer. Another device of the same member joins as a companion with its microphone off. Also the product mode for running a room from a native client. Not the Google identity check; that is the owner. Called "the chair" until 5.8.9.docs/SURFACES.md, docs/TRANSCRIPTION.md, docs/IOS_HOST.md
- guestvisitor
- Anyone who is not the owner in a room: joining from a browser, Mac Join or iOS. No account. Name and email required; notes consent optional.docs/PRIVACY.md, docs/SURFACES.md
- peer
- Another Envisioning member, in presence copy and `GET /api/peers`. Not "user", not "contact" (that is Core).docs/SURFACES.md
- agent
- A non-human peer on the Team roster with its own runtime. Messageable, never waved or called; takes cards by hand-off.docs/AGENTS_SURFACE.md
- room
- The permanent slug and permalink, `/room/<slug>`. Not the live session.docs/SURFACES.md
- meeting
- The live session with a `meeting_id`. Chrome says meeting once media is up; permalinks say room.docs/SURFACES.md
- the internal room/room/team
- The one room whose audience is Envisioning, addressed `/room/team`. Membership is the admission: no waiting room, no booking door. Written as the address, never "the team room".docs/adr/0001-internal-room.md
- waiting room
- The guest-facing admission surface. Every guest- and host-facing string says waiting room.docs/SURFACES.md
- lobby
- The same queue on the wire and in `meetctl`: `LobbyStatus`, the join-request routes. Never renamed casually.docs/SURFACES.md
- knockask to join
- What a guest does at a room's door. Answered by admitting. Not a colleague gesture.docs/SURFACES.md
- prejoin
- The camera and microphone check before a knock or a go-live. Not "preflight".docs/SURFACES.md
- launch
- The owner's idle home on the Mac: waiting room list, upcoming, Start room.docs/SURFACES.md
- stage
- The live video grid.docs/SURFACES.md
- surface
- What the person is looking at, a main page: Home, Calendar, Work, Team, Docs, and the guest flow. Each has a reference page under `docs/help/surfaces/`.docs/SURFACES.md, scripts/docs-frontmatter.mjs
- Home
- Today: the clock, the modules in your order, your room. ⌘1.docs/SURFACES.md
- Work
- The subject surface: projects, leads, partners, events, with tasks, issues, documents and Talk. ⌘3. Core stays the CRM.docs/SURFACES.md, docs/WORK.md
- Team
- The people surface: who is around, and reaching them. ⌘4. Not the meeting's People panel.docs/SURFACES.md
- Docs
- The fifth surface: the whole corpus, read and written from Starlings. ⌘5. Documents on a subject are the contextual slice.docs/SURFACES.md, docs/DOCS.md
- Mine
- Everything assigned to you across every subject. Inside Work, never a surface of its own.docs/SURFACES.md
- INBOX
- What needs you, in Work; each row leaves when resolved.docs/SURFACES.md
- Sales
- An optional section inside Work for leads. Not a tab.docs/SURFACES.md
- Core
- Envisioning Core, the CRM. Starlings writes meetings into it as interactions and reads subjects, tasks and issues from it. Also the block beneath Work that edits Core rows in place.docs/MEETING_LOG.md, docs/CORE_REGISTRY.md
- Settings
- App preferences. ⌘, on the Mac, the gear elsewhere. Not a surface. Qualify "in-meeting Settings" when you mean that.docs/SURFACES.md
- subject
- One project, event, lead or partner: the object everything in Work hangs off. A channel is one view of a subject.docs/SURFACES.md, docs/CHANNELS.md
- Subject Overview
- A subject's landing state: Talk beside Tasks / Issues / Documents / History. Not Work's global Overview.docs/SURFACES.md
- Talk
- The one conversation on a subject.docs/SURFACES.md, docs/CHANNELS.md
- HistoryInteractions
- A subject's pane merging Core interactions with its event trail, by time. The type `CrmInteraction` and web's `pane=interactions` keep the old name.docs/SURFACES.md, docs/TIMELINE.md
- thread
- One conversation. The parent is polymorphic: none for a DM, a subject for Talk.docs/SURFACES.md, docs/CHANNELS.md
- MessagesDM
- Direct messages between members, reached through a person in Team. Not "chat".docs/SURFACES.md
- Groups
- Team's rail block: Everyone pinned, then the private groups, newest message first. A group is a DM with more than one other person; the people are its name.docs/SURFACES.md
- Chat
- The message panel inside a meeting. Not a destination.docs/SURFACES.md
- Search⌘K, the palette
- One box that finds anything and jumps anywhere. Every per-surface field is the same search with a fixed scope.docs/SURFACES.md, fixtures/search-rows.json
- card
- A task or an issue on the board: the anchor every agent turn names. Stored in Core or GitHub, never in Starlings.docs/BOARD.md
- artifact
- The finished meeting record, transcript segments plus notes, as delivered to the control plane and to consenting recipients.docs/TRANSCRIPTION.md, docs/MEETING_LOG.md
- the outbox
- `MeetingArtifactOutbox`, one actor shared by the Mac and iOS clients: idempotent by segment UUID, crash-safe, text only.docs/TRANSCRIPTION.md
- ambient capturenotepad mode
- Transcribing a call Starlings does not host: local audio, local STT, the same outbox and artifact path. No bot in the foreign call.docs/AMBIENT_CAPTURE.md
- capability
- One row of `packages/contracts/src/capabilities.ts`: what Starlings does, where it works, and the doors an agent has into it. Not the Worker's role capabilities.packages/contracts/src/capabilities.ts, docs/DOCUMENTATION.md
- Pictureavatar
- A member's own uploaded face. Initials are what a person without one looks like. The wire keeps `avatar`.docs/SURFACES.md
- Message
- Asks for nothing now; it waits in a thread.docs/SURFACES.md
- WaveRing
- A nudge from Team: one chime on a running client, gone in 45 seconds, no claim anyone was reached. Was Ring until 1.6.0; the wire keeps `/api/peers/ring`.docs/SURFACES.md, docs/PRESENCE.md
- Call
- Into a colleague's room: a knock if a meeting runs, an ask (Open room / Not now) if they are only available. A room opened this way does not transcribe.docs/SURFACES.md
- Hand off
- Giving a card to an agent: a message to the agent carrying the card. Nothing new on the wire.docs/SURFACES.md, docs/BOARD.md
- Welcome
- The room noticing you arrive: a chime and a ring on your own tile. Not a gesture; nothing sends it.docs/SURFACES.md
- intent
- What a person says about themselves: Available, Focused. A second axis beside the evidence ladder, never a seventh status.docs/SURFACES.md, docs/PRESENCE.md
- WorkStage
- The one stage vocabulary, `queued / doing / review / blocked / done / dropped`, computed from the row and never stored. Pinned by `fixtures/work-items.json`; change the fixture first.docs/BOARD.md, fixtures/work-items.json
- WorkSection
- The date-section vocabulary beside `WorkStage`. Answers when, not where in the pipeline.docs/BOARD.md
- phase
- `MeetingPhase`, the connection lifecycle: setup, connecting, connected, ended, failed. Not a page.docs/SURFACES.md
- the lease
- The owner device's proof of presence that the control plane gates admission and token exchange on.docs/SECURITY.md
- control planethe Worker
- The Cloudflare Workers, Durable Objects, Queues and D1 side. Holds room state, consent, transcript text, summaries. Never media.docs/PRIVACY.md
- the factory
- The automation that acts on `agent:*` labels on GitHub issues and opens draft PRs.docs/BOARD.md
- the board
- A projection: Core tasks and GitHub issues read through `WorkStage`. No Starlings-side table holds a card or a column. No kanban in front of users.docs/BOARD.md
- the act record
- Who acted, under whose authority, on what, and how it went: one row per act in `mcp_calls` and `admin_audit`. Never aggregated. Not a status, and never written as "the ledger".docs/LEDGER.md, docs/MCP.md
- the account ledger
- What the organization used: meetings held and the funnel around them, aggregated for Admin. `meetings_ledger` and `usage_events`. Always qualified, because two other things are called a ledger.docs/LEDGER.md, docs/ADMIN.md
- MCP/mcp, Connected Claudes
- The door a member's Claude uses to read and write Starlings. OAuth pairing on `/connect`; every call recorded.docs/MCP.md
- meetctl
- The Mac CLI over a local socket: `status`, `devices`, `host`, `join`, `lobby`. Speaks wire vocabulary.docs/OPERATIONS.md, CLI/MeetCLI.swift