T-saur (.tsr): a content-addressed, deterministic archive format built for AI agents. Rust, Apache-2.0 OR MIT.
The public repository iulianbondari/t-saur starts from a verified snapshot of a private
development repository, not from its history. This page records what the snapshot is, why the
history stays private, and what was checked before publication.
| Item | Value |
|---|---|
| source | the private development repository of Iulian Bondari, tag v1.0.0-rc.1 = commit 9e0fe7957edc44b2bb32aec5962c7ddbfa7bf137 (24 September 2026), plus the publication-preparation changes listed below (documents and tooling; no change to the archive code or format) |
| source archive of the tag | tsaur-1.0.0-rc.1-src.zip, SHA-256 b5d25a6460921d8a5ef09175b37ac19c1daaa1b4918e52ff8cac355122eabf0c (176 files), kept by the maintainer |
| verification of the tag | docs/review/RC1-VERIFICATION-REPORT.md (all producer checks passed on Windows 11 x64) |
| verification on a second operating system | docs/review/RC1-VERIFICATION-REPORT-linux-x64.md (all producer checks passed on Linux x64 on commit 45c6c56 of this repository, printed as a8ef56e in the report because the history was rewritten afterwards; its archive code is the imported snapshot plus lint-only changes) |
| verification on a third operating system | docs/review/RC2-VERIFICATION-REPORT-macos-arm64.md (all producer checks passed on macOS arm64 on commit 8930544, version 1.0.0-rc.2, run on a GitHub-hosted runner by .github/workflows/release-gate-macos.yml) |
| import commit | the first commit of this repository: 16eeeec879ecad3c271fb02dcb47aa76a69ea3dc in the original history, 29bc6727bc3f476a03d7495c22df08af1001760c after the rewrite of 2026-09-25 (below); its SHA-256 manifest of every imported file is in the import report the maintainer keeps with the source archive |
Publication-preparation changes after the tag: community files (CODE_OF_CONDUCT.md,
AUTHORS.md, CITATION.cff, docs/INSTALL.md, docs/PROVENANCE.md,
benchmarks/CORPUS-LICENSES.md, issue and pull-request templates, the draft-release workflow),
neutral copyright lines in the license files, README wording for a public repository, absolute
local paths replaced by relative ones in reports and tool output, and the removal of the Romanian
draft notes from the published tree.
The research notes (docs/research/, seven areas plus the naming rounds) and the name-availability
script (benchmarks/check_names.sh) were the maintainer’s working material for the design; they
were removed from the tree before publication and are kept privately. Their conclusions live in
docs/DESIGN-AGENT-FIRST.md, docs/design/ and the specification. They are still present in
this repository’s history (the import commit and the commits up to that date), so before the
repository is made public the maintainer either rewrites the history to drop them (for example
with git filter-repo --path docs/research --path benchmarks/check_names.sh --invert-paths,
followed by a forced update of main, which is acceptable only while the repository is private)
or re-creates the public repository from a clean snapshot. The first way was taken on 2026-09-25;
the next section records it.
Executed once, while the repository was still private, as docs/RELEASE-PROCESS.md §A1
describes, with the maintainer’s explicit authorisation of the same day. Command, in a fresh
clone with git-filter-repo 2.x:
git filter-repo --path docs/research --path benchmarks/check_names.sh --invert-paths --mailmap MAILMAP --force
| Item | Before | After |
|---|---|---|
tip of main |
7fd480f6ac8a5a2b7aa29e18c4c35f67d9288e36 |
cce66e1c9cfa6368318633001ea1d4b84e958d06 |
| tree of the tip | a881d31adc428661ac98ead32fe9f74ddcfe4e44 |
a881d31adc428661ac98ead32fe9f74ddcfe4e44 (identical) |
| import commit (root) | 16eeeec879ecad3c271fb02dcb47aa76a69ea3dc |
29bc6727bc3f476a03d7495c22df08af1001760c |
commits on main |
43 | 43 |
commits touching docs/research/ or benchmarks/check_names.sh |
2 | 0 |
| author/committer identities | 4 (two of them addresses the maintainer does not publish) | the maintainer’s GitHub no-reply identity on every commit; GitHub <noreply@github.com> as committer of the web merges |
Co-Authored-By trailers (AI assistance) |
16 | 16 |
The mailmap mapped the private address used by the maintainer’s tooling, and the assistant’s
default git identity on six merge commits, to Iulian Bondari
<76534436+iulianbondari@users.noreply.github.com>; AI assistance stays stated in AUTHORS.md and
in the trailers. Nothing else about the content changed: the tree hash proves it.
After the rewrite, main of the development repository was clean, but GitHub keeps a
read-only ref for every pull request (refs/pull/<n>/head), and those refs still reached the
pre-rewrite commits: the removed notes stayed visible through the pull-request pages and their
diffs, and a forced update of main cannot change that. So the public repository is a new
repository under the same name: the development repository was renamed t-saur-dev and
stays private (pull requests #1 to #20, the old history, the CI runs and their logs live there),
an empty private t-saur was created, main alone was pushed into it, the push was verified
from a fresh clone, and only then was t-saur made public.
| Item | t-saur-dev, main |
t-saur, main (pushed 2026-09-25) |
|---|---|---|
| tip | 410a58be6184a1580e7497178597c9a26347bd08 |
3e7f728658295a21e9a7119aaa0e37ad01bae13f |
| tree of the tip | db5d0f277f7eaa0e189de848c6e361ffb0945f86 |
db5d0f277f7eaa0e189de848c6e361ffb0945f86 (identical) |
| commits / root | 57 / 29bc672 |
57 / 29bc672 |
| commits touching the removed paths | 0 | 0 |
| identities | three | the maintainer’s GitHub no-reply identity; GitHub <noreply@github.com> on the web merges |
| commit signatures | 14, unverifiable | none |
Co-Authored-By trailers |
25 | 25 |
| tags, other branches | none pushed | none |
The tip differs because the same mailmap as the rewrite was applied once more, in the clone
that was pushed: the fourteen commits made after the rewrite (pull requests #17 to #20) carried
the assistant’s identity as committer on five of them, and all fourteen carried SSH signatures
made by the assistant’s session with a key that belongs to no GitHub account (shown as
“unverified”); the mailmap pass normalised the identities and dropped those signatures, as the
rewrite had done for the earlier commits. The trees, messages, trailers and dates are unchanged.
The CI checks recorded in docs/V1-CONTRACT.md §5 and in the review reports ran in
t-saur-dev on the same trees (the last one on 410a58b: the three systems and the determinism
comparison green, run 36149653595); the determinism hash of the three systems is quoted there
because the run logs of the development repository are not public.
Rewriting history to fix these would produce a history nobody has reviewed. A single verified
import commit is simpler to audit: the source archive of the tag and this page tie it to the
development state, and the golden archives in tsaur/crates/tsaur-core/tests/golden/ tie the
format to that state independently of any git metadata.
tests/golden/sign.key, is a published test vector: an Ed25519 seed used to sign the
golden archive encrypted.tsr, whose password is golden; it protects nothing).corpus_real,
corpus_binary, corpus_arm64 are built locally and were never committed), no files from
other projects.benchmarks/CORPUS-LICENSES.md; Rust dependencies in THIRD-PARTY-NOTICES.md; the LGPL
component and the distribution decision in docs/DISTRIBUTION-POLICY.md.AUTHORS.md as provenance, because the treatment of AI-assisted material differs between
jurisdictions; the maintainer has chosen not to seek legal advice on it, and the record lets
anyone apply the rules of their own jurisdiction. Contributors keep the copyright in their
contributions (CONTRIBUTING.md).ROADMAP.md, “v1.0 gate”.