# Connect an evidence garden to ChatGPT

## What the plugin is for

A connected plugin allows an evidence garden to be used from ordinary ChatGPT conversations. It reduces the gap between noticing useful evidence and filing it somewhere reliable.

The plugin is optional. It becomes useful when the garden already has a stable record structure and a durable data store.

## Recommended functions

Keep the first version small.

### Add a candidate record

Accept a title and summary, with optional fields for context, contribution, connection or mechanism, outputs, topic identifiers and source notes.

The function should:

- validate required fields;
- assign a new stable identifier;
- store the record as a draft rather than an approved claim;
- return the identifier and a concise confirmation;
- record who created it and when.

### Retrieve by identifier

Return one complete record when supplied with its stable ID. This supports correction and reuse in later conversations.

### Search records

Search titles, summaries, fields and source notes by phrase. A simple search is often enough for the first version.

## Permission model

Separate viewing from writing.

A sensible private configuration is:

- the owner can view, search and add records;
- invited reviewers can view the site;
- only the owner can create or alter records through ChatGPT;
- the public has no access;
- the site uses real access control, not merely a `noindex` instruction.

If the garden contains client work, personal data or confidential documents, do not expose the underlying files through the plugin merely because the summary records are available.

## Tool descriptions matter

The tool descriptions tell ChatGPT when and how to use each action. They should make the status of the material explicit.

Example descriptions:

```text
Add a new candidate evidence record to the owner’s private Evidence Garden. Use this when a conversation, document or project detail is worth retaining for later review. Saving a record does not mean the claim has been approved.
```

```text
Retrieve a saved Evidence Garden record by its stable identifier, such as EP-013 or EG-001.
```

```text
Search saved Evidence Garden records by project, capability, source reference or phrase.
```

## Suggested input for adding a record

```json
{
  "title": "Clear, self-explanatory title",
  "summary": "Concise account of what the evidence shows",
  "context": "Situation, organisation or period",
  "contribution": "What the person did",
  "mechanism": "How the work connected judgement, collaboration or a practical decision",
  "outputs": "Relevant output, delivery or result",
  "topic_ids": ["existing-topic-id"],
  "sources": "Source references, links or provenance"
}
```

Do not require every optional field. A conversation may reveal a useful lead before all supporting material has been recovered.

## Behavioural instructions for the connected ChatGPT

The plugin instructions should tell ChatGPT to:

- ask before saving when the user is still exploring an interpretation;
- use neutral, self-explanatory titles;
- preserve uncertainty;
- avoid converting team results into individual claims;
- retrieve an existing record before proposing a correction;
- search for possible duplicates before adding a closely related episode;
- treat every new record as a candidate for review.

## Implementation outline

The technical implementation will depend on the hosting system, but the components are straightforward:

1. a persistent database table for records;
2. authenticated functions for add, retrieve and search;
3. an owner check on every write operation;
4. stable-ID generation that never reuses retired identifiers;
5. a plugin or MCP connection through which ChatGPT can call the functions;
6. clear tool schemas and descriptions;
7. tests confirming that invited viewers cannot write.

If using ChatGPT Sites, the site can expose these functions through its MCP capability and save the resulting plugin connection. The exact setup screens and available tools may change, so the current Sites documentation should be followed during implementation.

## Test before relying on it

Test at least the following:

- adding a complete record;
- adding a record with only required fields;
- retrieving a known ID;
- handling an unknown ID;
- searching by title, source and phrase;
- rejecting a write from a non-owner account;
- preserving existing records after a new site deployment;
- showing newly added records in the site after refresh.

The plugin should make capture easier. It should not bypass the review process that makes the collection trustworthy.

