Coverage report: 100%

Files Functions Classes

coverage.py v7.16.2, created at 2026-10-02 20:26 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
src/keel/__init__.py (no class)   100% 1 0 0   100% 0 0   100%
src/keel/activity.py ActivityError   100% 0 0 0   100% 0 0   100%
src/keel/activity.py (no class)   100% 178 0 0   100% 72 0   100%
src/keel/agents.py (no class)   100% 92 0 0   100% 26 0   100%
src/keel/api_delegate.py ApiResult   100% 3 0 0   100% 2 0   100%
src/keel/api_delegate.py GuardedAddressError   100% 0 0 0   100% 0 0   100%
src/keel/api_delegate.py _guarded_handlers.GuardedHTTPHandler   100% 1 0 0   100% 0 0   100%
src/keel/api_delegate.py _guarded_handlers.GuardedHTTPSHandler   100% 1 0 0   100% 0 0   100%
src/keel/api_delegate.py (no class)   100% 215 0 4   100% 68 0   100%
src/keel/artifacts.py (no class)   100% 327 0 0   100% 106 0   100%
src/keel/branchscope.py (no class)   100% 47 0 0   100% 20 0   100%
src/keel/canary.py CanaryResult   100% 1 0 0   100% 0 0   100%
src/keel/canary.py RollbackResult   100% 1 0 0   100% 0 0   100%
src/keel/canary.py (no class)   100% 73 0 0   100% 20 0   100%
src/keel/capabilities.py (no class)   100% 9 0 0   100% 4 0   100%
src/keel/capture.py _HasPolicyPack   100% 0 0 0   100% 0 0   100%
src/keel/capture.py CaptureError   100% 0 0 0   100% 0 0   100%
src/keel/capture.py CaptureMarker   100% 2 0 0   100% 0 0   100%
src/keel/capture.py TreeEntry   100% 1 0 0   100% 0 0   100%
src/keel/capture.py (no class)   100% 811 0 0   100% 350 0   100%
src/keel/captureverify.py (no class)   100% 73 0 0   100% 28 0   100%
src/keel/checkpoint.py CheckpointError   100% 0 0 0   100% 0 0   100%
src/keel/checkpoint.py (no class)   100% 241 0 0   100% 96 0   100%
src/keel/classify.py (no class)   100% 68 0 0   100% 46 0   100%
src/keel/cli.py _SnapshotFailed   100% 2 0 0   100% 0 0   100%
src/keel/cli.py (no class)   100% 4785 0 15   100% 1312 0   100%
src/keel/closeorder.py ObservedIssue   100% 1 0 0   100% 0 0   100%
src/keel/closeorder.py (no class)   100% 57 0 0   100% 22 0   100%
src/keel/closure.py (no class)   100% 212 0 0   100% 60 0   100%
src/keel/config.py ConfigError   100% 4 0 0   100% 0 0   100%
src/keel/config.py DelegateProfile   100% 4 0 0   100% 2 0   100%
src/keel/config.py Knobs   100% 0 0 0   100% 0 0   100%
src/keel/config.py Automation   100% 0 0 0   100% 0 0   100%
src/keel/config.py ProjectConfig   100% 3 0 0   100% 2 0   100%
src/keel/config.py (no class)   100% 337 0 0   100% 120 0   100%
src/keel/consent.py (no class)   100% 148 0 0   100% 66 0   100%
src/keel/consentverify.py ObservedEffects   100% 10 0 0   100% 8 0   100%
src/keel/consentverify.py (no class)   100% 81 0 0   100% 20 0   100%
src/keel/contracts.py (no class)   100% 307 0 0   100% 142 0   100%
src/keel/cost.py CostReport   100% 8 0 0   100% 6 0   100%
src/keel/cost.py (no class)   100% 151 0 0   100% 50 0   100%
src/keel/delegate.py DelegateError   100% 3 0 0   100% 0 0   100%
src/keel/delegate.py Resolution   100% 0 0 0   100% 0 0   100%
src/keel/delegate.py Effort   100% 0 0 0   100% 0 0   100%
src/keel/delegate.py RunPlan   100% 1 0 0   100% 0 0   100%
src/keel/delegate.py (no class)   100% 279 0 1   100% 120 0   100%
src/keel/delegaterun.py RunIdError   100% 0 0 0   100% 0 0   100%
src/keel/delegaterun.py (no class)   100% 308 0 4   100% 80 0   100%
src/keel/doctor.py CheckResult   100% 1 0 0   100% 0 0   100%
src/keel/doctor.py (no class)   100% 256 0 2   100% 120 0   100%
src/keel/dryrunverify.py ArtifactSnapshot   100% 0 0 0   100% 0 0   100%
src/keel/dryrunverify.py (no class)   100% 38 0 0   100% 6 0   100%
src/keel/evidence.py EvidenceItem   100% 1 0 0   100% 0 0   100%
src/keel/evidence.py _ReviewTally   100% 0 0 0   100% 0 0   100%
src/keel/evidence.py (no class)   100% 688 0 0   100% 288 0   100%
src/keel/extensions.py ExtensionError   100% 0 0 0   100% 0 0   100%
src/keel/extensions.py Extension   100% 0 0 0   100% 0 0   100%
src/keel/extensions.py (no class)   100% 105 0 2   100% 44 0   100%
src/keel/findings.py FindingError   100% 0 0 0   100% 0 0   100%
src/keel/findings.py Finding   100% 2 0 0   100% 2 0   100%
src/keel/findings.py Verdict   100% 0 0 0   100% 0 0   100%
src/keel/findings.py (no class)   100% 41 0 0   100% 4 0   100%
src/keel/fixloop.py FixloopError   100% 0 0 0   100% 0 0   100%
src/keel/fixloop.py Rung   100% 1 0 0   100% 0 0   100%
src/keel/fixloop.py (no class)   100% 252 0 0   100% 100 0   100%
src/keel/flows.py Phase   100% 0 0 0   100% 0 0   100%
src/keel/flows.py (no class)   100% 23 0 0   100% 0 0   100%
src/keel/gates.py GateError   100% 0 0 0   100% 0 0   100%
src/keel/gates.py GateSpec   100% 0 0 0   100% 0 0   100%
src/keel/gates.py PanelReuse   100% 1 0 0   100% 0 0   100%
src/keel/gates.py GateOutcome   100% 0 0 0   100% 0 0   100%
src/keel/gates.py (no class)   100% 175 0 3   100% 62 0   100%
src/keel/git.py (no class)   100% 109 0 0   100% 16 0   100%
src/keel/github.py (no class)   100% 246 0 1   100% 82 0   100%
src/keel/github_transport.py GitHubTransport   100% 8 0 0   100% 4 0   100%
src/keel/github_transport.py (no class)   100% 27 0 0   100% 6 0   100%
src/keel/guard.py GuardError   100% 0 0 0   100% 0 0   100%
src/keel/guard.py Rule   100% 6 0 0   100% 4 0   100%
src/keel/guard.py GuardResult   100% 2 0 0   100% 0 0   100%
src/keel/guard.py (no class)   100% 71 0 0   100% 20 0   100%
src/keel/install.py OrphanFileStatus   100% 1 0 0   100% 0 0   100%
src/keel/install.py AdapterFileStatus   100% 0 0 0   100% 0 0   100%
src/keel/install.py (no class)   100% 378 0 0   100% 130 0   100%
src/keel/intake.py IssueContext   100% 1 0 0   100% 0 0   100%
src/keel/intake.py (no class)   100% 205 0 0   100% 86 0   100%
src/keel/jsonschema_min.py (no class)   100% 98 0 0   100% 76 0   100%
src/keel/jury.py JuryReportError   100% 0 0 0   100% 0 0   100%
src/keel/jury.py Ballot   100% 1 0 0   100% 0 0   100%
src/keel/jury.py Panel   100% 8 0 0   100% 4 0   100%
src/keel/jury.py (no class)   100% 277 0 0   100% 100 0   100%
src/keel/juryavail.py Seat   100% 1 0 0   100% 0 0   100%
src/keel/juryavail.py Runner   100% 2 0 0   100% 0 0   100%
src/keel/juryavail.py Availability   100% 9 0 0   100% 2 0   100%
src/keel/juryavail.py (no class)   100% 114 0 0   100% 28 0   100%
src/keel/ledger.py LedgerError   100% 0 0 0   100% 0 0   100%
src/keel/ledger.py (no class)   100% 345 0 0   100% 164 0   100%
src/keel/lock.py LockError   100% 0 0 0   100% 0 0   100%
src/keel/lock.py ClaimResult   100% 1 0 0   100% 0 0   100%
src/keel/lock.py (no class)   100% 139 0 12   100% 24 0   100%
src/keel/loop.py LoopError   100% 0 0 0   100% 0 0   100%
src/keel/loop.py LoopPolicy   100% 1 0 0   100% 0 0   100%
src/keel/loop.py GateResult   100% 10 0 0   100% 6 0   100%
src/keel/loop.py LoopDecision   100% 3 0 0   100% 0 0   100%
src/keel/loop.py (no class)   100% 248 0 0   100% 94 0   100%
src/keel/mergeverify.py (no class)   100% 29 0 0   100% 12 0   100%
src/keel/model.py Step   100% 0 0 0   100% 0 0   100%
src/keel/model.py Slot   100% 0 0 0   100% 0 0   100%
src/keel/model.py (no class)   100% 34 0 0   100% 0 0   100%
src/keel/orchestrator.py PlanHook   100% 0 0 0   100% 0 0   100%
src/keel/orchestrator.py PlanSlot   100% 0 0 0   100% 0 0   100%
src/keel/orchestrator.py PlanItem   100% 0 0 0   100% 0 0   100%
src/keel/orchestrator.py (no class)   100% 78 0 0   100% 22 0   100%
src/keel/project_commands.py ProjectCommand   100% 1 0 0   100% 0 0   100%
src/keel/project_commands.py (no class)   100% 40 0 0   100% 14 0   100%
src/keel/provenance.py (no class)   100% 27 0 0   100% 2 0   100%
src/keel/providerprobe.py ProbeResult   100% 3 0 0   100% 0 0   100%
src/keel/providerprobe.py (no class)   100% 164 0 0   100% 60 0   100%
src/keel/providers.py Provider   100% 6 0 0   100% 2 0   100%
src/keel/providers.py Registry   100% 1 0 0   100% 0 0   100%
src/keel/providers.py (no class)   100% 217 0 0   100% 76 0   100%
src/keel/redaction.py RedactionError   100% 0 0 0   100% 0 0   100%
src/keel/redaction.py RedactionRule   100% 0 0 0   100% 0 0   100%
src/keel/redaction.py RedactionPolicy   100% 0 0 0   100% 0 0   100%
src/keel/redaction.py RedactionResult   100% 0 0 0   100% 0 0   100%
src/keel/redaction.py (no class)   100% 100 0 0   100% 36 0   100%
src/keel/revertcheck.py Settings   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py Hunk   100% 1 0 0   100% 0 0   100%
src/keel/revertcheck.py FileDiff   100% 5 0 0   100% 0 0   100%
src/keel/revertcheck.py Change   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py Plan   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py Tally   100% 1 0 0   100% 0 0   100%
src/keel/revertcheck.py RunResult   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py Reverted   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py ChangeResult   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py Report   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py Verdict   100% 0 0 0   100% 0 0   100%
src/keel/revertcheck.py (no class)   100% 524 0 0   100% 202 0   100%
src/keel/review.py ReviewError   100% 0 0 0   100% 0 0   100%
src/keel/review.py ReviewItem   100% 0 0 0   100% 0 0   100%
src/keel/review.py PostTarget   100% 1 0 0   100% 0 0   100%
src/keel/review.py ReviewPlan   100% 1 0 0   100% 0 0   100%
src/keel/review.py (no class)   100% 124 0 0   100% 46 0   100%
src/keel/runcontrols.py HaltReason   100% 1 0 0   100% 0 0   100%
src/keel/runcontrols.py (no class)   100% 134 0 0   100% 42 0   100%
src/keel/runner.py CommandResult   100% 0 0 0   100% 0 0   100%
src/keel/runner.py (no class)   100% 70 0 2   100% 12 0   100%
src/keel/runtime.py Capability   100% 1 0 0   100% 0 0   100%
src/keel/runtime.py CapabilityReport   100% 12 0 0   100% 6 0   100%
src/keel/runtime.py CapabilityRequirement   100% 2 0 0   100% 0 0   100%
src/keel/runtime.py CapabilityEvaluation   100% 8 0 0   100% 4 0   100%
src/keel/runtime.py (no class)   100% 136 0 0   100% 28 0   100%
src/keel/scaffold.py (no class)   100% 218 0 0   100% 88 0   100%
src/keel/scope.py (no class)   100% 25 0 0   100% 12 0   100%
src/keel/ship.py MergeDecision   100% 0 0 0   100% 0 0   100%
src/keel/ship.py ShipAssessment   100% 0 0 0   100% 0 0   100%
src/keel/ship.py (no class)   100% 178 0 0   100% 60 0   100%
src/keel/standalone.py (no class)   100% 183 0 0   100% 74 0   100%
src/keel/status.py (no class)   100% 98 0 0   100% 32 0   100%
src/keel/stepverifier.py HandoffField   100% 11 0 0   100% 8 0   100%
src/keel/stepverifier.py StepRequirement   100% 1 0 0   100% 0 0   100%
src/keel/stepverifier.py (no class)   100% 151 0 0   100% 66 0   100%
src/keel/swarm.py SwarmPlanError   100% 0 0 0   100% 0 0   100%
src/keel/swarm.py IssueScope   100% 6 0 0   100% 2 0   100%
src/keel/swarm.py Difficulty   100% 7 0 0   100% 2 0   100%
src/keel/swarm.py SwarmCluster   100% 7 0 0   100% 2 0   100%
src/keel/swarm.py SwarmWave   100% 6 0 0   100% 2 0   100%
src/keel/swarm.py SwarmPlan   100% 13 0 0   100% 4 0   100%
src/keel/swarm.py SwarmWorkerStatus   100% 6 0 0   100% 2 0   100%
src/keel/swarm.py SwarmRunState   100% 1 0 0   100% 0 0   100%
src/keel/swarm.py SwarmRunResult   100% 1 0 0   100% 0 0   100%
src/keel/swarm.py LandingDecision   100% 1 0 0   100% 0 0   100%
src/keel/swarm.py ClusterClosure   100% 1 0 0   100% 0 0   100%
src/keel/swarm.py SwarmLandingResult   100% 1 0 0   100% 0 0   100%
src/keel/swarm.py AssignmentOverrides   100% 1 0 0   100% 0 0   100%
src/keel/swarm.py (no class)   100% 856 0 0   100% 320 0   100%
src/keel/swarm_landing.py PullRequestLookup   100% 0 0 0   100% 0 0   100%
src/keel/swarm_landing.py ClusterMerge   100% 0 0 0   100% 0 0   100%
src/keel/swarm_landing.py (no class)   100% 178 0 0   100% 60 0   100%
src/keel/swarm_review.py PullRequestFacts   100% 0 0 0   100% 0 0   100%
src/keel/swarm_review.py ReviewSeat   100% 4 0 0   100% 0 0   100%
src/keel/swarm_review.py SeatVerdict   100% 1 0 0   100% 0 0   100%
src/keel/swarm_review.py ClusterReview   100% 2 0 0   100% 0 0   100%
src/keel/swarm_review.py SwarmReviewResult   100% 4 0 0   100% 2 0   100%
src/keel/swarm_review.py (no class)   100% 366 0 0   100% 120 0   100%
src/keel/swarm_review_runtime.py ReviewIO   100% 0 0 0   100% 0 0   100%
src/keel/swarm_review_runtime.py (no class)   100% 157 0 0   100% 40 0   100%
src/keel/swarm_runtime.py LiveRun   100% 0 0 0   100% 0 0   100%
src/keel/swarm_runtime.py (no class)   100% 499 0 0   100% 160 0   100%
src/keel/swarm_worker.py ConsentDelegation   100% 2 0 0   100% 0 0   100%
src/keel/swarm_worker.py GitSnapshot   100% 0 0 0   100% 0 0   100%
src/keel/swarm_worker.py WorktreeDisposal   100% 0 0 0   100% 0 0   100%
src/keel/swarm_worker.py WorktreeEntry   100% 0 0 0   100% 0 0   100%
src/keel/swarm_worker.py SwarmRunRecord   100% 0 0 0   100% 0 0   100%
src/keel/swarm_worker.py SwarmLeftover   100% 1 0 0   100% 0 0   100%
src/keel/swarm_worker.py (no class)   100% 349 0 0   100% 102 0   100%
src/keel/tdd.py Mode   100% 2 0 0   100% 0 0   100%
src/keel/tdd.py Change   100% 2 0 0   100% 0 0   100%
src/keel/tdd.py Commit   100% 3 0 0   100% 0 0   100%
src/keel/tdd.py OrderResult   100% 1 0 0   100% 0 0   100%
src/keel/tdd.py (no class)   100% 167 0 0   100% 54 0   100%
src/keel/team.py JuryUnavailableError   100% 0 0 0   100% 0 0   100%
src/keel/team.py Seat   100% 16 0 0   100% 12 0   100%
src/keel/team.py Bench   100% 0 0 0   100% 0 0   100%
src/keel/team.py TeamPolicy   100% 12 0 0   100% 8 0   100%
src/keel/team.py (no class)   100% 470 0 0   100% 248 0   100%
src/keel/vocab.py (no class)   100% 10 0 0   100% 0 0   100%
src/keel/window.py (no class)   100% 20 0 0   100% 6 0   100%
src/keel/wizard.py Candidate   100% 6 0 0   100% 2 0   100%
src/keel/wizard.py Catalog   100% 20 0 0   100% 12 0   100%
src/keel/wizard.py Choice   100% 0 0 0   100% 0 0   100%
src/keel/wizard.py Question   100% 27 0 0   100% 14 0   100%
src/keel/wizard.py State   100% 11 0 0   100% 4 0   100%
src/keel/wizard.py Resolution   100% 23 0 0   100% 16 0   100%
src/keel/wizard.py WizardError   100% 0 0 0   100% 0 0   100%
src/keel/wizard.py (no class)   100% 341 0 0   100% 116 0   100%
src/keel/wizardrun.py (no class)   100% 69 0 12   100% 36 0   100%
src/keel/workblock.py (no class)   100% 31 0 0   100% 14 0   100%
src/keel/workcreation.py WorkDecision   100% 4 0 0   100% 2 0   100%
src/keel/workcreation.py (no class)   100% 84 0 0   100% 18 0   100%
src/keel/workspace.py (no class)   100% 113 0 0   100% 32 0   100%
src/keel/yaml_helper.py (no class)   100% 14 0 0   100% 0 0   100%
Total     100% 19243 0 58   100% 6636 0   100%

No items found using the specified filter.