{"id":51756581,"url":"https://github.com/chenle02/total-coloring-data","last_synced_at":"2026-07-19T07:05:13.893Z","repository":{"id":371362119,"uuid":"1300427520","full_name":"chenle02/total-coloring-data","owner":"chenle02","description":"Reproducible datasets and certificate artifacts for total-coloring research","archived":false,"fork":false,"pushed_at":"2026-07-14T17:09:23.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-14T18:10:25.502Z","etag":null,"topics":["combinatorics","graph-theory","open-data","reproducible-research","research-data","total-coloring"],"latest_commit_sha":null,"homepage":"https://github.com/chenle02/total-coloring-data#readme","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chenle02.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["chenle02"]}},"created_at":"2026-07-14T11:50:33.000Z","updated_at":"2026-07-14T17:10:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chenle02/total-coloring-data","commit_stats":null,"previous_names":["chenle02/total-coloring-data"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/chenle02/total-coloring-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenle02%2Ftotal-coloring-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenle02%2Ftotal-coloring-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenle02%2Ftotal-coloring-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenle02%2Ftotal-coloring-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenle02","download_url":"https://codeload.github.com/chenle02/total-coloring-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenle02%2Ftotal-coloring-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35644214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-19T02:00:06.923Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["combinatorics","graph-theory","open-data","reproducible-research","research-data","total-coloring"],"created_at":"2026-07-19T07:05:13.337Z","updated_at":"2026-07-19T07:05:13.884Z","avatar_url":"https://github.com/chenle02.png","language":"Python","funding_links":["https://github.com/sponsors/chenle02"],"categories":[],"sub_categories":[],"readme":"# Total Coloring Data\n\nCurated, machine-verifiable research artifacts produced by\n[`total-coloring-toolkit`](https://github.com/chenle02/total-coloring-toolkit).\nThis repository is the public data layer for computational work on total\ncoloring; it is not a live mirror of cluster scratch space.\n\nVersion `0.1.0` publishes the finite universal auxiliary-extension census for\norders 1 through 8. The compact summary and human-readable audit report live in\nGit; the complete 114,485,197-byte deterministic replay archive is attached to\nthe [GitHub release](https://github.com/chenle02/total-coloring-data/releases/tag/v0.1.0).\nSee the\n[release report](reports/universal-census-orders-01-08-v1.md) for the exact\nscope, counts, provenance, hashes, limitations, and public replay procedure.\nThis bounded computation is evidence, not an unbounded theorem.\n\n## Integrity contract\n\nEvery repository-resident release artifact must:\n\n1. live under `results/` or `reports/`;\n2. appear exactly once in `manifests/dataset-manifest.json`;\n3. have its byte length and SHA-256 digest recorded in that manifest;\n4. appear in `SHA256SUMS`; and\n5. pass the dependency-free verifier and test suite.\n\nManifest v1 remains supported for releases whose complete payload fits in the\nGit repository. Manifest v2 adds a separate `external_artifacts` inventory for\nlarge immutable replay archives. Each external entry binds a safe logical name,\nHTTPS URL, media type, byte length, SHA-256 digest, and description. External\nentries are deliberately excluded from the managed-root and `SHA256SUMS`\ninventories: those two inventories continue to describe local files exactly.\nLocal paths, external names, and external URLs are ordered and unique, and a\nlocal path cannot also be declared as an external name.\n\n`managed_roots` is operational only when it is the exact JSON array\n`[\"reports\", \"results\"]`; invalid values are never traversed. External URLs use\na deliberately narrow canonical profile: literal lowercase `https://`, a\nlowercase DNS hostname with no user information or port, a nonempty normalized\npath, and no query, fragment, backslash, whitespace, non-ASCII character, DEL,\ncontrol character, or percent escape. Each literal path component uses only\nRFC 3986 `pchar` characters: ASCII letters and digits, `-._~`, `!$\u0026'()*+,;=`,\n`:`, and `@`. Thus double quotes, braces, brackets, backticks, carets, and pipes\nare rejected; apostrophe is retained as an RFC 3986 sub-delimiter.\n\nRun the same checks used by continuous integration:\n\n```bash\npython3 scripts/verify_release.py --root .\npython3 -m unittest discover -s tests -v\n```\n\nNormal verification never accesses the network. If a replay archive has\nalready been downloaded, verify its exact bytes against the manifest with:\n\n```bash\npython3 scripts/verify_release.py --root . \\\n  --external-file \\\n  archives/universal-census-orders-01-08-v1.tar.gz=/path/to/universal-census-orders-01-08-v1.tar.gz\n```\n\n`--external-file NAME=PATH` is repeatable. Supplied names must be declared,\nunique, and safe; supplied paths must be regular non-symlink files. Omitting the\noption validates the external metadata and its summary binding without claiming\nthat the remote bytes were fetched or checked.\n\nThe standalone verifier trusts\n`https://github.com/chenle02/total-coloring-toolkit` as the generating code\nrepository by default. Both `release.code_repository` and result/summary\nproducer provenance must equal that independently configured value, so a\nmanifest cannot authorize a coordinated repository substitution. Reusers must\nselect another trusted repository explicitly with\n`--expected-code-repository URL`; no manifest field or environment variable can\nchange the default trust anchor.\n\nFor a universal-census replay archive, supplying the file performs more than a\ntop-level hash check. The verifier requires exactly one level-9 gzip member\nthrough raw-file EOF, with mtime zero, exact header\n`1f8b08000000000002ff`, OS 255, and valid CRC32 and ISIZE. Raw suffix bytes\n(including zeros), concatenated members, and in-gzip post-USTAR data are\nrejected. It requires receipt-derived canonical USTAR headers, zero member\npadding, exactly two zero end blocks followed by zeros only through the next\n10240-byte boundary, and the exact decompressed length. It then strictly parses\nevery embedded manifest, completion marker, and JSONL record and recomputes run\nfingerprints, checking the complete\ncompletion-to-manifest-to-record hash, provenance, status-count, partition, and\nconfigured-check chain. It does not execute `geng` or independently replay the\ngraph-coloring witnesses; those remain scientific checks in the pinned toolkit.\n\nThe verifier fails on untrusted or modified schemas, path traversal, symlinks,\nhidden or unlisted managed artifacts, byte-count mismatches, digest mismatches,\nduplicate paths, noncanonical ordering, inconsistent checksum files, and\nstatus/certificate or producer/release provenance contradictions. For bounded\nuniversal-census summaries it also checks producer provenance, configured-check\nuniqueness, per-run and aggregate count conservation, exact replay-archive\nmetadata binding, archive-member identity, and finite-scope claim ordering and\nlimitations. JSON input is\nstrict: duplicate object keys and the nonstandard constants `NaN`, `Infinity`,\nand `-Infinity` are rejected. JSON documents are limited to 16 MiB, nesting to\n128 levels, and integer literals to 128 decimal digits; lone UTF-16 surrogates\nare rejected recursively. `SHA256SUMS` must be valid UTF-8, is limited to 4 MiB,\nand has a 4096-byte physical-line limit including LF. Archive metadata JSON\nmembers are limited to 4 MiB before extraction or hashing, and each physical\nJSONL record line is limited to 16 MiB including LF. Candidate and published\nreleases must use\ncanonical UTC timestamps ending in `Z`, identify a nonzero generating Git\ncommit, and contain no `.gitkeep` placeholders.\n\nThe standalone verifier checks the **release integrity envelope**: trusted\nschemas, strict parsing, paths, inventory, hashes, declared record counts,\nunique result record IDs, and the cross-field rules above. It does not\nreconstruct graph instances, replay total-coloring certificates, prove shard\ncount conservation, or establish agreement between solver backends. Those are\nseparate scientific release-review gates performed by the pinned toolkit\ncommit; their commands, inputs, outputs, and hashes must be retained as receipts\nin the release report before publication.\n\nJSON object-member order and whitespace are not prescribed. SHA-256 binds the\nexact published bytes; \"canonical ordering\" here refers to manifest artifact\npaths and checksum entries, not a canonical JSON byte serialization.\n\nThe verifier contains SHA-256 pins for the canonical JSON content of every\nschema it trusts. Formatting and object-member order do not affect a schema\npin; any semantic content change does. Updating a schema is therefore a\ndeliberate verifier release: review the schema change, update its pinned digest\nin `scripts/verify_release.py`, and add a regression test. A dataset checkout\ncannot authorize a weakened replacement schema merely by pointing its manifest\nat that file.\n\nFor result records, `producer.repository` and the manifest's\n`release.code_repository` must both equal the verifier's independently trusted\nexpected repository. `producer.commit` must equal `release.code_commit`. The\nproducer `version` is descriptive package metadata and is schema-validated,\nbut it is not required to equal the independently versioned dataset release.\n\n## Layout\n\n```text\nresults/     immutable machine-readable scientific results\nreports/     human-readable or machine-readable audit reports\nmanifests/   release inventory and provenance\nschemas/     versioned JSON schemas\nscripts/     standalone standard-library verification\ntests/       verifier regression tests\n```\n\nLarge immutable artifacts should be attached to a GitHub Release and archived\nwith a DOI-bearing research repository such as Zenodo. The Git repository\nshould retain their manifest, checksums, schema, and a compact verification\nfixture rather than accumulating raw compute shards.\n\nThe trusted `universal-census-summary-v1` representation is intentionally\nfinite-scope. It records the exact code commit and source digest, generator\nexecutable digest and invocations, configured backend checks, per-order run\nreceipts, conserved totals, claim IDs with explicitly bounded statuses, and\nlimitations. A `verified_in_finite_scope` status is never an unbounded result;\nscientific replay remains a separate gate performed by the pinned toolkit.\n\nSummary v1 has exactly one claim: `claim_type: finite_bound` and\n`status: verified_in_finite_scope`. The claim orders must be exactly every run\norder; orders are integers from 1 through 16 and a summary contains at most 256\nruns.\n`scope.require_high_degree` must be `true`, and the configured checks are\nexactly `dsatur-delta-plus-2`, `dsatur-delta-plus-3`, and\n`static-delta-plus-2`. Other claim types are reserved and are not permitted in\nv1. The publisher derives the canonical finite-scope sentence and exact\nlimitations from the completed runs; callers cannot override either. The\nrequired language is specified in\n[`docs/universal-census-release-v1.md`](docs/universal-census-release-v1.md).\nEach check's backend, palette offset, and finite replayable-witness description\nare also exact contract fields; descriptions suggesting an unbounded theorem\nare rejected.\n\nThe v1 universal release profile is deliberately unsharded. Each order has one\nrun with generator arguments exactly `-q ORDER`, shard index zero and shard\ncount one. Its archive contains exactly these members, with no directory\nentries: `order-NN/manifest.json`, `order-NN/completion.json`, and\n`order-NN/records.jsonl`. See\n[`docs/universal-census-release-v1.md`](docs/universal-census-release-v1.md) for\nthe complete producer contract.\n\n## Versioning and immutability\n\nManifest and record schemas use semantic versions independently of the dataset\nrelease. Published artifacts are immutable: corrections receive a new dataset\nversion and a documented supersession relationship. Filenames are never reused\nfor different bytes within a published version. Dataset release versions use\ncanonical SemVer core and prerelease syntax: core and numeric prerelease\nidentifiers have no leading zeros, prerelease identifiers are nonempty, and\nbuild metadata is not accepted by this release profile.\n\n## Citation and licenses\n\nCitation metadata is in `CITATION.cff`; collection details and limitations are\nin `DATASHEET.md`.\n\nContributions are described in `CONTRIBUTING.md`. Report security issues through\nthe private process in `SECURITY.md`; community participation is governed by\n`CODE_OF_CONDUCT.md`.\n\nThe following table is the authoritative path-level license declaration for\nthis repository. A more specific license notice inside a future artifact takes\nprecedence and must also be recorded in its release report.\n\n| Paths | License |\n| --- | --- |\n| `results/**`, `reports/**` | Creative Commons Attribution 4.0 International (`CC-BY-4.0`) |\n| `manifests/**`, `schemas/**`, `SHA256SUMS` | `CC-BY-4.0` |\n| `README.md`, `DATASHEET.md`, `CITATION.cff`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md` | `CC-BY-4.0` |\n| `scripts/**`, `tests/**`, `.github/**`, `.gitignore` | MIT |\n| `LICENSE` | CC BY 4.0 license notice and authoritative legal-code link |\n| `LICENSE-CODE` | MIT license text |\n\nThe development-only `.gitkeep` placeholders contain no substantive work and\nare removed from candidate and published releases.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenle02%2Ftotal-coloring-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenle02%2Ftotal-coloring-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenle02%2Ftotal-coloring-data/lists"}