# Collaboration

**Draft v0.** Updated 23 October 2026. This page is a framework: page shells, a data model, a role design, and an auth stub. Nothing is stored, and no email is sent. It is not a score, a grade, a ranking, or a league table.

## What the framework covers

- **Page shells.** Sign-in, a profile with a public/private toggle on the profile and on each field (name or handle, role, region, expertise, ecoregions followed), threads attached to open questions, the label **not yet reviewed**, an admin review screen, a hidden tombstone (who, when, and why), a report button, and an in-app following list.
- **Data model.** `schemas/collaboration/` holds the profile, contribution, and audit schemas, plus the role file and the auth-adapter file.
- **Roles.** A visitor can read. A signed-in contributor, once a provider exists, could post, edit their own profile, follow an ecoregion, and report. A site admin could also mark a post reviewed, hide it, or reply. The site admin is the first person the admin role is for, when a provider is connected. This page does not name an account.
- **Demo view.** The switch on this page shows the visitor, contributor, or site admin shell. It is not sign-in and it does not grant the role.
- **Auth adapter.** Four methods: `listProviders`, `getSession`, `signIn`, `signOut`. The stub implements them and connects no provider. No environment variable is required, and no external project is created.
- **Example data.** `collaborate/example-data.json` is labelled example / demo data. It is not a real person and not a stored contribution. Profiles default to private, including each field.
- **Stores.** A later write goes through `selectContributionsStore`. A production deploy would open the site store. A preview or branch deploy would open the deploy store, not the production one. This framework does not open either store.

## What you can do here

Read the shells. The sign-in buttons call the stub and stop. Saving a profile, adding a follow, posting a note, reporting, or using the review buttons does not write. No email is sent.

The admin screen is at [Admin review](/collaborate/review/). It is not opened by a token in the address. The example queue is visible in the site admin demo view.

Do not include a farm name, a landholder's name, or a precise location of a sensitive species.

## Plugging in a provider later

A provider module implements the same four methods and is passed in instead of the stub. The page does not import a vendor SDK. The server checks the session the adapter reports, then allows an action only if `schemas/collaboration/roles.json` permits that role. Writes, when they exist, open a store only through `selectContributionsStore`: production uses the site store, and every other deploy context uses the deploy store.

No provider is named or configured in this framework.

## Skabenga, later

The white paper of 13 September 2026 describes Skabenga as the close Socratic companion for one steward, with an embodied field companion as a later interface. The doctrine amendment of 18 September 2026 says Skabenga defers or escalates to EIA when a question needs a wider view. Bringing field voices through that companion is a later step. It is not wired to this page, and this site does not write to [GeoDataTrack](https://geodatatrack.com).

## Sources

- The site owner's request of 23 October 2026 to create the collaboration framework only, after the decisions of the same date (sign-in to post, admin review, public-by-choice profiles, visible-before-review, deploy-scoped store, in-app follow).
- *Ecologically Intelligent Agent (EIA), White Paper*, version 1.0, 13 September 2026, sections 4.1 and 4.3 (EIA and Skabenga) and 5.1 (steward data, provenance).
- *EIA doctrine — settled decisions*, 12 September 2026, and the hierarchy amendment noted 18 September 2026.
- *Ecoregion.net GDT sharing and consent design spec (v0)*, 3 October 2026. Sharing is off until a steward turns it on. This page does not change that.

Editable copy: this file.
