Historical planning record

Goals, preserved.

Thomas froze automatic numbered-goal migration on August 9, 2026. This scorecard remains available as provenance, but the living Product Progress record and latest rendered approval now govern current work.

North-star outcome

Trusted Next Actions

The person has an honest sync receipt and deliberately opens a provider, pins for tonight, follows a release, or consciously snoozes a suggestion.

Current scorecard

Seven outcomes define the work

Targets are initial budgets to validate on real devices and controlled fixtures. They are not promises independent of hardware, network, or API behavior.

Goal 01 · TrustNeeds proof

Make Trakt trust visible at any library size

Import, reconcile, resume, and explain every supported Trakt domain without hiding missing pages or uncertain writes.

Measure
Count-perfect reconciliation on 1,000 shows, 2,000 movies, and 100,000 history events, including interruption at every page boundary.
Next evidence
The synthetic and real read-only evidence passed, Thomas recorded Keep, and the isolated watched 1/5/20 write/read-back/exact-cleanup proof passed. The next trust work is composing the proven engine into the product and adding operation families one at a time.
Goal 02 · SpeedPlanning

Feel instant before the network finishes

Open immediately into recent-receipt Today or a useful ShowNext Briefing while bounded currentness work catches up.

Measure
Warm recent-receipt Today under 500 ms and cold launch to a useful local Briefing under one second, with no sync-driven main-thread stall over 100 ms.
Next evidence
Goal 5 now passes the current 126-test package suite, six focused simulator workflows, and the isolated-account 1/5/20 real-service proof. Its completion audit also measures one add request and one exact-ID cleanup request per pass instead of assuming the batch count. Live evidence added minute-precision timestamp matching and fresh bounded polling after Trakt served a stale fixed filtered-history response.
Goal 03 · DecidePlanning

Shorten the path from opening to choosing

Turn a deep library into one strong choice and a few understandable alternatives, each with visible evidence.

Measure
Compare one choice, five ranked choices, and a seven-day horizon across ten real viewing sessions.
Next evidence
Select or hybridize a design direction, then test deterministic recommendations before adding generated explanations.
Goal 04 · HorizonPlanning

Own the personal coming-soon horizon

Show what is approaching, what moved, and what became available—not just a static release calendar.

Measure
Fixture coverage for exact dates, date moves, TBA windows, cancellations, provider changes, and notification de-duplication.
Next evidence
Define source, region, certainty, freshness, and refresh rules for every release-event field.
Goal 05 · Apple nativeFuture program

One Apple product. Native everywhere.

Share domain, sync, persistence, and design primitives while giving each Apple platform its own navigation and spatial composition.

Measure
The shared fixture suite passes everywhere, followed by platform-specific physical-device interaction and accessibility evidence.
Next evidence
Prove the iPhone product spine first; expand next to iPad, macOS, and finally a physical-device-verified visionOS living poster.
Goal 06 · Bounded AIFuture program

Use AI only where it improves clarity

Keep deterministic systems in charge of facts and ranking. Goal 8J evaluates bounded Apple on-device interpretation over reviewed evidence; external providers remain parked.

Measure
Every generated statement traces to supplied fields, and turning AI off removes no core product capability.
Next evidence
The inventory is frozen; prove any separately retained on-device interpretation has the same useful deterministic fallback.
Goal 07 · Ownership

Keep ShowNext simple to access

Provide every capability ultimately admitted to this Release at no charge while keeping the lifetime-purchase laboratory as deferred R&D for a separately decided future paid path.

Measure
Release contains no purchase, restore, subscription, paid-product UI, or direct StoreKit linkage. Goal 8J-A freezes 24 exact promise decisions and names one owner for every retained gate.
Next evidence
Revisit commerce only after a separate Thomas decision; do not infer a paid path from the retained Goal 8E laboratory.

Native build scorecard

Nine proof gates.

The nine top-level program milestones remain Goals 0 through 8. Goal 8J-A now freezes the first-release promise inventory, but retained modules still require their named evidence gates; a target, screen, commit, or test count never substitutes for the stated user outcome and exit evidence.

Goal 00Passed Jul 19

Authorize and freeze

Start with explicit authority, scope, credential, and source-of-truth boundaries.

Modules
Planning and architecture records
Exit gate
Thomas authorizes native work and the starting contract contains no unresolved secret exposure or data-authority ambiguity.
Goal 01Passed Jul 19

Foundation and fixtures

Prove real module ownership before product features grow around it.

Modules
Domain, Store, TraktClient, SyncEngine, Observability, TestSupport
Exit gate
Foundation targets run independently with fictional scale fixtures and enforced dependency boundaries.
Goal 02Passed Jul 19

Read-only sync laboratory

Reconcile a large Trakt-shaped library exactly and resume after interruption.

Modules
Store, TraktClient, SyncEngine, Observability
Exit gate
1,000 shows, 2,000 movies, and 100,000 events reconcile without duplicates, omissions, or per-show request fan-out.
Goal 03Keep · Passed Jul 20

Real import checkpoint

Learn from Thomas's real read-only library before locking the store and sync architecture.

Modules
Diagnostics, Store, TraktClient, SyncEngine
Exit gate
Thomas reviewed the evidence and recorded Keep on July 20.
Goal 04Passed Jul 21

Local iPhone spine

Deliver a useful Today, Shows, Movies, Discovery, and details loop before the network finishes.

Modules
AppShell, LaunchBriefing, Identity, SyncStatus, Today, Shows, Movies, Discovery, Details, Search, DesignSystem
Exit gate
The fixture-first spine passed 63 package checks, 11 focused PowerMobile workflows with no failures, and the manual freshness, offline, scrolling, memory, long-title, Dynamic Type, VoiceOver, Reduce Motion, and missing-art walkthrough. The accepted limitation is stale Briefing VoiceOver order; no real write was added.
Goal 05Passed Jul 21

Burst-safe watched writes

Keep accepting watched gestures immediately without presenting unverified remote results as truth or flooding Trakt.

Modules
TrackingActions, MutationEngine, Store, TraktClient, Shows, MediaDetail
Exit gate
The controlled suite proves failure and recovery paths; the isolated test account separately proved 1, 5, and 20 real watched additions, exact read-back, exact-ID cleanup, and a final empty account.
Goal 06Passed Jul 24

Coherent private beta

Complete the smallest iPhone product that demonstrates sync trust, daily choice, horizon, tracking, and library care.

Modules
ProductSession, Identity, SyncEngine, Store, UsefulLibrary, MetadataClient, LibraryCare, TrustCenter, typed local projection, and all first-beta feature modules; SeasonRewards follows as the non-blocking 6R proof slice
Exit gate
6A through 6E passed. Goal 6F joins a 7,500-title scale fixture, exact provider identity, TMDb-backed Discovery and details, person biography and filmography, calendar projection, long-title and missing-art handling, and automated Accessibility XXXL/Reduce Motion evidence. On July 24 the real app exposed and repaired connected-path gaps in calendar identity, past-day fetching, same-account first-import refresh, Known For artwork, visible movie-poster hydration, and the always-visible movie-detail title. The full path passes on PowerMobile through calendar, detail, trailer, cast, biography, relaunch persistence, and real filmography posters. The later Matrix-only visual delta passes twice in the connected Simulator, and exact Trakt cleanup proves that movie absent again. Prior human VoiceOver evidence plus the current joined-surface audit closes accessibility without repeating the walkthrough. Person-page visual polish remains open as a later design comparison, not a failed functional gate. Collection, ratings, and list membership have not begun.
Goal 07Passed Jul 25

iCloud and Apple surfaces

Converge ShowNext-owned choices across devices without turning iCloud into a second Trakt authority.

Modules
CloudOverlaySync, CloudKit, Widgets, App Intents, Spotlight, Notifications
Exit gate
Goals 7A through 7F retain their bounded evidence. Goal 7C adds the read-only Today widget. The Goal 7D checkpoint added five read-only App Shortcuts; current source defines six bounded intents across seven phrases. Its Spotlight round trip proved six private results become zero after sign-out while four generic destinations remain, but personalized results still route only to Today. Goal 7E proves bounded Coming Soon requests and separate Allow and Don't Allow paths, not physical delivery or exact alert routing. Goal 7F has real physical-iPhone-to-Mac development-CloudKit evidence: baseline delivery, equal-counter conflict convergence, deletion without resurrection, a 100-revision stale return, replacement-account isolation, cursor resume, zero-pending receipts, and final tombstone cleanup passed with fictional preferences. A real-iPhone Airplane Mode check retained one fictional choice and recovered to Pending 0. Physical-device Siri and delivered-notification proof are not claimed. Exact entities/routes, current widget tap acceptance, and joined Apple-system proof remain blocked in Goals 8J and 8K.
Goal 086 of 10 modules admitted

iPhone release candidate

Build a feature-complete private testing candidate before deciding public App Store admission.

Modules
ReleaseReadiness, bounded typed Ask ShowNext, broader language, voice, Siri and system surfaces, AI experiences, Season Rewards, free access, privacy, migration, integrated iPhone acceptance
Exit gate
Goals 8A through 8H keep their exact scoped receipts. Goal 8I L1-A through L1-C and its import/correction evidence pass, while L1-D product learning and exact test-account cleanup/repeat remain open. The Goal 8F archive/export remains packaging and signing rehearsal evidence, not an admitted candidate. Goal 8J-A freezes one exact no-charge promise inventory and removes absent Release claims; Release access is admitted. Thomas accepted Goal 8J-B's bounded typed Ask experience on August 4 after the wider title, person, timing, lifecycle, and fail-closed pass. Goal 8J-C is next and retains explicit on-device-only Apple speech plus earlier controlled recovery evidence; physical microphone, spoken-output, and audio-route acceptance remain its completion gate. Read-only Siri, entities, and exact routing retain their named evidence gates. Goal 8K owns joined iPhone and system-surface acceptance; Goal 8F then reconciles one exact frozen candidate before Goal 8L TestFlight. StoreKit commerce, paid products, Siri library writes, Apple free-form answer replacement, and OpenAI enhancement remain outside the normal Release path. No App Store Connect, upload, deployment, provider connection, production CloudKit, Trakt write, or physical-device action is claimed.
Current readiness: Goals 0 through 5 and Goal 6 passed, including slices 6A through 6F. Slice 6C's isolated-account live cleanup and independently locked final-state check. The Goal 6F Simulator checkpoint also passes for joined Today, Discovery, imported details, scale, missing art, long titles, Accessibility XXXL, and Reduce Motion. The current complete package suite passes, isolated empty-account OAuth/import and no-change evidence, plus a product-level 740-show force-quit/resume proof. Slice 6D adds cached useful-library metadata and reversible private organization; its live metadata refresh remains unclaimed because the simulator product account was disconnected. Slice 6E adds read-first Library Care and explicit Settings, deletion, privacy, redaction, and attribution boundaries, verified with fictional simulator state and no external write. Goal 6F now includes person biography and filmography with focused Simulator proof. Its repeatable harness runs all nine focused journeys, including one uninterrupted fixture-only pass through the complete core spine and one offline pass through confirmed Shows, Movies, and local-first Discovery. It exports the screenshots and verifies the glass tab bar stays inside the application frame and expands from its iOS 27 minimized state. Connected signed-app reads, the PowerMobile walkthrough, prior human VoiceOver evidence, the joined-surface accessibility audit, and the temporary Matrix fixture cleanup are recorded separately and pass. Person-page composition remains a later visual-design question, not an open functional gate. The matching Gitea recovery point and Lab version were deployed and verified on July 24. Goals 8A through 8H retain their exact recorded boundaries. Goal 8I's import/correction receipts pass, while its product learning and exact cleanup/repeat remain open. Goal 8F's free-release trust, public disclosure, provider, build, archive, entitlement, and signature evidence remains useful—but its IPA is a packaging rehearsal, not the final candidate. The release denominator is not fixed until Goal 8J-A classifies every promise. Goal 8J then owns bounded typed Ask ShowNext, broader language, native voice, Siri, entities, and routing; Goal 8K owns joined iPhone/system acceptance; Goal 8F must then be reconciled against one exact source before Goal 8L TestFlight. Goal 8H retains its recorded person-page direction, visual hierarchy, accessibility evidence, and separately consented physical review. Goal 5 separately retains its isolated-account 1/5/20 real-service exit with exact cleanup and final-empty evidence. No personal viewing counts or test-account identity are published. The live watchlist proof used an isolated account and restored its starting state; no personal-account watchlist write, collection, rating, list membership, CloudKit production change, purchase, AI connection, or TestFlight action is being claimed.

Goal 6 follow-on module

Rewards must earn launch.

SeasonRewardsFeature is the internal proof slice 6R after the coherent private-beta core. Checkpoints A–C and physical interaction pass; paired release remains. The generic crest design is not admitted as final. It adds no tenth goal and cannot delay or weaken Goal 6.

ModuleA–C passed

SeasonRewardsFeature

Reads the atomically completed watched-season projection to create Season Marks, Crest ceremonies, import recognition, Archive Levels, the Living Horizon, and optional local share cards. It owns no Trakt client, mutation queue, second watched counter, paid prize, or social ranking.

Admission gate6R-D open

Prove delight without drift

Deterministic reward, import, reversal, duplicate, scale, reduced-motion, replay, persistence, and simulator evidence pass. Physical-iPhone interaction review and the matching Gitea/Lab release remain before Goal 8 may consider the module for launch.

Program sequence

Prove the core, then expand

The same domain and sync rules travel everywhere. Navigation, interaction density, windowing, and space remain platform-owned.

First

iPhone

Daily decision and tracking

A focused Today, fast actions, and a compact release horizon.

Next

iPad

Couch planning and library review

A multi-column horizon with keyboard, pointer, multitasking, and useful drag and drop.

Then

macOS

Deep review and management

Resizable windows, menus, commands, fast search, and dense library tools.

After the shared core is proven

visionOS

Ambient living posters

Mounted posters, glanceable countdowns, and spatial detail verified on a physical headset.

Milestone 4 closeout

The iPhone spine is closed honestly

  1. Keep recorded. The real simulator and baseline- iPhone evidence passed, and Thomas explicitly chose Keep to close Goal 3.
  2. Goals 4A through 4C passed. The Launch Briefing, navigation, Sync Center, Today, local libraries, search, Discovery, details, trailers, cast, people, and fake rapid-action proof pass their package and simulator gates.
  3. Physical-iPhone proof passed. PowerMobile completed the combined warm/cold, offline, scrolling, memory, long-title, Dynamic Type, VoiceOver, Reduce Motion, and missing-art walkthrough. The stale Briefing VoiceOver order remains an accepted limitation.
Goal 5's local queue, engine-owned collection window, capped batch, ambiguity, exact reversal, read-back, retry, offline, and failure behavior is built and controlled-test verified. Its separately authorized isolated-account exit also passed 1/5/20 add, read-back, exact cleanup, and final-empty checks. The fictional Lab demo still performs no Trakt write.