emit policy-blocked telemetry from git hooks · Entire
emit policy-blocked telemetry from git hooks
6866100→main·
pfleidi·2w ago·2 files·+40 added/-0 removed
Git hooks that skip Entire checkpoint work because the checkpoint policy is unsupported or unreadable now report a checkpoint_policy_blocked event, gated on the existing opt-in telemetry setting.
Sessions
bc757a66bf7dView transcript
[?
Add Checkpoint Policy Blocked TelemetryClaude Code·1 step](/content/gh/entireio/cli/session/59674bd8-9edc-47fc-adae-9e93955ab9af#timeline-bc757a66bf7d/index.html)
Changes
2
cmd/entire/cli
Acheckpoint_policy_telemetry.go+19
- Mhooks_git_cmd.go+21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package cli
import (
"context"
"github.com/entireio/cli/cmd/entire/cli/telemetry"
"github.com/entireio/cli/cmd/entire/cli/versioninfo"
)
// emitCheckpointPolicyBlocked reports a checkpoint_policy_blocked telemetry
// event when telemetry is opted in (settings.Telemetry == true). Best-effort
// and non-blocking; failures to load settings simply suppress the event.
func emitCheckpointPolicyBlocked(ctx context.Context, event telemetry.CheckpointPolicyBlockedEvent) {
s, err := LoadEntireSettings(ctx)
if err != nil || s.Telemetry == nil || !*s.Telemetry {
return
}
telemetry.TrackCheckpointPolicyBlocked(event, versioninfo.Version)
}
Acmd/entire/cli/checkpoint_policy_telemetry.go+19
13 unmodified lines
14
15
16
17
18
19
20
55 unmodified lines
76
77
78
79
80
81
82
83
84
85
86
87
5 unmodified lines
93
94
95
96
97
98
99
100
101
102
103
104
11 unmodified lines
116
117
118
119
120
121
122
123
124
125
126
127
128
129
13 unmodified lines
"github.com/entireio/cli/cmd/entire/cli/logging"
"github.com/entireio/cli/cmd/entire/cli/settings"
"github.com/entireio/cli/cmd/entire/cli/strategy"
"github.com/entireio/cli/cmd/entire/cli/telemetry"
"github.com/entireio/cli/cmd/entire/cli/versioncheck"
"github.com/entireio/cli/cmd/entire/cli/versioninfo"
"github.com/entireio/cli/perf"
55 unmodified lines
if interactive.CanPromptInteractively() {
fmt.Fprintf(os.Stderr, "[entire] Could not read checkpoint policy; skipping Entire checkpoint work: %v\n", err)
}
emitCheckpointPolicyBlocked(g.ctx, telemetry.CheckpointPolicyBlockedEvent{
Hook: g.hookName,
HookType: telemetry.PolicyBlockedHookTypeGit,
Reason: telemetry.PolicyBlockedReasonUnreadable,
Outcome: telemetry.PolicyBlockedOutcomeSkipped,
})
return true
}
def repo.Close()
5 unmodified lines
11 unmodified lines
versioncheck.UpdateCommandForCurrentBinary(versioninfo.Version),
))
}
emitCheckpointPolicyBlocked(g.ctx, telemetry.CheckpointPolicyBlockedEvent{
Hook: g.hookName,
HookType: telemetry.PolicyBlockedHookTypeGit,
Reason: telemetry.PolicyBlockedReasonUnsupported,
Outcome: telemetry.PolicyBlockedOutcomeSkipped,
CheckpointVersion: policy.CheckpointVersion,
CheckpointMinVersion: policy.CheckpointMinVersion,
})
return true
}
Mcmd/entire/cli/hooks_git_cmd.go+21