MindGraphDocs

Projects & Living Briefs

A Project is a governed workspace around a question, decision, client, or initiative. It admits a specific set of sources, keeps retrieval inside that corpus, and maintains a cited brief as the evidence changes.

Use Projects when an organization-wide search would be too broad. The source boundary, project roles, citations, and version history make the result useful for real work rather than a one-off summary.

The workflow

  1. Create the Project. State the question or outcome the team is working toward.
  2. Admit sources. Add only the documents, transcripts, and records that should ground this work.
  3. Ask the Project. Project-scoped retrieval searches admitted sources and returns source-backed answers.
  4. Generate the brief. MindGraph produces findings, tensions, open questions, and an executive summary with citations.
  5. Keep it current. New sources make the brief stale; regenerate to see what materially changed.
Note:A PartOfProject edge admits a source to the corpus. It does not grant a person or agent access to that Project. Authorization comes from Project roles.

Source boundary

Project Ask and brief generation retrieve from admitted sources only. If a relevant source is missing, add it deliberately rather than letting organization-wide knowledge leak into the answer. Every brief assertion points back to the document and source node that supports it.

In the dashboard, open Projects, choose a Project, then use its Sources, Ask, and Brief views.

Living brief

A brief is a versioned decision artifact, not a chat response. It contains:

  • Executive summary — the smallest useful account of the current evidence.
  • Findings — supported conclusions and material observations.
  • Tensions — contradictory claims or evidence that should not be flattened away.
  • Open questions — evidence gaps and unresolved decisions.
  • What changed — additions, removals, and revisions since the previous version.
StateMeaning
missingNo brief has been generated yet.
readyThe current brief matches the admitted source fingerprint.
staleThe source corpus changed after the current version was generated.
unavailableThe brief cannot currently be generated; the API returns the reason rather than presenting an empty result as healthy.

Regeneration reuses the existing brief when the source fingerprint has not changed. If a regeneration fails, the last valid version remains visible. You can pin an important item, unpin it, or correct its wording with replacement citations; each action creates an audited version.

Scheduled briefings

Owners and admins can schedule a Project brief for selected organization members. A schedule records the recipient, cadence, and IANA timezone, then claims each due run atomically so a deployment overlap cannot send the same period twice. Use Send now to test the exact recipient-scoped delivery path before enabling the schedule.

  • Each run uses the recipient's current Project access; revoked recipients are skipped rather than sent stale information.
  • The generated artifact is the same cited, versioned Project brief—not a separate ungrounded email summary.
  • Run history records sent, skipped, failed, and no-change outcomes with a visible reason.
  • Schedules can be paused, edited, tested immediately, or deleted from the Project page.

Project roles

  • Viewer — read the Project and its admitted corpus.
  • Editor — read and change Project-scoped knowledge.
  • Agent — run with Project-scoped context and write within the Project boundary.

Owners and admins manage roles through the dashboard or the JWT Management API. Revocation takes effect on the next request; API keys cannot administer Project authority. See Project role management.

Brief API

GET/projects/{project_uid}/briefGet the current state and latest valid brief
POST/projects/{project_uid}/brief/regenerateGenerate a new version, or reuse the current one when sources are unchanged
PATCH/projects/{project_uid}/brief/items/{item_id}Pin, unpin, or correct an item with optimistic version checking
GET/projects/{project_uid}/brief/historyList version summaries and material changes
GET/projects/{project_uid}/brief/history/{version}Retrieve a specific historical version
GET/v1/briefings/schedulesList the signed-in user's visible briefing schedules
POST/v1/briefings/schedules[Owner/admin JWT] Create or replace a Project briefing schedule
GET/v1/briefings/schedules/{id}Get one schedule and its retained run history
PATCH/v1/briefings/schedules/{id}[Owner/admin JWT] Pause or update a schedule
POST/v1/briefings/schedules/{id}/send-now[Owner/admin JWT] Start an immediate recipient-scoped run
DELETE/v1/briefings/schedules/{id}[Owner/admin JWT] Delete a schedule
# Get the current brief state
curl https://api.mindgraph.cloud/projects/proj_abc/brief \
  -H "Authorization: Bearer mg_..."

# Regenerate after adding sources
curl -X POST https://api.mindgraph.cloud/projects/proj_abc/brief/regenerate \
  -H "Authorization: Bearer mg_..." \
  -H "Content-Type: application/json" \
  -d '{"expected_version": 3}'

From gap to action

Open questions are meant to drive the next research step. Use Investigate to start scoped follow-up work, or Add source when the answer exists outside the current corpus. Regenerate after the evidence arrives so the brief records how the conclusion changed.