Part of this repository · Acquisition due diligence
trusty-audit
The auditor client: point it at a set of repositories, and it installs its own pinned tooling,
drives a tga audit sweep, and returns one report describing what it found — and what
it could not measure.
- Crate
- trusty-audit
- Runs on
- macOS, Apple Silicon
- tga audit stages
- 10
- tga audit flags
- 7, all optional
What it is
trusty-audit is a client that a recipient runs against their own codebases. It
installs its own pinned copies of four tools — tga, trusty-search, trusty-analyze, and trusty-review — then registers the repositories and
ticketing boards under audit, drives the sweep, and packages the result into a signed return package.
The command that actually runs the sweep is tga audit, documented below. It has
its own page here because it is a deliverable in its own right — someone reading a
due-diligence report wants that report, not a git-analytics crate.
The gaps are named, not filled in
A stage that fails does not stop the sweep; it becomes a named line in the report's Gaps &
Caveats instead of a zero in a cell. Point the sweep at a config with no JIRA project key and
the jira sync stage fails — that failure is recorded as a gap, not silently rendered
as "no JIRA activity".
tga audit — the ten stages
One non-interactive command runs the whole pipeline across every repository the config names, in this order:
| # | Stage |
|---|---|
| 1 | collect |
| 2 | correlate |
| 3 | classify |
| 4 | jira sync |
| 5 | linear sync |
| 6 | deployments |
| 7 | incidents |
| 8 | dora |
| 9 | pr-metrics |
| 10 | report |
Flags
All seven are optional; a bare tga audit with no flags still runs and renders.
| Flag | What it does |
|---|---|
--org <ORG> | GitHub organisation or Bitbucket workspace, used for the report title. |
--title <TITLE> | Report title. Defaults to "<org> — Technical Due Diligence". |
--analyst <NAME> | Name of the analyst producing the report. |
--client <NAME> | Name of the client the report is produced for. |
-o, --output <DIR> | Output directory. Defaults to ./audit-output. |
--weeks <N> | Limit collection to the last N ISO weeks. |
--no-render | Write the manifest and stop, leaving the report to a later render. |
Source: src/audit/ in this repository.
What you need installed
Two binaries. tga collects and classifies; trusty-review renders the
report at the end of the sweep by running trusty-review report as a subprocess. They
meet at a file — the manifest — not at a Cargo dependency edge, so the renderer is a separate install.
cargo install tga --locked cargo install trusty-review --locked
trusty-review 0.15.0 or newer is required — an older copy is rejected before the
first stage runs, with the upgrade command, rather than delivering a report with no written
analysis. The sweep looks for trusty-review on PATH; set TRUSTY_REVIEW_BIN to a full path if it lives somewhere PATH cannot see it.
The renderer writes the report's analysis with a model, so an audit cannot finish without a credential. It is checked before the first stage runs, not at the end:
export OPENROUTER_API_KEY=…
The trusty-audit binary itself
install.sh, at the root of this repository, downloads the trusty-audit-v* release tarball for your platform, verifies it against its
published .sha256 sidecar, installs it into $CARGO_HOME/bin (or ~/.cargo/bin) with an atomic rename, and launches it. It runs on macOS Apple
Silicon only — no Intel Mac or Linux asset is published for this crate, and the script
refuses rather than handing you a binary that cannot execute.
It resolves once this repository has published its first trusty-audit-v* GitHub release; until then it stops with "No published trusty-audit-v* release found" and installs
nothing.
curl -fsSL https://raw.githubusercontent.com/bobmatnyc/trusty-git-analytics/main/install.sh | sh
Until then, build it from a checkout instead:
git clone https://github.com/bobmatnyc/trusty-git-analytics\ncd trusty-git-analytics\ncargo build --release -p trusty-audit
Read the source
trusty-audit publishes no documentation page yet — its own README and source are the reference.