PrompTugal for iOS

Developer area

Release history

Each push to dev becomes a release: CI bumps VERSION, tags it and deploys this site. The current release is v0.4.106. Every app’s version is the same number without the v: the PrompTugal app is 0.4.106. CI passes it to the build, so the app, the tag and this site agree.

From git tags

Releases, newest first

v0.4.106 2026-11-15 11:52 UTC

  • f683bad briefs: going local, fold in what is settled on the web side (algarve/<town> paths, 17 places, agents draft and a person sends, who owns the web side)

v0.4.105 2026-11-15 11:51 UTC

  • d76b1ac briefs: going local, conductor-report/v1 as VoiceDebrief reads it, plus proposed newsroom fields

v0.4.104 2026-11-15 11:48 UTC

  • b727abc briefs: going local, a newsroom per city and the agents command centre (first plan)

v0.4.103 2026-11-11 21:53 UTC

  • ee29f6a ios@web-summit.silvio: brief gets the > summary line the website test requires

v0.4.102 2026-11-11 21:35 UTC

  • 7d9ecbe Fringe: content pinned to the screen width (no sideways drift when scrolling); the offline line says why the feed did not load

v0.4.101 2026-11-11 21:29 UTC

  • No changes besides the version bump.

v0.4.100 2026-11-11 21:24 UTC

  • d1cffa8 ios@web-summit.silvio: brief, CHAVE can unseal the key with three words (Web Crypto)
  • 16fd6dc ios@web-summit.silvio: RiskMandate opens the command centre full screen

v0.4.99 2026-11-11 19:34 UTC

  • a073a83 briefs: Fringe reply, correct the note: the conductor merged Indi's app (66a041e); ebd01a6 only adds the note
  • ebd01a6 Merge work/appdev.indi-lisbon-tech-fringe 7bbb1ad: Indi's Lisbon Tech Fringe replaces Apps/Fringe (design E, logo 3, "Tech Fringe"); green in ios.yml run 500

v0.4.98 2026-11-11 19:33 UTC

  • fb0a26b briefs: Fringe reply, merged after run 500
  • 7bbb1ad Remove the temporary Fringe check (green in its run 3: build, 21 tests passed)
  • 9057130 Fringe tests: argument order
  • 725cd5c Fringe: change checks callable off the main actor (tests)
  • 3a8c9b9 Temporary CI: Fringe check on the work branch, errors last in the log
  • 5be8bde Fringe: home screen name "Tech Fringe" (Indi's choice)
  • a18ccaf Brief: handover note to conductor.B on Indi's app in Apps/Fringe and the missing App Store Connect record
  • 8872dbb Fringe: replace the app with Indi's Lisbon Tech Fringe (design E), logo 3
  • 233e29a Lisbon Tech Fringe: Indi's app (design E) in Apps/LisbonTechFringe

v0.4.97 2026-11-11 18:55 UTC

  • 9355bf3 briefs: Fringe, reply to Indi's session (App Store Connect record exists, run 498 errors, the merge bar); add the stop report's summary line so the site builds again

v0.4.96 2026-11-11 14:56 UTC

  • 1a01c95 Fringe: Communities, an In Lisbon toggle (on by default), a Major badge, seed refreshed to 173 events
  • 087efd1 Fringe: read lisbontechfringe.com (events, Join, Submit, About); the old host is dropped from the allow-list

v0.4.95 2026-11-11 13:22 UTC

  • 998b5dc Fringe: 'Moved by the storm' filter and a Today / Tomorrow / weekday control on Events

v0.4.94 2026-11-11 12:51 UTC

  • 5d97041 PTFringe: read the served events.json (ISO times, id, cost, label, storm_moved, check); seed refreshed to 69 live events

v0.4.93 2026-11-11 12:18 UTC

  • e598bbf My plan in Fringe's words: MyProgramView takes optional wording (pt.news text unchanged)
  • a551896 ios.yml: fringe in the manual app choice
  • 0914822 PTFringe: only the name is required; apps.json fringe testflight true
  • ed6e377 apps.json: PTFringe depends on PTCore only; the fringe app lists PTAgenda and PTFringe (as apps' branch has it)
  • d0d2345 Lisbon Fringe: the app (Apps/Fringe) and PTFringe (events, store, seed), apps.json entry
  • 94b3774 Fringe, the fourth app: apps.json entry (key fringe, Apps/Fringe, bundle news.promptugal.fringe, TestFlight on) and the workflows
  • a06f25d Platform status: Event.showsAs green (run 420)

v0.4.92 2026-11-11 10:45 UTC

  • 0b08172 conductor.B@ios.PrompTugal.dinis: brief: the Lisbon Fringe iOS app (a fourth app, internal TestFlight), at Dinis's word

v0.4.91 2026-11-11 00:20 UTC

  • 4eea05a conductor-newsapp@web-summit.indi: build 587 submitted for Beta App Review and in the external group

v0.4.90 2026-11-11 00:17 UTC

  • fc5e9c9 conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.89 (587), rounds 5 and 6, to the external testers

v0.4.89 2026-11-10 22:57 UTC

  • 5194b33 conductor-newsapp@web-summit.indi: round 6: make it pop (a red hero for For you, an interviews strip, colour, motion)

v0.4.88 2026-11-10 22:29 UTC

  • 3f8f4b7 conductor-newsapp@web-summit.indi: round 5: light mode, articles open natively, interviews with Article and Transcript pills

v0.4.87 2026-11-10 22:26 UTC

  • 3d1acfb conductor-newsapp@web-summit.indi: Wednesday called off: its sessions leave Now, Explore, My program and the reminders

v0.4.86 2026-11-10 22:17 UTC

  • 8d75d43 conductor-newsapp@web-summit.indi: a notice at the top of Now, read from promptugal.news (Storm Charles first)

v0.4.85 2026-11-10 17:11 UTC

  • 072928e conductor-newsapp@web-summit.indi: build 579 (videos) submitted for Beta App Review and in the external group

v0.4.84 2026-11-10 16:47 UTC

  • 5ee6b9e conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.81 (579), the videos in News, to the external testers

v0.4.83 2026-11-10 16:05 UTC

  • 0620af4 conductor-newsapp@web-summit.indi: build 575 submitted for Beta App Review and in the external group

v0.4.82 2026-11-10 16:02 UTC

  • 9452abc conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.78 (575), the softer look, to the external testers

v0.4.81 2026-11-10 15:56 UTC

  • f5b04cd conductor-newsapp@web-summit.indi: videos fix: "the videos" for the loading state (videos and Videos made the same symbol)

v0.4.80 2026-11-10 15:43 UTC

  • 201d269 conductor@web-summit.dinis: brief: the news app's default theme becomes The Front Page (design E), at Dinis's word

v0.4.79 2026-11-10 15:18 UTC

  • 6c8ccd0 conductor-newsapp@web-summit.indi: videos in the app: watch promptugal.news's interview videos in News, natively

v0.4.78 2026-11-10 14:55 UTC

  • 39e2061 conductor-newsapp@web-summit.indi: round 3: Good morning, Good afternoon or Good evening, by the time in Lisbon
  • e6de99b conductor-newsapp@web-summit.indi: round 3 fix: the Look flag is isSoft (soft was both a case and a flag)
  • 8e08085 conductor-newsapp@web-summit.indi: round 3: "Good morning" on Now, and the widget in the softer look
  • 7551443 conductor-newsapp@web-summit.indi: news app redesign, round 3: a softer, less formal look for the public app

v0.4.77 2026-11-10 13:17 UTC

  • 42d2962 conductor-newsapp@web-summit.indi: build 562 submitted for Beta App Review and in the external group

v0.4.76 2026-11-10 13:17 UTC

  • 8d49867 conductor-map@web-summit.indi: brief for the venue map
  • ad22ebc conductor-map@web-summit.indi: venue map in the Where tab (MapKit, our own venue.geojson)

v0.4.75 2026-11-10 13:15 UTC

  • e436f72 conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.72 (562), redesign rounds 1, 2 and 4, to the external testers

v0.4.74 2026-11-10 12:58 UTC

  • abaec3a conductor-newsapp@web-summit.indi: build 556 submitted for Beta App Review and in the external group

v0.4.73 2026-11-10 12:55 UTC

  • 4bc411b conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.71 (556), the redesign's round 1, to the external testers

v0.4.72 2026-11-10 12:45 UTC

  • 6a1189c conductor-newsapp@web-summit.indi: What to Test for the redesign's round 1, and More in place of the gear
  • cf491df conductor-newsapp@web-summit.indi: news app redesign, round 4: meet RiskMandate at the stand, in More
  • c92baae conductor-newsapp@web-summit.indi: news app redesign, round 2: one tap picks a talk and adds it to the calendar

v0.4.71 2026-11-10 12:26 UTC

  • fc0ddaa conductor-newsapp@web-summit.indi: news app redesign, round 1: five tabs, More on every tab, native talk from Now, Show on the map

v0.4.70 2026-11-10 11:49 UTC

  • 03060ec conductor@web-summit.dinis: brief: every major feature set to TestFlight external testers; one story across the app, site, docs and help with Indi's team

v0.4.69 2026-11-10 07:36 UTC

  • d5ff1a8 devops.ios@web-summit.dinis: CI on one Mac: before/after (10 macOS jobs per dev push -> 1; ~40 min to TestFlight for a push that touches everything)

v0.4.68 2026-11-10 06:09 UTC

  • e5ca04a devops.ios@web-summit.dinis: build for the generic simulator destination (an id destination failed while simulators booted)

v0.4.67 2026-11-10 05:28 UTC

  • 46f9577 devops.ios@web-summit.dinis: one Mac job, builds first with no simulator running, then one simulator at a time

v0.4.66 2026-11-10 04:43 UTC

  • 08d6140 Brief: THE RESTART: Android's RiskMandate parity table for Wednesday (ABP in every layer and the Lab's case studies are the next iOS adds)

v0.4.65 2026-11-10 04:16 UTC

  • 5212189 devops.ios@web-summit.dinis: publish to TestFlight straight from dev, in ios.yml's one macOS job

v0.4.64 2026-11-10 04:11 UTC

  • de3d631 devops.ios@web-summit.dinis: ios.yml: one macOS job per run (build once, test on iPhone and iPad, Release build, package tests)

v0.4.63 2026-11-10 04:08 UTC

  • e686bc1 devops.ios@web-summit.dinis: measure CI (2 days): 10 macOS jobs per dev push, queue 3x run time, 47.5 min to TestFlight

v0.4.62 2026-11-10 04:07 UTC

  • df93aeb Brief: THE RESTART: the iOS RiskMandate feature list for Android's demo parity table

v0.4.61 2026-11-10 04:02 UTC

  • b8cc358 Brief: THE RESTART for the apps (location and map, Apple Intelligence, design rounds, publish from dev, devops.ios@, the app on the web, RiskMandate demo parity)

v0.4.60 2026-11-10 00:03 UTC

  • dc058d8 conductor.B iOS: stop report (THE BIG STOP); hourly wake paused

v0.4.59 2026-11-09 23:51 UTC

  • No changes besides the version bump.

v0.4.58 2026-11-09 23:36 UTC

  • 628d2f6 Brief: THE BIG STOP (Dinis, 9 Nov 23:30): pause every agent and wake until the team realigns; stop report wanted

v0.4.57 2026-11-09 22:44 UTC

  • 00e1dd0 i18n: venue map and where-I-need-to-be strings in all cultures; Arabic right-to-left pass

v0.4.56 2026-11-09 22:36 UTC

  • dc583ce Venue map: a Venue map destination (id map, in More); WhereToBeCard on Now for people with picks; the Practical card's Venue map row opens the native map

v0.4.55 2026-11-09 22:20 UTC

  • 48f8127 Team: knownRegions for the same 21 languages as the public app (the shared package catalogs)

v0.4.54 2026-11-09 22:09 UTC

  • dd56313 PrompTugal: knownRegions and CFBundleLocalizations for the 21 languages
  • fae0a09 briefs: i18n status, real regional counts
  • d8f4352 i18n: 19 more cultures for the public app (machine translation, placeholders and plurals checked)
  • 31ba682 Languages and cultures: in-app culture (default en-GB, never the device's), globe button with the code and an EN shortcut on every main screen, 21 cultures each in its own language, Bundle override and locale environment, dates and times in the chosen culture, RTL for Arabic

v0.4.53 2026-11-09 21:33 UTC

  • 9d509ea VenueMapTests: allSatisfy outside #expect
  • bd8dd9c WhereToBe: no property captured in a closure before init finishes
  • bf1751c Venue map: outlines from the shared OSM data, picks on the areas, the walks between them, where-I-need-to-be card, credit visible; tests
  • 50ea690 PTAgenda: venue outlines for the map (OpenStreetMap, ODbL; from the team site's venue-map.js)
  • 65db4af Where I need to be: the next 10 and 20 minutes with the walk (WhereToBe model and card), tests, strings

v0.4.52 2026-11-09 20:34 UTC

  • 7877779 M-iPad Stage B prep: entitlement steps, model hosting proposal, reader status
  • 8eb6642 RiskMandate: read the shared abp-tooltest/1 cases from PrompTugal__App__Mobile
  • 693c3bf RiskMandate: stage the increased-memory entitlement for Gemma (not in use)

v0.4.51 2026-11-09 20:05 UTC

  • 6fcdc96 DayPlanner: do not read the main-actor AgendaHub.showsAs from nonisolated code; the event's own showsAs is read
  • ae6e24a shows_as: My program and the planner read the event's own showsAs (after the person's toggle, before the rule)
  • 3eb91e7 DayPlanner: closure result type, BusyRule call with the shared signature; ProgramModel tolerates a repeated id
  • 3e6d0a4 ScheduleRulesTests: try outside #expect
  • 19723ea Schedule rules: vendored shared vectors run against BusyRule, DayPlanner.clashes (walking, split, leave-at); busy/free fallback is the shared title and length rule; My program shows travel clashes too
  • fdf910e PTAgenda tests: vendor the shared schedule rules (PrompTugal__App__Mobile 7433286 formats/schedule-rules)
  • 8346c3c My program: clashes shown where they are (both sessions say what they clash with, list of clashes at the top jumps to them); busy and free (the person's toggle, then shows_as, then the rule); I'll split my time with a leave-at time; planner ignores free picks

v0.4.50 2026-11-09 19:51 UTC

  • d519e10 Brief: languages and cultures for the news app (21 cultures on SG/Send's model; a visible globe button; default always English)

v0.4.49 2026-11-09 19:27 UTC

  • 63333c6 RiskMandate: Workbench screen with Apple Foundation Models

v0.4.48 2026-11-09 19:17 UTC

  • dff3c24 PTCore Event: optional showsAs, read from the feed's shows_as (free or busy), with decode tests

v0.4.47 2026-11-09 18:47 UTC

  • bf1065e M-iPad: reply with the plan, blockers and ETA

v0.4.46 2026-11-09 18:45 UTC

  • 4596a03 briefs: reply on clashes, busy/free, the map and location in the news app

v0.4.45 2026-11-09 18:03 UTC

  • abf21ee Brief: the pipeline view in the Team app (WS-205)

v0.4.44 2026-11-09 18:02 UTC

  • 8605cba Fix: tapping a notification crashed the app (PrompTugal and Team): finish the handler on the main queue

v0.4.43 2026-11-09 17:58 UTC

  • cccb687 Brief: Dinis is not a gate; ship on green (9 Nov, 17:55)

v0.4.42 2026-11-09 17:40 UTC

  • 9f0a0ef Brief for conductor.B: redesign stages 2 to 4 are on dev, for review
  • 7306842 Team app redesign, stages 2 to 4: Now, Where and Plan as in Indi's prototype
  • 89f10f3 Wallet pass: the signed RiskMandate card (run 3) [skip ci]
  • eeb1f31 Wallet pass: commit the signed pass to briefs/2026-11-09__wallet-pass/ (the artifact store is not reachable from the team's session)

v0.4.41 2026-11-09 17:09 UTC

  • fd8ed90 Wallet pass: the RiskMandate business card as an Apple Wallet pass, made through the App Store Connect API

v0.4.40 2026-11-09 15:19 UTC

  • 2f3fb58 Team app redesign 1.1: Plan titled "Plan", Mine counts as Now does, no quotes in task titles

v0.4.39 2026-11-09 14:53 UTC

  • f1a27e1 Brief for conductor.B: the shared schedule rules (Mobile 7433286); run cases.json in the iOS tests

v0.4.38 2026-11-09 14:47 UTC

  • ff7618d Brief for conductor.B: update: the news app on the web; one reference for the schedule rules

v0.4.37 2026-11-09 14:24 UTC

  • a743e4d Brief for conductor.B: update: shows_as coming in the events JSON; place and where already there

v0.4.36 2026-11-09 14:23 UTC

  • 802ba88 Brief for conductor.B: the news app from Dinis's first real use: clashes you can see, busy and free events, split my time, the venue map, and location while in use

v0.4.35 2026-11-09 14:09 UTC

  • e9c834a Brief for conductor.B: the conductors' rota (you at :00) and the watch; everybody pushes to dev, only Dinis and the conductors to main

v0.4.34 2026-11-09 14:05 UTC

  • cf7f4e0 Brief for conductor.B: Indi's team's work is on dev, for review before main
  • ac7127b Team messaging v1: rename the avatar view (MessageAvatar), it clashed with the app's Avatar
  • 94a21f4 Team app redesign, stage 1: five tabs, More as a sheet, a Tasks tab by day
  • 8a43d7e Team messaging v1 (WS-203): the core in PTLanes/Messages, the screens, tests

v0.4.33 2026-11-09 13:59 UTC

  • d02d826 Brief for conductor.B: Android's release workflow proposal, the same shape for iOS

v0.4.32 2026-11-09 13:49 UTC

  • 50799a7 Brief for conductor.B: releases only from main, after the security review (Dinis, 9 Nov)

v0.4.31 2026-11-09 13:17 UTC

  • f71ba1b Brief for conductor.B: the shared mobile repository v0 (b607731): implement bridge/BRIDGE.md for M-iPad, Swift names per ops.json

v0.4.30 2026-11-09 12:54 UTC

  • fb2ad61 Brief for conductor.B: team messaging in the Team app, built by Indi's team (WS-203)

v0.4.29 2026-11-09 11:27 UTC

  • 0f6cb40 Brief for conductor.B: how we work (PKI on everything, QR and NFC key exchange, the live picture, the intranet)

v0.4.28 2026-11-09 11:10 UTC

  • c76acfb Brief for conductor.B: we are the power users (the Team app runs our own summit; where is everybody first)

v0.4.27 2026-11-09 10:59 UTC

  • 8f0090d Brief for conductor.B: M-iPad is yours; the three apps' line; Dinis's decisions of 9 Nov; the conductors

v0.4.26 2026-11-09 01:14 UTC

  • fa64846 Website: privacy page for the App Store app (Data Not Collected, promptugal.news only, no Ask/Vault); support: notifications on first pick or Reminders

v0.4.25 2026-11-09 00:10 UTC

  • 9d35705 PrompTugal: live updates glue (PTSync), no webcredentials, fresh agenda seed
  • 706e416 Public app: a promptugal:// link opens only PrompTugal.news pages, not the team site (ShellLink hosts parameter, publicHosts, tests)
  • 0e1103d review: rc9 against acceptance-0.4.25 (go/no-go run 18)
  • 01ed752 Merge design 2aff29e and team f9a4996; pt-PT and pt-BR for the onboarding screen and the Settings row; no você in pt-PT
  • eeab533 PrompTugal: drop Ask, Vault and dictation from the public app
  • 2aff29e ONB-1: final copy from ux (row 3 text, no Ask line)
  • 730c327 Live updates for the public app: LiveUpdates (PTSync), LiveContent (PTCore), ReaderStore reads kept content; host test; wiring notes for apps
  • 7256743 ONB-1: one first-run screen (Choose talks / Not now), asks for nothing; "How PrompTugal works" row in Settings; -PTOnboarding in DEBUG
  • 022c2d4 review: listing.json carries the copyright line
  • cb1a103 i18n: localize Official programme, event kind badges, the Siri follow-up sentence and PTNews segment labels; pt-PT uses sessão instead of palestra
  • 475ee3f review: privacy-first acceptance rules for 0.4.25
  • 19b284f Polish: Explore > Talks reads "Explore" (AgendaView title parameter); graph nodes named by a URL show the site, not the raw address
  • f9a4996 My program day chips are short (weekday and day number, from a locale template); NextHoursCard time column is one line, minWidth 64
  • 0beac4b review: submitted 0.4.24 (205); ready replies for App Review
  • ffc62eb review: FINAL GO for 0.4.24 (205), conditional on Dinis (Data Not Collected, Mac/Vision, IDFA)
  • ec9b4a2 review: #37 6.9 set GO; all sizes from #37
  • 7db4c80 review: go/no-go run 17 (rc8 screenshots: iPad without Ask, GO)
  • 4f7eaca PrompTugal UI test: wait for the shell's identifier, not a PrompTugal text

v0.4.24 2026-11-08 22:03 UTC

  • 6f1c209 TestFlight text files: no Ask, no demo key, one host (split/review d21231d)
  • d21231d review: rc8 without Ask: Data Not Collected, listings and notes without Ask, iPad screenshots need a re-run; go/no-go run 16
  • 4f58965 Public app: Ask only in DEBUG builds with debug mode on; the App Store build collects no data
  • 4b764cc TestFlight status: 21:24, 204 still waiting for Beta App Review
  • 518faaf TestFlight status: 20:25, 204 still waiting for Beta App Review
  • fae5ee4 TestFlight status: 19:28, 204 still waiting for Beta App Review
  • ee6fcbf TestFlight status: 18:33, 204 still waiting for Beta App Review
  • e376428 TestFlight status: 17:42, 204 still waiting for Beta App Review
  • 182bc67 TestFlight status: 16:58, 204 waiting for Beta App Review
  • b442864 TestFlight status: 16:26, 204 in Beta App Review
  • 2de7846 review: TestFlight external submitted
  • d711ba4 review: dry run confirmed; status summary FINAL GO
  • 26838a4 review: FINAL GO for 0.4.23 (204), conditional on App Privacy, Mac/Vision and IDFA by Dinis
  • b6ace6f review: build 0.4.23 (204) uploaded
  • 0f685e3 TestFlight status: 15:43 check, v0.4.22 failure and v0.4.23 run
  • abc8424 review: 15:40 status
  • 777e156 review: v0.4.23 noted
  • c442c52 review: 15:13 status
  • 4e05421 review: M8 settled, G4 fallback on code evidence
  • 79e7b29 review: version string 0.4.22 noted
  • 7ad0120 review: go/no-go run 15 (dev = rc7, run 398 green, screenshots applied; review notes on dev need step 4)
  • 95ae83b review: age rating read back, M7 GO
  • 57c9673 review: go/no-go run 14 (store screenshots GO, 36 images; ASC metadata applied)
  • 5d64ad7 review: next-version items from App Review and the screenshots
  • aa6f9d4 review: screenshot pass 2 (rc7 6.9"): store set of 4 per locale GO; talk, news and graph images left out (trademark in content)
  • aefb1f1 review: ASC dry run decisions (en-GB primary locale added to listing.json, no What's New on first version); go/no-go run 12

v0.4.23 2026-11-08 15:18 UTC

  • 7b1260c release-notes.sh: build the notes, then cut to 3,900 characters (head -c on a pipe broke the release with SIGPIPE under pipefail)
  • 70f6d44 TestFlight status: 14:50 check
  • a793738 review: listings match rc7 (My program, no planner claim, search scope); listing.json for asc.py; go/no-go run 11
  • edccbb0 review: rc7 535e9ba (Explore time one line), run 10 holds
  • d091da5 TestFlight status: 14:07 check
  • a073397 review: rc7 0279acc test-only delta
  • 80a7d72 review: go/no-go run 10 (rc7 7f961a0 GO in repo: no launch prompt, time column one line)
  • eb40b63 TestFlight text files: review notes step 4 (notification permission) from split/review 1b628bb
  • 1b628bb review: screenshot pass 1 (no-go: notification prompt without a tap covers 60 of 63 images; time column wraps); review notes step 4
  • 94f9da6 review: go/no-go run 8 (run 394 22/28 green; ASC plan corrected; screens and dry run pending)
  • 78149f0 review: go/no-go run 7 (binary rc4 56a630e: product code identical to d8a5020)
  • 926e13f TestFlight status: 13:10 check
  • 7ed0cb8 review: go/no-go run 6 (binary rc4 d8a5020, screenshots rc5 706b153)
  • 797282a review: go/no-go run 5 (screenshots from a Debug build show debug badges and debug-only rows; content rights must be third-party); Languages lines stay
  • 0518362 review: rc4 d8a5020 go/no-go run 4 (seed wired, N2 DEBUG-only; pending run 393, processing, screenshots)
  • dc1ba49 review: rc4 go/no-go run 3 (agenda seed not wired; screenshot risk from program titles)

v0.4.22 2026-11-08 15:06 UTC

  • 535e9ba Explore rows: time on one line (fixedSize, min width 64) so ranges and 12-hour times never wrap
  • 0d4a053 Tests: WebPageHostTests and AgendaOpeningDayTests on the main actor
  • 7f961a0 PTWeb tests: WebPageHostTests on the main actor (leavesSite is main actor-isolated)
  • e8b4379 My program: no notification prompt when the screen is built; ask only when the person turns reminders on
  • 15083d5 Now: the time column fits "88:88 AM" and never wraps in 12-hour locales
  • d051bf5 Screens test: tap Allow (last button) on the notification alert
  • 555b32e Screens test: dismiss the notification permission alert before each shot
  • 63d7355 screens.yml store mode: fix the id lookup (${dir}iphone-), run only ScreensTests, no crash on empty glob
  • 56a630e Tests: PTExplore tests import PTCore (Event); PTWeb public-list test computes values outside #expect
  • 178bfbd screens.yml: drop the store-order prefix from attachment ids; ASC plan per review (content rights, IDFA, Mac/Vision availability, listing files)
  • 706b153 Screenshots: debug mode off in the screens test; Vault and All websites are debugOnly (hidden with debug off)
  • 9ee142a Screens test: forward PT_HIDE_TERM as -PTHideTerm
  • 72b0957 Screenshot filter: agendaDidLoad gets the filtered agenda
  • 39ed85a Screenshot filter: -PTHideTerm drops matching events and news (Debug only), with tests
  • 58ef2cf screens.yml store mode: hide_term (PT_HIDE_TERM -> -PTHideTerm), default Web Summit
  • 9a93526 PrompTugal tests: the bundled agenda seed decodes (more than 150 events)
  • d8a5020 PrompTugal: set AgendaHub.seedAgenda to the bundled agenda (the seed was bundled but never wired)
  • 5e4ef2b i18n: wrap the bare literals left in AgendaView and other package views (looked up in the app bundle, so pt users saw English)
  • 3e29fc3 PrompTugal: bundle the agenda as a first-launch seed (offline first launch)
  • f9a0bc0 review: rc3 go/no-go run 2 (GO in repo; pending run 391, processing, screenshots); N4 fixed
  • ae30114 TalkScreens: agendaEvent is main-actor (it reads ReaderStore.agenda)
  • ae69b94 TalkScreens: agendaEvent on the main actor (ReaderStore.agenda is main actor-isolated; Release build of rc2 failed)
  • ae618cf PTWeb: links out of the page's own site open in the browser, never in the app (main frame, target=_blank too); host rule tested
  • 4243d75 review: N2 accepted for this version
  • b009f5e i18n: InfoPlist catalog en values are the real English strings, not the key names
  • f1be173 ux: status log
  • f58435a ux: rc2 review follow-ups for the next version
  • eef6afa i18n: microphone and speech purpose strings in pt-PT and pt-BR (InfoPlist catalog)
  • d411bd0 review: rc2 go/no-go run 1 (no-go: WebPage loads linked sites in the app; old review notes in rc2); network audit corrected (N4)
  • a2cff1a briefs: i18n status update
  • 7106c3d i18n: restore defaultLocalization in PTAgenda after the merge
  • eeade18 i18n: catalogs for the summit screens in PTAgenda, PTExplore, PTNews, PTCore and PTWeb
  • 6c3fd36 PTSync feeds: import PTCore where FeedItem is named; make the joined-refresh test deterministic
  • d4bb283 Now: three Ask questions on the Ask card when a key is saved; registration comes from the model's kind (team d310767)
  • f498a66 i18n: catalogs for the summit screens in the app target and widget (Now, Explore talk, practical card)
  • ce48341 team status: summit work (NowModel, PICK, My program, seed, clock) at 12:25 UTC
  • bd79c07 Platform status: cookie fix folded into split/rc, no runs queued
  • 1996d7f TestFlight ops: review notes from the summit store pack (privacy line: two hosts, no cookies, no telemetry)
  • e80352b Status: testflight, first good public build 0.4.16 (197)
  • fcb1089 review: status anchor fix
  • 8bef472 review: 12:16 check, where each fix is; review notes say a session opens its details
  • d310767 NowModel: first items are the first registration and the opening night; registration never takes an On now, Up next or Tomorrow slot (NOW-M-1, NOW-M-2)
  • 0f204ed ux: 12:15 check-in log
  • 1b5a0a7 Public app on team's NowModel, My program and AgendaClock; deck's TalkDetailView as the one talk detail (agenda, My program, Explore); NowNextRepublisher; pick toasts
  • 9b694ad PickTests: pickStore is main-actor (ScheduleStore init)
  • 2b23012 Status: collab summit update (PTSync built, feeds and Ask changes local)
  • 1a425d7 PTAgenda: AgendaClock, one clock with a DEBUG override, used by the agenda, planner, My program, reminders and Now/next publishing
  • fcf5d3f apps status: summit queue update
  • 7580c50 PrompTugal UI tests: ScreensTests, one screenshot per destination (now, team.schedule, explore, explore.talk, news.home, explore.people, explore.graph), clock and picks forwarded from PT_NOW and PT_SEED_PICKS
  • cd1d188 i18n: remove case-only duplicate catalog keys (they generate the same symbol)
  • 5e2ab6f PTExplore: TalkDetailView, the one native talk detail (TalkRef from Event, pick id or entry; pick and calendar hooks)
  • 558bd42 PublicFeatures: publish Now and next for the widget and Siri when the agenda loads and when picks change
  • 95bbba7 Explore: ExploreScreen with the app's views (agenda talks, native talk detail, graph card, graph); explore.* ids; wrapsStack for screens with their own stack
  • 278675c Now per ux review: countdown and filters by event kind, a loading state, the time on the kicker line
  • d0fcabd PTAgenda: -PTSeedPicks parser and seeding, agenda opens on today during the summit, openSession hook for a native detail
  • 65c1878 PrompTugal app: vault background refresh only in DEBUG; no second ScheduleStore (PublicFeatures owns the schedule)
  • db548cd Revert "PTCore: one SecretStore and one SpeechDictation (public), both duplicates removed from PTAsk and PTLanes"
  • 7df2ca3 Ask: tool description without the trademark
  • b380734 PTCore HTTPClient: no cookies (no cookie storage, no Set-Cookie handling, accept policy never), with a test
  • a6d204c Ask: public prompt names the Lisbon summit without the trademark
  • 90c4fb8 My program (PROG-1): ProgramModel with clash groups and free time, MyProgramView, tests
  • 89db252 Now per ux review: Practical card (six rows, links in Safari), countdown items, no registration in On now/Up next, a loading state, a smaller clock, readable width; strings as in the spec; story titles; Settings Ask label
  • c391c4c Design status: summit build progress
  • 439993e PICK: shared pick action with toast and clash warning (PickFeedback, PickStarButton, .pickToasts()), NowNextRepublisher, pick rules; AgendaView uses it
  • bd26d86 i18n: Siri phrases and intent text in pt-PT and pt-BR (Intents catalogs)
  • e9ee8c9 TestFlight ops: use review's final What to Test for the public app
  • 628709d ux: review log
  • 3c99698 PrompTugal app: link PTExplore (package reference, product, apps.json)
  • 49a9fa8 Ask per ux: the last card on Now, the first row in Settings, a row in the iPad sidebar
  • 79f787f News: a share button on every story (review finding F10)
  • 08d961f ux: Practical card content and links; iPad two-column Now cut
  • 6f50cbb PTExplore: fix manifest (defaultLocalization belongs to the package)
  • 21d2f6c PTExplore: localizable strings (String(localized:bundle:), Localizable.xcstrings, defaultLocalization en)
  • 8ad3eb9 Ask: no vault key copy in the public app, provider-owned audience wording, localized strings
  • d2318d9 PrompTugal app: collected data type in the privacy manifest (other user content, not linked, not tracking, app functionality); knownRegions en, pt-PT, pt-BR
  • a0ea733 TestFlight ops: use the summit store pack's review notes for Beta App Review (review.B's file)
  • a8aee16 i18n: stage pt-PT and pt-BR for the ux spec v1 copy (plain strings, app catalog)
  • d58958c NOW-1: the Now screen by phase (countdown, For you, On now, Up next, Tomorrow, thank you), news, Ask and practical cards; -PTNow in DEBUG
  • c029510 PTAgenda: NowModel (spec NOW-1 data) replaces NowBoard: phase, for you, on now, up next, tomorrow, countdown, with tests at the spec's dates
  • b506216 briefs: i18n status page
  • 6ece567 PTAgenda: NowBoard (now and next for the venue and my program, clashes, stages, summit phase), offline agenda seed hook, DayPlanner.clashes
  • 4723ef2 i18n: String Catalogs (en, pt-PT, pt-BR) for the PrompTugal app, widgets and packages; Lisbon time labels stay locale-formatted
  • 1ce03c8 PrompTugal app: extensions link PTNowNext (not PTAgenda), scene manifest from Info.plist (external display), public websites list, no Web Summit shortcut image
  • af499aa NEWS-1: segments Latest, Newsletter, Stories; 'Offline · saved HH:MM' pill; the graph card leaves the news screen
  • 1a90e8e Ask: initial question parameter and a plain no-key card
  • 3f24dcc Public shell to the ux spec: four tabs (Now, My program, Explore, News), no More tab, gear to Settings, Ask from Now and Settings, old ids routable
  • 49e56c5 PTExplore: ExploreStart, so the shell can open Explore at a segment, a talk or the graph
  • 8148d6a PTSync: live feeds (RSS, Atom, JSON Feed, newsletter JSON) with offline store and syncer
  • 3e86329 screens.yml store mode: ux's id list, required ids, seed_picks for the screens test
  • de9b120 App Review: no Web Summit trademark in PTAgenda text; PTWeb shortcuts list injectable (WebsitesPublic.json for the public app)
  • 812a010 ux: exact seed slugs
  • 3d844c3 ux: App Store screenshot list and seeded program (§11)
  • bbbed30 PTExplore: build to the ux spec (segments, grouped search, A to Z, hooks for agenda, talk detail and graph card)
  • a1f1f1a apps status: summit queue, runs 357 and 94
  • ca86a91 team: status page, summit priority
  • 7e3b1fb screens.yml store mode: ids (store order) and now (PT_NOW for the screens test); plan for the 15:40 run
  • 351797c ux: Ask leaves the tab bar (conductor ruling); NOW-1h Ask card
  • 1811803 PTAgenda: NowBoard (now and next for the venue and my program, clashes, stages, summit phase), offline agenda seed hook, DayPlanner.clashes
  • 21c8fa2 ux: status page time
  • 2bbdb3a briefs: release status for the summit app (screenshots, App Store API plan)
  • cd11e67 ux: summit app spec v1 (tabs, Now screen, program flow, explore, states, owners)
  • f77e99c PTExplore: searchable talks, speakers, companies, organisations and places
  • 1d63554 Status: testflight, plan for the public app's external path
  • 87da380 PublicShell: All websites only in DEBUG builds (its list still names the team site)
  • 6ef8cec PublicShell: Ask moves from the tab bar to More (it needs an OpenRouter key)
  • 4fe049a PublicShell: the vault screen only in DEBUG builds (App Review: a dead end without a key)
  • 5051f9b screens.yml: store=true makes App Store screenshots (6.9in and 6.5in iPhone, 13in iPad, native size, per locale, JPEG, size-checked)
  • b02308a TestFlight ops: groups (read-only settings of beta groups and review details) and public-link (plan unless confirmed)
  • 58472d8 Platform status: dedupe parked, support role
  • a02513c Platform status: SecretStore and SpeechDictation task, run 348
  • 1eb47bd TeamNativeTests: typed arrays in integer comparisons (ambiguous == in the tested expansion)
  • c95141b apps status: PTSync request from collab (waiting for conductor)
  • e70d928 Team.xcodeproj: reference-only entry for PTNowNext (conductor-approved); status page, round 2
  • 86cf060 PTSync: take the PrompTugal app wiring off this branch (apps owns it); the patch is in the status page
  • 7dc4298 PTNowNext: NowNextSnapshot, SharedContainer and LisbonClock in their own package with no dependencies
  • 38c85cc PTAsk: the question box hint and intro come from the provider (no team in the public app); dictation note says on device or Apple
  • 93279d1 privacy and review notes: dictation in Ask (microphone, speech), camera; status 11:00
  • cef4aa2 Status: testflight, public app upload rejected (error 90683)
  • 4225261 TestFlight ops: read-only inspect action (all builds incl. non-VALID, pre-release version, build uploads, for one version; build input carries the version)
  • 164cc21 PTSync: PTCore ContentSource seam, manifest body hash when there is no ETag, PrompTugal app wiring, seed script
  • 063e3c2 Team: native pages from markdown twins (reports, board health, pulse summary), wakes and pulse screens
  • 6accbbd PTSync: manifest delta sync, content store with atomic generations, build seed, offline outbox (PTCore only); in apps.json packages
  • cfce712 Team: native stand-ups (list, agenda, items) and My command centre, read through TeamStore
  • 48d84f3 PublicShell: the decks screen (id decks, DeckScreen, own navigation)
  • 5153877 status: editor 10:40, merged dev v0.4.13
  • a4ff33c release-notes.sh: per-app intro from scripts/release/notes/<app>.txt; Team's What to Test text
  • 58ce3ec release scripts: no default PROJECT/SCHEME/APP_NAME (apps.json is the source; the project moved to Apps/Team)
  • 8c741a0 Status: testflight, Team What to Test draft and plan
  • 96175a5 App icons: a Team icon (blue, PT team) and a RiskMandate icon (dark, RM)
  • e7a6ac4 PTCore: one SecretStore and one SpeechDictation (public), both duplicates removed from PTAsk and PTLanes
  • ffd5b09 briefs: collab status, PTSync design (proposal, no code)
  • d830524 ios.yml: runner=auto (self-hosted when one is online, else macos-26); cancel the rest of a manual split run when a build fails
  • 45d26aa TestFlight ops: set-whats-new action (What to Test only, plan unless confirmed) and a draft What to Test for the Team app
  • 569f4d7 Design status: on dev, run 345 green
  • 3bd5b50 status: editor 10:15, merged dev v0.4.11
  • ea27db3 status: release.B 09:45 UTC
  • 43d5426 Status: testflight, first Team build 0.4.7 (182)
  • 7320844 site labels: read ShellDestination, public features start with .publicFeatures(; merge dev v0.4.10
  • c048050 phase 4: PrompTugal review texts, version wording, status; merge dev v0.4.8
  • ce2fbe0 Design status: phase 4 ready, run 342 green
  • c255aa2 Platform status: phase 4 READY (run 338, dry run 81)
  • a7b603c Status: testflight, 08:48 check, no new upload
  • e3f50b8 Platform status: runs 338 and release dry run 81 in progress
  • b453636 status: editor 08:30, phase 4 preview
  • d51cde4 Status: testflight, 0.4.6 build 180 on reader record
  • 7b94708 Status: testflight, 0.4.4 build 178 on reader and RiskMandate, entitlements kept
  • 0b46175 status: release.B 07:40 UTC
  • 29158b9 privacy and support: widget, Siri answers, camera; status 08:05
  • a4dde49 status: editor 07:50, merged dev, checked against split/platform
  • c04189e status: editor 07:35, build patches for dev
  • a20ffd5 briefs: editor-build patches for dev (build code only)
  • f8f6316 site: find shortcut artwork wherever the Team move puts it; status for phase 4
  • e6d18ff Status: testflight, signing fix on dev, waiting for next release
  • ccd09f4 Status: testflight, 06:55 check, dev uploads blocked on signing fix
  • abdb2d4 briefs: collab status, PTAsk quick run green, full run queued
  • 0e6bdb4 Status: testflight, run 71 failed on certificate limit
  • 9adcf3a status: editor 06:25, PTLanes checked
  • a419ccf status: editor 05:55, PTNews checked
  • 8fb7028 Status: testflight, certificate count after run 69 signing failure
  • 64dbb54 TestFlight ops: read-only certificates action (counts by type, no names)
  • 84637e0 Status: testflight, 05:18 check, no new upload
  • bc9805b status: editor 05:20 check-in
  • adebd13 Status: testflight, 0.4.1 build 168 seen
  • 8900341 status: editor 04:15 check-in
  • a6be0df Status: testflight, run 67 results for all records
  • 8c2c07d Status: testflight, first 0.4.0 build (RiskMandate 167)
  • 57079c7 TestFlight ops: bundle input, so status can read the Team and RiskMandate records
  • f954a79 site: read the new app project and its shortcut artwork; v0.4.0; status
  • ad3bb3b Status: testflight, build 163 seen
  • 20c6f17 Status: testflight, runs 63 and 64 in flight
  • 343a1f7 status: editor 03:15 check-in
  • 3a274f9 Status: testflight, build 161 seen
  • 31fa0cc status: editor 02:40 check-in
  • e951303 status: editor 02:10 check-in
  • 29b2de5 Status: testflight, 02:08 check
  • a4a1df6 Status: testflight, conductor update
  • f3ac2a1 site: app version follows VERSION from v0.4; status update
  • 408c03d Status: testflight, account B watching uploads
  • a889cb9 status: editor handoff
  • 9869149 Status: testflight handoff
  • 27a6247 support and review notes: contact address, answer within 48 hours
  • 0f58b2c Status: testflight, internal testers only during the summit
  • 5d6e8c7 testflight: PrompTugal-app review notes and What to Test, to replace the originals at phase 4
  • 7089550 status: editor merged dev v0.1.67
  • 1575125 status: editor merged PTVaultUI, vault labels follow the files
  • e640c9e status: editor merged phase 1, labels hold
  • b98816d site: PublicShell counts as the PrompTugal app's root view
  • e3ba68b site: follow the three-apps split (public app pages, Team app in the admin area)

v0.4.21 2026-11-08 11:39 UTC

  • 683b6c5 review: review notes state the two hosts, no cookies, no telemetry
  • ca9eaf6 review: network audit of the public build (two hosts; N1 cookies off in HTTPClient, N2 vault background task, N3 Ask vault copy)

v0.4.20 2026-11-08 11:35 UTC

  • 9e2e613 briefs: summit app next version, Dinis's ideas (modes, graph, privacy, live timeline, billing, variations)

v0.4.19 2026-11-08 11:35 UTC

  • f156a3e review: TestFlight What to Test for the public app (store/what-to-test.txt and scripts/release/notes/promptugal.txt)

v0.4.18 2026-11-08 11:33 UTC

  • d0af652 review: review contact secrets confirmed present
  • eb8f277 review: review notes follow the four tabs (Now, My program, Explore, News; Ask from Now and Settings); exact PrivacyInfo keys for Ask

v0.4.17 2026-11-08 11:32 UTC

  • 90dcc37 review: apply the conductor's rulings (Ask with review key, Vault hidden), final review-notes.txt, App Privacy with Ask, pt URLs

v0.4.16 2026-11-08 11:32 UTC

  • 326147f PrompTugal app: microphone and speech recognition purpose strings (ITMS-90683: PTAsk dictation is linked)
  • bc65b90 PrompTugal widgets and intents: privacy manifests (they now link PTAgenda, so they use UserDefaults and file-timestamp APIs; ITMS-91053)
  • 00fb555 PrompTugal app: PTDeck package, external display scene configuration (presenter second screen)
  • e024fce PTDeck: decks, reader and presenter mode for the PrompTugal app
  • 7af3009 apps status: guard proof run 84
  • 49c80c7 apps: promptugal testflight back to false (the guard dry run runs on 42d2aab)
  • 42d2aab apps: promptugal testflight true for ONE release dry run (guard proof); set back to false next commit
  • e081ed4 apps status: READY phase 4, release dry run 83
  • ed85d6d apps status: phase 4 runs 337 and 340

v0.4.15 2026-11-08 11:30 UTC

  • 304d500 review: correct the times in the store pack (11:30 UTC)
  • f7b8ef1 review: App Review checklist, store listing (en, pt-PT, pt-BR), App Privacy and age rating answers, review notes, go/no-go, persona walk-through 1

v0.4.14 2026-11-08 11:22 UTC

  • f893a58 briefs: summit app to the App Store today (plan, MVP, roles, rules)

v0.4.13 2026-11-08 10:32 UTC

  • 134a559 briefs: three apps contracts §8, next round (PTSync, decks, Team native) rules

v0.4.12 2026-11-08 10:08 UTC

  • bbf7cd8 apps.json: upload the public PrompTugal app to TestFlight (dev run 345 green; signing dry run 84 entitlements complete)

v0.4.11 2026-11-08 09:41 UTC

  • 053e2e3 briefs: three apps outcome, first Team build 0.4.7 (182) in TestFlight

v0.4.10 2026-11-08 09:34 UTC

  • c1daad2 briefs: three apps, outcome at 09:40 UTC (what reached TestFlight, merges, signing fix, what is left)

v0.4.9 2026-11-08 09:32 UTC

  • d7c728e Design status: reword a line the site validator rejects
  • b8716f4 PublicShell: ReaderStore is the news source in the public app
  • a4c0d61 PublicShell: argument order in the debug destination
  • b63cd43 Design status: phase 4 run 333 in progress
  • c025f83 PublicShell: Ask destination and Ask beside any screen, page context for Ask
  • d9a8c13 Draft: PublicShell, public Destinations, settings, features; shared shell parts in PTCore (local only)
  • e751c11 Design status: PublicShell drafted locally, needs list
  • d88d87b Design status: full run 323 green on bb50751, READY

v0.4.8 2026-11-08 09:23 UTC

  • a53e3cc PrompTugalIntents: import PTAgenda (NowNext moved there)
  • bb9e5dd PrompTugal app, phase 4: widgets and intents targets, shortcut images, NowNextPublisher wiring
  • 375e867 PrompTugal app: file sharing and open-in-place keys (Files app shows the PrompTugal folder)
  • 86fe833 apps status: NowNext in PTAgenda (phase 4 note)
  • bb54ef1 PrompTugal app: URL scheme, one schedule for AgendaHub, vault task id (prepared for phase 4)
  • 7d0225f apps status: run 316
  • 44d74ac apps status: shortcut images in phase 4 plan

v0.4.7 2026-11-08 09:00 UTC

  • cd02fa7 Team tests: @testable import Team in AppReviewTests (the merge restored the old module name)
  • f0c53a9 Fix merge: take team's NowNext files (conflict markers were committed); Team points SharedContainer at its own group name
  • a2a1b31 Platform status: phase 4 pushed
  • 09623bd Phase 4: move the root project to Apps/Team (Team, news.promptugal.team, ptteam://)
  • d599843 PTAgenda: NowNext, SharedContainer, LisbonClock and NowNextPublisher move into the package (public), with their tests
  • 8d574df team: status page, phase 4 review
  • dcca18e Store and tests: ready for the Team move (scheme from AppLinks, StoreKit file found in either layout, tests set their own scheme)
  • 86ff569 team: status page, run 313 green
  • 56db73e Platform status: AppLinks.scheme on dev, waiting for phase 3
  • 95ae726 Platform status: run 301 on self-hosted runner

v0.4.6 2026-11-08 07:15 UTC

  • b17edc3 website: admin pages read the Team app from Apps/Team once the project has moved
  • cf4f548 website: build finds the PrompTugal app project, artwork and Websites.json in Apps/ and Packages/

v0.4.5 2026-11-08 07:06 UTC

  • f3b0a1c TeamAskProvider: return explicitly from every case
  • 781f6f4 PTAsk: move AI/ into the package with AskContextProvider; PublicAskProvider in PTAsk, TeamAskProvider in Coordination/

v0.4.4 2026-11-08 07:02 UTC

  • 266c7ba testflight.sh: keep entitlements in the unsigned archive; print entitlements of the exported app and extensions
  • cfffe8d testflight.sh: automatic mode archives unsigned and lets the export cloud-sign, so no Apple Development certificate is created per run
  • 46197df status: release.B 02:55 UTC

v0.4.3 2026-11-08 05:57 UTC

  • c6e7a26 briefs: collab status, runs 314 and 322 fixed, run 324 queued
  • 99c3e91 PTLanes: hasWebsiteInbox for the debug panel; error-text test moves to the Team app tests
  • 0cdbebc AI: SpeechDictation copy for AskView (PTLanes keeps its own)
  • cc8be49 briefs: collab status, PTLanes fixes after run 314
  • 44217b1 PTLanes: own SecretStore copy, public LanesView.body, TeamNotes default argument off the main actor
  • 72c152c PTLanes: install VaultCollabAccess from TeamLanesWiring, Swift 5 language mode
  • 5ab5eb2 status(vault): run 310 dispatched on b614118
  • 457bb54 briefs: collab status, CollabSeams green (run 302)
  • fb8cdfc status(vault): waiting for CollabSeams on dev
  • 53d9a78 status(vault): waiting for CollabSeams on dev
  • b71f8f0 briefs: collab status, collab.B took over, run 291 still queued
  • 4ff6d47 vault: check VaultCollabAccess against CollabSeams; status
  • 0ddf084 briefs: collab status, handoff section
  • d24514e status(vault): handoff to account B
  • b73c5a6 vault: VaultCollabAccess moves into PTVaultUI (public, install()); needs CollabSeams in PTCore
  • d0218e1 status(vault): waiting for CollabSeams
  • f2fb585 Coordination: keep team-only hooks, drop what moved to PTCore (prepared, not pushed)
  • 9dc572b PTLanes: move Lanes/ into the package (prepared, not pushed)
  • d369089 PTCore: CollabSeams.swift (prepared locally, not pushed until PTCore is on dev)
  • e48bf9d status(vault): move green in run 272
  • 5da5f05 briefs: collab status 00:10 UTC
  • 38d857b briefs: collab status, public provider uses ScheduleStore
  • a17cd95 briefs: collab status, cover AskView schedule in provider
  • 64161fa briefs: collab status, conductor rulings
  • 1786ceb briefs: collab status page and plan for PTAsk and PTLanes

v0.4.2 2026-11-08 05:20 UTC

  • bb50751 Design status: PTNews fixes, quick run 319 queued
  • 83f761f PTNews: GraphExplorer.version is public (the Team debug panel reads it)
  • 4c18d6b PTNews: previews use NewsFeeds, own NewsRow instead of the dashboards' InfoRow
  • df7894d Design status: run 312 queued on b1ef07a
  • b1ef07a ReaderStore+News: import PTAgenda explicitly
  • 1700e60 Shell: take the link scheme from AppLinks.scheme; status
  • cc9774d Design status: waiting for team's run 300
  • 1a1f81d Design status: design.B takeover, run 294 cancelled, waiting for team's PTWeb
  • d7e6a69 Design status: handoff section
  • 4430e67 PTNews: Swift 5 language mode, like the code it moved from
  • e1d3cf1 PTNews: move the news screens and the graph into the package
  • efda4e5 Design status: merged split/apps
  • 8b742bd Design status: 01:08 check
  • f79f867 Design status: 00:46 check
  • 5747e37 Design status: 00:25 check
  • 62e7f43 Design status: markers for the editor
  • 7c8884b Design status: conductor answers
  • 49938f7 Design: status page with the PTNews map and the PrompTugal shell plan

v0.4.1 2026-11-08 04:13 UTC

  • 3899bb1 Reminders take their URL scheme from AppLinks.scheme; status page
  • 9de7a61 AppReviewTests: the bounded load calls loadProducts, not itself
  • 63ad66f AppReviewTests: bound the StoreKit product load to 15 s so a simulator without products records the known issue instead of hitting the 60 s limit

v0.4.0 2026-11-08 03:31 UTC

  • 8132bec status: release.B takeover
  • b5565d9 status: release handoff head
  • c66bcdb VERSION: v0.4 again (a conflict marker slipped into the handoff merge; dev's own bump stays on dev)
  • 0ed75bc ios-release: skip cleanly, before the archive, when an app has no App Store Connect record
  • d0ad4d6 workflows: grant the changes call actions: read (startup failure)
  • 43207a8 ios.yml: quick input for manual runs; packages follow the branch diff
  • 6c26a23 release-setup, status: one version number
  • 279dbca One version number: app version = repo release version; build the release commit after website.yml

v0.1.82 2026-11-08 03:28 UTC

  • cceddbf apps status: run 303
  • 5a62177 apps status: runs 289 and 290
  • e97530b apps: riskmandate testflight true (same Apple account); status
  • f5dc0ed apps status: handoff
  • eab1d7a apps status: phase 4 plan for extensions
  • 7d28094 Apps/PrompTugal: PublicShell moves to Shell/ (design's folder, synchronized group)
  • 7dea0d8 Apps: new RiskMandate and PrompTugal projects (bundle ai.riskmandate.app, news.promptugal.reader, 0.4.0)

v0.1.81 2026-11-08 03:26 UTC

  • fb9a42a briefs: Beta App Review approved PrompTugal 0.3.1 (4) in about 24 hours

v0.1.80 2026-11-08 03:14 UTC

  • 11ab789 website: find app files in Packages/ too (Websites.json moved to PTWeb)
  • 17a160c tests: put each test where it can see what it tests
  • cbb3074 team: status page after run 293
  • 115ba30 PTWeb: own the schedule storage key and change event (PTWeb cannot see ScheduleDocument); reminder taps accept ptteam links
  • 8d216f3 team: status page, account B notes
  • 203c598 team: handoff section in the status page
  • 6cccf88 team: move PTWeb (Bridge, WebPage, WebsiteView, Websites.json) and PTAgenda (Schedule, Notifications, AgendaView, ReaderStore) into packages
  • bc2733b team: status update
  • 3f9d5b8 team: status update, still waiting for PTCore
  • c90b83b team: add AgendaView, ReaderStore and URL scheme to plan
  • 97e05e9 team: record conductor answers
  • 26c13f7 team: status page with PTWeb and PTAgenda dependency plan

v0.1.79 2026-11-08 03:06 UTC

  • 11acc2e PTCore: CollabSeams.swift (collab seams: vault access protocol, hooks, identity, page context, error text)

v0.1.78 2026-11-08 02:54 UTC

  • 15a0970 Platform status: handoff section
  • ce3602e PTCore: AppLinks.scheme, the app's own URL scheme
  • 90a98e8 Platform status: phase 4 plan
  • 4abe4e2 Platform status: phase 2 green

v0.1.77 2026-11-08 02:24 UTC

  • 3e960df ios.yml trial: on a self-hosted Mac each test job gets its own simulator and deletes it
  • 4784b50 ios.yml trial: runner choice for manual runs (macos-26 or self-hosted); Xcode selection without sudo

v0.1.76 2026-11-08 01:47 UTC

  • f824d76 briefs: three apps handoff, Team and RiskMandate App Store Connect records exist

v0.1.75 2026-11-08 01:34 UTC

  • e98c51f briefs: three apps handoff, final heads of all nine sessions

v0.1.74 2026-11-08 01:31 UTC

  • a6c1a68 briefs: three apps, handoff to conductor.B (state of dev, branches, merge protocol, decisions)

v0.1.73 2026-11-08 01:22 UTC

  • 1d954dc briefs: three apps, internal testers only during the summit

v0.1.72 2026-11-08 01:21 UTC

  • 7375364 briefs: three apps, RiskMandate publishes from the same account

v0.1.71 2026-11-08 01:20 UTC

  • f1be270 PTCore: escaping action, StateView title and FreshnessLabel failed in public inits; apps.json all += .github/scripts
  • 441142e PTCore: fix generated init with a trailing comment
  • 8327a21 Platform phase 2: move design, HTTP client, feed models, Lisbon time and build info into PTCore

v0.1.70 2026-11-08 01:12 UTC

  • 8f8b09a TestFlight ops: review contact from secrets only; demo vault key and lane optional
  • bd675de Status: testflight, build 152 uploaded and processed

v0.1.69 2026-11-08 01:00 UTC

  • c160f4f screens.yml: manual runs only (runner load)

v0.1.68 2026-11-08 00:59 UTC

  • 059a01f briefs: three apps, one version for every app (v0.4.n), Screens by hand during the split

v0.1.67 2026-11-08 00:57 UTC

  • 5c5ce57 Status: testflight, real state of builds 4, 5, 6
  • adfdff3 tf.py status: ask for the relationships it includes

v0.1.66 2026-11-08 00:55 UTC

  • 5464518 TestFlight ops: tf.py, manual workflow, review-info files, status page

v0.1.65 2026-11-08 00:52 UTC

  • e83a083 ios.yml: do not run on pushes to split/**; dispatch by hand
  • 109225f status: release green
  • 8e2fab1 status: release
  • 9300427 status: release, screens names
  • 96dfa70 release-setup: three apps; release notes use the app's tag
  • a411f6a status: release
  • b5d2afb ci: build, test and upload only the apps a change affects

v0.1.64 2026-11-08 00:41 UTC

  • e5328ff vault: move Vault/ into PTVaultUI; public API; background task id is a parameter
  • b04c280 status(vault): CollabVaultAccess conformance planned
  • bf24903 status(vault): phase 1 trigger, keychain note for release notes
  • a8d6340 status(vault): map of Vault/ dependencies and plan for PTVaultUI

v0.1.63 2026-11-08 00:03 UTC

  • 8555016 Platform phase 1: workspace, seven empty packages, apps.json, check scripts

v0.1.62 2026-11-07 23:48 UTC

  • ecf8a4a briefs: three apps, rulings from the first plans (PTCore additions, NewsSource, seams, schemes, keychain)

v0.1.61 2026-11-07 23:44 UTC

  • 6254ada briefs: three apps, one repository (plan and contracts for tonight's split)

v0.1.60 2026-11-07 22:48 UTC

  • 62381b2 iOS release: upload to TestFlight on every push to dev that builds

v0.1.59 2026-11-07 18:06 UTC

  • 8dfacde Status: platform, final run 263 green
  • aa64031 Status: platform, item 6 done, StoreKit outcome, ready to merge
  • 02176c0 StoreKit experiments: keep the scheme setting, drop what did not help
  • 60b4070 StoreKit probe: try the .storekit as a test-bundle resource

v0.1.58 2026-11-07 17:13 UTC

  • 5c23770 briefs: App Review readiness outcome, every list on dev

v0.1.57 2026-11-07 17:12 UTC

  • c270bfa App: install the notification delegate in init (Q6); use Lisbon.day (Q8)
  • b324734 CI unit tests: sign the test host ad hoc so StoreKit testing answers
  • 2ecc2fc Scheme: StoreKit configuration on the Test action; StoreKit probe test

v0.1.56 2026-11-07 17:08 UTC

  • 54cc568 Review status: Lisbon.day switch done, run 252 green
  • cc3f4ae Use Lisbon.day(_:) (team's shared helper) in AIContext, AITools and CoordinationStore

v0.1.55 2026-11-07 17:05 UTC

  • e7cfc2c After design's merge: review notes, privacy and support match the app's UI text (sample data, Settings links, debug switch); checklist shows what is on dev

v0.1.54 2026-11-07 17:03 UTC

  • 89b17e8 Design status: runs 249 and 251 green on 842e7f7
  • ebdb149 Design App Review status: done, design tests green (run 237)
  • 8c3ba61 Design App Review status 15:22
  • cbf75c2 Design App Review status 14:55
  • 920ad9e Team notes: Reading credit only when available (R5); WebPage refuses checkout pages on every navigation and new-window link (3.1.1); reminder links open the session or briefing (Q6); TeamEndpoints.base replaces TeamSite (Q8); tests
  • 4cb7122 Sample mode keeps and restores the previous 'who am I'; PreviewSamples.data() no longer writes it (previews use previewData()); no -PTMe persistence
  • 3b9b099 App Review readiness (design): sample data and the reader path for reviewers, debug off in release and guarded links, graph index safety, privacy cover in the app switcher, privacy/support links and independence note, Split View widths, smaller fixes, with tests

v0.1.53 2026-11-07 16:31 UTC

  • e29e349 After team's merge: Reading credit 'Debug builds only'; support FAQ on blocked checkouts and reminder permission; privacy reminders line

v0.1.52 2026-11-07 16:29 UTC

  • 768cae2 Status: App Review list done, CI green (run 242)
  • 853425b Merge origin/dev; keep DayPlanner.lisbonDay as a forwarder to Lisbon.day for collab's call sites
  • c5fc748 Status: CI history for the App Review list
  • 92446ca Tests: StoreKitTest returns no products on the CI simulator; record it as a known issue, keep every check when products load
  • 3a59e95 Tests: hold the SKTestSession for the whole test; test ReminderInbox's hold/take without notifying the host app
  • de93864 Tests: label the gate helper's host parameter (fixes the test build)
  • a39b136 Fix two more compile errors: a guard re-declaring a local, await inside a ternary
  • c6a7719 Bridge gate: Gate has no message property; use one refusal text (fixes the build)
  • 9597337 App Review readiness: team status
  • 9471fa9 App Review readiness (team): Q1, Q3, R5, Q6, 3.1.1, S7, Q8, Q10

v0.1.51 2026-11-07 15:55 UTC

  • dd4a394 Privacy and support pages checked against collab's merge: Ask consent wording, Report… and Block as the app has them

v0.1.50 2026-11-07 15:53 UTC

  • de54497 Review status: collab list done, run 233 green on iPhone and iPad
  • 7ca0a00 Tests: build the me.json fixture with a plain string (the raw-string concatenation did not parse)
  • d61158b Review status: builds 203, 209, 214 green; unit tests dispatched
  • 41e8a78 App review readiness: collab status page
  • 5afdf59 One set of team models (Q8): Ask's team context and the people list read TeamStore's TeamPerson and CommandCentre
  • 197061d Tests: import UIKit for the pasteboard test
  • 83722c0 Ask: links in answers need confirmation showing the full URL (https and mailto only); Copy is local-only and expires after two minutes (S7)
  • 12b8d6b Messages: report and block (1.2), lanes only to dev.send.sgraph.ai, tokens in the Keychain, crypto off the main actor, short error text
  • a442442 Tests: fake vault keeps its files under contents
  • ae1909b S5: my key, plan and notes only from and to my own vault, never a teammate's imported one
  • aa1397e Ask: consent before anything goes to OpenRouter (App Review 5.1.2(i), R2/S2)

v0.1.49 2026-11-07 15:18 UTC

  • 8dac137 Product pages follow the App Review fixes: features with code markers, Reading credit 'Debug builds only', release-setup and summary corrections, build-log entry

v0.1.48 2026-11-07 15:07 UTC

  • 7f4ebfa Vault review status: done, CI green (206, 213, 221, round trip 14)
  • da2344c Vault app: strict readers with pinned signers (S1), no unprotected Keychain items (S3), explicit 'my vault' (S5), SecureField (S6), readable errors (Q7), clipboard clear (S7); review demo vault script
  • 93de6d4 SGitVault: enforce signatures and pin signer keys (S1); readable errors (Q7); size and depth caps (S7)

v0.1.47 2026-11-07 14:50 UTC

  • 45016b1 Status: platform, CI run 210 green
  • 99c4e1c Status: platform, design handback and Q9
  • aaa6a34 Hand LaunchOptions/WebPage/AppShell back to design; Websites column fits Split View (Q9)
  • 6b2a0ba Status: platform, App Review readiness
  • 1827ccd Entitlements: drop applinks: until promptugal.news serves its AASA file
  • f3eb41d ReaderStore: decode content.json off the main thread; cap cached details
  • c5ccde7 HTTPClient: cap response bodies at 10 MB, adjustable per call (S7)
  • 66081e3 Release builds: launch arguments and web inspector are Debug only; CI builds Release
  • a0147e8 Purpose strings and background modes match what the app does

v0.1.46 2026-11-07 14:33 UTC

  • bec2ee3 App Review readiness: privacy page matches the code, support contact, review notes, privacy labels, pack status on the dashboard

v0.1.45 2026-11-07 14:26 UTC

  • 8c7fad1 briefs: App Review readiness pack (security, guidelines, stability findings and owners)

v0.1.44 2026-11-07 13:51 UTC

  • b3c7b5c Site: credit RiskMandate's Agent Behaviour Policies for the 100+ agent team

v0.1.43 2026-11-07 13:48 UTC

  • 9adbad8 Site: Powered by RiskMandate, encrypted vaults by sgit

v0.1.42 2026-11-07 13:47 UTC

  • f671b81 Site: sgit is ours, so product pages may name it

v0.1.41 2026-11-07 13:43 UTC

  • 7093042 Site: Overnight page — the night's work, screen by screen, with CI screenshots

v0.1.40 2026-11-07 10:21 UTC

  • eedb28a Status: platform final facts at 10:02
  • dbdf416 Status: collab final (09:55), all on dev and green
  • 70a7bd0 Status: final (dev runs 180 and 188 green; bridge e2e rerun)

v0.1.39 2026-11-07 09:18 UTC

  • 434764e Morning summary final (09:20); build log checkpoint 12, wrap-up
  • 8f95a01 Status: release engineering final, dev runs 37 and 38 green
  • 45a33b2 Design status 09:15
  • e384447 Graph: fit the view to the 2nd–98th percentile of node positions so outliers don't shrink the graph; fewer labels when zoomed out
  • 1f0916b Status: final platform page for the overnight push
  • 2a22b52 Status: collab 09:05, all on dev and green
  • c26e517 Status: release engineering final (08:45): what Dinis does next, done list with run numbers, open items
  • 31dc9f4 Status: what works without keys and what needs which key
  • b7ea2a6 Design status: wrap-up

v0.1.38 2026-11-07 09:00 UTC

  • e87c96b Screenshots: iPad from run 16, not 15 (run 15 ran before platform's fix was merged)

v0.1.37 2026-11-07 08:50 UTC

  • b0a21e3 Screenshots: iPad on from screens run 15 (the first dev run with platform's whole-screen capture)
  • 2c8442d Status: 08:52 platform update
  • 0616379 Screens: capture the whole screen and rotate iPad PNGs by their EXIF orientation
  • 6b9019e Status: 08:15 platform update

v0.1.36 2026-11-07 08:43 UTC

  • 7a26bf0 Morning summary in its final shape; build log checkpoint 11 (08:45)

v0.1.35 2026-11-07 08:40 UTC

  • 2d315b5 Status: dev runs 160 and 173 green; bridge e2e rerun
  • 2ff053a Editor status: run 173 and the iPad screenshot check (still rotated)
  • 939cbfa Status: how to use Ask, plans, team notes and lanes, for the team
  • a68417b Status: collab 08:32
  • f49c83c Design status 08:20
  • 6a39f08 SGitVault tests: key classification as team keys arrive (spaces, legacy prefixes, bare forms)
  • 89cc33e Status: release engineering 08:16
  • becaa75 Build log checkpoint 10 (08:15): run 160 fully green; bridge end-to-end test on dev; the graph bug the screenshots found

v0.1.34 2026-11-07 08:12 UTC

  • 9258087 Screens: strip EXIF orientation from PNGs; check stored size from IHDR
  • 0965bfc Ask: turn role names as a property
  • e326df8 Ask: opt-in "keep this conversation on this device" (words only, file protected while locked; never key, context or system prompt)
  • 41b67ae Screenshots: leave out and refuse PNGs with an EXIF orientation tag; keep iPad off
  • ea0d411 Graph: edge rows mix numbers and a date string, so decode each cell leniently (it failed with real data); Wall header smaller on iPhone
  • c5040ad Morning summary: iPhone and iPad unit-test jobs checked in runs 150 and 154
  • 78abfac Screenshots from the newest run with iPhone images, whatever its overall result; gallery lists missing screens in one line
  • f526c07 Status: team features wrap-up (green on dev, bridge checked live)
  • ee2a31d CI: skip the macOS jobs on night/** pushes whose commit is already on dev
  • befe96d Morning summary: what is still in progress (draft)
  • 90389ca Status: release engineering 07:40
  • e9ca109 Status: collab 07:40
  • 121754c Vault status: wrap-up (done, how to open a team vault, not done, needs)
  • 0335d6e Status: platform at 07:36
  • a009bf2 Design status 07:30: what native taught us, for the website
  • 1f6b47d Build log checkpoint 9 (07:15): bridge end-to-end against the live site (team's report), screenshots per screen, CI queue
  • 55ae88f Bridge end-to-end check against the live website (Tools/bridge-e2e)
  • 3eda457 Previews of My day and Wall get teamFeatures() for NextHoursCard
  • 1434ab7 My day and the Wall: the team session's NextHoursCard (my next three hours, with a Lisbon countdown)

v0.1.33 2026-11-07 07:12 UTC

  • 3fff23e CI: night/** pushes run only the build job; unit tests on dev, PRs and by hand

v0.1.32 2026-11-07 07:11 UTC

  • 7f726d0 Ask: sessions named in an answer listed under it, with pick (star) and open
  • ec4b447 Status: release engineering 07:08

v0.1.31 2026-11-07 06:49 UTC

  • d33acfe Agenda: fast with 200+ sessions and VoiceOver — grouping, filtering and labels worked out once per change, small rows with stable ids, one accessibility element per row with open and pick actions, a minute tick instead of a timeline around the whole list

v0.1.30 2026-11-07 06:47 UTC

  • 7fc12ec Screens: one UI test per screen, screenshot before the check, PNGs only
  • 2bc4f6a Messages on iPad: two columns (send on the left, team notes, inbox, sent and log on the right); iPhone keeps one list
  • fb222d3 Status: team features at 06:45
  • c56eb68 Design status 06:30
  • e97868a Planner: cache the plan and the teammate index; Today card for the next 3 hours
  • 777b943 Accessibility: one element per row in Messages, team notes and Where is everyone; labels for clashes, tool calls, my questions and icon-only buttons
  • e186f20 Status: collab 06:18, run 117 green

v0.1.29 2026-11-07 06:41 UTC

  • ddb3f3c Status: release engineering 06:40
  • a6270ad Morning summary: what to test first, ten steps, checked against the code
  • 670e152 Build log checkpoint 8 (06:20): first screenshots and the bugs they found; CI queue
  • 0695a5e README: CI signs and uploads (release setup); build number is set by the iOS release workflow

v0.1.28 2026-11-07 06:14 UTC

  • 491de8d Screens: list the files in the summary before failing the export step
  • 94f726f Screens: keep dotted ids whole in PNG names; require 13 per device
  • 80f0b83 Shell: an accessibility identifier pt.destination.<id> on every opened screen, for the screenshot test
  • ce684b2 Screens: design's 13 destination ids, fail on a screen that didn't open, upright iPad PNGs
  • 9582dd9 Fixes from the first screenshots: 'in in 1 day', future 'updated' times, the web twin as a sheet on iPhone (its title leaked into the nav bar), short iPhone tab titles

v0.1.27 2026-11-07 06:14 UTC

  • 6fb9021 Status: release engineering 06:15
  • 3874921 SGitVault: VaultPicks.union and VaultLanes.fileName, with tests
  • 870f1d8 Screenshots: publish only files whose id is a registered screen (run 4 cut dotted ids)
  • 1e860f9 Screenshots: publish iPhone only until the rotated iPad shots are fixed (website/screens.json)
  • 08d64a9 Ask: key check reads the key once before building the request
  • c7f142f Ask settings: Check key (OpenRouter /api/v1/key: works, usage, limit), logged as ai.key.check
  • e8503a8 Morning summary: release's 45-minute TestFlight checklist as Dinis's first action; install from Xcode until then
  • 43263fb Release: notes start with each session's status summary; morning checklist for the first internal TestFlight build; install section covers the two extensions; status 06:05
  • 2798a55 Status: release engineering 05:52
  • c8e7548 Vault status: how a teammate opens a team vault; CI fully green at 92f948d
  • b5955d2 Reading credit: an Open PrompTugal.news button while the balance is unread or credit is pending
  • 1cad112 Checkpoint 7: merge time 05:40, not 05:35
  • 784ed58 Build log checkpoint 7 (05:40): first fully green run of the integrated app; the Wall in the feature list
  • e61d145 iPad: Ask beside any screen (collab's askAnywhere) on the detail view

v0.1.26 2026-11-07 05:41 UTC

  • d4c6fd6 CI: upload the 60 MB test result bundle only when tests fail; status 05:40
  • cb41ff9 Ask: hold-to-talk dictation in the composer; "Where should we meet today?" prepared prompt
  • de01eab Design status 05:30
  • 15a13c8 Status: release engineering 05:30
  • 17efc3d Reminders: ask once at the first pick or identity; refill on foreground
  • 7458ec4 Status: dev green with team features (run 104); hooks on dev
  • c3df569 Release CI: never cancel a started run (dev merges were cancelling archives mid-way); status 05:18
  • f7178e1 Collab hooks: current page from WebPage for Ask, Debug → Collaboration and AI, and its key presence in Keys (names only)
  • b006051 Status: collab 05:20, shell requests for design
  • beace5f Ask: askAnywhere() for the shell (toolbar button, ⌘K, iPad side panel, iPhone sheet), readable width on iPad, ⌘↩ to send, copy and share on answers; Messages: form-sized sheets on iPad
  • cccf7e5 Status: release engineering 05:10
  • 4622f04 Wall: the team, the agents' 24 hours, the pipeline, runs and the next stand-up on one self-refreshing screen
  • 92f948d Vault status 05:05; merge dev
  • 80792d3 Release: dry_run input (sign + export, no upload) and a profile-vs-entitlements check before the signed archive; status 04:55

v0.1.25 2026-11-07 05:16 UTC

  • 3439270 Screens: per-job concurrency so a started screenshot run finishes

v0.1.24 2026-11-07 05:15 UTC

  • 9f1edf3 Restore the feature-claim negative control with a synthetic unbuilt feature; checkpoint 6 (all 19 features on dev)
  • 89b6d63 Developer area: link the morning summary
  • 05838da Morning summary: first draft (04:55), completed through the night
  • f3a4128 Build log checkpoint 5 (04:45); Progress in the overnight README; count Swift in every target

v0.1.23 2026-11-07 05:13 UTC

  • f06304c Website tests: skip the not-yet-shipped check when every feature has shipped

v0.1.22 2026-11-07 05:12 UTC

  • 4409607 Lanes: descriptor writes format only when set; header values drop empty pieces from CR LF
  • e520a70 Status: collab 05:00
  • 877127f Team notes through vaults: append to lanes/team in my vault (vault's append), read mine and linked teammates'
  • fec99b4 Status: plan for vault-folder team notes
  • c5a1664 Status: collab 04:15
  • 7e097f2 Wire collab to dev: vault glue (VaultCollabAccess over VaultSession), picks and day plan from the team stores, entry views registered
  • e40664d Ask: read-only tools over the app's data (agenda search, now, picks, team, agents, teammates' plans), each call shown
  • 17e608e Status: collab 04:10
  • 35506ae Collaboration debug panel: keys by presence, hooks, Ask requests, lanes log
  • 1083e6a Lanes: pure helpers nonisolated
  • b29b53e Messages: sgi1 inbox links, the account inbox from the master vault (PKCS#8), list pagination
  • 4cbb81a Pick ids are the bare slug (contracts §3, 03:45 change); older forms are read and converted
  • 65cd9a4 Messages: append lanes (sgit hybrid envelope), my inbox lane, newsroom notes, voice dictation, LanesLog
  • c3f1ac0 Where is everyone: overlaps, clashes and meet-here slots from vault-shared picks; status page
  • 0957fe7 Ask: native OpenRouter chat with streaming, Keychain key, context toggles and prepared prompts

v0.1.21 2026-11-07 04:59 UTC

  • 5d4c7ca CI: per-job concurrency so started test jobs always finish

v0.1.20 2026-11-07 04:42 UTC

  • e8ed288 Build log checkpoint 4 (04:35): the app opens on the shell, 16 of 19 features in the beta
  • d7da3c6 Launch arguments to open any screen directly, with sample data, for screenshots and UI tests
  • f9e4df5 Design status 04:30
  • 15f865c Shell: teamFeatures() once, at the app root
  • 5f9b17f One identity: the design screens' 'who am I' follows the team session's TeamIdentityStore, both ways
  • e83ad42 Shell: screens with their own navigation (the vault's split view) are not nested: iPad hides the shell sidebar, iPhone opens them full screen
  • 3519827 Agenda: a native agenda in the shell with picks on the one schedule, instead of nesting the old reader

v0.1.19 2026-11-07 04:41 UTC

  • 07170bb Status: platform at 04:42
  • c53c2c0 Privacy manifest for the app (TestFlight blocker ITMS-91053)
  • bb7c75c Screens: lowercase iphone/ipad file names and 1600 px longest side
  • 7c6cb33 Release setup: TestFlight purchases are sandbox, not charged
  • 923f7e7 Release: privacy manifest draft (UserDefaults, file timestamps) and a missing-manifest warning in every package run; checklist covers NFC, background modes, IAP products; status 04:35
  • bba162e Screens: UI test that screenshots every main screen; screens.yml on dev

v0.1.18 2026-11-07 04:41 UTC

  • 500b5ad Schedule JSON: fixed key order, as the website writes it
  • 70de9d8 .teamFeatures() applied twice (app root and shell) now injects and presents once
  • e8b9179 Status: team features at 04:15 (merged into dev; hooks pending; CI)

v0.1.17 2026-11-07 04:30 UTC

  • ea06a2e Real screenshots: website.yml downloads the newest screens-* artifact; screens page gallery, feature cards and the home iPad use them

v0.1.16 2026-11-07 04:25 UTC

  • 0e03ef3 CI: run SGitVault's swift test in the build job (3 macOS runners per push, not 4)
  • 5ada82a Vault app: files(in:) and append(_:to:) for collab's append lanes
  • 027413b Status: platform at 04:16
  • 5365593 Wire the shell, team and vault into the app
  • a3c2aa6 Vault: merge dev; pull on foreground from VaultSession; status
  • 5cdbe95 Keys: the vault session's key inventory (names, store, protection; never values)
  • 156c3d7 Wire the team session's features: .teamFeatures(), schedule, planner, team home, credit, reminders, bridge log, and the bridge in WebPage

v0.1.15 2026-11-07 04:11 UTC

  • 8a881ab Features count only what the app can reach: screens need AppShell as root, bridge and reminders need .teamFeatures(); checkpoint 3
  • 273f533 Features: view:<Name> evidence (a real registration using that view); Where is everyone needs TeamPlansView in the shell
  • 6cdae35 Features: Face ID counts only when the vault screen is built, not just the Keychain code
  • 3d2bc38 CI page: show Xcode 2660 as 26.6

v0.1.14 2026-11-07 04:09 UTC

  • 471916c Vault: log each decrypt pipeline step; smoother unlock
  • a05471e Schedule ↔ vault: pull picks when a reader vault opens; save on request
  • 6c7cedb App: register and schedule the vault's background refresh
  • 9ddc8ba Wire the vault session: VaultHomeView in the registry, and its VaultTrafficLog for Debug
  • 6d93eb6 promptugal:// URL scheme; widget opens the schedule; Siri phrases
  • aba36e4 Debug: native and web balance, screen by screen
  • 396968c Tests: break up two expressions the type checker timed out on
  • ab3a0d5 Design status 03:45
  • ce5b535 Stand-up card stacks at accessibility text sizes
  • a2d4ba8 Graph: the legend folds on iPhone so the graph gets the screen
  • 2e176b3 Native command centre: a person's board issues by workstream, with filters and a status bar
  • 8dc3995 Lossless ISO times for the website round trip; vault sync with loadPicks/savePicks
  • 1b45934 Agents: my agents' last actions on one time line
  • a3ee6f9 Design status: green on CI, news, graph, observability, debug, widget designs
  • 1fd3c7d Debug on by default for the team; previews at iPhone and iPad sizes for every screen; compact layouts for the wake grid and team header
  • 1927210 Widget and Live Activity designs as plain SwiftUI views
  • 52a1bad Sample data for previews of every dashboard
  • 63fb2d0 News in every form (feed, native newsletter reader, stories) and native observability charts
  • 461783e Debug panels: network with timing bars, vault traffic with the decrypt pipeline, bridge, storage, keys (names only), build
  • a44c198 Native graph explorer: the whole graph in one Canvas, search, neighbours as sentences, paths
  • d1d2291 Use the shared HTTPClient and BuildInfo; stubs for news, graph, observability and debug so CI compiles the shell
  • 142b581 Native dashboards: my day, the team, agents with the wake grid, briefed, newsroom
  • 912e2b6 Design system, shell registry, web page and feeds for the native dashboards
  • 7091ad7 SGitVault package skeleton; entitlements, StoreKit and usage strings
  • 4605bd2 Exclude folder placeholders from the app; HTTPClient with a request log
  • 44bb245 Project: iOS 18, folder-synchronized groups, unit tests, build info
  • 47dcca6 CI: iOS workflow that builds and tests the app on a macOS runner
  • 7c72c8c Status: conductor's ruling on shortcuts; iPad time line, vault mirror, badge
  • 514eca2 iPad: the day as a time line beside My day and the planner; lists stay the iPhone layout
  • 9723c0d Schedule mirror to the vault's agenda/picks, against closures, with a test
  • f1ff134 App icon badge from me.json; refreshTeam() for background refresh
  • e66f07a Where is everyone: teammates' sessions per day, from their command centres
  • 5f34440 Bridge relay also carries its payload in a DOM attribute; status update
  • 7ecc168 Tests for team data, reminders and the planner; Add to Calendar; App Intents; widget feed
  • 6308035 Status: team features, first report
  • 1cedc22 Bridge, team data, reminders, planner, meter and native top-up
  • 823d502 Schedule: one store on the website's nr.schedule.v1 format, with saved.json migration and tests
  • 947d8d5 Schedule: one store on the website's nr.schedule.v1 format, with saved.json migration and tests

v0.1.13 2026-11-07 04:08 UTC

  • c04d2d5 Status: release engineering 04:10
  • 93339e6 Release CI: push trigger on dev only (night branches: ios.yml or a manual run); status 03:52

v0.1.12 2026-11-07 03:58 UTC

  • 309e02a CI: slim ios-vault.yml to the Swift-writes/sgit-reads round trip
  • 069c8e6 SGitVault tests: export the Swift-written vault through a fresh reader
  • f314891 Vault status: views, background, picks, CI state
  • 34f9d3c SGitVault tests: expect Python's \u00e1 escape (the literal had been unescaped)
  • 894c933 Vault app: read-modify-write with retry, picks mirrored at apps/agenda/picks.json
  • 54b5cc0 Vault app: VaultBackground.register()/schedule() for BGAppRefreshTask
  • ccb167d Vault app: native unlock and vault browser for iPhone and iPad
  • 97daedd Vault status: writer, app code, what is blocked
  • 291af1b Vault app: Secure Enclave commit signer, per-device branch, commit from VaultSession
  • 0152282 SGitVault: Swift commit builder and push, with sgit reading it back on Linux
  • 8bdf3f3 Vault app glue: Keychain behind Face ID, Secure Enclave wrapping, passkey PRF, session; CI type-check
  • 4996faa SGitVault: passkey door (port of the website's door.js), account unlock, account fixture
  • 19c25f9 SGitVault: Swift sgit vault reader, throwaway fixtures, tests, interim CI

v0.1.11 2026-11-07 03:42 UTC

  • 3157e40 Build log checkpoint 2 (03:45 UTC); contracts: pick id is the bare slug, places.json
  • c8a69b8 Editor status: collect items for the morning summary (pick removal decision)
  • 6e0a9ec Editor status: tell release the website.yml latest-build step is done

v0.1.10 2026-11-07 03:40 UTC

  • b7949af Status: release engineering 03:35
  • e34d687 Release CI: list each target's entitlements next to its profile secret in the package summary
  • b65fa98 Release setup: Time Sensitive Notifications capability (new app entitlement on dev)
  • ee9f110 CI: don't run iOS jobs for briefs, website, root Markdown or VERSION
  • a3bc665 Status: platform on dev at 03:12; next hooks
  • ece3e53 CI: cap the simulator boot wait at 5 minutes

v0.1.9 2026-11-07 03:24 UTC

  • d6b9cd2 Website: show braces quoted in briefs as entities
  • 4cff36e Status: release engineering 03:25
  • 2da0484 Release CI: run on dev and night/release only, skip docs/site-only pushes (macOS runners are the bottleneck)
  • 3a7db45 Release CI: record the source branch in build-info; name the manual-signing secrets when skipping; status 03:15
  • aff6bed Release CI: internal_only (TestFlight internal testing only) and source_ref (build another branch's project) inputs; docs internal-first
  • c8c2496 Release CI: pushes never cancel a manual or tag run
  • 686a6ec Release: per-target App Store profiles via a CI-only xcconfig (app, widgets, intents); list targets to sign in every package run
  • 608a386 Status: release engineering 03:05; setup doc covers submit workflow
  • d817557 Release: latest-build.sh for the website's latest CI build panel
  • 4077a29 Release: App Store Connect API client (stdlib + openssl); TestFlight job answers export compliance and sets What to Test; App Store submit workflow (dry run by default)
  • 020ffdb Release CI: size check against dev and budgets; release notes from git log
  • 7f7755c Release setup checklist: portal, App Store Connect, secrets, TestFlight, side-loading, gotchas
  • e0bb7e2 Release CI: unsigned archive, .ipa and simulator app; TestFlight job gated on secrets

v0.1.8 2026-11-07 03:13 UTC

  • 088052b Screens page: screens registered on night/* branches that dev does not have yet
  • a5283d6 Contracts §3: pick 'at' is ISO 8601 (app reads ms too); vault mirror at apps/agenda/picks.json; Changes log
  • a7699b6 Editor status: next checkpoint time
  • fc9a4c8 Push dashboard: read each session's status from its own night/* branch when newer than dev
  • f2d0982 CI page: latest iOS build panel from release's latest-build.sh; site publishes ios-build.json

v0.1.7 2026-11-07 03:12 UTC

  • 4541361 Contracts §3: pick 'at' is ISO 8601 (app reads ms too); vault mirror at apps/agenda/picks.json; Changes log
  • 97947d1 Editor status: next checkpoint time
  • 2a105d7 Push dashboard: read each session's status from its own night/* branch when newer than dev
  • 76e44bb CI page: latest iOS build panel from release's latest-build.sh; site publishes ios-build.json

v0.1.6 2026-11-07 03:12 UTC

  • 72587a0 Website: follow the new project layout; show GitHub expressions on the CI page
  • 7de8210 Info: background refresh for the vault (BGTaskScheduler)
  • 6ba5515 Status: platform at 03:08
  • 663e140 Defaults: PrompTugal and the team site only; team's Info and entitlements
  • 105a525 CI: let a running iOS run finish instead of cancelling it on push
  • 64b288d Info: ITSAppUsesNonExemptEncryption = NO (iOS-provided crypto only)
  • a1580e2 CI: drop the simulator .app job; artifacts belong to ios-release.yml
  • df3711f CI: run the unit tests on an iPhone and an iPad simulator
  • 2de4579 App Intents extension skeleton: Next session
  • 1557034 SGitVault: take the vault session's package as is
  • 8d0e477 CI: boot the simulator first, no parallel testing, test time limits
  • 9a562ac Default shortcuts: PrompTugal, the team site and the newsroom only
  • 462f658 Now and next widget reading the App Group; docs and CI tweaks
  • 66b2add SGitVault package skeleton; entitlements, StoreKit and usage strings
  • cb63780 Exclude folder placeholders from the app; HTTPClient with a request log
  • 3933a2c Project: iOS 18, folder-synchronized groups, unit tests, build info
  • 7d2d0ff CI: iOS workflow that builds and tests the app on a macOS runner

v0.1.5 2026-11-07 02:55 UTC

  • 483a0be Home and llms.txt: describe what is being built, not what is done
  • cfeb985 Site: say plainly that this version is the team's internal app; the two platforms are where it is going
  • 8323d15 Editor status: route Websites.json to team, contact address to Dinis

v0.1.4 2026-11-07 02:52 UTC

  • 251f69b Site and plan: native on iPhone and iPad, install via Xcode or TestFlight; release engineer session in the overnight plan
  • 9410e04 Home: claim only what dev has (frameworks), plainer first-customer line
  • f9bc6e0 Brief 08: record Dinis's decisions D1-D7 and the positioning; pack status is decided
  • df85137 Site: PrompTugal product site for readers and teams, features labelled from the code, generated admin pages

v0.1.3 2026-11-07 02:39 UTC

  • b3721c8 Overnight push plan: positioning, decisions, sessions and contracts

v0.1.2 2026-11-07 02:26 UTC

  • 21bbb96 Add brief pack: native vs web, team first; publish briefs in a developer area

v0.1.1 2026-11-07 01:51 UTC

  • c361995 CI: release v0.1.n on every push to dev, then build and deploy it
  • bd7aaa9 Deploy the website from dev to ios.app.promptugal.news via GitHub Actions
  • d94e089 Add product website for ios.promptugal.news
  • 1b0ecdd Import PrompTugal iOS app 0.3.1 from sgit vault i9mbeqwb
  • 2bd40e2 Initial commit