Skip to main content

snapshot_assembler

Protocol-Governed Computing — snapshot assembler (import package: assembler).

Composes each domain's compiled projections (from the protocol compiler) into one executable snapshot with a content-derived, manifest-pinned identity. The runtime consumes only the assembled snapshot — never an individual repo's compiled layout.

The assembly contract — what a compiled projection must look like for the assembler to accept it — is governed by the standard, not by this repository.

repos → protocol_compiler → each repo's compiled/ projections
        → snapshot_assembler → protocol-governed-computing/snapshot/ → runtime warm reboot

The platform is an ordinary member of the composition — no singleton branch. The composition currently assembles seven domains: platform, workload, inspection, transformation, and the business domains ai_governance, blockchain and book_library_mgmt.

Install

pip install pgc-assembler

Once installed:

snapshot_assembler --help

Use

# assemble sibling platform compiled/ -> sibling snapshot/
./assemble.sh

# explicit / multi-source (future domains)
./assemble.sh --source /abs/software_governance/snapshot/compiled --out /abs/protocol-governed-computing/snapshot

# module form
PYTHONPATH=. python -m assembler.cli assemble --source <compiled_root> --out <snapshot_dir>
PYTHONPATH=. python -m assembler.cli verify  --out <snapshot_dir>

Product

protocol-governed-computing/snapshot/
  manifest.json         # COMMITTED — the identity + root of trust
  tokenized/<domain>/   # regenerated build product (gitignored)
  trust/<domain>/       # regenerated build product (gitignored)
  vocabulary/<domain>/  # regenerated build product (gitignored)
  • manifest.json is the committed identity record. The assembled projections are regenerated build products whose contents MUST match the manifest during warm reboot.
  • composite_hash is content-derived over the identity view of domains[] (per-domain projection/attestation/graph hashes). Provenance and timestamps are excluded → same inputs + same compiler + same assembler ⇒ same identity.

Composition conformance

Assembly does not end at the manifest. Composition Conformance is the lifecycle phase after it: rules that can only be asked of the whole — the ones a single domain build contains no evidence for. It runs on every assemble and its result is written to conformance/composition.json, so a snapshot carries the record of having been judged as a composition rather than as a pile of domains.

Scope

  • Copy and pin: each domain's projections are copied, hashes are lifted from compiler output, the manifest is written, and round-trip verify runs after every assemble.
  • Vocabulary address-space reconciliation remains the deferred real job. Collision detection is enforced today; composing the reconciled forward/reverse maps across domains is not yet done, and the composition has grown past the one-domain case that made it postponable.

License

Apache-2.0.


The package family

Package Repository Role
pgc-compiler protocol_compiler declarations → compiled projections
pgc-assembler snapshot_assembler projections → sealed snapshot
pgc-runtime protocol_runtime snapshot → governed execution
pgc-inspector snapshot_inspector snapshot → read-only inspection
pgc-transformation transformation change request → protocol artifacts
pgc-governance software_governance the governance surface and its capability implementations
pgc-workloads conformance_workloads the workloads that make conformance observable
pgc-domains business_domains the business domain implementations the composed snapshot binds

pip install pgc brings in the whole family.

Installing the toolchain is one of two steps. The compiler resolves the governance surface from PGC_PLATFORM_ROOT — fail-hard, cwd-independent, zero inference — so the declarations come from a repository you point at, never from a wheel. A registry inside a package would be a second governance surface competing with the repository's, and a build could then be governed by a stale copy.

git clone https://github.com/protocol-governed-computing/software_governance
export PGC_PLATFORM_ROOT=$PWD/software_governance
pgc            # reports what is installed and whether the anchor resolves

PGC_BUILD_ROOT (compiled output, keeping the governance repo read-only) and PGC_DOMAIN_ROOTS (additional domains contributing their own registry/structures) are optional.

Versioning. Two schemes, and the published version follows the second.

  • Internal — each repository's VERSION file, a monotonic composition ordinal. PGC versions the composition rather than each repo: they release together and the governance closure forces lockstep, so the ordinal names which composition a repo belongs to. Development happens on dev/<N> and each cycle is tagged release-<N>. This is not published.
  • PublicPUBLIC_VERSION, tagged on every component repository. The platform is at v2.

The published version is the public one: v2 is 2.0.0. The standard the packages implement is a separate artifact on its own track and is not this number.

The standard these packages implement is published separately: https://doi.org/10.5281/zenodo.22150616

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pgc_assembler-2.0.1.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pgc_assembler-2.0.1-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file pgc_assembler-2.0.1.tar.gz.

File metadata

  • Download URL: pgc_assembler-2.0.1.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for pgc_assembler-2.0.1.tar.gz
Algorithm Hash digest
SHA256 f9fca36c04d72f0d2c15a394caafab95c64ea224b431266b4a3f7140f4d74062
MD5 c0e7cae58107fa6a2df1c91bf1bd8eaf
BLAKE2b-256 a784d28d73d6fe57e4bf09b32a8231fdd9945cbd5e1523d015bc16ca5366bca9

See more details on using hashes here.

File details

Details for the file pgc_assembler-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: pgc_assembler-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for pgc_assembler-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4152960f2d38334abaa853c167bd201e95b064d7dd1d90c551c93ae441cd3d57
MD5 b92271dfd27fe93cbfccb415b17068dc
BLAKE2b-256 8fa9b7e13ad5c05bb841e229360cce61ceb0e823bd9a3526743be9266f11afbc

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.0

2 files

This release

2.0.1 This release

2 files

2.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page