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

The published version is the public one: v3 is 3.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-3.0.0.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-3.0.0-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pgc_assembler-3.0.0.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-3.0.0.tar.gz
Algorithm Hash digest
SHA256 4363661adf43a1ef0d3a73e935388fcfd562808120d9e844dae1ab9f0b79dd0e
MD5 527231e7303117987ff2b8ca2cce8fd1
BLAKE2b-256 7d9b7b702e257386d32b978cd0ba5f02e557ffd31573f423c8724440bf763ba5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pgc_assembler-3.0.0-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-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37b5ccd7fbcc1d006c20e3461465369094d5ec7af361c6eba3e6fdc130dd27df
MD5 aa265bbbe28b15e54bc067877e92e942
BLAKE2b-256 174a49e7529f6f80cec8c991a84aebc3b0eb55ab8a759b8ab5965e10dd64f136

See more details on using hashes here.

Release history Release notifications | RSS feed

4.0.0

2 files

This release

3.0.0 This release

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