Local-first OSS for human-agent work

Governed continuity for human-agent work.

Useful context shouldn't reset every session. Govinuity puts a governance layer between agent work and reuse — so what persists has earned it.

Surface
candidate signal
Ratify
human authority
Measure
measured reuse

The pipeline

From surface to measured reuse

Surface

Candidate decisions are extracted from agent session files. The Harvest page lets you scan a session directory, paste conversation text from any tool, or run the harvest script from the CLI.

Each candidate carries rationale, scope, reversibility, confidence, and possible conflicts. Nothing enters the review queue without a reason for surfacing.

python3 scripts/harvest_proposals.py --submit

# Any agent tool via --input:
cat session.txt | python3 scripts/harvest_proposals.py \
  --input - --source cursor

Review

A human assesses each proposal in the review queue. The review card surfaces rationale, reversibility, scope, confidence, and why it was surfaced.

Nothing becomes governing context without a ratification decision. The queue is the only gate.

Proposed candidate

All DB migrations must be human-reviewed before production.

Why surfaced: Stated explicitly and confirmed by both parties
Reversibility: Low — hard to undo a bad migration
Scope: Global · Confidence: 90%

Ratify

Approve, defer, reject, or supersede. Only approved decisions become eligible for injection. Deferred candidates wait. Rejected decisions remain in the log.

Supersession atomically replaces an existing decision — the old record is marked superseded and permanently excluded from injection.

Ratification actions
APPROVE
Becomes eligible for injection
DEFER
Returns to queue for later
REJECT
Recorded, never injected
SUPERSEDE
Replaces an existing decision atomically

Inject

Eligible decisions reach agent context via GET /api/memory or a generated GOVERNED_CONTINUITY.md file. Every session is logged as a continuity run.

Transfer tiers control when a decision is included: always, by project, or only when explicitly requested.

GET /api/memory?project=my-project

# Or generate a file:
---
generated_at: 2026-04-15T10:00:00Z
decisions_injected: 2
decisions_excluded: 1
---

### DB migration review gate
ratified_by: review · scope: always active

All DB migrations must be human-reviewed.

Measure

Every injection is logged — what was injected, what was excluded, and why. The harvest script detects outcome signals and posts them as run annotations.

Signals: decision followed, correction required, context restatement, stale leakage. Each run is a data point for whether continuity is actually working.

Continuity runs
run-1744…k3f9a
project-api · 2 injected
followed
run-1744…m7c2x
project-web · 1 injected, 1 excluded
correction

Product console

A local governance console — no cloud, no accounts.

The product is intentionally operational: proposal intake from work, a review queue for incoming candidates, a decision log for ratified context, and run history for measuring reuse.

Govinuity
Dashboard Harvest Review Decisions Runs
Runs Injection history — what was injected, what was excluded, and outcome signals.
Continuity runs become the audit trail.
Injected decisions 0
Excluded as stale or scoped out 0
git clone https://github.com/Taprooted/Govinuity.git
cd Govinuity
npm install
cp .env.example .env.local
npm run dev

Quickstart

Run it locally.

Start the Next.js dashboard, submit a proposed decision, ratify it, then generate or request governed context for future agent sessions.

Current public release

Early, local-first, and built for technical users.

  • Local-first software with no accounts and no telemetry.
  • The full pipeline is in the public repo: proposal intake, review, ratified decisions, memory injection, run logging, and annotations.
  • Technically literate users can run it themselves, inspect the SQLite-backed data, and integrate it with agent workflows.
  • Proposal surfacing is core to the system. The Harvest page lets you scan session files, paste conversation text from any agent tool, or run the harvest script directly — including automatic correction signal detection and run annotation.