First Class Modules

ActiveWorkplace

Pins any permitted Record into a collaborative workplace over its secured recursive relationship graph, with people, GoClaws, workflows, Record Pulse, Inbox attention, activity, and read-only Graph Playback.

Runtime key
module.active-workplace
Experience
Recursive work coordination
Security
Server-enforced

Use ActiveWorkplace when work crosses several connected records and people need one durable coordination view without creating a duplicate project, case, customer, file, or other business record.

Note

The bundled renderer key is module.active-workplace. First-class means BuildWithHQ supplies a native, typed, secured runtime experience inside normal app provisioning and the signed-in user's existing permissions.

What it does

Pins any permitted Record into a collaborative workplace over its secured recursive relationship graph, with people, GoClaws, workflows, Record Pulse, Inbox attention, activity, and read-only Graph Playback.

Key capabilities

  • Pin any currently permitted Record once as the workplace root.
  • Capture a cycle-safe, bounded Active Graph over existing typed Record Relations.
  • Coordinate named users, GoClaw assistants, and published workflows with explicit responsibilities.
  • Track Active, Waiting, At Risk, Stale, Dormant, and Resolved Record Pulse states.
  • Create or touch one Universal Inbox attention item when a workplace becomes At Risk or Stale.
  • Record meaningful comments, participant changes, status transitions, related-record changes, and graph refreshes in an immutable activity stream.
  • Reconstruct retained workplace, participant, graph, and activity state through unmistakably read-only Graph Playback while applying current permissions.
  • Accept bounded builder defaults for root modules, graph depth/nodes, stale timing, participant types, GoClaw watchers, comments, and playback.

The Active Graph

The pinned Record stays owned by its native module. ActiveWorkplace follows the existing RecordRelations graph to the configured depth and node limit, records identity/topology snapshots, and resolves titles, status, module, location, and edit state through the current secured Record envelope. Cycles are safe, and hidden nodes and their edges are omitted.

Record Pulse

PulseMeaning
ActiveMeaningful work is moving.
WaitingWork is intentionally waiting for a date, response, or dependency.
At RiskThe configured inactivity threshold is approaching.
StaleThe inactivity threshold has passed and attention is required.
DormantThe workplace is intentionally inactive without being resolved.
ResolvedThe coordinated work is complete.

A bounded background evaluator observes meaningful activity and configured timing. At Risk and Stale transitions reuse Universal Inbox create-or-touch behavior, so a retry updates the existing attention item instead of creating an alert pile.

Participants and governed assistance

A participant assignment states responsibility; it does not grant access. A user still needs current Record permission. A GoClaw must independently have AI-read access through its backing user, and material actions still require the existing action permission and approval policy. A workflow remains limited to its published definition and normal execution authority.

Graph Playback

Playback combines temporal workplace/participant state, immutable events, retained graph snapshots, and historical Record values. It then intersects every retained Record identity with the viewer’s current DataRole and location scope. Historical mode has a prominent read-only banner and removes status, participant, comment, workflow, GoClaw, refresh, and destructive controls.

Common uses

  • Complex customer, case, opportunity, project, asset, incident, contract, or collections coordination.
  • A Wave-like shared work surface around connected records without copying those records.
  • Cross-team handoffs where responsibilities, inactivity, dependencies, and history must stay visible.
  • GoClaw monitoring and workflow participation under the same permissions and approvals as the rest of the app.

How it connects

ActiveWorkplace composes the universal Records/RecordRelations graph, tenant DataRole/location envelope, activity, workflows, GoClaw identities and actions, and Universal Inbox attention. Its state belongs to the tenant runtime database. AI Orchestration is used only when an AI job actually plans or executes work; it does not hold a shadow workplace or graph.

Where applicable, its records use the universal RecordId conventions so they can participate in secured relationships, activity history, favorites, dynamic fields, notifications, Inbox attention, and global search without copying the source record.

Security and data boundary

The server derives app, account, user, DataRole, and locations. Root creation requires current read/edit access; each displayed graph node is reauthorized; GoClaw assignment requires independent AI-read access; and playback applies current authorization before returning any retained identity or event. Direct table access is denied to runtime and Pulse-worker roles.

  • The authenticated service derives the SaaS app, tenant account, user, DataRole, and location scope; browser identifiers are never authorization proof.
  • The page editor composes React components with validated data bindings. Those bindings call typed runtime APIs, whose application services execute reviewed stored procedures.
  • List, search, detail, relation, activity, favorite, and write operations reapply their required server-side permissions.

Add it to an app

  1. Add the validated module.active-workplace block to an appropriate page and place that page in existing user-type menus.
  2. Choose optional root module filters, graph depth (1–5), node limit (2–200), stale threshold, warning window, participant types, comments, and playback defaults.
  3. If desired, select eligible default GoClaw participant IDs and retain human approval for material actions; unavailable or unauthorized agents are not assigned.
  4. Confirm the app has useful typed Record Relations, then test pinning a cyclic graph, an inaccessible branch, another location, Waiting expiry, At Risk/Stale Inbox attention, and Resolved behavior.
  5. Test Graph Playback after changing a user’s DataRole or location and confirm historical mode exposes no mutation controls.
Tip

Start with depth 2, at most 100 nodes, conservative stale timing, comments enabled, and playback enabled. Add one default GoClaw watcher only after its represented user and approval policy are correct. Builder settings shape behavior but never replace server authorization.

Important

A renderer being bundled in the tenant application does not make its data visible in every app. The server returns only components and records authorized for the current app and signed-in user; unavailable or unauthorized blocks fail closed.