v1.21.0Email delivery for invites & password resets + claim guidance on sign-in
May 28, 2026 · 7:00 PM CDT- FixedPassword reset now actually emails a reset link. Previously the reset request never sent an email (and exposed the reset link in the API response). The link is now delivered by email, the response no longer reveals whether an account exists or returns the token, and the reset page shows a neutral "if an account exists, check your email" confirmation.Learn more
- NewInvitations are now emailed to the invitee with their claim link when created (single, CSV bulk, and AI Helper). Admins can also resend a single invite email, or "Email all pending" to reach everyone who was invited but has not yet claimed — from the Control Room Invites panel.Learn more
- ImprovedSign-in now recognizes when an email was invited but never claimed: instead of a dead-end "invalid credentials" error, it shows "You have an invitation waiting" with a button to finish setting up the account. This was the most common "I can't log in" cause — invitees trying to sign in before claiming.Learn more
v1.20.0Summerfest pilot — Admin can delete invites and accounts
May 28, 2026 · 7:00 PM CDT- NewAdmins can now delete a pending invite directly from the Control Room. Each invite record in "Invites and claim status" has a Delete action that removes the invite and disables its claim link. If the invite is the only founder on a company, the app asks a second time before also deleting that empty company record — the same guardrail used on the Company detail page. Already-claimed invites cannot be deleted.Learn more
- NewAdmins can now delete a user account from the cohort roster. Each roster member has a Delete account action that permanently removes their profile, hub participation, and — for founders — their company record. The action is confirmation-gated and is hidden on your own row; delete your own account from Settings instead so the cohort can never be left without an admin.Learn more
- NewThe admin AI Helper can now delete invitations and user accounts too, so it can do anything an admin can do from the Control Room. Ask it to "delete the invite for x@example.com" or "remove Jane Doe's account" and it will resolve the target, apply the same guardrails as the manual buttons (no deleting claimed invites; the "also delete the empty company" prompt), and require confirmation before executing. It still refuses to delete your own admin account.Learn more
v1.19.1Summerfest pilot — Log session feedback 400 fix
May 27, 2026 · 12:55 AM CDT- FixedLog session feedback no longer fails with a 400 on "Continue to capture". The capture endpoint now distinguishes the Schedule flow (rejects past datetimes) from the Log Feedback flow (rejects future datetimes), so legitimate past-dated captures go through while both flows keep server-side anti-tamper protection. Regression introduced in v1.18.0 §8.1 when the past-rejection rule was added without accounting for Log Feedback sharing the same endpoint.Learn more
v1.19.0Summerfest pilot — International cohort support + cleanup
May 26, 2026 · 2:30 PM CDT- NewFounder and coach profiles now have an IANA timezone field. On first sign-in your timezone is auto-detected from your browser and stored as the default; you can override it from Settings → Profile via a region-grouped dropdown (Americas, Europe, Middle East & Africa, Asia–Pacific). Admin can override any user's timezone from the cohort roster View-details panel — primarily for the two international founder teams (Romania, Israel) whose coaches sit in US/Canada timezones.Learn more
- NewEvery session datetime in the app now renders in the viewer's local timezone with the timezone abbreviation inline (e.g. "4:30 PM CT", "12:30 AM IDT"). When you and the other side sit in different timezones, a secondary muted line shows the counterparty's local time ("(12:30 AM IDT for your founder)"). When you both sit in the same timezone, the secondary line disappears so nothing is wasted. Centralized in a new datetime utility so every consumer — matched-coach card, Upcoming sessions, Session history, Schedule modal, Submit feedback flow, signal-detail modals — uses the same logic.Learn more
- ImprovedDate formatting now respects your browser locale: US users see "5/27/2026", Romanian users see "27.05.2026", Israeli users see "27/05/2026". Previously hardcoded to en-US, which produced confusing dates for international founders.Learn more
- ImprovedFounder onboarding country dropdown adds Romania and Israel as named options, placed alphabetically with the existing list. Gives the two international Summerfest 2026 teams a first-class country value rather than the unstructured "Other" fallback. The full list is also resorted alphabetically (US/Canada stay at the top as pilot primary geographies).Learn more
- ImprovedSettings → Profile phone placeholder now illustrates the international format too — "Include country code, e.g. +1 414 555 0123 or +972 50 555 0123". Free-form input; we don't enforce a specific format.Learn more
- ImprovedFounder Diagnostic Q2.2 option updated from "Build visibility for my company in Milwaukee and beyond" to "Build visibility for my company at Summerfest and beyond". The previous wording was implicit US-centric; the new wording is meaningful for international founders who are coming to Milwaukee for pitch day but are not building toward Milwaukee market visibility.Learn more
- ImprovedEmail notifications that include a session datetime now render the time in the recipient's stored timezone with the recipient's local timezone abbreviation, plus a counterparty line ("4:30 PM CT for your coach") if their timezone differs. Applies to session-confirmation, mentor-capture-request, and founder-confirmation-prompt emails — eliminates the class of missed-session cases where recipients interpreted the email's datetime in the wrong timezone.Learn more
- FixedOrphaned test session cleanup: the 5/25 Mikey Mike back-dated test session that was firing a phantom post-session check-in prompt on the founder dashboard has been removed. Validation rules shipped in v1.18.0 (§8.1, §8.2) prevent new back-dated sessions from being created; this release cleans up the one orphan that pre-dated those rules.Learn more
v1.18.0Summerfest pilot — May 25 System Revisions Part A
May 26, 2026 · 10:50 AM CDT- FixedSign-out fully clears your session everywhere. The Logout button now invalidates your session on the server in addition to clearing every browser store of the token — localStorage, sessionStorage drafts, and cookies — so opening truststone.io in a new tab after sign-out reliably shows the login screen instead of auto-resuming the previous account, and signing into a second account after signing out completes on the first attempt.Learn more
- FixedSchedule modal rejects past dates. The date picker now disables past days at the picker level and Save is grayed out for past times. If a coach still tries to submit one (clock skew, calendar drift) the error reads: "This time has already passed. To capture a session that already happened, use Submit session feedback from the relationship card instead." — and the bolded link opens the Submit feedback flow with the same founder context preserved.Learn more
- FixedSubmit session feedback rejects future dates. If the session datetime is still in the future, the submission is rejected with "This session has not happened yet. Submit feedback after the session occurs." A session scheduled for the current minute remains eligible. Removes a class of confusing back-dated and forward-dated capture states.Learn more
- NewFounder post-session check-in now captures the founder's own commitments. A new repeatable "What you committed to" field at the end of the check-in lets the founder list anything they said they would do before the next session. Each non-empty row becomes its own Founder commitment on the relationship, visible to both sides immediately on submit. Closes a capture gap where commitments the founder made but the coach forgot to record never entered the system.Learn more
- ImprovedEvery commitment carries an attribution marker showing who recorded it: "Founder identified" for founder-recorded commitments, "Coach identified" for coach-recorded ones. Marker renders right-aligned on the commitment row in both the founder dashboard and the coach relationship card. Existing commitments backfill to "Coach identified" on first read (every commitment in the database before this release was coach-recorded).Learn more
- FixedFeedback modal's "Feedback on" field renders empty on every open. The v1.17.0 prefill was binding the field to the URL's screen identifier, which on the invite/claim route surfaced as a raw UUID. The field now shows only the placeholder hint ("What is this feedback about? For example, a specific screen, field, button, or flow.") until the user types into it.Learn more
- FixedSettings → Profile fields accept keystrokes again. A re-entrant load loop was resetting form state on every render, so typing in Title / Organization / Phone / LinkedIn URL / Location / Current Summerfest priority appeared to do nothing. The page now loads the profile once and lets the fields stay in your control until you click Save changes.Learn more
- NewDistress signal, Comprehension gap, Session quality concern, and Anticipatory context pills open an in-place detail modal when clicked, instead of navigating you to Session history. The modal shows the founder's underlying text verbatim, the originating session date, and the triggering rubric field. A "View full session" button still takes you to Session history if you want the rest of the capture.Learn more
- ImprovedHover tooltips on every coach-surface pill now show the source data verbatim with a consistent 300ms delay. Carried-over commitment shows the commitment text (and a "N commitments. Most recent: …" summary if multiple). Distress / Comprehension / Quality / Anticipatory show the founder's underlying response. Replaces the previous mix of inconsistent native browser tooltips and missing tooltips.Learn more
- ImprovedCarried-over commitment pill click is consistent across surfaces. From the coach dashboard relationships list it navigates you into the open relationship card and lands directly on the specific commitment; from the open relationship card it scrolls to and highlights the commitment in the Founder commitments section. The carried-over pill stays a navigation target (the commitment lives in a persistent page section); only the event-level pills open a modal.Learn more
- ImprovedCoach post-session capture hides Q2.3 (prep materials sent) and Q2.4 (homework on you) from session 2 onward. Both are first-impression signals that lose meaning once the working relationship is established. The Section Q2 subtitle updates dynamically to reflect the count: "Four single-select questions" on session 1, "Two single-select questions" on sessions 2+.Learn more
- FixedLogin form adds explicit autocomplete attributes ("username" and "current-password") plus stable id and name on each field, so the Apple password manager autofill prompt anchors cleanly and is dismissable. Eliminates a class of stuck-prompt cases on macOS / iOS.Learn more
v1.17.2May 25 polish — Schedule modal help text + time-picker snap
May 25, 2026 · 11:55 PM CDT- ImprovedSchedule modal help text now renders directly below the date/time/duration fields, matching the May 25 spec placement so it reads as introductory copy for the note field rather than as a modal-level header.Learn more
- FixedLog-a-session time picker now snaps to 00/15/30/45-minute boundaries on blur, the same belt-and-suspenders behavior the Schedule modal already had. Keyboard-typed times like 12:42 are corrected before the session is logged.Learn more
v1.17.1May 25 Revisions follow-up — calendar push removed + history detail
May 25, 2026 · 11:45 PM CDT- FixedSchedule modal on the coach relationship view no longer opens an external Google Calendar tab on save. Matches the May 25 spec — sessions are written to TrustStone only; no external calendar push, no integration trigger. Brings the relationship view in line with the coach dashboard, which already behaved this way.Learn more
- ImprovedFounder Session history inline row now shows three fields when available: "How this session went", "What you learned", and "On your mind for next time". The full session detail modal continues to render every field.Learn more
v1.17.0Summerfest pilot — System Revisions (May 25)
May 25, 2026 · 10:30 PM CDT- ImprovedFounder dashboard mirrors the coach dashboard: two stacked sections, Upcoming sessions at the top and Session history below. Upcoming sessions surface any pre-session note the coach attached at scheduling time. The matched-coach card's "Next session" value now recomputes from the earliest Upcoming session on every render.Learn more
- ImprovedEvery field in the founder Session history rows now shows its label above its value. Each row carries a "View full session detail" link that opens a modal containing every field the founder submitted in their post-session feedback for that session.Learn more
- ImprovedCoach Bio modal on the founder dashboard now displays every field the coach validated in Section 1 (Professional Identity) of the Coach Diagnostic — LinkedIn and Scheduling link render as clickable links; Notable ventures renders last; empty optional fields are skipped.Learn more
- ImprovedFounder-originated session scheduling is removed for the pilot. The "Request a session" button, the request modal, and the underlying API surface are gone. All session timing is negotiated outside TrustStone; the coach books sessions into the system as documentation only.Learn more
- ImprovedCoach Schedule modal is now titled "Schedule Summerfest session (document only)" and writes a session record to TrustStone only — no external calendar push, no integration trigger. Help text under the date/time/duration fields tells coaches the note field is the place for anything either side should know before the session; post-session feedback is captured separately afterward.Learn more
- ImprovedRelationship-card status pills on the coach side are standardized to all be clickable and resolve to their underlying data. Distress signal, Comprehension gap, Session quality concern, and Anticipatory context navigate to the originating session in Session history and highlight the row. Carried-over commitment navigates to the specific open commitment. Session request and Capture due are removed entirely from the mentor view.Learn more
- NewAdmin cohort roster gains an "Overdue capture · Xd" pill on any founder whose post-session capture is more than a day overdue. Surfaces the threshold previously rendered on the mentor side, now visible only to admin per the May 25 revision.Learn more
- NewFeedback modal redesigned: two required free-text fields stacked — "Feedback on" (single line, prefilled with the screen label) and "What did you notice" (multi-line). Both must be filled before Submit. Voice/dictate input removed.Learn more
- NewAdmin cohort roster: new TEST account toggle inside the View details panel for Founder, Mentor, Community Partner, and Architect rows. Test-flagged users keep full functionality and remain matchable, but are excluded from every aggregate count on admin and community-partner views (founders, coaches, community partners, architects, companies, and flagged sessions). The flag is stored on the cohort membership object so the Phase 2 federated network direction is preserved — the same person could in principle be a real participant in one network and a test account in another.Learn more
- ImprovedEvery time picker in the system snaps to 00/15/30/45-minute increments only. Applies globally to every surface that captures a time value.Learn more
v1.16.0Voice input on the Feedback button
May 24, 2026 · 3:30 PM CDT- NewThe bottom-right Feedback button now supports voice input. A circular microphone button sits inside the "What did you notice?" text area — tap it to dictate your feedback instead of typing. Tap again (the icon turns to a stop square) to end the recording. Transcribed text is appended to whatever you have already typed, so you can mix the two freely. Uses the browser's built-in Web Speech API; the button is automatically hidden on browsers that don't support it. The first time you use it the browser will ask permission to use your microphone.Learn more
v1.15.2Founder check-in submit — 400 fix
May 24, 2026 · 2:55 PM CDT- FixedFounder post-session check-in was returning HTTP 400 from the server even after the May 23 follow-up. Root cause: the server-side feedback schema still required `helpNeeded` and `commitmentSummary` to be non-empty strings, but in the v2 capture those fields bridge to the (intentionally) optional Founder Q6 and to the per-deliverable decisions list (empty when the coach didn't log any deliverables for the session). Both arrived as empty strings and zod rejected the whole payload. The schema now treats them as bridge slots that may be empty — the canonical v2 capture rides on the `summerfest` envelope and is unaffected. Same fix protects coach Q9 (coordinator flag, optional) and coach Q6 (deliverables, optional).Learn more
v1.15.1May 23 Punch List follow-up — Founder check-in fixes
May 24, 2026 · 2:00 PM CDT- FixedFounder post-session check-in now surfaces submission errors instead of silently doing nothing. Previously, if the API rejected the submission (auth expired, network blip, validation error), the Submit button appeared dead — no toast, no error, no state change. The capture modal now displays the underlying reason and stays open so you can retry without retyping. The same fix applies to the Coach post-session capture on the dashboard and inside the relationship view.Learn more
- ImprovedFounder Q5 ("How are you feeling about pitch day?") is now optional. Founders can leave it blank — especially early in the program when there isn't a useful read yet — without being blocked from submitting their check-in. The field still flows through to coach + Admin views when answered.Learn more
v1.15.0May 23 Punch List — Coach UX polish
May 23, 2026 · 7:00 PM CDT- NewSession feedback entry points unified. Both "Log a session" on the Coach dashboard and "Capture a session" in the relationship view are now labeled Log session feedback, and both open the same date / time / duration modal first. No shortcut into the questionnaire — every post-session capture is anchored to a date the coach explicitly confirms.Learn more
- NewThe Coach dashboard attention header now reads "{N} watch signals across your relationships." (matching the empty-state phrasing) instead of "things need your attention." One vocabulary for the bucket regardless of populated vs. empty state.Learn more
- ImprovedPrimary contact indicator is now a clearly legible "PRIMARY" pill next to the founder name, matching the visual treatment of the ACTIVE relationship pill. The previous "(Primary)" suffix and gold-dot prefix have been retired — they were too easy to miss.Learn more
- NewFlagged relationship signals on the Control Room are now interactive. Each entry opens the underlying session record (keyboard-activatable too). The Flagged sessions tile scrolls straight to the signal list when clicked.Learn more
- ImprovedLeft sidebar trimmed for Coach and Founder roles: the CURRENT RELATIONSHIPS group is hidden. The dashboard surface is the sole entry point to relationship cards for both roles. Sidebar status indicators (colored dots on per-relationship rows) are removed alongside the group.Learn more
- NewPersistent "Signed in as {Display Name}" indicator added to the top of every authenticated screen. Solves the multi-account testing confusion (a single browser session staying signed in across tabs) without changing the underlying session-persistence behavior. The bottom-left identity block in the sidebar continues to host the explicit Sign Out control.Learn more
- ImprovedLog session feedback button is now visibly disabled (with a hover tooltip) when a coach has zero active founder relationships. The previous behavior — letting a coach open a modal with an empty Founder dropdown — has been removed.Learn more
- FixedBio field removed from the Settings profile UI for the pilot. The field did not surface on the onboarding card, the public coach card, or any other verified surface, so it was orphaned. The underlying database column is preserved untouched; existing values are not overwritten on save. Deferred to Phase 2 when public-card surfaces expand.Learn more
v1.14.0Spec Change v2: Company at ingestion + Admin Companies view
May 23, 2026 · 3:15 PM CDT- NewSend Summerfest Invite screen gains a conditional Founder details block when role=founder. A type-ahead Company combobox suggests existing companies as the admin types; an explicit "Create new company: X" option creates the Company record at invite send time (not at claim). When the selected Company already has a founder, a Primary contact checkbox appears with inline confirmation copy: "On claim, this founder becomes primary contact for [Company]. The current primary, [Name], becomes co-founder." For new companies, helper text states the founder will be the primary contact on claim.Learn more
- NewBulk CSV upload of founder invites. The Control Room header now has an Upload CSV button beside Send invite. Header row required: first_name, last_name, email, company_name, is_primary?, role?. Upload runs a server-side preview first — every row shows the resolved Company (existing or new), the resolved primary designation, and any warnings (duplicate is_primary flags, case/whitespace variations matched to the same Company, invalid emails). Commit is blocked when any row has a hard error. Only role=founder is supported in v2.Learn more
- NewLocked architectural decision: Company records are created at invite-send time, never at claim time. Pending invites attach to a Company immediately; the founder is associated with claim_status=pending. The combobox suggests the Company on subsequent invites as soon as the first one is sent. Cancelling a primary-pending invite is blocked until the primary is reassigned to another founder; cancelling the sole invite on a Company surfaces a confirmation modal that warns the Company record will also be deleted. This eliminates the entire class of race conditions that string-match-on-claim creates for two-founder teams.Learn more
- NewAdmin Control Room gains a Companies tile alongside Founders, Coaches, Community Partners, Architects, and Flagged sessions. Clicking it opens the new Companies list view at /admin/companies — sortable by every column (Company, Founders, Primary contact, Status, Last activity), searchable by name.Learn more
- NewAdmin Company detail view at /admin/companies/[id] exposes every Spec v1 admin operation in one place: Header (with inline Edit Company form for name, industry, stage, website, one-line description), Founders panel (both claimed founders and pending invites, with Make primary, Remove co-founder, Cancel invite controls — v1/v2 guardrails enforced inline), Section 3 data panel (canonical record on top, supplementary records expandable below), Relationship Cards panel (one row per approved coach-founder match with a deep link to the card), and Audit log (every primary reassignment, every founder added/removed, every Section 3 submission with which founder submitted and whether it became canonical or supplementary).Learn more
v1.13.0Spec Change v1: primary contact + two-founder teams
May 23, 2026 · 10:05 AM CDT- NewCompanies now carry a primary point of contact and an optional list of co-founders so a two-founder team is a first-class concept. The Summerfest application submitter is the default primary contact at company creation; either founder on the team can change it from their onboarding flow, and an admin can change it any time. Every change is logged on the Company record.Learn more
- NewFounder Diagnostic Section 1 now includes a Primary point of contact card in the company portion (rendered visually distinct from the individual profile inputs). Copy is explicit that this is about communication routing — coach updates and weekly check-ins — not company hierarchy. Validate-don't-fill: pre-populated, confirm or change.Learn more
- NewSection 3 rubric self-assessment is now routed onto the Company record. The submission tied to the primary contact is canonical (feeds the scoring agent + the Relationship Card founder_reassessment array); a co-founder's submission stays intact as a supplementary record. Re-submission replaces that founder's prior entry. Reassigning the primary just flips which record is canonical — both stay queryable for the planned co-founder alignment widget.Learn more
- NewPost-session prompt now fires to every founder on a two-founder team, not just the matched founder participant. The primary's response is canonical on the Relationship Card; the non-primary's response, if submitted, attaches as a supplementary record. Non-response from the non-primary is acceptable — no retry pressure. Reminder emails follow the same fan-out.Learn more
- NewCoach-facing surfaces render founders with a composite label — founder name first, middle dot, then company name — and a primary-contact marker in two density modes: a "(Primary)" suffix by default, and a brand-gold filled-circle prefix in compressed contexts (chips, tables, sidebar lists). The coach relationship view header now shows both founders side-by-side with the primary highlighted; default email routing surfaces the primary's address with the co-founder one click away on the bio link.Learn more
- NewAdmin Control Room gains a "Company founders & primary contact" panel: inspect every company, add an existing founder profile as a co-founder, remove a co-founder, or reassign the primary point of contact. Every action is logged on the Company record's audit trails. The original founder cannot be removed and the current primary cannot be removed before being reassigned — those guardrails match the spec's Phase-1 governance scope.Learn more
v1.12.0Builder Spec v3: Coach Dashboard fixes + Feedback simplification
May 22, 2026 · 11:30 PM CDT- NewCoach Dashboard header trimmed: the "Edit profile" button is removed (Settings remains reachable via the left navigation). "Copy public card" stays in place unchanged.Learn more
- NewCapture entry-point reworked. The dashboard card is now "Log a session" with the copy "Log an impromptu, prior, or rescheduled session." Clicking it opens the log / capture flow directly — no relationship interstitial. The new modal accepts only today and past dates (future submissions are blocked); future bookings stay on the Schedule surface. Includes a founder picker when launched from the multi-relationship roll-up so the coach can scope the session before capturing.Learn more
- NewThings needing attention panel is now actionable. The aggregate count is a summary header only; below it each signal renders as its own clickable row. Two locked signal types: Overdue commitment (open commitment with a session date in the past) → routes to the relationship's Founder commitments section; Diagnostic gap (any required rubric self-rating missing from the founder diagnostic) → routes to Founder onboarding evidence. State-delta and friction-log signals stay out of this panel for the pilot.Learn more
- NewPer-founder card on the Coach Dashboard lists all pending sessions (not just the chronologically nearest one), soonest first. Empty relationships render the heading plus "None scheduled." The two count chips ("N follow-ups due", "N carried-over commitments") share identical visual treatment now — same background, same text color, same padding, same radius — and each chip is a deep link: follow-ups → Coach commitments section, carried-over → Founder commitments section.Learn more
- NewRelationship view session list split into two sections in order: Upcoming sessions (pending = scheduled, no captured record yet) sorted soonest-first, then Session history (completed = captured record exists) sorted most-recent-first. Both headings always render with empty-state copy when needed.Learn more
- NewView bio control added on both sides of an active relationship. Coach view: "View bio" next to the founder name opens a panel with only the locked founder fields (name, title, organization, location, LinkedIn, phone if shareable, industry / sector, team size, Q5.5 "anything a coach should know"). Founder view: each matched-coach card gets "View bio" opening a panel with the locked coach fields (name, current role and organization, location, LinkedIn, primary industry background, years operating, years coaching, notable ventures). Everything else stays private. The legacy "Current relationships" group is hidden from the founder sidebar; the matched-coach card is now the sole entry point.Learn more
- NewCommitment sections in the relationship view are renamed to role-based labels: "Active commitments" → "Founder commitments" (items the founder agreed to during sessions); "Your Commitments" → "Coach commitments" (items the coach committed to deliver). Labels are identical on both sides so the surfaces stay symmetric. Founder dashboard "Coach Commitments" matches.Learn more
- NewFeedback button replaced wholesale. The new fixed bottom-right button opens a single modal containing only an auto-populated context line ("Feedback on: <screen label>"), one open textarea ("What did you notice?"), and Submit / Cancel. No recording controls, no category dropdown, no severity selector, no screenshot tool. Drafts are preserved in session storage across accidental closes, cleared on explicit Submit or Cancel. Submission writes a feedback record, sends an email to info@truststone.io within seconds, and surfaces in the new admin Feedback table.Learn more
- NewAdmin gains a Feedback page (left nav, between AI Helper and Invites) listing every submission newest-first with columns Timestamp, User, Screen (label + route), Comment (expand-on-click), and Status (inline new / reviewed / resolved toggle). No threading, no replies, no assignment per spec.Learn more
- FixedCoach post-session capture: Q6 (founder deliverables) and Q7 (coach follow-up items) are now explicitly marked "(optional)" in the prompt label, matching Q8/Q9. None of these fields gate submission — addresses the build-review report that the field-required label was confusing coaches submitting captures without follow-up items.Learn more
- FixedThe session pre-form on the relationship view and the founder "Request a session" form both pin the Start time picker to 15-minute increments (step="900s") so the browser stops defaulting to one-hour steps. Matches the Schedule modal that already snapped to 15 minutes.Learn more
v1.11.0Pilot Privacy Notice canonical: consent gate + full notice page
May 22, 2026 · 1:00 PM CDT- NewNew canonical TrustStone Pilot Privacy Notice is now the single source of truth for privacy disclosure during the pilot. The full notice is published at /privacy (public route, reachable from the consent step, the onboarding splash page, and Settings > Privacy & Security). The notice text is reproduced verbatim from the canonical specification and explicitly scoped to the pilot phase — a counsel-reviewed production policy supersedes it before any production launch, and explicit re-consent is required before any pilot data is carried forward.Learn more
- NewInvite claim flow gains a dedicated Consent step between Account and Diagnostic. New users see the canonical consent acknowledgment paragraph next to an unchecked affirmative-action checkbox plus the "Read the Full TrustStone Pilot Privacy Notice" link (opens /privacy in a new tab). Continue is disabled until the box is checked. Per the spec the box is not pre-checked, link click does not auto-advance, and no onboarding diagnostic field is shown before the user takes the affirmative action.Learn more
- ImprovedStep tracker on the claim flow now reads Account → Consent → Diagnostic (or Profile) → Review, so the privacy gate reads as a deliberate decision point. Diagnostic and Profile Back buttons return to Consent so users can re-read the notice without losing onboarding work. The duplicate Privacy block at the Review step is now a read-only confirmation pointing back to /privacy; the Social Contract checkbox remains at Review since the Social Contract is a separate document.Learn more
- ImprovedSettings > Privacy & Security adds a Pilot Privacy Notice panel with a deep link to /privacy and the info@truststone.io contact address, so participants can re-read the notice and direct rights or correction requests at any time during the pilot.Learn more
v1.10.0Scott Gillespie Delta: Q2 session-prep block + Suggested founder prompts
May 22, 2026 · 9:00 AM CDT- NewCoach post-session Q2 (the open-text follow-through reflection) has been replaced with a four-question session-prep block: Did they coordinate the logistics? Were they prompt and prepared? Did they provide prep materials? Had they done homework on you? Each is a three-option card-select; all four are required. The block runs on every session including session 1 (the prior session-1 auto-hide is gone). Stored as four enum fields per the locked field names (q2_1_logistics, q2_2_prep, q2_3_info, q2_4_homework) so the signal aggregates cleanly across coaches.Learn more
- NewCoach per-relationship Session history now surfaces the Q2 prep signal as four small badges at the top of an expanded session row, in canonical order (Logistics · Prep · Info · Homework), reading the value short-form ("handled themselves", "prompt and prepared", "useful prep material", "researched me", etc.). Visual only — no tap target.Learn more
- NewSchedule session modal gains an optional "Suggested prompts for the founder" panel below Session notes — three canonical questions a coach can hand to the founder to think about between sessions: "If you were looking for three customers, who would they be?", "Who are the competitors that already have those customers?", "What do you need to win those new customers?". Checking a box appends the question to the booking note (preceded by a blank line); unchecking removes the literal string. Questions always appear in canonical order regardless of click order; the panel is suppressed entirely when the coach is scheduling the first session for a relationship — it only appears from the second session forward.Learn more
v1.9.1Surface-language sweep: every user-visible "Mentor" → "Coach"
May 21, 2026 · 1:30 PM CDT- ImprovedBuild Review 5/21 cross-cutting observation closed. Swept every user-visible "Mentor" / "Mentorship" / "mentors" string in the build and routed it through new deployment-aware ADVISOR_LABEL constants (Coach for Summerfest, Mentor for the standard deployment). Surfaces touched: founder post-session check-in copy, Discovery Notes visibility flag label, EngagementFollowUp questions, the Coach claim flow ("Mentor expertise" → "Coach expertise", "Short mentor bio" → "Short coach bio", "actively mentor" → "actively coach"), admin dashboard (Mentors stat tile, Mentor select label, "founder-mentor recorded different commitments" history note), Community Partner dashboard ("Active mentors" stat), Architect dashboard (Mentor roster heading, search placeholder), Match operator surface ("Ranked mentor candidates", empty-state copy), admin invite + AI helper labels, analytics next-steps copy, hubs page subtitle and empty-state, ScheduleSessionModal default topic, founder discovery-notes source-label map ("Mentor Session" → "Coach Session"), and the layout meta description. Storage shape / type names / routes (the underlying object is still "mentor") were intentionally left untouched.Learn more
v1.9.0Build Review 5/21 — UI cleanup, badge tone, data-flow fixes
May 21, 2026 · 12:30 PM CDT- NewFounder + Coach left navigation trimmed to Dashboard / Settings / Documentation. Relationship Cards and Discovery Notes are no longer top-level destinations for either role (Discovery Notes are session-anchored data, not a journal; relationship cards are instantiated by Admin on match). Releases moves to Admin-only. The CURRENT RELATIONSHIPS sidebar group remains for founders + coaches.Learn more
- NewFounder Claim Your Account screen now leads with an opening statement, mirroring the Coach version: "TrustStone is more than a competition profile. It is a record of how you think…". Frames the diagnostic as a portable professional record, not a program form.Learn more
- NewShared industry vocabulary expanded to 22 mid-granularity categories (separating healthcare and life sciences from financial services and fintech, adding edtech / proptech / climate / CPG / food & ag / hospitality / public sector / etc.). Used by both the Founder profile-card industry dropdown and the Coach Q1.1 selector + industry background field so matching can compare apples to apples.Learn more
- NewBio and Phone (used for session alerts and reminders) now captured at claim time on both the Founder and Coach Section 1 cards, in addition to being editable in Settings. Coach Diagnostic Section 1 also locks the Title / Organization split (formerly one combined field) so the diagnostic, database, and Settings screen all describe identity the same way.Learn more
- NewSchedule Summerfest session popup is now lean: Topic, Date and time (15-minute snap), Duration (default 60 minutes — was 45), Timezone, optional Session notes. Situation and Key tension were removed; they belong in the post-session capture and Discovery Note flows, not at scheduling time before the founder knows what the session needs to address.Learn more
- ImprovedCalendar / time picker icon contrast bumped on both light and dark themes so the affordance reads clearly on either background.Learn more
- ImprovedNeeds-attention badges retired the red treatment. Action-needed signals (Capture due, Follow-up due, Session request) now render amber — they're routine workflow steps, not error states. Watch signals (Distress, Comprehension gap, Anticipatory context, Carried-over commitment, Session quality concern, No-show) soften to a neutral elevated treatment. "Capture pending" is relabeled "Capture due, 2 hours ago" / "Capture due, yesterday" so the coach reads how stale it is at a glance.Learn more
- ImprovedFounder dashboard "What your coach is doing" block renamed to "Coach Commitments" with tightened copy. The mentor per-relationship surface equivalent is "Your Commitments" with the same one-line explanation. The "Co-Coach" subsection is removed — there is no co-coach concept in the Summerfest pilot.Learn more
- ImprovedRating trajectory display rewritten to Option A from the build review: a small sequence like "Baseline: 3 · S1: 4 ↑ · S2: 4 →" instead of a single dot. Reads at a glance, preserves the trajectory framing, and actually shows the story it was supposed to tell when there are two to four sessions per founder.Learn more
- ImprovedSidebar role chip honors the Summerfest surface label: mentors see "Coach" instead of "Mentor" in the role chip and identity card, matching every other piece of language in the deployment.Learn more
- FixedFounder onboarding evidence panel on the mentor per-relationship surface was showing blank for every dimension because the diagnostic envelope was being dropped at claim time and never persisted to profileData. The envelope (Section 3 evidence answers, Section 5 preferences, placement, full response set) is now stored on the founder profile, and the empty-state copy switched from "No evidence text in the diagnostic for this dimension" (read like a build problem) to "Founder has not completed this section of the diagnostic yet" (read like a user action). Same fix applied to Coach Diagnostic envelope persistence.Learn more
- FixedPrivate mentor notes (Q8 of post-session capture) were saving with an empty authoredByMentorId, so the read filter on the Private notes block never matched and the note "disappeared". Save path now defensively trims + falls back to the authenticated user; the modal explicitly passes the mentor profile id through; existing records with empty author ids were backfilled to the hub's mentor participant.Learn more
- FixedHubs (Relationship Cards) list page no longer surfaces "New Card" / "Create Card" buttons to founders or coaches — only admins can instantiate cards in structured cohort mode. Empty-state copy adjusted: founders see "Your matched relationships will appear here once admin pairs you with a coach."Learn more
v1.8.3Release page now shows time in CST
May 21, 2026 · 11:05 AM CDT- ImprovedEach release entry on the Releases page now shows the time it was cut alongside the date, formatted in America/Chicago (CST/CDT auto-detected from the date). Older entries without a captured timestamp fall back to the date alone.Learn more
v1.8.2Fix: "Capture a session" button now actually creates new sessions
May 21, 2026 · 10:41 AM CDT- FixedThe coach's "Capture a session" button silently re-opened an already-captured session when nothing was actually pending — so coaches trying to log a new session saw the "Capture pending" badge stay stuck. The button now opens a peer-path pre-form (date / start time / duration / optional pre-session message) when there is no past session waiting on a capture, creates both the Session entity and ScheduledSession, and chains straight into the capture modal if the date is already past. The multi-relationship roll-up button routes to the relationship's pre-form instead of silently doing nothing when there's no pending capture.Learn more
- ImprovedTab-focus refresh on the founder dashboard and the mentor per-relationship surface. Coming back to the tab after a capture lands somewhere else (or after the email arrived) re-fetches sessions + native child records, so the "Capture pending" badge clears without a manual page reload.Learn more
v1.8.1Email pipeline fully live (Resend) + notification scheduler
May 21, 2026 · 10:21 AM CDT- FixedFounder email was being read from profileData.email but actually lives at profile.email — meaning the inline session.created + founder.confirmation_prompt notifications would never fire even with Resend configured. Both call sites now read from profile.email and the inline path works end-to-end.Learn more
- NewNotification scheduler module (src/notificationScheduler.ts) wired into platform-api startup as a 5-minute tick. Scans every Relationship Card + Session entity per tick and fires: mentor.capture_request at scheduled session end, mentor.capture_reminder at +24h / +72h, founder.confirmation_prompt fallback after mentor submission, founder.confirmation_reminder at +48h / +96h after the prompt, and the Sunday-evening weekly.summary. Idempotent via a firedNotifications array persisted on each Relationship Card.Learn more
- NewAdmin-triggered POST /admin/notification-tick endpoint runs the same scan on demand — useful for "send pending now" or QA verification. Idempotent: re-running is a no-op once a notification has fired.Learn more
- NewEmail deep links land on the right modal: the founder dashboard reads ?session=<sessionId> and opens the v2 check-in modal automatically when the prompted session matches the auto-detected feedback-due; the mentor dashboard reads ?capture=<sessionId> and opens the v2 capture modal for that session. Read via window.location to keep the dashboards prerender-clean.Learn more
- Improveddocker-compose passes RESEND_API_KEY, RESEND_FROM, and PUBLIC_APP_URL through to platform-api so the Resend provider activates from .env without code changes. NOTIFICATION_SCHEDULER=off in env disables the startup tick for dev/test isolation.Learn more
v1.8.0Native Relationship Card records + email notifications + Mentor Reflection
May 20, 2026 · 10:23 PM CDT- NewNative Relationship Card child records are first-class on the platform: Commitment (state + canonical/original/divergence), Mentor Follow-up, Coordinator Flag (admin-only), Private Mentor Notes (per-mentor, lock-treated), Session entity (created → completed lifecycle), and Pending Session Request. v2 post-session captures now project onto these records server-side, and the dashboards render against them when present.Learn more
- NewFounder dashboard commitments are now actionable: a checkbox flips the Commitment record between open and completed via PATCH /hubs/:id/commitments/:id. Mentor per-relationship surface has the corresponding read-only view, plus actionable check-offs on the mentor’s own follow-up items.Learn more
- NewMentor per-relationship working surface (Dashboard Canonical §5) shipped at /mentor/relationships/[id]: header + pitch-day countdown, needs-attention strip, active commitments (read-only), mentor follow-ups (actionable), rating trajectory (six per-dimension sparklines with the founder’s onboarding baseline as a faint comparison line), founder onboarding evidence + preferences, mentor-authored session history, and a private-notes block with lock treatment. The mentor roll-up routes here on row tap.Learn more
- NewFounder-initiated scheduling shipped (Dashboard Canonical §8): primary path opens the coach’s scheduling link in a new tab when available; peer path is an inline request form (date / time / duration / note) that creates a Pending Session Request record server-side, and the recipient coach gets an "Action needed" badge on their roll-up + the per-relationship surface.Learn more
- NewEmail notifications scaffold (Resend-ready): server-side EmailProvider abstraction with a Resend adapter (activates when RESEND_API_KEY is set; otherwise falls back to a console-logging provider). Three notification flows wired today — session.created (administrative founder confirmation when the coach creates a Session entity), mentor.capture_request (placeholder), and founder.confirmation_prompt (fires on mentor v2 submission, held inside the founder’s 7am–9pm local window via Companion v3 §4.3 derivation).Learn more
- NewServer-side time-zone derivation: POST /profiles/derive-timezone and inline derivation at profile creation now compute derived_time_zone from the structured location fields (country + state/province), with most-populous-zone defaults for US/CA. Stored on the founder + mentor profile data alongside the structured location fields.Learn more
- NewWeekly summary email builder + admin-triggered dispatch route (Dashboard Canonical §7): three sections (In process / Open / Closed) with role-aware visibility — private notes never appear, coordinator flags only in admin views, distress signals appear in the mentor email when the founder’s pitch-day feeling is Anxious or Struggling, carried-over commitments only surface to the authoring mentor. POST /admin/weekly-summary dispatches per-recipient via the configured provider.Learn more
- NewMentor Reflection Screen (Mentor Classification & Reflection Spec §4) lands in the coach claim flow on the deferred path: Movement 1 (strength shape, computed directly from the eight-domain confidence values, no agent) renders immediately; Movements 2 (behavioral read) and 3 (friction signal) show a "system is finishing reading your profile" placeholder for now and pick up when the synchronous-classification decision is made. Reaction capture is the four-point no-neutral scale + optional free text, stored as a bound pair with the derived classification.Learn more
- ImprovedProfile schemas now carry the structured location fields (location_city, location_country, location_state_or_province, derived_time_zone) alongside the legacy single-string location.Learn more
v1.7.0Post-Session v2 captures + working-document dashboards
May 20, 2026 · 9:47 PM CDT- NewMentor Post-Session Capture v2: nine questions on a single scrollable screen. Q2 is now a qualitative follow-through reflection (not a binary), Q3 is the six dimension ratings, Q4/Q5 are consolidated open-text fields ("what landed" + "most important next"), Q6 is an optional repeatable list of deliverables (Add another / Remove), Q7 is a new optional list of mentor follow-up items, Q8 is private notes, Q9 is the coordinator flag.Learn more
- NewFounder Post-Session Capture v2: six questions on a single screen. Q1 (overall), Q2 (comprehension check), Q3 (what you learned), Q4 (per-deliverable Confirm/Amend over the mentor’s list — only renders when the mentor populated deliverables), Q5 (pitch-day feeling, private to mentor + Admin), Q6 (anticipatory, optional). Section B (six rubric re-ratings) is removed for MVP per the v2 spec’s "Decisions Deferred for Mentor Feedback".Learn more
- NewFounder dashboard rebuilt as a working document per the Dashboard Canonical MVP: header strip with pitch-day countdown, Active commitments block (open commitments oldest first), "What your coach is doing" follow-ups display (read-only), and a session history block showing the founder’s own Q3 + Q6 only. No rubric ratings, no pitch-day feeling history, no comprehension history.Learn more
- NewMentor dashboard rebuilt as the multi-relationship roll-up: header strip with active relationship count + pitch-day countdown, persistent "Capture a session" peer-path button, needs-attention summary (Action needed / Watch), and a relationship list with up to three signal badges per row (Capture pending, Follow-up due, Distress, Comprehension gap, Session quality, No-show, Anticipatory, Carried-over commitment).Learn more
- ImprovedNative Relationship Card child-record shapes are defined (Commitment with state + canonical_text + original_text + divergence_flag, Mentor Follow-up, Private Mentor Notes, Coordinator Flag, Session lifecycle states) — see summerfestPostSession.ts. Until the native write paths are wired the dashboards derive these from the v2 capture payload carried on session feedback; the gap agent + feedback export continue to compile against the legacy entry shape via a small bridge.Learn more
- ImprovedProgram metadata now carries an explicit pitchDay field; dashboards use it for the countdown shown to founders and coaches alike.Learn more
v1.6.0Revised diagnostics (v3/v4) + Founder Claim Correction
May 20, 2026 · 9:19 PM CDT- NewFounder Claim Correction (May 18 spec) shipped: the Review-and-claim screen no longer shows a Readiness Score, Top Strengths, or Focus Areas. The screen now acknowledges the founder’s profile is complete, points to the dashboard, and asks for the privacy and social-contract acknowledgments without an evaluative display above them.Learn more
- NewFounder dashboard correction (spec §3): removed the Readiness Score header value and the AnimatedStats internal-eight-signal panel. The dashboard now follows the rubric-only, no-deficit-shaped-framing principle — internal-eight categories continue to be captured and computed, they are simply no longer displayed to the founder mid-program.Learn more
- NewRelationship hub page now hides the Summerfest Readiness composite from founders (capture-but-do-not-display rule from Companion v3 §1.3); coaches and admins continue to see it.Learn more
- NewFounder Diagnostic v4 (May 20): industry is now a controlled vocabulary dropdown shared with the coach side; location is captured as three structured fields (city / country / state or province) with country-conditional validation per Companion v3 §1.7; founding date is removed (no consumer per the routing note).Learn more
- NewCoach Diagnostic v3 (May 19): industry uses the same shared vocabulary dropdown; location uses the same three structured fields with country-conditional validation; a new optional Scheduling link field is captured at intake (Companion v3 §1.6) and persists onto the coach card.Learn more
- ImprovedStructured-location fields flow through the claim bridge to downstream profile records so the legacy single-string location remains correct while the structured shape becomes the source of truth. Time-zone derivation (Companion v3 §1.7) is documented as the next data-model step and not yet computed server-side.Learn more
v1.5.1Fix: founder submission blocked by missing company stage
2026-05-19- FixedFounder claim could not be submitted — it failed with a red "company stage is required" error because the canonical Founder Diagnostic has no stage field on its profile card. Company stage is now derived from the diagnostic’s build-and-sell question (Q2.3) so submission completes and the company profile is created.Learn more
v1.5.0Summerfest build: all diagnostics, post-session, agents live
2026-05-19- NewCoach Diagnostic built natively and live in the coach claim flow: the full six-section canonical instrument (professional identity, standard + Summerfest rubric expertise, working style, beliefs, capacity, value exchange). Q&A Readiness is derived, not self-rated.Learn more
- NewCommunity Partner Diagnostic built natively and live: five-section sponsor onboarding with silent sponsor-type branch routing (financial-institution vs corporate/event), conditional fields, and the max-four shared outcomes layer.Learn more
- NewFounder & Coach Post-Session Captures are now the live instrument in the founder and mentor dashboards, replacing the interim generic prompt. Founder re-rates the six rubric dimensions (1–4); coach rates the founder (1–5) with per-dimension notes. Responses are kept as independent per-session records.Learn more
- NewGap-detection agent: after both the founder and coach submit for a session, the per-dimension coach−founder delta is computed and any dimension with a gap of two or more is flagged for Admin review.Learn more
- NewFeedback export assembly: Admin-only row-level CSV plus a short cohort rollup (widest average gaps, open flag count, commitment-met rate) for the May 29 and June 5 sends.Learn more
- ImprovedAll three canonical diagnostics now run as the same validated multi-section flow; persistence remains the provisional questionnaire envelope pending the Companion Update native data model, with the full canonical records carried for that migration.Learn more
v1.4.05.5 release: canonical docs & plain-language guides
2026-05-18- ImprovedDocumentation finalized against Mike’s canonical Summerfest specs and simplified for the 5.5 release; Summerfest terminology (Coach, not Mentor) applied throughout.Learn more
- NewAdded plain-language per-role guides for Founders, Coaches, and Community Partners.Learn more
- ImprovedPost-Session Capture documentation aligned to the canonical Founder (light reflection + six rubric re-ratings) and Coach (four-section A–D) specs. Documentation only — the canonical captures and their Relationship Card array storage are not yet implemented; the interim generic prompt still runs.Learn more
- NewFounder Diagnostic built natively: the five-section canonical instrument now runs in the founder claim flow, with pathway tier and bottleneck computed from the six rubric scores.Learn more
- ImprovedDiagnostics documentation covers the canonical Founder (built), Coach, and Community Partner (specified, not yet in-system) question sets. The six-to-eight mapping follows the canonical per-dimension internal mappings; the Companion Update was delivered 2026-05-18 and is now the authoritative data-model and agent-logic source.Learn more
v1.3.0Summerfest sprint: canonical rubric, contextual help
2026-05-17- ImprovedSignal Matrix now uses the canonical six-to-eight rubric mapping (Opportunity, Team, and Q&A Readiness corrected).Learn more
- ImprovedDiscovery Notes "Source Context" renamed to "Session Context" and limited to Pitch for Summerfest.Learn more
- FixedSelected controls (e.g. the invite role picker) now show a clear neutral ring instead of reverting to the base tone.Learn more
- NewAdded a phone number field to Settings, used for session alerts and reminders.Learn more
- NewAdded this Documentation site and the Releases page, with contextual help buttons across the app.Learn more
v1.2.0Feedback-driven UI polish
2026-05-16- ImprovedControl Room count tiles: hover adds a drop shadow only; selected shows a clean outline instead of recoloring the tile.Learn more
- FixedSidebar collapse handle is flush to the bar edge with no drop shadow in any state.Learn more
- ImprovedRelationship Card Signal Matrix renders the six Summerfest rubric axes in neutral greyscale.Learn more
v1.1.0Feedback capture & admin AI helper
2026-05-13- NewIn-app Feedback Capture: action recording, element tagging, and annotated screenshots.Learn more
- NewAdmin AI Helper with targeted undo.Learn more
v1.0.0Summerfest pilot baseline
2026-05-02- NewRole-scoped workspaces, invites and claim flow, Relationship Cards, Discovery Notes, and the Signal Matrix.Learn more