# zccache wire stability snapshot (zackees/zccache#693 Phase 1).
#
# This file is the canonical record of every protobuf field number, name,
# and type that has shipped on the wire. The CI guard
# `ci/check_wire_stability.py` rejects PRs that remove, renumber, or
# type-change any tuple listed here. Adding new fields is allowed and
# does NOT require updating this file — they only need to appear in the
# .proto sources.
#
# When making an intentional, documented wire change (typically a
# `PROTOCOL_VERSION` bump), regenerate this file with:
#     uv run python ci/check_wire_stability.py --write-snapshot
# and explain the change in the commit message + docs/WIRE_STABILITY.md.
#
# Format: `<message_or_enum_name>\t<field_number>\t<field_name>\t<field_type>`
# where field_type is `<enum>` for enum variants.
ArtifactData	1	outputs	ArtifactOutput
ArtifactData	2	stdout	bytes
ArtifactData	3	stderr	bytes
ArtifactData	4	exit_code	int32
ArtifactOutput	1	name	string
ArtifactOutput	2	payload	ArtifactPayload
ArtifactPayload	1	bytes	bytes
ArtifactPayload	2	path	Path
Backpressure	1	queue_depth	uint32
Backpressure	2	retry_after_ms	uint32
Backpressure	3	reason	string
Cleared	1	artifacts_removed	uint64
Cleared	2	metadata_cleared	uint64
Cleared	3	dep_graph_contexts_cleared	uint64
Cleared	4	on_disk_bytes_freed	uint64
Compile	1	session_id	string
Compile	2	args	string
Compile	3	cwd	Path
Compile	4	compiler	Path
Compile	5	env	EnvVar
Compile	6	env_is_set	bool
Compile	7	stdin	bytes
CompileEphemeral	1	client_pid	uint32
CompileEphemeral	2	working_dir	Path
CompileEphemeral	3	compiler	Path
CompileEphemeral	4	args	string
CompileEphemeral	5	cwd	Path
CompileEphemeral	6	env	EnvVar
CompileEphemeral	7	env_is_set	bool
CompileEphemeral	8	stdin	bytes
CompileProgress	1	queue_position	uint32
CompileProgress	2	queue_depth	uint32
CompileProgress	3	in_flight	uint32
CompileProgress	4	phase	string
CompileResult	1	exit_code	int32
CompileResult	2	stdout	bytes
CompileResult	3	stderr	bytes
CompileResult	4	cached	bool
DaemonStatus	1	version	string
DaemonStatus	2	daemon_namespace	string
DaemonStatus	3	endpoint	string
DaemonStatus	4	private_daemon	PrivateDaemonStatus
DaemonStatus	5	artifact_count	uint64
DaemonStatus	6	cache_size_bytes	uint64
DaemonStatus	7	metadata_entries	uint64
DaemonStatus	8	uptime_secs	uint64
DaemonStatus	9	cache_hits	uint64
DaemonStatus	10	cache_misses	uint64
DaemonStatus	11	total_compilations	uint64
DaemonStatus	12	non_cacheable	uint64
DaemonStatus	13	compile_errors	uint64
DaemonStatus	14	compile_errors_cached	uint64
DaemonStatus	15	time_saved_ms	uint64
DaemonStatus	16	total_links	uint64
DaemonStatus	17	link_hits	uint64
DaemonStatus	18	link_misses	uint64
DaemonStatus	19	link_non_cacheable	uint64
DaemonStatus	20	dep_graph_contexts	uint64
DaemonStatus	21	dep_graph_files	uint64
DaemonStatus	22	sessions_total	uint64
DaemonStatus	23	sessions_active	uint64
DaemonStatus	24	cache_dir	Path
DaemonStatus	25	dep_graph_version	uint32
DaemonStatus	26	dep_graph_disk_size	uint64
DaemonStatus	27	dep_graph_persisted	bool
EnvVar	1	name	string
EnvVar	2	value	string
Error	1	message	string
ExecCachePolicy	0	EXEC_CACHE_POLICY_UNSPECIFIED	<enum>
ExecCachePolicy	1	EXEC_CACHE_POLICY_NORMAL	<enum>
ExecCachePolicy	2	EXEC_CACHE_POLICY_BYPASS	<enum>
ExecCachePolicy	3	EXEC_CACHE_POLICY_READ_ONLY	<enum>
ExecOutputStreams	1	stdout	bool
ExecOutputStreams	2	stderr	bool
FingerprintCheck	1	cache_file	Path
FingerprintCheck	2	cache_type	string
FingerprintCheck	3	root	Path
FingerprintCheck	4	extensions	string
FingerprintCheck	5	include_globs	string
FingerprintCheck	6	exclude	string
FingerprintCheckResult	1	decision	string
FingerprintCheckResult	3	changed_files	string
FingerprintInvalidate	1	cache_file	Path
FingerprintMarkFailure	1	cache_file	Path
FingerprintMarkSuccess	1	cache_file	Path
Frame	1	protocol_version	uint32
Frame	2	payload	bytes
Frame	3	payload_type	string
GenericToolExec	1	tool	Path
GenericToolExec	2	args	string
GenericToolExec	3	cwd	Path
GenericToolExec	4	env	EnvVar
GenericToolExec	5	input_files	Path
GenericToolExec	6	input_extra	bytes
GenericToolExec	7	output_streams	ExecOutputStreams
GenericToolExec	8	output_files	Path
GenericToolExec	10	cache_policy	ExecCachePolicy
GenericToolExec	11	cwd_in_key	bool
GenericToolExec	12	include_scan_files	Path
GenericToolExec	13	include_dirs	Path
GenericToolExec	14	system_include_dirs	Path
GenericToolExec	15	iquote_dirs	Path
GenericToolExec	17	non_deterministic	bool
GenericToolExec	18	key_args_filter	string
GenericToolExecResult	1	exit_code	int32
GenericToolExecResult	2	stdout	bytes
GenericToolExecResult	3	stderr	bytes
GenericToolExecResult	4	output_files	ArtifactOutput
GenericToolExecResult	5	cached	bool
GenericToolExecResult	6	cache_key_hex	string
LinkEphemeral	1	client_pid	uint32
LinkEphemeral	2	tool	Path
LinkEphemeral	3	args	string
LinkEphemeral	4	cwd	Path
LinkEphemeral	5	env	EnvVar
LinkEphemeral	6	env_is_set	bool
LinkResult	1	exit_code	int32
LinkResult	2	stdout	bytes
LinkResult	3	stderr	bytes
LinkResult	4	cached	bool
Lookup	1	cache_key	string
LookupOutcomes	1	depgraph_hit_artifact_hit	uint64
LookupOutcomes	2	depgraph_hit_artifact_miss	uint64
LookupOutcomes	3	depgraph_cold_skip	uint64
LookupOutcomes	4	depgraph_other_miss	map<string, uint64>
LookupResult	1	hit	ArtifactData
LookupResult	2	miss	Empty
Path	1	value	string
PhaseProfileSummary	1	hit_count	uint64
PhaseProfileSummary	2	miss_count	uint64
PhaseProfileSummary	3	parse_args_ns	uint64
PhaseProfileSummary	4	build_context_ns	uint64
PhaseProfileSummary	5	hash_source_ns	uint64
PhaseProfileSummary	6	hash_headers_ns	uint64
PhaseProfileSummary	7	depgraph_check_ns	uint64
PhaseProfileSummary	8	request_cache_lookup_ns	uint64
PhaseProfileSummary	9	cross_root_validate_ns	uint64
PhaseProfileSummary	10	artifact_lookup_ns	uint64
PhaseProfileSummary	11	write_output_ns	uint64
PhaseProfileSummary	12	bookkeeping_ns	uint64
PhaseProfileSummary	13	total_hit_ns	uint64
PhaseProfileSummary	14	compiler_exec_ns	uint64
PhaseProfileSummary	15	include_scan_ns	uint64
PhaseProfileSummary	16	hash_all_ns	uint64
PhaseProfileSummary	17	artifact_store_ns	uint64
PhaseProfileSummary	18	total_miss_ns	uint64
PhaseProfileSummary	19	staged	StagedProfileSummary
PrivateDaemonOwnerStatus	1	pid	uint32
PrivateDaemonOwnerStatus	2	ref_count	uint64
PrivateDaemonSessionOptions	4	owner_pids	uint32
PrivateDaemonSessionOptions	5	env	EnvVar
PrivateDaemonStatus	1	enabled	bool
PrivateDaemonStatus	2	owners	PrivateDaemonOwnerStatus
PrivateDaemonStatus	3	private_env_keys	string
ReleaseWorktreeHandles	1	path	Path
ReleaseWorktreeHandlesResult	1	inspected	uint32
ReleaseWorktreeHandlesResult	2	released	uint32
ReleaseWorktreeHandlesResult	3	sessions_dropped	string
ReleaseWorktreeHandlesResult	4	unreleased	Path
Request	1	ping	Empty
Request	2	shutdown	Empty
Request	3	status	Empty
Request	4	lookup	Lookup
Request	5	store	Store
Request	6	session_start	SessionStart
Request	7	compile	Compile
Request	8	session_end	SessionEnd
Request	9	clear	Empty
Request	10	compile_ephemeral	CompileEphemeral
Request	11	link_ephemeral	LinkEphemeral
Request	12	session_stats	SessionStatsRequest
Request	13	fingerprint_check	FingerprintCheck
Request	14	fingerprint_mark_success	FingerprintMarkSuccess
Request	15	fingerprint_mark_failure	FingerprintMarkFailure
Request	16	fingerprint_invalidate	FingerprintInvalidate
Request	17	list_rust_artifacts	Empty
Request	18	generic_tool_exec	GenericToolExec
Request	19	release_worktree_handles	ReleaseWorktreeHandles
Request	100	request_id	string
Response	1	pong	Empty
Response	2	shutting_down	Empty
Response	3	status	DaemonStatus
Response	4	lookup_result	LookupResult
Response	5	store_result	StoreResult
Response	6	session_started	SessionStarted
Response	7	compile_result	CompileResult
Response	8	session_ended	SessionEnded
Response	9	link_result	LinkResult
Response	10	error	Error
Response	11	cleared	Cleared
Response	12	session_stats_result	SessionStatsResult
Response	13	fingerprint_check_result	FingerprintCheckResult
Response	14	fingerprint_ack	Empty
Response	15	rust_artifact_list	RustArtifactList
Response	16	generic_tool_exec_result	GenericToolExecResult
Response	17	backpressure	Backpressure
Response	18	release_worktree_handles_result	ReleaseWorktreeHandlesResult
Response	19	compile_progress	CompileProgress
Response	100	request_id	string
RustArtifactBundleManifest	1	manifest_schema_version	uint32
RustArtifactBundleManifest	2	plan_schema_version	uint32
RustArtifactBundleManifest	3	cache_schema_version	uint32
RustArtifactBundleManifest	4	mode	uint32
RustArtifactBundleManifest	5	cache_key	string
RustArtifactBundleManifest	6	created_at_secs	uint64
RustArtifactBundleManifest	7	plan_identity_hash	string
RustArtifactBundleManifest	8	artifacts	RustBundledArtifact
RustArtifactBundleManifest	9	layer_kind	uint32
RustArtifactBundleManifest	10	base_cache_key	string
RustArtifactBundleManifest	11	deleted_paths	string
RustArtifactInfo	1	cache_key	string
RustArtifactInfo	2	output_names	string
RustArtifactInfo	3	payload_count	uint64
RustArtifactList	1	artifacts	RustArtifactInfo
RustArtifactPlanV1	1	schema_version	uint32
RustArtifactPlanV1	2	mode	uint32
RustArtifactPlanV1	3	workspace_root	string
RustArtifactPlanV1	4	target_dir	string
RustArtifactPlanV1	5	toolchain	RustToolchainIdentity
RustArtifactPlanV1	6	target_triple	string
RustArtifactPlanV1	7	profile	string
RustArtifactPlanV1	8	inputs	RustPlanInputs
RustArtifactPlanV1	9	packages	RustPlanPackages
RustArtifactPlanV1	10	allowed_artifact_classes	uint32
RustArtifactPlanV1	11	cache_schema_version	uint32
RustArtifactPlanV1	12	journal_log_path	string
RustArtifactPlanV1	13	cache_profile	string
RustArtifactPlanV1	14	dropped_artifact_classes	uint32
RustArtifactPlanV1	15	cargo_artifact_paths	string
RustArtifactPlanV1	16	cargo_artifacts_complete	bool
RustBundledArtifact	1	relative_path	string
RustBundledArtifact	2	class	uint32
RustBundledArtifact	3	size	uint64
RustBundledArtifact	4	content_hash	string
RustBundledArtifact	5	mtime_unix_nanos	uint64
RustBundledArtifact	6	owner	uint32
RustPlanArtifactOwner	1	relative_path	string
RustPlanArtifactOwner	2	package_id	string
RustPlanArtifactOwner	3	owner	uint32
RustPlanInputs	1	features_hash	string
RustPlanInputs	2	rustflags_hash	string
RustPlanInputs	3	env_hash	string
RustPlanInputs	4	lockfile_hash	string
RustPlanInputs	5	cargo_config_hash	string
RustPlanInputs	6	manifest_hashes	string
RustPlanPackages	1	selected_package_ids	string
RustPlanPackages	2	workspace_package_ids	string
RustPlanPackages	3	excluded_path_package_ids	string
RustPlanPackages	4	ownership_policy	string
RustPlanPackages	5	ownership_mode	uint32
RustPlanPackages	6	artifact_owners	RustPlanArtifactOwner
RustPlanPackages	7	ownership_complete	bool
RustToolchainIdentity	1	rustc	string
RustToolchainIdentity	2	cargo	string
RustToolchainIdentity	3	channel	string
RustToolchainIdentity	4	host	string
SessionEnd	1	session_id	string
SessionStart	1	client_pid	uint32
SessionStart	2	working_dir	Path
SessionStart	4	track_stats	bool
SessionStart	6	profile	bool
SessionStarted	1	session_id	string
SessionStats	1	duration_ms	uint64
SessionStats	2	compilations	uint64
SessionStats	3	hits	uint64
SessionStats	4	misses	uint64
SessionStats	5	non_cacheable	uint64
SessionStats	6	errors	uint64
SessionStats	7	errors_cached	uint64
SessionStats	8	time_saved_ms	uint64
SessionStats	9	unique_sources	uint64
SessionStats	10	bytes_read	uint64
SessionStats	11	bytes_written	uint64
SessionStatsRequest	1	session_id	string
StagedProfileSummary	1	counters	map<string, uint64>
StagedProfileSummary	2	timings_ns	map<string, uint64>
StagedProfileSummary	3	bytes	map<string, uint64>
StagedProfileSummary	4	failures	map<string, uint64>
Store	1	cache_key	string
Store	2	artifact	ArtifactData
StoreResult	1	kind	StoreResultKind
StoreResultKind	0	STORE_RESULT_KIND_UNSPECIFIED	<enum>
StoreResultKind	1	STORE_RESULT_KIND_STORED	<enum>
StoreResultKind	2	STORE_RESULT_KIND_ALREADY_EXISTS	<enum>
