Skip to main content

History Repository Data Model

All JSON files use version: 2. Types and encode/decode helpers are defined in packages/history-models.

History JSON is written minified (no indentation) to reduce repository size.

Global index

data/repositories.json:

{"version":2,"updatedAt":"2026-07-07T10:00:00.000Z","repositories":[{"key":"owner.repo","name":"owner/repo","url":"https://github.com/owner/repo","latestStatus":"failed","branchCount":3,"lastUpdated":"2026-07-07T10:00:00.000Z","latestCommitShortSha":"abc123d"}]}

Run record

runs/{timestamp}-{runId}.json contains the full test payload. Test names are compressed with a per-run class dictionary; each test stores a class index (c) and method name (m) instead of the full name.

{
"version": 2,
"runId": "4829",
"workflowRunId": 4829,
"status": "failed",
"date": "2026-07-07T10:00:00.000Z",
"durationMs": 1634,
"context": { "repository": "owner/repo", "branchKey": "pr-42" },
"stats": { "total": 100, "passed": 98, "failed": 2, "skipped": 0 },
"classes": ["Notey.Tests.DocumentStoreIndexTests"],
"tests": [
{ "c": 0, "m": "GetDynamicValueSuggestionsAsync_reads_folder_values_for_command", "o": 0, "d": 123 }
],
"failures": [{ "t": 0, "message": "...", "stackTrace": "..." }],
"links": { "workflowUrl": "...", "commitUrl": "..." }
}
FieldMeaning
classesDictionary of fully-qualified class names for this run
tests[].cIndex into classes
tests[].mMethod name (suffix of full test name)
tests[].nFallback full name when class decomposition is unavailable
tests[].oOutcome code
tests[].dDuration in milliseconds
tests[].aAssembly / project name (optional)
tests[].nfNew failure flag (optional)
failures[].tIndex of the failed test in tests[]

Outcome codes: 0=passed, 1=failed, 2=skipped, 3=inconclusive.

The web dashboard expands stored tests to full names at load time using normalizeRunRecord() from history-models.

data/repositories/{owner.repo}/tests.json stores cross-branch per-test history. Test names are stored once in a names array; entries are keyed by numeric ID:

{
"version": 2,
"updatedAt": "2026-07-07T10:00:00.000Z",
"names": ["Notey.Tests.DocumentStoreIndexTests.MyTest"],
"entries": {
"0": {
"passRate": 95.0,
"runCount": 20,
"points": [{ "runId": "1", "date": "...", "o": 0, "d": 123, "commitShortSha": "abc123d", "branchKey": "main", "branchLabel": "main" }]
}
}
}

Branch history

history.json contains summary rows only — the UI loads full run data on demand from runs/.

Schema version 1

Version 1 data is not supported. Delete existing history data and re-import or publish fresh runs with schema v2.