Skip to content

chore(ci)(deps): Bump actions/checkout from 4 to 6#2

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/github_actions/actions/checkout-6
Open

chore(ci)(deps): Bump actions/checkout from 4 to 6#2
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/github_actions/actions/checkout-6

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github May 3, 2026

Bumps actions/checkout from 4 to 6.

Release notes

Sourced from actions/checkout's releases.

v6.0.0

What's Changed

Full Changelog: actions/checkout@v5.0.0...v6.0.0

v6-beta

What's Changed

Updated persist-credentials to store the credentials under $RUNNER_TEMP instead of directly in the local git config.

This requires a minimum Actions Runner version of v2.329.0 to access the persisted credentials for Docker container action scenarios.

v5.0.1

What's Changed

Full Changelog: actions/checkout@v5...v5.0.1

v5.0.0

What's Changed

⚠️ Minimum Compatible Runner Version

v2.327.1
Release Notes

Make sure your runner is updated to this version or newer to use this release.

Full Changelog: actions/checkout@v4...v5.0.0

v4.3.1

What's Changed

Full Changelog: actions/checkout@v4...v4.3.1

v4.3.0

What's Changed

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v6.0.2

v6.0.1

v6.0.0

v5.0.1

v5.0.0

v4.3.1

v4.3.0

v4.2.2

v4.2.1

v4.2.0

v4.1.7

v4.1.6

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github May 3, 2026

Labels

The following labels could not be found: ci, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Outtsett added a commit that referenced this pull request May 3, 2026
…skip-tolerant streak math

Replaces the default Flutter counter scaffold with the v1.0 foundation
matching docs/BUILD_PLAN.md.

Models (Hive @HiveType):
- Habit (typeId 0): identity (Clear), skip tolerance (Lally), 2-min
  version (Clear), occursOn / scheduledOccurrencesIn rolling-window
  helpers.
- HabitCompletion (typeId 2): one row per (habit, calendar-day);
  composite Hive key for O(1) "completed today?" lookup.
- NotificationDelivery (typeId 3): audit row per scheduled / fired /
  tapped / dismissed / failed event for measuring drift.
- HabitCadence (typeId 10) + NotificationEventType (typeId 11) enums.
- typeId 1 reserved for the pre-existing UserSubscription; typeIds 4
  and 5 reserved for SkipPattern + ImplementationIntention (v1.0 #2/#3).

Providers (ChangeNotifier):
- HabitProvider: CRUD + completion logging deduped per day; skip-
  tolerant streak math (rolling 14-day window, persists if completed
  >= scheduled - skipTolerance, never resets to zero — Lally 2010);
  identity vote tally (Clear's identity-based change).
- ThemeProvider: theme persistence in Hive settings box; premium
  themes gated by IAP entitlement (silent downgrade if un-entitled);
  system-brightness tracking.

Notification service (v1.0 #1 — bulletproof reminders):
- iOS: .timeSensitive interruption level so reminders bypass Focus
  Mode + Notification Summary digest.
- Android 14+: USE_EXACT_ALARM + AndroidScheduleMode.exactAllowWhileIdle
  for Doze survival. SCHEDULE_EXACT_ALARM runtime permission ceremony.
- Every schedule / fire / tap / dismiss / failure / permission-denied
  event written to a Hive audit box. Drift between intendedAt and
  fired event's at is the v1.0 reliability metric (zero missed
  scheduled fires across 7-day device test = ship criterion #1).

UI:
- main.dart: Hive init + adapter registration + open boxes for habits,
  completions, notification audit, and settings; init notification
  service + fire-and-forget permission request; MultiProvider tree;
  MaterialApp routed to HomeScreen.
- HomeScreen: heatmap-first today list, no streak counter, identity
  vote line ("Cast 1 vote for {identity}"), 200ms haptic Pavlovian
  celebration on completion (Atoms / Fogg "Shine"). Empty-state copy
  matches identity framing.
- AppTheme: Material 3 ThemeData factories (free light/dark, premium
  paper/inkNavy palettes matching the Lundeen brand).

Tests:
- test/widget_test.dart replaced from the broken default scaffold
  (referenced a non-existent class) with pure-logic tests for Habit
  scheduling helpers and the streak-state classification, including a
  guard test that the streak enum never acquires a "broken / zero-
  reset" terminal state.

Pubspec adds: provider 6.1.2, flutter_local_notifications 19.2.0,
timezone 0.10.0, permission_handler 11.3.1, purchases_flutter 9.5.0
(RevenueCat — wired in v1.0 #6), health 13.0.0 (HealthKit / Health
Connect — wired in v1.0 #4), home_widget 0.7.0, intl, uuid,
collection, path_provider.

Build status: not yet validated locally — Flutter SDK is not
installed on the dev machine. CI will validate on next push.
Tyler must `winget install --id=Google.Flutter`, then
`flutter pub get`, then `dart run build_runner build
--delete-conflicting-outputs` to generate Hive adapters before
`flutter run`.

Remaining v1.0 build items: laziness analytics, implementation-
intention prompt engine, HealthKit write-back, full reward-system
v1 (heatmap viz + weekly reflection), RevenueCat IAP. See
docs/BUILD_PLAN.md build order.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Outtsett added a commit that referenced this pull request May 3, 2026
Removes 24 files + lib/utils/ from a previous abandoned scaffold pass
that was blocking flutter analyze --fatal-infos:

* lib/models/analytics_data.dart (0 bytes) + analytics_data.g.dart
  (orphan generated code referencing the empty source — won't compile)
* lib/screens/analytics_screen.dart (558 lines, but BROKEN: imports
  the empty progress_tracking_service.dart, uses habitProvider.habits
  which is not the API HabitProvider exposes — it's allHabits /
  activeHabits / habitsFor — and it ships Material 2 styling that
  contradicts the Material 3 BUILD_PLAN convention)
* 8 zero-byte screens (add_habit, analytics_new, habit_schedule,
  onboarding, premium, premium_laziness, progress_tracking, settings)
* 7 zero-byte services (ad, background_completion, invisible_purchase,
  laziness_analytics, progress_tracking, purchase, smart_notification)
* 4 zero-byte widgets (habit_card, premium_banner,
  progress_summary_widget, theme_showcase_widget)
* lib/utils/ entirely (empty + violates BUILD_PLAN's "no utils dump")

KEPT: lib/models/user_subscription.dart (203 lines, Hive @HiveType(1)
real impl, used by the v1.0 #6 RevenueCat IAP wiring).

This matches the global "ONE active model at a time, build on it
iteratively or wipe clean" rule and the "no skeleton implementations"
rule. Several of these slots will be re-filled with production
implementations as v1.0 build items #2-#6 land:
- skip_pattern_service.dart       (v1.0 #2)
- implementation_intention_service.dart (v1.0 #3)
- health_writeback_service.dart   (v1.0 #4)
- purchase_service.dart           (v1.0 #6, RevenueCat)
- add_habit_screen.dart           (v1.0 #5 reward system)
- premium_screen.dart             (v1.0 #6)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Outtsett added a commit that referenced this pull request May 3, 2026
… engine

v1.0 build-plan items #2 + #3, the actual moat. Zero major habit
trackers productize either; this PR ships both on-device.

#2 - Laziness analytics (lib/services/skip_pattern_service.dart):
  - 7x24 (DOW x hour) per-habit skip-rate matrix, recomputed from the
    completion log over a default 84-day window.
  - Wilson 95% CI lower bound per cell - chosen over the textbook
    normal-approximation interval because the latter underestimates
    uncertainty at small n and breaks at p in {0,1}, both routine in
    habit data ("skipped 3/3 Tuesday evenings").
  - Cells flagged as high-skip-risk when attempts >= 4 AND CI lower
    bound > 0.4. Threshold deliberately keeps false-positive
    intervention rate low at small n: a raw 1.0 skip rate over 3
    attempts is still consistent with a true rate near 0.3 by chance,
    and we don't want to nag the user based on noise.
  - SkipPattern is Hive @HiveType(4); per-habit storage ~2.5 KB
    (168 ints + 168 doubles + habitId + timestamp).
  - nextHighRiskWindow(habit, lookAheadDays) returns the next flagged
    cell within the lookahead - used by the if-then engine to schedule
    pre-window prompts.

#3 - Implementation-intention prompt engine
   (lib/services/implementation_intention_service.dart):
  - Gollwitzer 1999 / Gollwitzer & Sheeran 2006 meta-analysis: if-then
    plans deliver d=0.65 on goal attainment. No major habit app ships
    this. We do.
  - propose(habit, pattern, dow, hour) generates a prefilled
    "IF [context cue], THEN [action]" template. The when-clause is
    anchored to a stable existing routine (waking, finishing dinner,
    leaving work) chosen by hour bucket - specificity matters
    (Gollwitzer found vague cues halve the effect size). The
    then-clause defaults to habit.twoMinuteVersion (Clear's 2-min
    rule), falling back to habit.name.
  - commit(proposal, whenClause, thenClause) persists what the user
    accepted - they can keep or edit either clause.
  - recordAdherenceForWindow(habit, observedAt) increments
    windowsObserved on every passing target window and windowsAdhered
    when the habit was completed that day. The ratio surfaces as user
    feedback ("your Tuesday-evening plan worked 8 of 10 times").
  - ImplementationIntention is Hive @HiveType(5).

Wired into main.dart's MultiProvider so any screen can read either
service via Provider.of<>. Hive adapters registered.

Tests (test/skip_pattern_test.dart):
  - Wilson lower-bound math validated against a published reference
    value (n=20 k=10 95% CI [0.299, 0.701]).
  - n=0 returns 0.0 (not NaN); k=0 and k=n return finite bounds.
  - Lower bound rises with sample size at fixed p̂ (correctness check).
  - The BUILD_PLAN flagging threshold (n>=4, lb>0.4) actually IS
    non-trivial: 3 of 4 misses (raw 0.75) does NOT flag - small-n
    noise is rejected. 6 of 8 misses DOES flag - consistent skipping
    over 8 attempts is the threshold.
  - SkipPattern.cellIndex round-trips for all 168 (DOW, hour) cells.
  - SkipPattern.isHighRiskAt + highRiskCells cell selection logic.

Build status: still not validated locally (Flutter SDK not on PATH).
The previous CI failure was a Dart version mismatch (Flutter 3.27.4
ships Dart 3.6.2, pubspec requires ^3.8.1); the FLUTTER_VERSION pin
was bumped to 3.41.5 (Dart 3.11.0) in the prior commit, so this push
will be the first end-to-end CI validation of the Hive codegen + new
test suite.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

0 participants