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 protocol-governed-computing 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_DOMAIN_ROOTS names an additional domain contributing its own registry/structures — the directory that directly contains it, not the repository above it; pointing one level too high is a silent no-op. PGC_SNAPSHOT_ROOT is where compiled output is written, and each domain build needs its own: every layer's output consolidates into one root, and verification rejects any file in that root the current build did not declare. PGC_SNAPSHOT_PROFILES is the directory holding snapshot profiles, required by the assembler and the runtime alike.

PGC_BUILD_ROOT is accepted and reported and nothing reads itPGC_SNAPSHOT_ROOT is the anchor that controls output.

The full sequence, with the repositories it needs, is in pgc_install.

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 v3.

The published version is the public one: v4 is 4.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-4.0.0.tar.gz (31.6 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-4.0.0-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pgc_assembler-4.0.0.tar.gz
Algorithm Hash digest
SHA256 1ec9c513a36d0b79402634505ca481823341c0272a6f10d3bd04fca60aada6a4
MD5 b417adb1f318f594b4474d21243f1fcb
BLAKE2b-256 fed036010498e8c0300fd54a0d861416fcedc57ab06d1cd80641891526fdd07f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pgc_assembler-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.2 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-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7b802724a3f1b6fb249948486ab2f77b41bd0b1904f4e8a40d6f9b79d312927
MD5 e734a46196ec6c7f7e3e184176e6ad01
BLAKE2b-256 3516c68f9639b9465ea1a6c05406a07a69e34c4a68c9b68d0cb2f457d35bee1d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.0.0 This release

2 files

3.0.0

2 files

2.0.1

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