traces › Develop and release
The gate fetches the pushed revision and installs frozen dependencies. Build before tests, which spawn the CLI.
beelink-gate auto https://github.com/tangle-network/traces.git <full-commit-sha> -- bash -euc \
'pnpm check:source && pnpm typecheck && pnpm build && pnpm test && pnpm run verify:contracts-corpus && pnpm check:package'PRs and branch pushes run no CI. The corpus checks real trace fixtures; check:package checks the packed CLI. Use the package's Node engine range; tag publication retains its own runtime and qualification.
main is protected, and nothing publishes until a v* tag:
- Change
package.json(andpnpm-lock.yaml) to the version, and its notes todocs/release-<version>.md, through a pull request. - Tag the merge commit
vX.Y.Zand push the tag. - The Publish workflow checks the tag is on
mainand matchespackage.json, builds, publishes to npm with provenance, and creates the GitHub release fromdocs/release-<version>.md.
pnpm check:package proves the tarball ships the traces binary and the skill. To retry a failed publish, run the Publish workflow with the existing tag.
bench/audit/ asks 19 questions about three synthetic sessions and scores answers by exact match, with no model judging anything.
Three arms answer it: facts (traces facts <ref> --format json mapped by fixed rules, $0; pnpm test holds its score to bench/audit/facts-score.json, which may only rise), raw-files (one claude -p agent per question over the raw files) and traces (the same agent with traces on PATH and the skill installed in its own HOME).
pnpm bench:audit large runs any arm over one synthetic session of about 50,000 spans.
The release rule: the traces arm answers at least as many questions as the raw-files arm, at lower cost. bench/audit/README.md has the commands and the rule, and bench/parity/ scores each parser traces retires against the command that replaces it (parsers).