1.1.0-RC.1 · SOURCE-SYNCHRONIZED

Production documentation, from first install to incident.

Choose an outcome, follow the steps, and keep the operational detail close at hand. Every guide is built from the repository source, searchable, cross-linked, and checked for drift.

125 guides8 categories109,818 documented words
START WITH AN OUTCOME

From zero to an operable service.

1.1.0-rc.1 is public65 packages · clean install checks passed
Getting started

Orient yourself and run the first provider sample.

8
Provider

Own every PostgreSQL data path through ADO.NET.

19
5 min · docs/ado-net/authentication.md

Authentication

Credentials, password files, TLS certificates, GSSAPI, Kerberos, and SSPI.

3 min · docs/ado-net/cloud-identity.md

Cloud identity

AWS, Azure, and Google Cloud identity integration and live-test boundaries.

3 min · docs/ado-net/dependency-injection.md

Dependency injection and health checks

Register one long-lived provider data source, consume DbDataSource, and design readiness checks without harming liveness.

5 min · docs/ado-net/pooling.md

Connection pooling

Pool sizing, reset behavior, operational signals, and PgBouncer modes.

2 min · docs/ado-net/multi-host.md

Multi-host connections

Multi-host routing, failover, target session attributes, and recovery.

2 min · docs/ado-net/batches.md

Batches

Execute ordered command batches with PostgreSQL-aware error behavior.

3 min · docs/ado-net/copy.md

COPY

Text and binary COPY APIs, typed values, cancellation, and completion.

2 min · docs/ado-net/large-objects.md

Large objects

Large-object ownership and streaming behavior.

2 min · docs/ado-net/notifications.md

Asynchronous notifications

LISTEN and NOTIFY lifecycle, dispatch, and connection behavior.

3 min · docs/ado-net/sequential-readers.md

Sequential readers

Bounded sequential reads for large PostgreSQL values.

3 min · docs/ado-net/schema-discovery.md

Schema discovery

Use GetSchema, GetColumnSchema, GetSchemaTable, restrictions, and provider-neutral catalogue metadata.

8 min · docs/types/README.md

Core type mappings

Catalogue-driven PostgreSQL type mappings and extension points.

2 min · docs/pipeline-mode.md

PostgreSQL pipeline mode

Pipeline groups, protocol Sync boundaries, and ordered failures.

7 min · docs/replication/README.md

Replication

Physical and logical replication, pgoutput, and WAL feedback.

3 min · docs/ado-net/compatibility.md

ADO.NET V1 compatibility

This matrix is the V1 contract for provider-neutral ADO.NET consumers. A capability marked excluded fails explicitly; it is not silently approximated. The live acceptance suite is tests/BlueTusk.CompatibilityTests/Ado…

5 min · docs/ado-net/multiplexing-compatibility.md

Multiplexing compatibility

BlueTusk multiplexing is an opt-in throughput path for independent, session-neutral commands created directly from a BlueTuskDataSource. It does not turn PostgreSQL sessions into logical connections and never moves an…

4 min · docs/ado-net/nativeaot.md

NativeAOT and trimming

The provider core supports trimmed and NativeAOT applications across BlueTusk.Transport, BlueTusk.Protocol, BlueTusk.Security, BlueTusk.TypeSystem, BlueTusk.Client, BlueTusk.Diagnostics, and

1 min · docs/protocol/README.md

Protocol notes

PostgreSQL backend frames begin with a one-byte identifier followed by a big-endian 32-bit length. The length includes itself and excludes the identifier. Startup messages are exceptional: they have no identifier byte.

2 min · docs/protocol/capture-format.md

Protocol capture format

BlueTusk protocol captures use the .btpc extension. The format is a streamable, big-endian container intended for conformance debugging and packet-laboratory fixtures; it is not a general network-capture replacement.

EF Core

Keep PostgreSQL features inside familiar EF workflows.

2
Real time

Move committed changes through explicit delivery contracts.

35
3 min · docs/realtime-platform/README.md

BlueTusk real-time platform

Correctness contract and independent release trains.

3 min · docs/realtime-platform/contracts.md

Real-time platform contracts

Shared delivery, checkpoint, and source identity contracts.

5 min · docs/streams/README.md

BlueTusk Streams

The implemented Streams kernel, transactions, failures, and performance.

3 min · docs/streams/snapshot-bootstrap.md

Consistent snapshot bootstrap

A fenced snapshot-then-stream protocol.

7 min · docs/streams/durable-relay.md

PostgreSQL durable relay

Storage, backup, groups, retention, and relay fan-out.

3 min · docs/streams/state-stores.md

Streams checkpoint and lease stores

State-store contracts and supported persistence behavior.

2 min · docs/streams/hosting-observability.md

Hosting and observability

Hosted services, health checks, metrics, and operational behavior.

3 min · docs/streams/release-endurance.md

Streams release endurance

The 72-hour endurance gate and evidence contract.

18 min · docs/sync/README.md

BlueTusk Sync

Versioned destination synchronization, quarantine, reconciliation, and rebuilds.

3 min · docs/sync/release-endurance.md

Sync release endurance

The 24-hour Sync release gate and evidence contract.

9 min · docs/live/README.md

BlueTusk Live

Authorized live delivery, replay, subscriptions, transports, and browser clients.

9 min · docs/control-plane/README.md

BlueTusk Control Plane and Dashboard

Operational queries, dashboard boundaries, authorization, and audit.

4 min · docs/realtime-platform/operations.md

Real-time operations

Operate source identity, checkpoints, relay storage, destinations, failover, reconciliation, rebuilds, and endurance evidence.

7 min · docs/continuous-graph/README.md

BlueTusk Continuous Graph

Checkpointed graph projections for fraud and network workloads.

2 min · docs/control-plane/api-compatibility.md

Control Plane API and format compatibility

The Control Plane V1 candidate has two independently enforced compatibility surfaces:

2 min · docs/control-plane/release-notes-0.1.0-preview.1.md

BlueTusk Control Plane 0.1.0-preview.1 release notes

This preview contains the independently versioned BlueTusk.ControlPlane and BlueTusk.Dashboard packages. Its implementation and compatibility gates are complete. The product-family manifest remains non-publishable unt…

1 min · docs/control-plane/release-notes-1.0.0.md

BlueTusk Control Plane 1.0.0 release record

Status: published on 2026-08-23 from control-plane-v1.0.0 at release commit 7380d7b028c72b2aae348b778711d104d022a3f8.

1 min · docs/live/api-compatibility.md

Live public API compatibility

The current Live 1.0 candidate surface is locked by two independent gates:

1 min · docs/live/format-compatibility.md

Live format compatibility

Every durable or externally visible Live format is registered in eng/live-formats.json. A test binds the registry to implementation constants, the versioned protobuf package, and named compatibility evidence.

3 min · docs/live/release-notes-0.1.0-preview.1.md

BlueTusk Live 0.1.0-preview.1

This is the first packaging-ready BlueTusk Live preview. It provides trusted, authorised, resumable real-time queries over BlueTusk Streams while preserving PostgreSQL/EF as the source of every client-visible row.

1 min · docs/live/release-notes-1.0.0.md

BlueTusk Live 1.0.0 release record

Status: published on 2026-08-23 from live-v1.0.0 at release commit 7380d7b028c72b2aae348b778711d104d022a3f8.

3 min · docs/realtime-platform/delivery-plan.md

Real-time platform delivery plan

The implementation uses two-week iterations and lands only passing vertical slices. Each slice updates documentation and is committed and pushed on an AI-neutral feature/... branch.

1 min · docs/streams/api-compatibility.md

Streams public API compatibility

The current Streams 1.0 candidate surface is locked by two independent gates:

1 min · docs/streams/aspire.md

Aspire integration

BlueTusk.Streams.Aspire wires Streams workers to Aspire connection-string resources without resolving or copying secrets in the AppHost. It targets the Aspire application model and supports both relay and explicit dir…

1 min · docs/streams/cli.md

Streams validation and provisioning CLI

BlueTusk.Streams.Tool provides the bluetusk-streams .NET tool. It validates the PostgreSQL version, wallevel, publications, table selection, logical slot, source/control isolation, relay-schema exclusion, and canonica…

1 min · docs/streams/cloudevents.md

CloudEvents

BlueTusk.Streams.CloudEvents writes CloudEvents 1.0 structured JSON without changing the source transaction delivery unit. One committed PostgreSQL transaction becomes one event with one versioned BlueTusk transaction…

2 min · docs/streams/format-compatibility.md

Streams format compatibility

BlueTusk records every durable or externally visible Streams format in eng/streams-formats.json. A test binds that registry to the constants used by the implementation and verifies that its named compatibility evidenc…

3 min · docs/streams/prepared-transactions.md

Prepared and two-phase transactions

Prepared-transaction delivery is an opt-in Streams preview feature. The default PreparedTransactionMode.Fail behavior rejects every two-phase pgoutput message before changing assembler state. Enable PreparedTransactio…

3 min · docs/streams/release-notes-0.1.0-preview.1.md

BlueTusk Streams 0.1.0-preview.1

This is the first packaging-ready Streams preview. It establishes the public transaction, checkpoint, lease, snapshot, typed-mapping, hosting, and relay contracts needed by the later Sync and Live product families.

1 min · docs/streams/release-notes-1.0.0.md

BlueTusk Streams 1.0.0 release record

Status: published on 2026-08-23 from streams-v1.0.0 at release commit 7380d7b028c72b2aae348b778711d104d022a3f8.

2 min · docs/streams/sample.md

Snapshot-then-stream sample

The BlueTusk.Samples.Streams worker demonstrates the complete first-run path: an exported PostgreSQL snapshot, bounded binary COPY batches, transition to the matching pgoutput position, and transaction acknowledgement…

3 min · docs/streams/typed-mappings.md

Typed change mappings

Streams always retains the dynamic ChangeRow and its explicit per-column states. Typed mapping is an optional projection over that lossless row; it does not replace it and never manufactures a complete CLR object from…

1 min · docs/sync/api-compatibility.md

Sync public API compatibility

The current Sync 1.0 candidate surface is locked by two independent gates:

1 min · docs/sync/format-compatibility.md

Sync format compatibility

Every durable or externally visible Sync format is registered in eng/sync-formats.json. A test binds the registry to implementation constants and named compatibility evidence.

1 min · docs/sync/release-notes-1.0.0.md

BlueTusk Sync 1.0.0 release record

Status: published on 2026-08-23 from sync-v1.0.0 at release commit 7380d7b028c72b2aae348b778711d104d022a3f8.

Extensions

Compose optional PostgreSQL-native capabilities.

1
Graph

Query and project connected data.

4
Architecture

Understand ownership, dependency rules, decisions, and performance constraints.

19
7 min · docs/architecture/allocation-discipline.md

Allocation discipline

BlueTusk treats low allocation as a measured engineering constraint, not as a blanket “allocation-free” claim. Returned strings, arrays, records, and buffered large fields own managed memory by design. The provider in…

1 min · docs/architecture/decisions/0001-layered-dependency-direction.md

ADR 0001: Enforce layered dependency direction

- Status: Accepted - Date: 2026-07-21

1 min · docs/architecture/decisions/0002-postgresql-is-the-specification.md

ADR 0002: Treat PostgreSQL as the specification

- Status: Accepted - Date: 2026-07-21

1 min · docs/architecture/decisions/0003-catalogue-driven-types.md

ADR 0003: Discover types from catalogues

- Status: Accepted - Date: 2026-07-21

1 min · docs/architecture/decisions/0004-protocol-conformance-testing.md

ADR 0004: Test protocol framing independently

- Status: Accepted - Date: 2026-07-21

4 min · docs/architecture/decisions/0005-postgresql-pipeline-mode-and-transport-pipelines.md

ADR 0005: Separate PostgreSQL pipeline mode from transport pipelines

- Status: Accepted; retain the ArrayPool/Span/Memory transport - Date: 2026-08-01

1 min · docs/architecture/decisions/0006-streams-delivery-semantics.md

ADR 0006: Make Streams the application CDC boundary

- Status: Accepted - Date: 2026-08-03

1 min · docs/architecture/decisions/0007-checkpoint-ordering-and-fencing.md

ADR 0007: Persist checkpoints before replication feedback

- Status: Accepted - Date: 2026-08-03

1 min · docs/architecture/decisions/0008-snapshot-then-stream-protocol.md

ADR 0008: Bootstrap with an exported consistent snapshot

- Status: Accepted - Date: 2026-08-03

1 min · docs/architecture/decisions/0009-bounded-transaction-spooling.md

ADR 0009: Bound transaction memory and spill to a versioned spool

- Status: Accepted - Date: 2026-08-03

1 min · docs/architecture/decisions/0010-postgresql-durable-relay.md

ADR 0010: Use PostgreSQL for the first durable relay

- Status: Accepted - Date: 2026-08-03

2 min · docs/architecture/decisions/0011-live-authoritative-requery-security.md

ADR 0011: Treat CDC as Live invalidation, not client-visible truth

- Status: Accepted - Date: 2026-08-03

2 min · docs/architecture/decisions/0012-sync-connector-delivery-contract.md

ADR 0012: Keep source transactions as the Sync delivery unit

- Status: Accepted - Date: 2026-08-03

2 min · docs/architecture/decisions/0013-bounded-statement-multiplexing.md

ADR 0013: Use bounded, session-neutral statement multiplexing

- Status: Accepted - Date: 2026-08-04

3 min · docs/architecture/decisions/0014-managed-hosting-reconciliation.md

ADR 0014: managed hosting uses fenced desired-state reconciliation

- Status: accepted - Date: 2026-08-03

2 min · docs/architecture/decisions/0015-capability-secured-client-queries.md

ADR 0015: Gate client-authored queries with database capabilities

- Status: Accepted - Date: 2026-08-03

3 min · docs/architecture/decisions/0016-authoritative-incremental-graph-maintenance.md

ADR 0016: Use bounded incremental graph maintenance with authoritative repair

- Status: Accepted - Date: 2026-08-04; extended for 1.1 on 2026-08-28

2 min · docs/architecture/decisions/0017-internal-ef-data-provider-spi.md

ADR 0017: Keep the EF-to-Data provider SPI internal and minimal

- Status: accepted - Date: 2026-08-04

2 min · docs/architecture/transport.md

Transport contract

BlueTusk.Transport owns byte movement and connection establishment. It has no PostgreSQL authentication, SQL, type-system, pooling, or ADO.NET knowledge.

Operations

Build, test, secure, and evolve the repository.

37
6 min · docs/operations/production-checklist.md

Production checklist

Take a BlueTusk application from package selection to a secure, bounded, observable, recoverable, and operator-owned production deployment.

4 min · docs/operations/deployment.md

Deployment and configuration

Design production topology, security roles, pool capacity, migrations, rolling deployment, and real-time persistence.

4 min · docs/observability.md

Diagnostics and observability

Metrics, traces, and slow-command events.

4 min · docs/operations/troubleshooting.md

Troubleshooting

Diagnose connection, TLS, authentication, pool, command, type, EF, replication, and destination failures from the lowest boundary upward.

6 min · docs/security.md

Security review

Threat model, closed findings, application boundaries, and checks.

3 min · docs/operations/performance.md

Performance engineering

Measure pool pressure, command paths, multiplexing, allocation, readers, COPY, and real-time throughput with reproducible evidence.

8 min · docs/operations/npgsql-performance-comparison.md

BlueTusk V1 performance report: BlueTusk versus Npgsql

Review the V1 BlueTusk versus Npgsql benchmark matrix, tail latency, allocation, saturated pooling evidence, methodology, and integrity hashes.

12 min · docs/release-readiness.md

Runtime release readiness

Executable gates for provider, EF, extensions, artifacts, and documentation.

4 min · docs/operations/upgrade-guide.md

Upgrade guide

Upgrade product families, EF Core, extensions, PostgreSQL, formats, mappings, and rolling deployments with a recoverable plan.

3 min · docs/api-compatibility.md

API compatibility

Public API baselines and compatibility expectations.

11 min · docs/contributing/testing.md

Testing

Unit, live, topology, security, stress, and endurance test profiles.

3 min · docs/contributing/repository-layout.md

Repository and solution layout

Repository projects and dependency boundaries.

38 min · docs/roadmap.md

Roadmap

Provider, EF, graph, extension, real-time, and 1.0 milestones.

2 min · CONTRIBUTING.md

Contributing to BlueTusk

Issue-first contribution flow, tests, compatibility, and secrets policy.

1 min · SECURITY.md

Security policy

Report vulnerabilities privately through the repository hosting platform.

2 min · VERSIONING.md

Compatibility and versioning

PostgreSQL 15–18 are the released-server compatibility baseline. PostgreSQL 19 is currently exercised with the pinned postgres:19beta3-alpine image and is explicitly beta-sensitive: SQL/PGQ syntax, catalogues, and cap…

2 min · docs/api-naming.md

Public API naming

BlueTusk names should read naturally after the caller has already selected a BlueTusk package or entered a PostgreSQL-specific domain. Repeating the product name in every fluent member obscures the operation without a…

10 min · docs/completion-audit.md

Specification completion audit

This record maps the original BlueTusk product specification and the subsequent architecture-gap review to concrete repository evidence. “Complete” here means the engineering surface is implemented, documented, and co…

3 min · docs/fuzzing.md

Parser reliability and coverage-guided fuzzing

BlueTusk fuzzes every externally controlled parser boundary used by the V1 product chain:

6 min · docs/hardening-programme.md

V1 hardening programme

The Provider → Streams → Sync → Live → Continuous Graph development chain is feature-complete for V1. Version 1.0.0 was published on 2026-08-23 under the documented repository-owner exception.

6 min · docs/operations/application-platform-health.md

Application platform health and rollout acceptance

BlueTusk's three Clean Architecture reference applications are production-shaped workloads, but Kubernetes desired state is not proof that a workload is actually running. A stale Pod object can continue to show Runnin…

7 min · docs/operations/approval-evidence.md

V1 operational approval evidence

BlueTusk treats operational acceptance as measured release evidence, not a collection of unchecked signatures. The protected candidate workflow requires ten JSON records for one immutable commit. Every record is SHA-2…

4 min · docs/operations/endurance-disturbance-evidence.md

Endurance disturbance evidence

V1 requires more than a long-running green test process. The exact 72-hour Streams run and exact 24-hour Sync run must each survive the seven operational disturbances in eng/v1-endurance-disturbance-contract.json. Tha…

3 min · docs/operations/fuzz-finding-handoff.md

V1 fuzz-finding review handoff

This record preserves the release-relevant outcome of the 2026-08-04 coverage-guided run without placing triggering inputs in public documentation. It is a defensive review handoff, not approval to publish.

7 min · docs/operations/observability.md

Production observability and SLOs

BlueTusk V1 exposes one OpenTelemetry meter per product area and treats telemetry as a versioned operational contract. Metrics are low-overhead when no listener is attached, exporter-neutral, and deliberately avoid SQ…

3 min · docs/operations/package-evidence.md

Canonical V1 package evidence

The manual build.yml candidate run produces one canonical, evidence-only package set for all six BlueTusk product families. The set is the package input to release review. It is not a publication path and receives no…

4 min · docs/operations/performance-leadership-1.1.md

BlueTusk 1.1 performance leadership report

Public RC basis: 2e735ed46aec11d5009158a00ca7b862f9ec12af

14 min · docs/operations/production-readiness.md

V1 production readiness

BlueTusk has two deliberately different readiness states:

3 min · docs/operations/website-production.md

Website production contract

The Angular website is part of the V1 release evidence surface. It explains product maturity, publishes the source-synchronized handbook, and exposes the current benchmark, compatibility and operational records. A suc…

2 min · docs/postgresql19-programme.md

PostgreSQL 19 compatibility programme

PostgreSQL 19 is currently at Beta 3. BlueTusk treats it as pre-GA evidence, not a production dependency. The official project warns that beta features and behaviour may still change and does not recommend beta releas…

2 min · docs/provider/release-notes-1.0.0.md

BlueTusk Provider 1.0.0 release record

Status: published on 2026-08-23 from provider-v1.0.0 at release commit 7380d7b028c72b2aae348b778711d104d022a3f8.

6 min · docs/release-process.md

Release process

BlueTusk release publication is fail closed. A successful build or candidate package is evidence, not permission to publish.

3 min · docs/release-review-handoff.md

Independent V1 release review handoff

Use one copy of this record for each exact candidate commit. Reviewers must be independent of the person who prepared the release. Blank, inherited or ancestor-commit evidence does not pass.

3 min · docs/releases/1.0.0-publication-record.md

BlueTusk 1.0.0 publication record

Status: published on 2026-08-23.

2 min · docs/releases/1.1.0-candidate.md

BlueTusk 1.1.0 coordinated release line

BlueTusk 1.1.0 is one coordinated, API-compatible performance release across all six product families and the three Live browser clients. The existing 1.0 artifacts are immutable; 1.1 adds optimised paths and observab…

5 min · docs/v1-applications.md

V1 application suite and RC deployment

BlueTusk V1 is exercised by three independently deployable applications in applications/BlueTusk.Applications.slnx:

7 min · docs/v1-release-readiness.md

V1 release readiness

BlueTusk 1.0.0 was published on 2026-08-23 under the explicit repository-owner decision recorded in the V1 publication record. Publication did