Skip to content

Prepare CLEVER Driver 0.1.14 Play update - #60

Merged
OziinG merged 5 commits into
devfrom
cc-240-driver-0114-update
Sep 8, 2026
Merged

Prepare CLEVER Driver 0.1.14 Play update#60
OziinG merged 5 commits into
devfrom
cc-240-driver-0114-update

Conversation

@OziinG

@OziinG OziinG commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Connects EVNSolution/clever-change-control#240 and #1.

Release scope:

  • preserve destination guidance separately from order and driver memos, including delivery-open time
  • persist complete manual destination order with route-version and idempotency protection
  • keep the order editor mounted while a save is pending so navigation cannot hide the result
  • reload authoritative route state after partial completion and order changes
  • align app email validation with the deployed server while preserving legacy IDs and normal email login
  • identify the replacement Android candidate as 0.1.14 / versionCode 23
  • align README, project brief, and DESIGN with the deployed versioned order contract

Verification completed locally:

  • 35 targeted navigation/screen/version tests
  • npm run check:workspace: typecheck and 153 tests
  • npm run lint
  • npx expo install --check
  • git diff --check

Release boundary:

  • product code changed after independent review, so the versionCode 22 AAB/Play draft must be replaced with a versionCode 23 production AAB from the final reviewed SHA
  • do not reuse the local vc13 APK or versionCode 22
  • do not submit for review or change the current 0.1.13 production rollout in this PR

Constraint: Additive app contract only; server deployment and sequence persistence remain externally owned.
Rejected: Local-only sequence caching | it can overwrite newer server dispatch order without a route version contract.
Confidence: high
Scope-risk: narrow
Directive: Keep openTime informational until route optimization semantics are separately approved.
Tested: 39 targeted tests; TypeScript typecheck; Expo lint; expo install --check; git diff --check.
Not-tested: Native or Expo bundle builds, APK/AAB, device behavior, server persistence, and web round-trip.
Constraint: Use the versioned DSV route-order contract without APK, bundle, device, or deployment work.
Rejected: Keep drag order only in component state | refresh and partial completion would restore the server sequence.
Confidence: high
Scope-risk: moderate
Directive: Send the complete stop permutation, retain the command id across the one network retry, and adopt only the authoritative response version.
Tested: npm run check:workspace (151 tests), npm run lint, npx expo install --check, git diff --check.
Not-tested: Deployed server transaction, physical-device interaction, native build, APK, or production delivery flow.
Align the app-side acceptance boundary to the existing server authority while preserving legacy IDs and the conventional email path, and identify the next Play candidate as 0.1.14.

Constraint: Build on candidate b443158 without modifying the deployed server or reusing the vc13 APK.

Rejected: Broaden the server email contract | The deployed server remains the authentication authority.

Confidence: high

Scope-risk: narrow

Directive: Keep EAS remote versioning authoritative and verify the production AAB resolves to versionCode 22 before any Play upload.

Tested: 11 targeted tests; check:workspace 151 tests and typecheck; lint; Expo dependency check; Android and iOS exports; git diff check.

Not-tested: Production EAS AAB, Play upload, Play-signed device update, and released app-server authentication E2E pending downstream release stages.
@OziinG

OziinG commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

Final release-review evidence for a981cc0d5d6d8e80bee656d67164c26967729b5c:

  • Exact-SHA CI passed: https://github.com/EVNSolution/clever-driver-app/actions/runs/34205887481
  • Changed-path regression passed 32 tests: src/app/internalScreens.test.ts and src/domain/navigation/androidBackNavigation.test.ts.
  • Final-head typecheck, lint, and git diff --check passed.
  • Independent code review: APPROVE, no remaining blocker.
  • Independent architecture review: CLEAR. The prior unconditional reload blocker is resolved; the remaining suggestion for a behavioral transition test is non-blocking.
  • The final changes keep manual-order save outcomes visible across navigation, defer foreground/push refresh until the save settles, preserve failed drafts, replay genuinely queued refreshes, and include the corrected destination-group/server-authoritative DESIGN.md wording.
  • App configuration is 0.1.14 / 23 at this head.

Version/link contract checked read-only on 2026-09-08:

  • Android displays latestVersionName from GET /api/dsv/driver/app-release/android; the live server still returns 13 / 0.1.12. Aligning it with the already public Play release 21 / 0.1.13 is a server-only change. Do not advertise 0.1.14 before the final release stage.
  • Both app update buttons open the stable web page https://dsv.cleversystem.ai/driver-app, not the API installUrl. The live page currently targets the Drive APK; switching that web button to https://play.google.com/store/apps/details?id=com.evnsolution.clever.driver needs no Driver app change. Changing only the API installUrl would not affect the current app UI.

PR #60 remains open and unmerged. No replacement EAS build, Play upload, review submission, rollout, server change, or device action was performed. The existing 0.1.14 / 22 AAB and Play draft remain preserved and unsubmitted, but are obsolete relative to this final head and must not be submitted.

Lift the pending-save signal to the workspace so back, settings, logout, and tab actions cannot unmount the editor before the authoritative result is shown. Refresh the canonical order contract documentation and reserve the next Play version code because product bytes changed after review.\n\nConstraint: Preserve the existing versioned server-order contract and the already uploaded versionCode 22 artifact.\nRejected: Global mutation overlay | It adds unnecessary state machinery for one bounded editor lifecycle.\nConfidence: high\nScope-risk: narrow\nDirective: Do not allow workspace navigation to outlive or hide a pending manual-order save result.\nTested: 35 targeted tests; TypeScript typecheck and 153 tests; Expo lint; expo install --check; git diff --check.\nNot-tested: Replacement EAS AAB, Play upload, and Play-signed physical-device update pending downstream steps.
@OziinG
OziinG force-pushed the cc-240-driver-0114-update branch from af3bf83 to 66e0447 Compare September 8, 2026 08:39
Keep foreground and push refreshes from closing the sequence editor during the pending server mutation, then apply the queued refresh once the save lifecycle ends. Remove the remaining stale order-unit descriptions from the design source of truth.\n\nConstraint: Finish only the review-reported save lifecycle defect and existing DESIGN.md corrections.\nRejected: Global refresh queue | The existing effect dependency can safely defer and replay the latest refresh key without a new state layer.\nConfidence: high\nScope-risk: narrow\nDirective: Route refreshes must not replace sequence-editor state while its save promise is pending.\nTested: 32 focused screen/back-navigation tests; TypeScript typecheck; git diff check; stale DESIGN wording scan.\nNot-tested: New EAS build, Play upload, physical-device update, merge, review submission, and rollout intentionally excluded.
@OziinG
OziinG force-pushed the cc-240-driver-0114-update branch from 66e0447 to a981cc0 Compare September 8, 2026 08:41
@OziinG
OziinG merged commit 4009a9f into dev Sep 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant