Skip to content

Releases: lazelife420-spec/ForgeCast

ForgeCast Weather v0.3.5

Choose a tag to compare

@lazelife420-spec lazelife420-spec released this 02 Sep 18:44

ForgeCast Weather v0.3.5

Decision-first weather that can answer you.

v0.3.5 is a feature release: ForgeCast now answers your weather decisions directly, gives clothing advice that understands timing and conditions, and stays useful on your home screen.

Ask ForgeCast

A new deterministic weather-decision interface. Ask things like:

  • When should I walk tonight?
  • Do I need a jacket at 8?
  • When will it rain?
  • Is tomorrow better than today?
  • What should I bring?

Ask ForgeCast runs on ForgeCast's own forecast and decision engines — no cloud chatbot, no hidden question telemetry. Every answer shows its evidence (current conditions, rain risk, timing) and why the call was made.

Smarter Wear / Bring guidance

Clothing advice now considers conditions and timing instead of mechanically mapping temperature to clothing:

18°C and mild: T-shirt should be fine.

Cooling later: Bring a hoodie if you'll still be out after sunset.

Advice names specific pieces and tells you when to carry what — with the forecast numbers behind it.

Dynamic widgets

Home-screen widgets now show forecast-aware decision states:

  • Best Window for going outside
  • Wear / Bring guidance
  • Rain and cooling changes ahead
  • An honest stale-data state instead of silently old numbers

Widgets update with your weather — they are not continuously animated.

Samsung OneUI reliability

Improved widget restoration and reliability on Samsung OneUI, including cached native restore after reboot or background freezing.

Ask discovery + accessibility

A compact Ask strip above your daily plan, forecast-aware quick prompts, screen-reader announcements for answers, follow-up suggestions, and a steadier keyboard flow.

Upgrading

  • From v0.3.4: install normally — same signer, settings and data carry over (verified on device).
  • From v0.3.3 or earlier: the signing key changed in v0.3.4; uninstall/reinstall is required. v0.3.5 does not restore in-place compatibility with those old builds.

Package: com.prooffoundry.skyfoundry · Version: 0.3.5 (versionCode 16)
APK SHA-256: A28DB27CD16B3E45F3E75CC0D7C7A4B101646573DE9954EC40DBF03E5439BEA1

ForgeCast Weather v0.3.4

Choose a tag to compare

@lazelife420-spec lazelife420-spec released this 02 Sep 04:54

ForgeCast Weather v0.3.4

Release date: 2026-09-01 · Platform: Android · Package: com.prooffoundry.skyfoundry · Version: 0.3.4 (versionCode 15)

REQUIRED: Uninstall before upgrading from v0.3.3 or earlier

ForgeCast v0.3.4 uses a new private Android signing identity.

ForgeCast APKs through v0.3.3 used the historical debug-era signing key and cannot be upgraded in place to v0.3.4.

Users upgrading from those versions must uninstall the old ForgeCast application before installing v0.3.4.

Because ForgeCast is local-first, uninstalling the old application removes app-local settings and other locally stored application data unless separately preserved.

This is not a prediction. It was verified by an actual migration test on 2026-09-01: the frozen public v0.3.3 build rejects the in-place update with INSTALL_FAILED_UPDATE_INCOMPATIBLE (signatures do not match); uninstalling removes the app and its app-local data; the clean v0.3.4 install then succeeds with the new signing identity.

Verify your download

SHA-256: bd065c48c5519f3658c955abbbdad987f3840b4a774d9f3786315a79a92b1354

Windows: Get-FileHash ".\ForgeCast-Weather-v0.3.4-android-release.apk" -Algorithm SHA256

The same bytes are served from Proof Foundry distribution:

What's new in v0.3.4

  • Idle render-loop governor — ambient animations (rain/snow particles, clouds, sun glow, phase pulses) now settle after a few seconds instead of redrawing forever. Idle foreground measured at 1 frame / 12 s on a Samsung Galaxy S23 (previously ~121 fps continuous), which also restores accessibility tooling that depends on UI idle.
  • Day-aware plan copy — future rain risk now says "Rain risk rises tomorrow after 5 p.m" instead of ambiguous past-midnight phrasing.
  • Location ownership (LAST EXPLICIT USER CHOICE WINS) — a manually selected city beats late/stale GPS across cold starts; an explicit Detect Location re-authorizes GPS. Verified on device in both directions.
  • Stability — all five tabs stable, large-text (1.3×) layout verified, zero fatal exceptions in device QA.

Proof

  • Source commit 28e1e0ec7ecf263a62293e8a2bb15fe0c49e699b (tree 55a47a126b0293111026f283be6a83ef547dd02a), tagged v0.3.4; release candidate v0.3.4-rc1 published the exact same bytes — no rebuild, no re-sign.
  • Tests: 883/883 across 82 suites · smoke 17/17 · lint 0 errors / 22 warnings.
  • Reality Gate signed proofs: source ffb74bcb… GREEN · candidate artifact 47c37c8c… GREEN · clean-break migration fd8ad3d8… GREEN.
  • Device QA: Samsung Galaxy S23 (SM-S911W) plus a disposable emulator lane for the destructive migration test.

Notes

  • The APK is signed with the new private ForgeCast signing identity (certificate SHA-256 240fa29e5f49369bce4cb092b2bf548c69d5a374dd80709f723872264bd88da7). Android will show it as an unknown-source sideload; verify the checksum first.
  • No background telemetry; local-first.
  • A checksum proves the bytes, not publisher trust — it is not a code signature.

ForgeCast Weather v0.3.3

Choose a tag to compare

@lazelife420-spec lazelife420-spec released this 12 Jul 00:00

ForgeCast Weather v0.3.3 — Release Notes

Release: v0.3.3 — DayForge UX Consolidation
Date: 2026-07-11
Platform: Android
Minimum SDK: as per v0.3.2 baseline


What's new

DayForge UX consolidation

Each tab now has one job instead of overlapping into a mini-homepage: Today is the immediate decision, Plan is the detailed daily timeline, Forecast leads with upcoming-day decisions, Widgets is setup-only, Settings is controls plus custody information.

Decision-first Today experience

The primary decision card (what to wear, best outside time, bring/skip) sits above the feed and motion bar, so the most important answer is visible without scrolling.

Three-preset widget setup

The widget picker is reduced to 3 curated styles (Weather Now, Daily Planner, Compact Temp), with a legacy stored preset migrating automatically instead of silently breaking.

Improved outfit confidence and cold/wet guidance

A new "Best outfit · NN% sure" confidence indicator scores how certain the app is, based on proximity to temperature-tier boundaries, rain ambiguity, borderline wind, and road risk. Cold-and-wet days now get rain protection and warmth, instead of rain-only advice that ignored the cold.

Fixed tomorrow leakage and stale-time guidance

"Best outside" no longer leaks tomorrow's raw clock time onto today's card. Night-time copy no longer shows stale afternoon guidance (e.g. Warmer after 2 p.m. at 9 p.m.) — the motion bar and next-shift copy correctly reflect time-appropriate evening and night states.

Fixed contradictory Bring/Skip recommendations

An item could previously appear in both the Bring and Skip lists at once — e.g. "Bring: Rain shell, Umbrella" and "Skip: Heavy coat, Winter gear, Umbrella" simultaneously, when immediate conditions were dry but the day's forecast still called for rain later. Bring/Skip conflicts are now resolved generically in the decision-data layer, not with umbrella-specific string handling.

Preserved urgent drive-now road alerts

A "Drive now"-worthy imminent rain warning could be silently hidden whenever the aggregate road-risk band read "low." The urgent alert now stays visible in that case, while ordinary low-risk days still stay clean.

Hardened Android E2E device preflight

The device smoke-test harness now wakes and unlocks the device, dismisses the keyguard, collapses the notification shade, extends the screen timeout, and enables (and verifies) stay-awake-while-powered before running — closing a false-PASS failure mode where a locked or asleep screen could silently pass validation. All device settings are restored afterward regardless of outcome.


Under the hood

  • Deep-audit remediation: widget-migration self-healing, temperature-unit display consistency, four new crash guards on malformed API shapes, a request-race guard against stale fetches overwriting newer state, and per-tab crash isolation (one tab's crash no longer takes down all five)
  • 7 of 11 duplicated-logic patterns closed via shared helpers (wet-condition checks, slot-picking, local-hour routing, capitalize(), safe AsyncStorage, boolean-driven road/change/rain-risk state replacing fragile string-matching, memoized plan/feed builders)
  • 48 stale tracked dist/ build artifacts removed — a stale precompiled JS bundle had been silently shipping in release builds regardless of source changes
  • Full repo lint: 0 errors, 0 warnings
  • 724 unit/integration tests, 64 suites, 17/17 smoke, 8/8 device E2E — all deterministic (no time-of-day-dependent flakes)

What stays the same

  • Local-first privacy: no background telemetry, no user accounts, no cloud sync
  • OpenWeather data — no new API calls, no rate limit changes
  • Widget deep links unchanged

Upgrading

Direct APK install — replace the v0.3.2 APK with the v0.3.3 APK. No data migration needed.

SHA256: 50ABE59E52B6DC7E8649C0CA63EB065425F8EDC607187E3844D90CE5F1EED833