Conversation
Combine the completion time, optional POD photo, and final confirmation in one flow while preserving the existing server event and media contracts. Constraint: The selected time is actual completion evidence and must stay separate from Rolling ETA. Rejected: Separate completion and proof dialogs | They split one delivery decision across two confirmations. Confidence: high Scope-risk: moderate Directive: Keep completion time and predicted arrival labels distinct in future UI changes. Tested: npm run check:workspace; git diff --check Not-tested: Physical camera and gallery selection; production proof upload.
Keep reset credential entry on the DSV HTTPS page while exposing login help and invalidated-session cleanup in the app. Constraint: Approved server contract uses administrator-issued 30-minute one-time HTTPS links and no SMS OTP or app reset endpoint Rejected: Add app reset API or deep-link handling | no approved contract Confidence: high Scope-risk: narrow Directive: Keep reset token handling on DSV web unless the server contract changes Tested: npm run check:workspace; npm run lint; npx expo install --check; npm run build; git diff --check Not-tested: physical-device interaction
Present the persisted last stop arrival and server pickup-to-arrival duration on the Driver delivery screen while preserving the existing next-stop ETA and completion flow. Constraint: The deployed DSV contract owns stop ETA, pickup time, route sequence, and timezone Rejected: Calculate ETA from device time, distance, or final service time | those inputs are not an approved completion ETA contract Confidence: high Scope-risk: narrow Directive: Keep this value labeled as final-stop arrival until the server exposes a completion ETA Tested: npm run check:workspace; npm run lint; npx expo install --check; npm run build; git diff --check Not-tested: physical device or emulator UI because none was connected or booted
Advance the public version beyond the deployed Play build and keep Android and iOS build identifiers explicit for local validation. Constraint: Google Play already serves versionCode 25 and App Store Connect already received build 14. Rejected: Reusing 0.1.14 or a versionCode below 26 | Store uploads require monotonically increasing identifiers. Confidence: high Scope-risk: narrow Directive: Do not lower versionCode or buildNumber when regenerating native projects. Tested: npm run check:workspace; npm run lint; npx expo install --check; git diff --check Not-tested: Signed store builds and device installation.
Enable durable R8 minification, optimized defaults, and resource shrinking through the Expo prebuild boundary. Constraint: The Android directory is generated and must remain reproducible from app configuration. Rejected: Edit generated Gradle files directly | Expo prebuild would discard the optimization settings. Confidence: high Scope-risk: narrow Directive: Preserve the template guard when upgrading Expo and review any generated ProGuard default change explicitly. Tested: Clean Expo prebuild proof; workspace typecheck and 170 tests; lint; Expo dependency check; git diff check. Not-tested: Signed production AAB awaits the EAS remote build because local native compilation exceeded the 8 GB host budget.
Constraint: Local release validation must protect an 8 GB host and stay distinct from Play candidates. Rejected: Hardcode generated .cxx paths and targets | They change across generated native builds. Confidence: high Scope-risk: narrow Directive: Stop native builds at the documented fan-out and memory-pressure boundaries before retrying. Tested: npm run check:workspace; npm run lint; npx expo install --check; git diff --check Not-tested: Production Play AAB remains blocked by the exhausted EAS Android quota.
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.
Outcome
Constraints
Validation
Not tested
Refs EVNSolution/clever-change-control#240
Refs #1