Remove telemetry entirely (ADR-0010)#29
Closed
ChrisonSimtian wants to merge 3 commits into
Closed
Conversation
ChrisonSimtian
marked this pull request as draft
July 24, 2026 02:27
The telemetry feature carried over from NUKE has been inert since the fork: its Application Insights endpoint was the original maintainer's and can't be reused, the client dependency was dropped (Fallout-build#79), and TrackEvent was a stub. It was kept dormant on the intent of wiring up a Fallout-owned backend later — an intent with no owner, endpoint, or plan. Per ADR-0010, Fallout collects no telemetry, so the subsystem is removed rather than left as a dormant liability. Removes the Telemetry classes and the [Telemetry] build extension, every call site (the FalloutBuild attribute, the config-generation hook, and the setup / add-package / cake-convert CLI events), the FALLOUT_TELEMETRY_OPTOUT / NUKE_TELEMETRY_OPTOUT env vars, the FalloutTelemetryVersion / NukeTelemetryVersion MSBuild property (including its legacy lift and FALLOUT001 warning), the FalloutTelemetryDocsUrl constant, and the test-run opt-out plumbing. Not a breaking change: the env var and property only ever gated a no-op, and an unset/unknown one is silently ignored. The .NET SDK's own DOTNET_CLI_TELEMETRY_OPTOUT is left in place. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The migrate tool rewrote NUKE's telemetry knobs to Fallout-branded equivalents: NukeTelemetryVersion → FalloutTelemetryVersion and NUKE_TELEMETRY_OPTOUT → FALLOUT_TELEMETRY_OPTOUT. With telemetry removed (ADR-0010) those targets no longer exist, so renaming would plant dead, telemetry-branded cruft in every migrated project. Drop the rename rules and strip the knobs instead: RewriteCsprojsStep removes the <(Nuke|Fallout)TelemetryVersion> element line, ScriptRewriter removes any (NUKE|FALLOUT)_TELEMETRY_OPTOUT assignment line (bash/pwsh/cmd spellings). Specs updated to assert the knobs are gone rather than renamed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Records the decision that Fallout collects no telemetry — reversing the prior "kept dormant, wire up a Fallout endpoint later" stance — and its rationale, non-breaking impact, and the alternatives (keep dormant / opt-in / local-only) that were rejected. Adds a "No telemetry" convention, drops the now-removed Microsoft.ApplicationInsights row from the dependency overview, updates the from-nuke migration guide to show the telemetry knobs are stripped, and rewords the build-events example that used telemetry as its illustration. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisonSimtian
force-pushed
the
chore/remove-telemetry
branch
from
July 24, 2026 02:57
0577e35 to
ad69876
Compare
Owner
Author
|
Superseded by Fallout-build#538 — re-raised against upstream (as a draft) so it can feed back. Same branch, rebased onto current upstream/main. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gets rid of the telemetry feature inherited from NUKE — for good. Adds ADR-0010 recording the decision that Fallout collects no telemetry, and removes the subsystem in full.
Background
Telemetry has been inert since the fork: the Application Insights endpoint was the original maintainer's (unusable), the client dependency was dropped (Fallout-build#79), and
TrackEventwas a stub. It was kept dormant to "wire up a Fallout-owned backend later" — an intent with no owner, endpoint, or plan. This closes that off: no telemetry, no dormant scaffolding.What's removed
Telemetrysubsystem +[Telemetry]build extension, and every call site (theFalloutBuildattribute, the config-generation hook, thesetup/add-package/cake-convertCLI events).FALLOUT_TELEMETRY_OPTOUT/NUKE_TELEMETRY_OPTOUT,FalloutTelemetryVersion/NukeTelemetryVersion(incl. the legacy lift +FALLOUT001warning), theFalloutTelemetryDocsUrlconstant, the test-run opt-out, and the telemetry docs page.fallout migratenow strips NUKE's telemetry knobs instead of renaming them to deadFallout*equivalents.Compatibility — not a breaking change
The env var and MSBuild property only ever gated a no-op, and an unset/unknown one is silently ignored — no consumer build errors, no behaviour change (telemetry was already off). The .NET SDK's own
DOTNET_CLI_TELEMETRY_OPTOUTis left in place.Commits
Testing
dotnet build fallout.slnxclean. Specs green: Migrate 24, Build 146, CLI 47, Common 131 (+7 unrelated skips).🤖 Generated with Claude Code