v0.4.106 2026-11-15 11:52 UTC
f683badbriefs: 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)
Developer area
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
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)d76b1ac briefs: going local, conductor-report/v1 as VoiceDebrief reads it, plus proposed newsroom fieldsb727abc briefs: going local, a newsroom per city and the agents command centre (first plan)ee29f6a ios@web-summit.silvio: brief gets the > summary line the website test requires7d9ecbe Fringe: content pinned to the screen width (no sideways drift when scrolling); the offline line says why the feed did not loadfb0a26b briefs: Fringe reply, merged after run 5007bbb1ad Remove the temporary Fringe check (green in its run 3: build, 21 tests passed)9057130 Fringe tests: argument order725cd5c Fringe: change checks callable off the main actor (tests)3a8c9b9 Temporary CI: Fringe check on the work branch, errors last in the log5be8bde 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 record8872dbb Fringe: replace the app with Indi's Lisbon Tech Fringe (design E), logo 3233e29a Lisbon Tech Fringe: Indi's app (design E) in Apps/LisbonTechFringe9355bf3 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 again998b5dc Fringe: 'Moved by the storm' filter and a Today / Tomorrow / weekday control on Events5d97041 PTFringe: read the served events.json (ISO times, id, cost, label, storm_moved, check); seed refreshed to 69 live eventse598bbf My plan in Fringe's words: MyProgramView takes optional wording (pt.news text unchanged)a551896 ios.yml: fringe in the manual app choice0914822 PTFringe: only the name is required; apps.json fringe testflight trueed6e377 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 entry94b3774 Fringe, the fourth app: apps.json entry (key fringe, Apps/Fringe, bundle news.promptugal.fringe, TestFlight on) and the workflowsa06f25d Platform status: Event.showsAs green (run 420)0b08172 conductor.B@ios.PrompTugal.dinis: brief: the Lisbon Fringe iOS app (a fourth app, internal TestFlight), at Dinis's word4eea05a conductor-newsapp@web-summit.indi: build 587 submitted for Beta App Review and in the external groupfc5e9c9 conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.89 (587), rounds 5 and 6, to the external testers5194b33 conductor-newsapp@web-summit.indi: round 6: make it pop (a red hero for For you, an interviews strip, colour, motion)3f8f4b7 conductor-newsapp@web-summit.indi: round 5: light mode, articles open natively, interviews with Article and Transcript pills3d1acfb conductor-newsapp@web-summit.indi: Wednesday called off: its sessions leave Now, Explore, My program and the reminders8d75d43 conductor-newsapp@web-summit.indi: a notice at the top of Now, read from promptugal.news (Storm Charles first)072928e conductor-newsapp@web-summit.indi: build 579 (videos) submitted for Beta App Review and in the external group5ee6b9e conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.81 (579), the videos in News, to the external testers0620af4 conductor-newsapp@web-summit.indi: build 575 submitted for Beta App Review and in the external group9452abc conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.78 (575), the softer look, to the external testersf5b04cd conductor-newsapp@web-summit.indi: videos fix: "the videos" for the loading state (videos and Videos made the same symbol)201d269 conductor@web-summit.dinis: brief: the news app's default theme becomes The Front Page (design E), at Dinis's word6c8ccd0 conductor-newsapp@web-summit.indi: videos in the app: watch promptugal.news's interview videos in News, natively39e2061 conductor-newsapp@web-summit.indi: round 3: Good morning, Good afternoon or Good evening, by the time in Lisbone6de99b 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 look7551443 conductor-newsapp@web-summit.indi: news app redesign, round 3: a softer, less formal look for the public app42d2962 conductor-newsapp@web-summit.indi: build 562 submitted for Beta App Review and in the external groupe436f72 conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.72 (562), redesign rounds 1, 2 and 4, to the external testersabaec3a conductor-newsapp@web-summit.indi: build 556 submitted for Beta App Review and in the external group4bc411b conductor-newsapp@web-summit.indi: please send PrompTugal 0.4.71 (556), the redesign's round 1, to the external testers6a1189c conductor-newsapp@web-summit.indi: What to Test for the redesign's round 1, and More in place of the gearcf491df conductor-newsapp@web-summit.indi: news app redesign, round 4: meet RiskMandate at the stand, in Morec92baae conductor-newsapp@web-summit.indi: news app redesign, round 2: one tap picks a talk and adds it to the calendarfc0ddaa conductor-newsapp@web-summit.indi: news app redesign, round 1: five tabs, More on every tab, native talk from Now, Show on the map03060ec 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 teamd5ff1a8 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)e5ca04a devops.ios@web-summit.dinis: build for the generic simulator destination (an id destination failed while simulators booted)46f9577 devops.ios@web-summit.dinis: one Mac job, builds first with no simulator running, then one simulator at a time08d6140 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)5212189 devops.ios@web-summit.dinis: publish to TestFlight straight from dev, in ios.yml's one macOS jobde3d631 devops.ios@web-summit.dinis: ios.yml: one macOS job per run (build once, test on iPhone and iPad, Release build, package tests)e686bc1 devops.ios@web-summit.dinis: measure CI (2 days): 10 macOS jobs per dev push, queue 3x run time, 47.5 min to TestFlightdf93aeb Brief: THE RESTART: the iOS RiskMandate feature list for Android's demo parity tableb8cc358 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)dc058d8 conductor.B iOS: stop report (THE BIG STOP); hourly wake paused628d2f6 Brief: THE BIG STOP (Dinis, 9 Nov 23:30): pause every agent and wake until the team realigns; stop report wanted00e1dd0 i18n: venue map and where-I-need-to-be strings in all cultures; Arabic right-to-left passdc583ce 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 map48f8127 Team: knownRegions for the same 21 languages as the public app (the shared package catalogs)dd56313 PrompTugal: knownRegions and CFBundleLocalizations for the 21 languagesfae0a09 briefs: i18n status, real regional countsd8f4352 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 Arabic9d509ea VenueMapTests: allSatisfy outside #expectbd8dd9c WhereToBe: no property captured in a closure before init finishesbf1751c Venue map: outlines from the shared OSM data, picks on the areas, the walks between them, where-I-need-to-be card, credit visible; tests50ea690 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, strings6fcdc96 DayPlanner: do not read the main-actor AgendaHub.showsAs from nonisolated code; the event's own showsAs is readae6e24a 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 id3e6d0a4 ScheduleRulesTests: try outside #expect19723ea 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 toofdf910e 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 picksd519e10 Brief: languages and cultures for the news app (21 cultures on SG/Send's model; a visible globe button; default always English)63333c6 RiskMandate: Workbench screen with Apple Foundation Modelsdff3c24 PTCore Event: optional showsAs, read from the feed's shows_as (free or busy), with decode testsbf1065e M-iPad: reply with the plan, blockers and ETA4596a03 briefs: reply on clashes, busy/free, the map and location in the news appabf21ee Brief: the pipeline view in the Team app (WS-205)8605cba Fix: tapping a notification crashed the app (PrompTugal and Team): finish the handler on the main queuecccb687 Brief: Dinis is not a gate; ship on green (9 Nov, 17:55)9f0a0ef Brief for conductor.B: redesign stages 2 to 4 are on dev, for review7306842 Team app redesign, stages 2 to 4: Now, Where and Plan as in Indi's prototype89f10f3 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)fd8ed90 Wallet pass: the RiskMandate business card as an Apple Wallet pass, made through the App Store Connect API2f3fb58 Team app redesign 1.1: Plan titled "Plan", Mine counts as Now does, no quotes in task titlesf1a27e1 Brief for conductor.B: the shared schedule rules (Mobile 7433286); run cases.json in the iOS testsff7618d Brief for conductor.B: update: the news app on the web; one reference for the schedule rulesa743e4d Brief for conductor.B: update: shows_as coming in the events JSON; place and where already there802ba88 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 usee9c834a Brief for conductor.B: the conductors' rota (you at :00) and the watch; everybody pushes to dev, only Dinis and the conductors to maincf7f4e0 Brief for conductor.B: Indi's team's work is on dev, for review before mainac7127b Team messaging v1: rename the avatar view (MessageAvatar), it clashed with the app's Avatar94a21f4 Team app redesign, stage 1: five tabs, More as a sheet, a Tasks tab by day8a43d7e Team messaging v1 (WS-203): the core in PTLanes/Messages, the screens, testsd02d826 Brief for conductor.B: Android's release workflow proposal, the same shape for iOS50799a7 Brief for conductor.B: releases only from main, after the security review (Dinis, 9 Nov)f71ba1b Brief for conductor.B: the shared mobile repository v0 (b607731): implement bridge/BRIDGE.md for M-iPad, Swift names per ops.jsonfb2ad61 Brief for conductor.B: team messaging in the Team app, built by Indi's team (WS-203)0f6cb40 Brief for conductor.B: how we work (PKI on everything, QR and NFC key exchange, the live picture, the intranet)c76acfb Brief for conductor.B: we are the power users (the Team app runs our own summit; where is everybody first)8f0090d Brief for conductor.B: M-iPad is yours; the three apps' line; Dinis's decisions of 9 Nov; the conductorsfa64846 Website: privacy page for the App Store app (Data Not Collected, promptugal.news only, no Ask/Vault); support: notifications on first pick or Reminders9d35705 PrompTugal: live updates glue (PTSync), no webcredentials, fresh agenda seed706e416 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-PTeeab533 PrompTugal: drop Ask, Vault and dictation from the public app2aff29e 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 apps7256743 ONB-1: one first-run screen (Choose talks / Not now), asks for nothing; "How PrompTugal works" row in Settings; -PTOnboarding in DEBUG022c2d4 review: listing.json carries the copyright linecb1a103 i18n: localize Official programme, event kind badges, the Siri follow-up sentence and PTNews segment labels; pt-PT uses sessão instead of palestra475ee3f review: privacy-first acceptance rules for 0.4.2519b284f Polish: Explore > Talks reads "Explore" (AgendaView title parameter); graph nodes named by a URL show the site, not the raw addressf9a4996 My program day chips are short (weekday and day number, from a locale template); NextHoursCard time column is one line, minWidth 640beac4b review: submitted 0.4.24 (205); ready replies for App Reviewffc62eb 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 #377db4c80 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 text6f1c209 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 164f58965 Public app: Ask only in DEBUG builds with debug mode on; the App Store build collects no data4b764cc TestFlight status: 21:24, 204 still waiting for Beta App Review518faaf TestFlight status: 20:25, 204 still waiting for Beta App Reviewfae5ee4 TestFlight status: 19:28, 204 still waiting for Beta App Reviewee6fcbf TestFlight status: 18:33, 204 still waiting for Beta App Reviewe376428 TestFlight status: 17:42, 204 still waiting for Beta App Review182bc67 TestFlight status: 16:58, 204 waiting for Beta App Reviewb442864 TestFlight status: 16:26, 204 in Beta App Review2de7846 review: TestFlight external submittedd711ba4 review: dry run confirmed; status summary FINAL GO26838a4 review: FINAL GO for 0.4.23 (204), conditional on App Privacy, Mac/Vision and IDFA by Dinisb6ace6f review: build 0.4.23 (204) uploaded0f685e3 TestFlight status: 15:43 check, v0.4.22 failure and v0.4.23 runabc8424 review: 15:40 status777e156 review: v0.4.23 notedc442c52 review: 15:13 status4e05421 review: M8 settled, G4 fallback on code evidence79e7b29 review: version string 0.4.22 noted7ad0120 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 GO57c9673 review: go/no-go run 14 (store screenshots GO, 36 images; ASC metadata applied)5d64ad7 review: next-version items from App Review and the screenshotsaa6f9d4 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 127b1260c 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 checka793738 review: listings match rc7 (My program, no planner claim, search scope); listing.json for asc.py; go/no-go run 11edccbb0 review: rc7 535e9ba (Explore time one line), run 10 holdsd091da5 TestFlight status: 14:07 checka073397 review: rc7 0279acc test-only delta80a7d72 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 1b628bb1b628bb review: screenshot pass 1 (no-go: notification prompt without a tap covers 60 of 63 images; time column wraps); review notes step 494f9da6 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 check7ed0cb8 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 stay0518362 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)535e9ba Explore rows: time on one line (fixedSize, min width 64) so ranges and 12-hour times never wrap0d4a053 Tests: WebPageHostTests and AgendaOpeningDayTests on the main actor7f961a0 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 on15083d5 Now: the time column fits "88:88 AM" and never wraps in 12-hour localesd051bf5 Screens test: tap Allow (last button) on the notification alert555b32e Screens test: dismiss the notification permission alert before each shot63d7355 screens.yml store mode: fix the id lookup (${dir}iphone-), run only ScreensTests, no crash on empty glob56a630e Tests: PTExplore tests import PTCore (Event); PTWeb public-list test computes values outside #expect178bfbd 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 -PTHideTerm72b0957 Screenshot filter: agendaDidLoad gets the filtered agenda39ed85a Screenshot filter: -PTHideTerm drops matching events and news (Debug only), with tests58ef2cf screens.yml store mode: hide_term (PT_HIDE_TERM -> -PTHideTerm), default Web Summit9a93526 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 fixedae30114 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 tested4243d75 review: N2 accepted for this versionb009f5e i18n: InfoPlist catalog en values are the real English strings, not the key namesf1be173 ux: status logf58435a ux: rc2 review follow-ups for the next versioneef6afa 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 update7106c3d i18n: restore defaultLocalization in PTAgenda after the mergeeeade18 i18n: catalogs for the summit screens in PTAgenda, PTExplore, PTNews, PTCore and PTWeb6c3fd36 PTSync feeds: import PTCore where FeedItem is named; make the joined-refresh test deterministicd4bb283 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 UTCbd79c07 Platform status: cookie fix folded into split/rc, no runs queued1996d7f 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 fix8bef472 review: 12:16 check, where each fix is; review notes say a session opens its detailsd310767 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 log1b5a0a7 Public app on team's NowModel, My program and AgendaClock; deck's TalkDetailView as the one talk detail (agenda, My program, Explore); NowNextRepublisher; pick toasts9b694ad 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 publishingfcf5d3f apps status: summit queue update7580c50 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_PICKScd1d188 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 change95bbba7 Explore: ExploreScreen with the app's views (agenda talks, native talk detail, graph card, graph); explore.* ids; wrapsStack for screens with their own stack278675c Now per ux review: countdown and filters by event kind, a loading state, the time on the kicker lined0fcabd PTAgenda: -PTSeedPicks parser and seeding, agenda opens on today during the summit, openSession hook for a native detail65c1878 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 trademarkb380734 PTCore HTTPClient: no cookies (no cookie storage, no Set-Cookie handling, accept policy never), with a testa6d204c Ask: public prompt names the Lisbon summit without the trademark90c4fb8 My program (PROG-1): ProgramModel with clash groups and free time, MyProgramView, tests89db252 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 labelc391c4c Design status: summit build progress439993e PICK: shared pick action with toast and clash warning (PickFeedback, PickStarButton, .pickToasts()), NowNextRepublisher, pick rules; AgendaView uses itbd26d86 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 app628709d ux: review log3c99698 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 sidebar79f787f News: a share button on every story (review finding F10)08d961f ux: Practical card content and links; iPad two-column Now cut6f50cbb 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 stringsd2318d9 PrompTugal app: collected data type in the privacy manifest (other user content, not linked, not tracking, app functionality); knownRegions en, pt-PT, pt-BRa0ea733 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 DEBUGc029510 PTAgenda: NowModel (spec NOW-1 data) replaces NowBoard: phase, for you, on now, up next, tomorrow, countdown, with tests at the spec's datesb506216 briefs: i18n status page6ece567 PTAgenda: NowBoard (now and next for the venue and my program, clashes, stages, summit phase), offline agenda seed hook, DayPlanner.clashes4723ef2 i18n: String Catalogs (en, pt-PT, pt-BR) for the PrompTugal app, widgets and packages; Lisbon time labels stay locale-formatted1ce03c8 PrompTugal app: extensions link PTNowNext (not PTAgenda), scene manifest from Info.plist (external display), public websites list, no Web Summit shortcut imageaf499aa NEWS-1: segments Latest, Newsletter, Stories; 'Offline · saved HH:MM' pill; the graph card leaves the news screen1a90e8e Ask: initial question parameter and a plain no-key card3f24dcc 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 routable49e56c5 PTExplore: ExploreStart, so the shell can open Explore at a segment, a talk or the graph8148d6a PTSync: live feeds (RSS, Atom, JSON Feed, newsletter JSON) with offline store and syncer3e86329 screens.yml store mode: ux's id list, required ids, seed_picks for the screens testde9b120 App Review: no Web Summit trademark in PTAgenda text; PTWeb shortcuts list injectable (WebsitesPublic.json for the public app)812a010 ux: exact seed slugs3d844c3 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 94ca86a91 team: status page, summit priority7e3b1fb screens.yml store mode: ids (store order) and now (PT_NOW for the screens test); plan for the 15:40 run351797c ux: Ask leaves the tab bar (conductor ruling); NOW-1h Ask card1811803 PTAgenda: NowBoard (now and next for the venue and my program, clashes, stages, summit phase), offline agenda seed hook, DayPlanner.clashes21c8fa2 ux: status page time2bbdb3a 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 places1d63554 Status: testflight, plan for the public app's external path87da380 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 rolea02513c Platform status: SecretStore and SpeechDictation task, run 3481eb47bd 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 286cf060 PTSync: take the PrompTugal app wiring off this branch (apps owns it); the patch is in the status page7dc4298 PTNowNext: NowNextSnapshot, SharedContainer and LisbonClock in their own package with no dependencies38c85cc PTAsk: the question box hint and intro come from the provider (no team in the public app); dictation note says on device or Apple93279d1 privacy and review notes: dictation in Ask (microphone, speech), camera; status 11:00cef4aa2 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 script063e3c2 Team: native pages from markdown twins (reports, board health, pulse summary), wakes and pulse screens6accbbd PTSync: manifest delta sync, content store with atomic generations, build seed, offline outbox (PTCore only); in apps.json packagescfce712 Team: native stand-ups (list, agenda, items) and My command centre, read through TeamStore48d84f3 PublicShell: the decks screen (id decks, DeckScreen, own navigation)5153877 status: editor 10:40, merged dev v0.4.13a4ff33c release-notes.sh: per-app intro from scripts/release/notes/<app>.txt; Team's What to Test text58ce3ec 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 plan96175a5 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 PTLanesffd5b09 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 fails45d26aa TestFlight ops: set-whats-new action (What to Test only, plan unless confirmed) and a draft What to Test for the Team app569f4d7 Design status: on dev, run 345 green3bd5b50 status: editor 10:15, merged dev v0.4.11ea27db3 status: release.B 09:45 UTC43d5426 Status: testflight, first Team build 0.4.7 (182)7320844 site labels: read ShellDestination, public features start with .publicFeatures(; merge dev v0.4.10c048050 phase 4: PrompTugal review texts, version wording, status; merge dev v0.4.8ce2fbe0 Design status: phase 4 ready, run 342 greenc255aa2 Platform status: phase 4 READY (run 338, dry run 81)a7b603c Status: testflight, 08:48 check, no new uploade3f50b8 Platform status: runs 338 and release dry run 81 in progressb453636 status: editor 08:30, phase 4 previewd51cde4 Status: testflight, 0.4.6 build 180 on reader record7b94708 Status: testflight, 0.4.4 build 178 on reader and RiskMandate, entitlements kept0b46175 status: release.B 07:40 UTC29158b9 privacy and support: widget, Siri answers, camera; status 08:05a4dde49 status: editor 07:50, merged dev, checked against split/platformc04189e status: editor 07:35, build patches for deva20ffd5 briefs: editor-build patches for dev (build code only)f8f6316 site: find shortcut artwork wherever the Team move puts it; status for phase 4e6d18ff Status: testflight, signing fix on dev, waiting for next releaseccd09f4 Status: testflight, 06:55 check, dev uploads blocked on signing fixabdb2d4 briefs: collab status, PTAsk quick run green, full run queued0e6bdb4 Status: testflight, run 71 failed on certificate limit9adcf3a status: editor 06:25, PTLanes checkeda419ccf status: editor 05:55, PTNews checked8fb7028 Status: testflight, certificate count after run 69 signing failure64dbb54 TestFlight ops: read-only certificates action (counts by type, no names)84637e0 Status: testflight, 05:18 check, no new uploadbc9805b status: editor 05:20 check-inadebd13 Status: testflight, 0.4.1 build 168 seen8900341 status: editor 04:15 check-ina6be0df Status: testflight, run 67 results for all records8c2c07d Status: testflight, first 0.4.0 build (RiskMandate 167)57079c7 TestFlight ops: bundle input, so status can read the Team and RiskMandate recordsf954a79 site: read the new app project and its shortcut artwork; v0.4.0; statusad3bb3b Status: testflight, build 163 seen20c6f17 Status: testflight, runs 63 and 64 in flight343a1f7 status: editor 03:15 check-in3a274f9 Status: testflight, build 161 seen31fa0cc status: editor 02:40 check-ine951303 status: editor 02:10 check-in29b2de5 Status: testflight, 02:08 checka4a1df6 Status: testflight, conductor updatef3ac2a1 site: app version follows VERSION from v0.4; status update408c03d Status: testflight, account B watching uploadsa889cb9 status: editor handoff9869149 Status: testflight handoff27a6247 support and review notes: contact address, answer within 48 hours0f58b2c Status: testflight, internal testers only during the summit5d6e8c7 testflight: PrompTugal-app review notes and What to Test, to replace the originals at phase 47089550 status: editor merged dev v0.1.671575125 status: editor merged PTVaultUI, vault labels follow the filese640c9e status: editor merged phase 1, labels holdb98816d site: PublicShell counts as the PrompTugal app's root viewe3ba68b site: follow the three-apps split (public app pages, Team app in the admin area)9e2e613 briefs: summit app next version, Dinis's ideas (modes, graph, privacy, live timeline, billing, variations)f156a3e review: TestFlight What to Test for the public app (store/what-to-test.txt and scripts/release/notes/promptugal.txt)90dcc37 review: apply the conductor's rulings (Ask with review key, Vault hidden), final review-notes.txt, App Privacy with Ask, pt URLs326147f 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 app7af3009 apps status: guard proof run 8449c80c7 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 commite081ed4 apps status: READY phase 4, release dry run 83ed85d6d apps status: phase 4 runs 337 and 340f893a58 briefs: summit app to the App Store today (plan, MVP, roles, rules)134a559 briefs: three apps contracts §8, next round (PTSync, decks, Team native) rulesbbf7cd8 apps.json: upload the public PrompTugal app to TestFlight (dev run 345 green; signing dry run 84 entitlements complete)053e2e3 briefs: three apps outcome, first Team build 0.4.7 (182) in TestFlightc1daad2 briefs: three apps, outcome at 09:40 UTC (what reached TestFlight, merges, signing fix, what is left)d7c728e Design status: reword a line the site validator rejectsb8716f4 PublicShell: ReaderStore is the news source in the public appa4c0d61 PublicShell: argument order in the debug destinationb63cd43 Design status: phase 4 run 333 in progressc025f83 PublicShell: Ask destination and Ask beside any screen, page context for Askd9a8c13 Draft: PublicShell, public Destinations, settings, features; shared shell parts in PTCore (local only)e751c11 Design status: PublicShell drafted locally, needs listd88d87b Design status: full run 323 green on bb50751, READYa53e3cc PrompTugalIntents: import PTAgenda (NowNext moved there)bb9e5dd PrompTugal app, phase 4: widgets and intents targets, shortcut images, NowNextPublisher wiring375e867 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 31644d74ac apps status: shortcut images in phase 4 plancd02fa7 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 namea2a1b31 Platform status: phase 4 pushed09623bd 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 tests8d574df team: status page, phase 4 reviewdcca18e 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 green56db73e Platform status: AppLinks.scheme on dev, waiting for phase 395ae726 Platform status: run 301 on self-hosted runnerc6e7a26 briefs: collab status, runs 314 and 322 fixed, run 324 queued99c3e91 PTLanes: hasWebsiteInbox for the debug panel; error-text test moves to the Team app tests0cdbebc AI: SpeechDictation copy for AskView (PTLanes keeps its own)cc8be49 briefs: collab status, PTLanes fixes after run 31444217b1 PTLanes: own SecretStore copy, public LanesView.body, TeamNotes default argument off the main actor72c152c PTLanes: install VaultCollabAccess from TeamLanesWiring, Swift 5 language mode5ab5eb2 status(vault): run 310 dispatched on b614118457bb54 briefs: collab status, CollabSeams green (run 302)fb8cdfc status(vault): waiting for CollabSeams on dev53d9a78 status(vault): waiting for CollabSeams on devb71f8f0 briefs: collab status, collab.B took over, run 291 still queued4ff6d47 vault: check VaultCollabAccess against CollabSeams; status0ddf084 briefs: collab status, handoff sectiond24514e status(vault): handoff to account Bb73c5a6 vault: VaultCollabAccess moves into PTVaultUI (public, install()); needs CollabSeams in PTCored0218e1 status(vault): waiting for CollabSeamsf2fb585 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 2725da5f05 briefs: collab status 00:10 UTC38d857b briefs: collab status, public provider uses ScheduleStorea17cd95 briefs: collab status, cover AskView schedule in provider64161fa briefs: collab status, conductor rulings1786ceb briefs: collab status page and plan for PTAsk and PTLanesbb50751 Design status: PTNews fixes, quick run 319 queued83f761f PTNews: GraphExplorer.version is public (the Team debug panel reads it)4c18d6b PTNews: previews use NewsFeeds, own NewsRow instead of the dashboards' InfoRowdf7894d Design status: run 312 queued on b1ef07ab1ef07a ReaderStore+News: import PTAgenda explicitly1700e60 Shell: take the link scheme from AppLinks.scheme; statuscc9774d Design status: waiting for team's run 3001a1f81d Design status: design.B takeover, run 294 cancelled, waiting for team's PTWebd7e6a69 Design status: handoff section4430e67 PTNews: Swift 5 language mode, like the code it moved frome1d3cf1 PTNews: move the news screens and the graph into the packageefda4e5 Design status: merged split/apps8b742bd Design status: 01:08 checkf79f867 Design status: 00:46 check5747e37 Design status: 00:25 check62e7f43 Design status: markers for the editor7c8884b Design status: conductor answers49938f7 Design: status page with the PTNews map and the PrompTugal shell plan8132bec status: release.B takeoverb5565d9 status: release handoff headc66bcdb 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 recordd0ad4d6 workflows: grant the changes call actions: read (startup failure)43207a8 ios.yml: quick input for manual runs; packages follow the branch diff6c26a23 release-setup, status: one version number279dbca One version number: app version = repo release version; build the release commit after website.ymlcceddbf apps status: run 3035a62177 apps status: runs 289 and 290e97530b apps: riskmandate testflight true (same Apple account); statusf5dc0ed apps status: handoffeab1d7a apps status: phase 4 plan for extensions7d28094 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)fb9a42a briefs: Beta App Review approved PrompTugal 0.3.1 (4) in about 24 hours11ab789 website: find app files in Packages/ too (Websites.json moved to PTWeb)17a160c tests: put each test where it can see what it testscbb3074 team: status page after run 293115ba30 PTWeb: own the schedule storage key and change event (PTWeb cannot see ScheduleDocument); reminder taps accept ptteam links8d216f3 team: status page, account B notes203c598 team: handoff section in the status page6cccf88 team: move PTWeb (Bridge, WebPage, WebsiteView, Websites.json) and PTAgenda (Schedule, Notifications, AgendaView, ReaderStore) into packagesbc2733b team: status update3f9d5b8 team: status update, still waiting for PTCorec90b83b team: add AgendaView, ReaderStore and URL scheme to plan97e05e9 team: record conductor answers26c13f7 team: status page with PTWeb and PTAgenda dependency plan11acc2e PTCore: CollabSeams.swift (collab seams: vault access protocol, hooks, identity, page context, error text)f824d76 briefs: three apps handoff, Team and RiskMandate App Store Connect records existe98c51f briefs: three apps handoff, final heads of all nine sessionsa6c1a68 briefs: three apps, handoff to conductor.B (state of dev, branches, merge protocol, decisions)1d954dc briefs: three apps, internal testers only during the summit7375364 briefs: three apps, RiskMandate publishes from the same accountc160f4f screens.yml: manual runs only (runner load)059a01f briefs: three apps, one version for every app (v0.4.n), Screens by hand during the split5464518 TestFlight ops: tf.py, manual workflow, review-info files, status pagee83a083 ios.yml: do not run on pushes to split/**; dispatch by hand109225f status: release green8e2fab1 status: release9300427 status: release, screens names96dfa70 release-setup: three apps; release notes use the app's taga411f6a status: releaseb5d2afb ci: build, test and upload only the apps a change affects8555016 Platform phase 1: workspace, seven empty packages, apps.json, check scriptsecf8a4a briefs: three apps, rulings from the first plans (PTCore additions, NewsSource, seams, schemes, keychain)6254ada briefs: three apps, one repository (plan and contracts for tonight's split)62381b2 iOS release: upload to TestFlight on every push to dev that builds5c23770 briefs: App Review readiness outcome, every list on deve7cfc2c 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 dev89b17e8 Design status: runs 249 and 251 green on 842e7f7ebdb149 Design App Review status: done, design tests green (run 237)8c3ba61 Design App Review status 15:22cbf75c2 Design App Review status 14:55920ad9e 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); tests4cb7122 Sample mode keeps and restores the previous 'who am I'; PreviewSamples.data() no longer writes it (previews use previewData()); no -PTMe persistence3b9b099 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 testse29e349 After team's merge: Reading credit 'Debug builds only'; support FAQ on blocked checkouts and reminder permission; privacy reminders line768cae2 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 sitesc5fc748 Status: CI history for the App Review list92446ca Tests: StoreKitTest returns no products on the CI simulator; record it as a known issue, keep every check when products load3a59e95 Tests: hold the SKTestSession for the whole test; test ReminderInbox's hold/take without notifying the host appde93864 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 ternaryc6a7719 Bridge gate: Gate has no message property; use one refusal text (fixes the build)9597337 App Review readiness: team status9471fa9 App Review readiness (team): Q1, Q3, R5, Q6, 3.1.1, S7, Q8, Q10dd4a394 Privacy and support pages checked against collab's merge: Ask consent wording, Report… and Block as the app has themde54497 Review status: collab list done, run 233 green on iPhone and iPad7ca0a00 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 dispatched41e8a78 App review readiness: collab status page5afdf59 One set of team models (Q8): Ask's team context and the people list read TeamStore's TeamPerson and CommandCentre197061d Tests: import UIKit for the pasteboard test83722c0 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 texta442442 Tests: fake vault keeps its files under contentsae1909b S5: my key, plan and notes only from and to my own vault, never a teammate's imported oneaa1397e Ask: consent before anything goes to OpenRouter (App Review 5.1.2(i), R2/S2)8dac137 Product pages follow the App Review fixes: features with code markers, Reading credit 'Debug builds only', release-setup and summary corrections, build-log entry7f4ebfa 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 script93de6d4 SGitVault: enforce signatures and pin signer keys (S1); readable errors (Q7); size and depth caps (S7)45016b1 Status: platform, CI run 210 green99c4e1c Status: platform, design handback and Q9aaa6a34 Hand LaunchOptions/WebPage/AppShell back to design; Websites column fits Split View (Q9)6b2a0ba Status: platform, App Review readiness1827ccd Entitlements: drop applinks: until promptugal.news serves its AASA filef3eb41d ReaderStore: decode content.json off the main thread; cap cached detailsc5ccde7 HTTPClient: cap response bodies at 10 MB, adjustable per call (S7)66081e3 Release builds: launch arguments and web inspector are Debug only; CI builds Releasea0147e8 Purpose strings and background modes match what the app doesbec2ee3 App Review readiness: privacy page matches the code, support contact, review notes, privacy labels, pack status on the dashboard8c7fad1 briefs: App Review readiness pack (security, guidelines, stability findings and owners)b3c7b5c Site: credit RiskMandate's Agent Behaviour Policies for the 100+ agent team9adbad8 Site: Powered by RiskMandate, encrypted vaults by sgitf671b81 Site: sgit is ours, so product pages may name it7093042 Site: Overnight page — the night's work, screen by screen, with CI screenshots434764e Morning summary final (09:20); build log checkpoint 12, wrap-up8f95a01 Status: release engineering final, dev runs 37 and 38 green45a33b2 Design status 09:15e384447 Graph: fit the view to the 2nd–98th percentile of node positions so outliers don't shrink the graph; fewer labels when zoomed out1f0916b Status: final platform page for the overnight push2a22b52 Status: collab 09:05, all on dev and greenc26e517 Status: release engineering final (08:45): what Dinis does next, done list with run numbers, open items31dc9f4 Status: what works without keys and what needs which keyb7ea2a6 Design status: wrap-upe87c96b Screenshots: iPad from run 16, not 15 (run 15 ran before platform's fix was merged)7a26bf0 Morning summary in its final shape; build log checkpoint 11 (08:45)2d315b5 Status: dev runs 160 and 173 green; bridge e2e rerun2ff053a Editor status: run 173 and the iPad screenshot check (still rotated)939cbfa Status: how to use Ask, plans, team notes and lanes, for the teama68417b Status: collab 08:32f49c83c Design status 08:206a39f08 SGitVault tests: key classification as team keys arrive (spaces, legacy prefixes, bare forms)89cc33e Status: release engineering 08:16becaa75 Build log checkpoint 10 (08:15): run 160 fully green; bridge end-to-end test on dev; the graph bug the screenshots found9258087 Screens: strip EXIF orientation from PNGs; check stored size from IHDR0965bfc Ask: turn role names as a propertye326df8 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 offea0d411 Graph: edge rows mix numbers and a date string, so decode each cell leniently (it failed with real data); Wall header smaller on iPhonec5040ad Morning summary: iPhone and iPad unit-test jobs checked in runs 150 and 15478abfac Screenshots from the newest run with iPhone images, whatever its overall result; gallery lists missing screens in one linef526c07 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 devbefe96d Morning summary: what is still in progress (draft)90389ca Status: release engineering 07:40e9ca109 Status: collab 07:40121754c Vault status: wrap-up (done, how to open a team vault, not done, needs)0335d6e Status: platform at 07:36a009bf2 Design status 07:30: what native taught us, for the website1f6b47d Build log checkpoint 9 (07:15): bridge end-to-end against the live site (team's report), screenshots per screen, CI queue55ae88f Bridge end-to-end check against the live website (Tools/bridge-e2e)3eda457 Previews of My day and Wall get teamFeatures() for NextHoursCard1434ab7 My day and the Wall: the team session's NextHoursCard (my next three hours, with a Lisbon countdown)3fff23e CI: night/** pushes run only the build job; unit tests on dev, PRs and by handd33acfe 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 list7fc12ec Screens: one UI test per screen, screenshot before the check, PNGs only2bc4f6a Messages on iPad: two columns (send on the left, team notes, inbox, sent and log on the right); iPhone keeps one listfb222d3 Status: team features at 06:45c56eb68 Design status 06:30e97868a Planner: cache the plan and the teammate index; Today card for the next 3 hours777b943 Accessibility: one element per row in Messages, team notes and Where is everyone; labels for clashes, tool calls, my questions and icon-only buttonse186f20 Status: collab 06:18, run 117 greenddb3f3c Status: release engineering 06:40a6270ad Morning summary: what to test first, ten steps, checked against the code670e152 Build log checkpoint 8 (06:20): first screenshots and the bugs they found; CI queue0695a5e README: CI signs and uploads (release setup); build number is set by the iOS release workflow491de8d Screens: list the files in the summary before failing the export step94f726f Screens: keep dotted ids whole in PNG names; require 13 per device80f0b83 Shell: an accessibility identifier pt.destination.<id> on every opened screen, for the screenshot testce684b2 Screens: design's 13 destination ids, fail on a screen that didn't open, upright iPad PNGs9582dd9 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 titles6fb9021 Status: release engineering 06:153874921 SGitVault: VaultPicks.union and VaultLanes.fileName, with tests870f1d8 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 requestc7f142f Ask settings: Check key (OpenRouter /api/v1/key: works, usage, limit), logged as ai.key.checke8503a8 Morning summary: release's 45-minute TestFlight checklist as Dinis's first action; install from Xcode until then43263fb 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:052798a55 Status: release engineering 05:52c8e7548 Vault status: how a teammate opens a team vault; CI fully green at 92f948db5955d2 Reading credit: an Open PrompTugal.news button while the balance is unread or credit is pending1cad112 Checkpoint 7: merge time 05:40, not 05:35784ed58 Build log checkpoint 7 (05:40): first fully green run of the integrated app; the Wall in the feature liste61d145 iPad: Ask beside any screen (collab's askAnywhere) on the detail viewd4c6fd6 CI: upload the 60 MB test result bundle only when tests fail; status 05:40cb41ff9 Ask: hold-to-talk dictation in the composer; "Where should we meet today?" prepared promptde01eab Design status 05:3015a13c8 Status: release engineering 05:3017efc3d Reminders: ask once at the first pick or identity; refill on foreground7458ec4 Status: dev green with team features (run 104); hooks on devc3df569 Release CI: never cancel a started run (dev merges were cancelling archives mid-way); status 05:18f7178e1 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 designbeace5f 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 iPadcccf7e5 Status: release engineering 05:104622f04 Wall: the team, the agents' 24 hours, the pipeline, runs and the next stand-up on one self-refreshing screen92f948d Vault status 05:05; merge dev80792d3 Release: dry_run input (sign + export, no upload) and a profile-vs-entitlements check before the signed archive; status 04:553439270 Screens: per-job concurrency so a started screenshot run finishes9f1edf3 Restore the feature-claim negative control with a synthetic unbuilt feature; checkpoint 6 (all 19 features on dev)89b6d63 Developer area: link the morning summary05838da Morning summary: first draft (04:55), completed through the nightf3a4128 Build log checkpoint 5 (04:45); Progress in the overnight README; count Swift in every targetf06304c Website tests: skip the not-yet-shipped check when every feature has shipped4409607 Lanes: descriptor writes format only when set; header values drop empty pieces from CR LFe520a70 Status: collab 05:00877127f 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 notesc5a1664 Status: collab 04:157e097f2 Wire collab to dev: vault glue (VaultCollabAccess over VaultSession), picks and day plan from the team stores, entry views registerede40664d Ask: read-only tools over the app's data (agenda search, now, picks, team, agents, teammates' plans), each call shown17e608e Status: collab 04:1035506ae Collaboration debug panel: keys by presence, hooks, Ask requests, lanes log1083e6a Lanes: pure helpers nonisolatedb29b53e Messages: sgi1 inbox links, the account inbox from the master vault (PKCS#8), list pagination4cbb81a Pick ids are the bare slug (contracts §3, 03:45 change); older forms are read and converted65cd9a4 Messages: append lanes (sgit hybrid envelope), my inbox lane, newsroom notes, voice dictation, LanesLogc3f1ac0 Where is everyone: overlaps, clashes and meet-here slots from vault-shared picks; status page0957fe7 Ask: native OpenRouter chat with streaming, Keychain key, context toggles and prepared prompts5d4c7ca CI: per-job concurrency so started test jobs always finishe8ed288 Build log checkpoint 4 (04:35): the app opens on the shell, 16 of 19 features in the betad7da3c6 Launch arguments to open any screen directly, with sample data, for screenshots and UI testsf9e4df5 Design status 04:3015f865c Shell: teamFeatures() once, at the app root5f9b17f One identity: the design screens' 'who am I' follows the team session's TeamIdentityStore, both wayse83ad42 Shell: screens with their own navigation (the vault's split view) are not nested: iPad hides the shell sidebar, iPhone opens them full screen3519827 Agenda: a native agenda in the shell with picks on the one schedule, instead of nesting the old reader07170bb Status: platform at 04:42c53c2c0 Privacy manifest for the app (TestFlight blocker ITMS-91053)bb7c75c Screens: lowercase iphone/ipad file names and 1600 px longest side7c6cb33 Release setup: TestFlight purchases are sandbox, not charged923f7e7 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:35bba162e Screens: UI test that screenshots every main screen; screens.yml on devea06a2e Real screenshots: website.yml downloads the newest screens-* artifact; screens page gallery, feature cards and the home iPad use them0e03ef3 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 lanes027413b Status: platform at 04:165365593 Wire the shell, team and vault into the appa3c2aa6 Vault: merge dev; pull on foreground from VaultSession; status5cdbe95 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 WebPage8a881ab Features count only what the app can reach: screens need AppShell as root, bridge and reminders need .teamFeatures(); checkpoint 3273f533 Features: view:<Name> evidence (a real registration using that view); Where is everyone needs TeamPlansView in the shell6cdae35 Features: Face ID counts only when the vault screen is built, not just the Keychain code3d2bc38 CI page: show Xcode 2660 as 26.6471916c Vault: log each decrypt pipeline step; smoother unlocka05471e Schedule ↔ vault: pull picks when a reader vault opens; save on request6c7cedb App: register and schedule the vault's background refresh9ddc8ba Wire the vault session: VaultHomeView in the registry, and its VaultTrafficLog for Debug6d93eb6 promptugal:// URL scheme; widget opens the schedule; Siri phrasesaba36e4 Debug: native and web balance, screen by screen396968c Tests: break up two expressions the type checker timed out onab3a0d5 Design status 03:45ce5b535 Stand-up card stacks at accessibility text sizesa2d4ba8 Graph: the legend folds on iPhone so the graph gets the screen2e176b3 Native command centre: a person's board issues by workstream, with filters and a status bar8dc3995 Lossless ISO times for the website round trip; vault sync with loadPicks/savePicks1b45934 Agents: my agents' last actions on one time linea3ee6f9 Design status: green on CI, news, graph, observability, debug, widget designs1fd3c7d Debug on by default for the team; previews at iPhone and iPad sizes for every screen; compact layouts for the wake grid and team header1927210 Widget and Live Activity designs as plain SwiftUI views52a1bad Sample data for previews of every dashboard63fb2d0 News in every form (feed, native newsletter reader, stories) and native observability charts461783e Debug panels: network with timing bars, vault traffic with the decrypt pipeline, bridge, storage, keys (names only), builda44c198 Native graph explorer: the whole graph in one Canvas, search, neighbours as sentences, pathsd1d2291 Use the shared HTTPClient and BuildInfo; stubs for news, graph, observability and debug so CI compiles the shell142b581 Native dashboards: my day, the team, agents with the wake grid, briefed, newsroom912e2b6 Design system, shell registry, web page and feeds for the native dashboards7091ad7 SGitVault package skeleton; entitlements, StoreKit and usage strings4605bd2 Exclude folder placeholders from the app; HTTPClient with a request log44bb245 Project: iOS 18, folder-synchronized groups, unit tests, build info47dcca6 CI: iOS workflow that builds and tests the app on a macOS runner7c72c8c Status: conductor's ruling on shortcuts; iPad time line, vault mirror, badge514eca2 iPad: the day as a time line beside My day and the planner; lists stay the iPhone layout9723c0d Schedule mirror to the vault's agenda/picks, against closures, with a testf1ff134 App icon badge from me.json; refreshTeam() for background refreshe66f07a Where is everyone: teammates' sessions per day, from their command centres5f34440 Bridge relay also carries its payload in a DOM attribute; status update7ecc168 Tests for team data, reminders and the planner; Add to Calendar; App Intents; widget feed6308035 Status: team features, first report1cedc22 Bridge, team data, reminders, planner, meter and native top-up823d502 Schedule: one store on the website's nr.schedule.v1 format, with saved.json migration and tests947d8d5 Schedule: one store on the website's nr.schedule.v1 format, with saved.json migration and tests309e02a CI: slim ios-vault.yml to the Swift-writes/sgit-reads round trip069c8e6 SGitVault tests: export the Swift-written vault through a fresh readerf314891 Vault status: views, background, picks, CI state34f9d3c 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.json54b5cc0 Vault app: VaultBackground.register()/schedule() for BGAppRefreshTaskccb167d Vault app: native unlock and vault browser for iPhone and iPad97daedd Vault status: writer, app code, what is blocked291af1b Vault app: Secure Enclave commit signer, per-device branch, commit from VaultSession0152282 SGitVault: Swift commit builder and push, with sgit reading it back on Linux8bdf3f3 Vault app glue: Keychain behind Face ID, Secure Enclave wrapping, passkey PRF, session; CI type-check4996faa SGitVault: passkey door (port of the website's door.js), account unlock, account fixture19c25f9 SGitVault: Swift sgit vault reader, throwaway fixtures, tests, interim CIb7949af Status: release engineering 03:35e34d687 Release CI: list each target's entitlements next to its profile secret in the package summaryb65fa98 Release setup: Time Sensitive Notifications capability (new app entitlement on dev)ee9f110 CI: don't run iOS jobs for briefs, website, root Markdown or VERSIONa3bc665 Status: platform on dev at 03:12; next hooksece3e53 CI: cap the simulator boot wait at 5 minutesd6b9cd2 Website: show braces quoted in briefs as entities4cff36e Status: release engineering 03:252da0484 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:15aff6bed Release CI: internal_only (TestFlight internal testing only) and source_ref (build another branch's project) inputs; docs internal-firstc8c2496 Release CI: pushes never cancel a manual or tag run686a6ec Release: per-target App Store profiles via a CI-only xcconfig (app, widgets, intents); list targets to sign in every package run608a386 Status: release engineering 03:05; setup doc covers submit workflowd817557 Release: latest-build.sh for the website's latest CI build panel4077a29 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 log7f7755c Release setup checklist: portal, App Store Connect, secrets, TestFlight, side-loading, gotchase0bb7e2 Release CI: unsigned archive, .ipa and simulator app; TestFlight job gated on secrets088052b Screens page: screens registered on night/* branches that dev does not have yeta5283d6 Contracts §3: pick 'at' is ISO 8601 (app reads ms too); vault mirror at apps/agenda/picks.json; Changes loga7699b6 Editor status: next checkpoint timefc9a4c8 Push dashboard: read each session's status from its own night/* branch when newer than devf2d0982 CI page: latest iOS build panel from release's latest-build.sh; site publishes ios-build.json4541361 Contracts §3: pick 'at' is ISO 8601 (app reads ms too); vault mirror at apps/agenda/picks.json; Changes log97947d1 Editor status: next checkpoint time2a105d7 Push dashboard: read each session's status from its own night/* branch when newer than dev76e44bb CI page: latest iOS build panel from release's latest-build.sh; site publishes ios-build.json72587a0 Website: follow the new project layout; show GitHub expressions on the CI page7de8210 Info: background refresh for the vault (BGTaskScheduler)6ba5515 Status: platform at 03:08663e140 Defaults: PrompTugal and the team site only; team's Info and entitlements105a525 CI: let a running iOS run finish instead of cancelling it on push64b288d Info: ITSAppUsesNonExemptEncryption = NO (iOS-provided crypto only)a1580e2 CI: drop the simulator .app job; artifacts belong to ios-release.ymldf3711f CI: run the unit tests on an iPhone and an iPad simulator2de4579 App Intents extension skeleton: Next session1557034 SGitVault: take the vault session's package as is8d0e477 CI: boot the simulator first, no parallel testing, test time limits9a562ac Default shortcuts: PrompTugal, the team site and the newsroom only462f658 Now and next widget reading the App Group; docs and CI tweaks66b2add SGitVault package skeleton; entitlements, StoreKit and usage stringscb63780 Exclude folder placeholders from the app; HTTPClient with a request log3933a2c Project: iOS 18, folder-synchronized groups, unit tests, build info7d2d0ff CI: iOS workflow that builds and tests the app on a macOS runner251f69b Site and plan: native on iPhone and iPad, install via Xcode or TestFlight; release engineer session in the overnight plan9410e04 Home: claim only what dev has (frameworks), plainer first-customer linef9bc6e0 Brief 08: record Dinis's decisions D1-D7 and the positioning; pack status is decideddf85137 Site: PrompTugal product site for readers and teams, features labelled from the code, generated admin pagesb3721c8 Overnight push plan: positioning, decisions, sessions and contracts21bbb96 Add brief pack: native vs web, team first; publish briefs in a developer area