Skip to content

Design Notes

Design notes explain why PIG behaves the way it does. Each note identifies the decision date, the implementation and release boundary, alternatives that were rejected, and the current user documentation.

These articles are historical and architectural context. For current command syntax and behavior, use the linked PIG documentation; for delivery history, use the release notes.

Design Notes
Bootstrapping a Pigsty Controller as a Recoverable Transaction styrepoinstall
Catalog v2 Proposal: Immutable Typed Snapshots Instead of Bigger CSV catalogrepoextcli
PIG 2.0 Product Direction: A Proposal, Not a Release Contract clistycatalog
Let Patronictl Speak for Itself patronicli
A Bounded Grafana Client Instead of Dashboard Shell Scripts sty
Use the CMDB Pigsty Already Has inventorysty
Edit the Declaration, Preserve the Document: Lossless Pigsty Inventory inventorysty
One Grammar for Dangerous Work: PIG's Operations CLI Safety Contract clipostgrespgbackrestpitr
Why PIG Keeps the Cobra Command Layer Flat cli
The 70% Tuner: Defining the Boundary of pig pg tune postgres
Compile, Validate, Then Commit: The Native sty conf Pipeline styinventory
From Human-Friendly to Agent-Native: PIG's CLI Contract cli
  • Bootstrapping a Pigsty Controller as a Recoverable Transaction

    By Ruohang Feng In Design

    Ruohang Fengstyrepoinstall

    Featured Image for Bootstrapping a Pigsty Controller as a Recoverable Transaction

    Decision date: 2026-08-14 Status: Implemented and released in pig v1.8.0. Current reference: pig sty boot Scope: Preparing a Pigsty controller and its package sources; not deploying a database cluster. Decision pig sty boot should be one native, …

    Decision date: 2026-08-14 Status: Implemented and released in pig v1.8.0. Current reference: pig sty boot Scope: Preparing a Pigsty controller and its package sources; not deploying a database cluster. Decision pig sty boot should be one native, …

  • Catalog v2 Proposal: Immutable Typed Snapshots Instead of Bigger CSV

    By Ruohang Feng In Design

    Ruohang Fengcatalogrepoextcli

    Featured Image for Catalog v2 Proposal: Immutable Typed Snapshots Instead of Bigger CSV

    Decision date: 2026-08-13 Status: Pre-implementation proposal; security mechanism, overlay scope, packaging, and path ADRs remain open. Current reference: pig ext and pig repo describe the v1 Catalog behavior. Scope: A candidate PIG 2.0 publication …

    Decision date: 2026-08-13 Status: Pre-implementation proposal; security mechanism, overlay scope, packaging, and path ADRs remain open. Current reference: pig ext and pig repo describe the v1 Catalog behavior. Scope: A candidate PIG 2.0 publication …

  • PIG 2.0 Product Direction: A Proposal, Not a Release Contract

    By Ruohang Feng In Design

    Ruohang Fengclistycatalog

    Featured Image for PIG 2.0 Product Direction: A Proposal, Not a Release Contract

    Decision date: 2026-08-13 Status: Proposal for owner review; it is not implemented and is not a PIG 2.0 release commitment. Current reference: PIG documentation and the current v1.8.1 release Scope: Candidate product boundaries and verification …

    Decision date: 2026-08-13 Status: Proposal for owner review; it is not implemented and is not a PIG 2.0 release commitment. Current reference: PIG documentation and the current v1.8.1 release Scope: Candidate product boundaries and verification …

  • Let Patronictl Speak for Itself

    By Ruohang Feng In Design

    Ruohang Fengpatronicli

    Featured Image for Let Patronictl Speak for Itself

    Decision date: 2026-07-21 Status: Implemented and released in pig v1.6.0. Current reference: pig pt Scope: Patronictl-backed cluster commands plus PIG-owned configuration selection, settings sugar, service, status, and log helpers. Decision pig pt …

    Decision date: 2026-07-21 Status: Implemented and released in pig v1.6.0. Current reference: pig pt Scope: Patronictl-backed cluster commands plus PIG-owned configuration selection, settings sugar, service, status, and log helpers. Decision pig pt …

  • A Bounded Grafana Client Instead of Dashboard Shell Scripts

    By Ruohang Feng In Design

    Ruohang Fengsty

    Featured Image for A Bounded Grafana Client Instead of Dashboard Shell Scripts

    Decision date: 2026-07-18 Status: Implemented in v1.6.0; Grafana dashboard schema v2 support followed in v1.6.2. Current reference: pig sty grafana Scope: Pigsty-owned dashboard folders, dashboards, and UI preferences; not general Grafana …

    Decision date: 2026-07-18 Status: Implemented in v1.6.0; Grafana dashboard schema v2 support followed in v1.6.2. Current reference: pig sty grafana Scope: Pigsty-owned dashboard folders, dashboards, and UI preferences; not general Grafana …

  • Use the CMDB Pigsty Already Has

    By Ruohang Feng In Design

    Ruohang Fenginventorysty

    Featured Image for Use the CMDB Pigsty Already Has

    Decision date: 2026-07-18 Status: The greenfield revision store is superseded; the thin existing-CMDB adapter is implemented and remains experimental. Current reference: pig inventory cmdb Scope: Exchanging declarations with Pigsty’s existing CMDB, …

    Decision date: 2026-07-18 Status: The greenfield revision store is superseded; the thin existing-CMDB adapter is implemented and remains experimental. Current reference: pig inventory cmdb Scope: Exchanging declarations with Pigsty’s existing CMDB, …

  • Edit the Declaration, Preserve the Document: Lossless Pigsty Inventory

    By Ruohang Feng In Design

    Ruohang Fenginventorysty

    Featured Image for Edit the Declaration, Preserve the Document: Lossless Pigsty Inventory

    Decision date: 2026-07-18 Status: Implemented and released in pig v1.6.0. Current reference: pig inventory Scope: Static Pigsty Inventory inspection, scoped editing, validation, comparison, and safe writes. Decision PIG treats pigsty.yml as both a …

    Decision date: 2026-07-18 Status: Implemented and released in pig v1.6.0. Current reference: pig inventory Scope: Static Pigsty Inventory inspection, scoped editing, validation, comparison, and safe writes. Decision PIG treats pigsty.yml as both a …

  • One Grammar for Dangerous Work: PIG's Operations CLI Safety Contract

    By Ruohang Feng In Design

    Ruohang Fengclipostgrespgbackrestpitr

    Featured Image for One Grammar for Dangerous Work: PIG's Operations CLI Safety Contract

    Decision date: 2026-07-02 Status: Released for pg, pb, pt, and pitr by v1.5.0; the 2026-08-29 do and build proxy refinements were released in v1.8.1. Current reference: pig pg, pig pb, pig pitr, pig do, and pig build Scope: PIG-owned operational …

    Decision date: 2026-07-02 Status: Released for pg, pb, pt, and pitr by v1.5.0; the 2026-08-29 do and build proxy refinements were released in v1.8.1. Current reference: pig pg, pig pb, pig pitr, pig do, and pig build Scope: PIG-owned operational …

  • Why PIG Keeps the Cobra Command Layer Flat

    By Ruohang Feng In Design

    Ruohang Fengcli

    Featured Image for Why PIG Keeps the Cobra Command Layer Flat

    Decision date: 2026-06-30 Status: Active repository architecture. Current reference: pig command overview and the source repository Scope: Go source ownership and command registration, not the public command taxonomy itself. Decision The cmd package …

    Decision date: 2026-06-30 Status: Active repository architecture. Current reference: pig command overview and the source repository Scope: Go source ownership and command registration, not the public command taxonomy itself. Decision The cmd package …

  • The 70% Tuner: Defining the Boundary of pig pg tune

    By Ruohang Feng In Design

    Ruohang Fengpostgres

    Featured Image for The 70% Tuner: Defining the Boundary of pig pg tune

    Decision date: 2026-03-21 Status: Implemented on 2026-03-23 and released in pig v1.3.2. Current reference: pig pg tune Scope: A deterministic first-pass configuration for one local PostgreSQL instance, not a complete production design service. …

    Decision date: 2026-03-21 Status: Implemented on 2026-03-23 and released in pig v1.3.2. Current reference: pig pg tune Scope: A deterministic first-pass configuration for one local PostgreSQL instance, not a complete production design service. …

  • Compile, Validate, Then Commit: The Native sty conf Pipeline

    By Ruohang Feng In Design

    Ruohang Fengstyinventory

    Featured Image for Compile, Validate, Then Commit: The Native sty conf Pipeline

    Decision date: 2026-02-18; the production contract was finalized on 2026-08-14. Status: Implemented and released in pig v1.8.0. Current reference: pig sty conf Scope: Generating one validated static Inventory from a trusted Pigsty template; not …

    Decision date: 2026-02-18; the production contract was finalized on 2026-08-14. Status: Implemented and released in pig v1.8.0. Current reference: pig sty conf Scope: Generating one validated static Inventory from a trusted Pigsty template; not …

  • From Human-Friendly to Agent-Native: PIG's CLI Contract

    By Ruohang Feng In Design

    Ruohang Fengcli

    Featured Image for From Human-Friendly to Agent-Native: PIG's CLI Contract

    Decision date: 2026-02-12 Status: Implemented in pig v1.1.0 and refined by later command-layer work. Current reference: pig command overview Scope: PIG-owned commands and their machine-consumption contract; opaque passthrough commands keep their …

    Decision date: 2026-02-12 Status: Implemented in pig v1.1.0 and refined by later command-layer work. Current reference: pig command overview Scope: PIG-owned commands and their machine-consumption contract; opaque passthrough commands keep their …