# Orbit

See [OPERATIONS.md](OPERATIONS.md) for command effects and prerequisites; run
`node scripts/operations.mjs describe` from this repository to inspect them.

Read [first-release acceptance](ACCEPTANCE.md) for purpose, unmet release obligations, preserved requirements and the evidence decision rule.

Orbit is the Sales edition for account selling guided by customer evidence. Its interface keeps stage, owner, score, queue and message state separate. Operators review every customer message.

This repository is authoritative for Orbit source, composition and releases. The selected Sales core and Base SendGrid sender are committed here and editable directly. First-party maintainers, owner forks and community publishers use the same authoring commands. Use Node 26.8.1 and the pinned pnpm version:

```sh
pnpm install --frozen-lockfile
pnpm local:migrate
pnpm bootstrap:owner --local --file /path/to/owner.json
pnpm dev
```

Configure production native sign-in and deployment using [SETUP.md](SETUP.md). There is no development login. [HANDOVER.md](HANDOVER.md) distinguishes working behavior, focused verification, and the remaining contract gaps. `pnpm verify` uses explicit test fixtures; bootstrap and ordinary development do not.

Workspace archives preserve the core schema and owner tables with lowercase SQL
identifiers (letters, digits and underscores), text, integer and real columns,
and acyclic foreign-key dependencies. Tables with primary keys declared
`WITHOUT ROWID` are supported; generated columns are recomputed from their
restored source values. Install the same owner migrations in the destination
before restoring. Unsupported identifiers or cyclic foreign keys fail preflight
before transfer tables, maintenance locks or customer changes are written; no
owner table is silently omitted. Authentication tokens and source credentials
are excluded, so source credentials must be configured again after restoration.

## Author and release

`edition.json` selects the edition-owned source graph; `sources.lock.json` records effective bytes and retained comparison origins. Follow [AUTHORING.md](AUTHORING.md) to inspect, lock, check, materialize and release from this repository. First-party and community forks use these same commands. `composition.lock.json` is historical import evidence only; it never replaces local source or selects a current release. Preserve migrations and recorded owner intent when integrating updates.

## Customise and share improvements

The maintained edition defaults save integration and verification work. Configuration
and hooks are conveniences; editing domain internals, core schema, UI, framework
or infrastructure is ordinary authoring too. Choose the change that serves the
owner's outcome, without a required sequence of extension mechanisms. Complex
merges and adaptation are the agent's work. Preserve the owner's actual requirements
wherever recorded: `CONTRACT.md`, `DIVERGENCE.md`, owner instructions and optional
`.seed/intent.md`; no particular intent file or registry is required.

Feed useful mechanisms, defaults and verification cases back into shared source
when they would save work in another edition. Their natural home may be this
edition, a family, Base or an independent repository; no separate repository per
module or universal compatibility interface is required. Verify adoption against
the receiving product's requirements, including deliberate local differences.

## Shared source refactor

The edition carries editable shared SendGrid transport and authoring1.1 source.
`node scripts/edition-authoring/cli.mjs changes` explains changed inputs;
`extract` and `compare` provide retained source and incoming comparison context.
`release` writes an adjacent `.release.json` receipt; retain that sidecar with
source distribution and use `receipt <path>` to verify another clean clone.
See [AUTHORING.md](AUTHORING.md) for arguments and source-only verification limits.

SendGrid202 is accepted with a nullable actual provider receipt. Local correlation
identifies the command, not remote delivery. Uncertain submissions are reconciled
without automatic repetition; the edition retains its own durable policy.
