Context
/debugAuth route is kDebugMode-gated at two places:
lib/setup/routing/router_config.dart:90-95 (route registration)
lib/screens/welcome/welcome_page.dart:120-125 (welcome card that opens the route)
This means the route is present in debug builds and absent in release builds. Maestro CI runs debug builds by default, so for Maestro testing alone, the kDebugMode gate is sufficient — no additional env flag needed.
The README's "Coverage infrastructure roadmap" however explicitly lists a build-time feature-flag mechanism ("Build-time feature-flag mechanism (analogous to EXPO_PUBLIC_ENABLE_* in dfx-wallet) so non-MVP features can be gated out of the activated surface") as an unchecked item — useful for things beyond /debugAuth, e.g. excluding non-MVP feature surfaces from the activated-surface coverage gate.
This issue scopes whether the flag mechanism is needed and, if so, implements the minimum that unblocks the existing referencing issues.
Status of dependent issues
Recommendation
Close as not-needed for the current test-coverage push. The kDebugMode gate covers /debugAuth for Maestro; the .test-coverage-allowlist from #551 covers scope carve-outs.
Open a fresh issue only if a non-Maestro use case for build-time flags surfaces (e.g. shipping a --enable-experimental-feature-X build of the app).
Acceptance criteria
Estimated effort
| Path |
Days |
| Close as not-needed + update #543 body |
0.1 |
Implement --dart-define-based flag system |
1-2 |
Recommended: close. Total: 0.1 day.
Related
Context
/debugAuthroute iskDebugMode-gated at two places:lib/setup/routing/router_config.dart:90-95(route registration)lib/screens/welcome/welcome_page.dart:120-125(welcome card that opens the route)This means the route is present in debug builds and absent in release builds. Maestro CI runs debug builds by default, so for Maestro testing alone, the
kDebugModegate is sufficient — no additional env flag needed.The README's "Coverage infrastructure roadmap" however explicitly lists a build-time feature-flag mechanism ("Build-time feature-flag mechanism (analogous to
EXPO_PUBLIC_ENABLE_*indfx-wallet) so non-MVP features can be gated out of the activated surface") as an unchecked item — useful for things beyond/debugAuth, e.g. excluding non-MVP feature surfaces from the activated-surface coverage gate.This issue scopes whether the flag mechanism is needed and, if so, implements the minimum that unblocks the existing referencing issues.
Status of dependent issues
57-debug-auth.yamlas deferred-due-to-flag. Re-audit shows this is wrong: Maestro runs debug builds, so the existingkDebugModegate is sufficient.57-debug-auth.yamlis unblocked at this layer. Drop the "needs env flag" pre-condition from Tier 3: extend Maestro handbook to cover every user-facing feature #543 entirely.*_page.dart(12 untested + 5 special-handling) #544/testWidgets: spec every shared widget underlib/widgets/(8 testable + 1 dead code) #545/Visual regression: scale from 5-screen pilot to every*_page.dart#547) is the.test-coverage-allowlistmechanism from CI: file-pair existence guard (every page/widget needs a test or an allow-list entry) #551 — not env flags.Recommendation
Close as not-needed for the current test-coverage push. The
kDebugModegate covers/debugAuthfor Maestro; the.test-coverage-allowlistfrom #551 covers scope carve-outs.Open a fresh issue only if a non-Maestro use case for build-time flags surfaces (e.g. shipping a
--enable-experimental-feature-Xbuild of the app).Acceptance criteria
/debugAuthEstimated effort
--dart-define-based flag systemRecommended: close. Total: 0.1 day.
Related
lib/setup/routing/router_config.dart:90-95lib/screens/welcome/welcome_page.dart:120-125