Sync All sidebar status: during a Sync All pass, each account's nav item shows its place in the queue — queued dot → running (attention dot + live "N of M repositories" tooltip) → success check / failed-count badge / skipped caution dot. Run-scoped; cleared on the next pass. Coordinator emits the states; 5 new transition tests.
100% line coverage, enforced in CI, on every measurable assembly:
gclo.Engine 79% → 100%
gclo.ViewModels 93% → 100%
gclo.Cli 0% → 100% (new gclo.Cli.Tests, 65 tests)
CI fails unless all three hit 100% (coverage.runsettings + a gate that reads every cobertura report).
How the coverage was earned (not gamed)
Testability seams, all offline: IGitHubGateway puts the listers' Octokit calls behind a fake; WorkspaceViewModel.SyncRunner exposes the cancellation path the engine otherwise swallows; the CLI commands split into injectable cores; CredentialManagerVault internal seams reach the Win32 error arms.
Auditable exclusions ([ExcludeFromCodeCoverage], each justified in code): LibGit2GitClient and OctokitGateway (native/network boundaries, verified behaviorally by the integration suites), the CLI Program composition root and the interactive no-echo stdin read, and the source-generated JSON contexts. These are the boundaries that cannot run deterministically offline — the same principle applied consistently.
Verification
Zero-warning solution build, dotnet format clean, 8/8 UI e2e tests, and the CI gate simulated locally: 100.00% / 100.00% / 100.00%.
## What
- **Sync All sidebar status**: during a Sync All pass, each account's nav item shows its place in the queue — queued dot → running (attention dot + live "N of M repositories" tooltip) → success check / failed-count badge / skipped caution dot. Run-scoped; cleared on the next pass. Coordinator emits the states; 5 new transition tests.
- **100% line coverage, enforced in CI**, on every measurable assembly:
- `gclo.Engine` 79% → **100%**
- `gclo.ViewModels` 93% → **100%**
- `gclo.Cli` 0% → **100%** (new `gclo.Cli.Tests`, 65 tests)
- CI fails unless all three hit 100% (`coverage.runsettings` + a gate that reads every cobertura report).
### How the coverage was earned (not gamed)
- **Testability seams, all offline**: `IGitHubGateway` puts the listers' Octokit calls behind a fake; `WorkspaceViewModel.SyncRunner` exposes the cancellation path the engine otherwise swallows; the CLI commands split into injectable cores; `CredentialManagerVault` internal seams reach the Win32 error arms.
- **Auditable exclusions** (`[ExcludeFromCodeCoverage]`, each justified in code): `LibGit2GitClient` and `OctokitGateway` (native/network boundaries, verified behaviorally by the integration suites), the CLI `Program` composition root and the interactive no-echo stdin read, and the source-generated JSON contexts. These are the boundaries that cannot run deterministically offline — the same principle applied consistently.
## Verification
Zero-warning solution build, `dotnet format` clean, 8/8 UI e2e tests, and the CI gate simulated locally: **100.00% / 100.00% / 100.00%**.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
gclo.Engine79% → 100%gclo.ViewModels93% → 100%gclo.Cli0% → 100% (newgclo.Cli.Tests, 65 tests)coverage.runsettings+ a gate that reads every cobertura report).How the coverage was earned (not gamed)
IGitHubGatewayputs the listers' Octokit calls behind a fake;WorkspaceViewModel.SyncRunnerexposes the cancellation path the engine otherwise swallows; the CLI commands split into injectable cores;CredentialManagerVaultinternal seams reach the Win32 error arms.[ExcludeFromCodeCoverage], each justified in code):LibGit2GitClientandOctokitGateway(native/network boundaries, verified behaviorally by the integration suites), the CLIProgramcomposition root and the interactive no-echo stdin read, and the source-generated JSON contexts. These are the boundaries that cannot run deterministically offline — the same principle applied consistently.Verification
Zero-warning solution build,
dotnet formatclean, 8/8 UI e2e tests, and the CI gate simulated locally: 100.00% / 100.00% / 100.00%.🤖 Generated with Claude Code