Pivot/onboarding web#9
Closed
shirlsgaw wants to merge 5 commits into
Closed
Conversation
Pivot per PIVOT-PLAN.md. Static, no build step, no deps — deployable to Vercel as-is. Auth/Postgres/Notion sync deliberately deferred. - index.html: welcome + progressive-disclosure checklist - docs.html: the thesis — read doc, take quiz, receipt goes stale when the doc's version hash changes, app names what changed - people.html: tier 1 (chapter leads, office-hours) vs tier 2 (chaptermates, no scheduling); honest location rendering, empty-chapter state Real employee data and Notion doc content are gitignored — this repo is public. Co-Authored-By: Claude <noreply@anthropic.com>
middleware.js copied from sgaw-playground employee-directory. Two changes: - ALLOWED_DOMAIN -> ALLOWED_DOMAINS set (fractional.ai + ode.com, env- overridable). ode.com is the website, not the Workspace domain; swapping rather than adding would lock out the whole company. - Rebranded the sign-in page to Ode: light palette, bracket mark, welcoming copy. It's the first thing a new hire sees. Gates on a Google account rather than a Vercel seat, so employees and new hires can actually get in. chapter.html implements the "Know Your Chapter (self-updating via Memory tool)" Notion spec: before/after quiz diff across a memory update, curator lanes by volatility, retired facts struck through. Agent/Memory/Slack ingest are mocked client-side and labeled as such in the UI. Co-Authored-By: Claude <noreply@anthropic.com>
index.html had no outbound links, so docs/people/chapter/whoisthis were deployed but unreachable. The checklist doubles as the nav. Co-Authored-By: Claude <noreply@anthropic.com>
The bracket glyph was my invention, not Ode's mark. Pulled the real assets from ode.com's live Webflow stylesheet instead: - Real wordmark SVG lifted from the site nav, inlined so fill="currentColor" picks up page color (an <img> would render it black in both themes). - Real favicon. - Real tokens, not guesses: bone #fbfbf8, cola #3c2e2a (warm brown, not the neutral grey I had), dove #625855, tomato #cd3e1d accent, tea/lilac washes. - Ode's mono eyebrow style (.6875rem, .1em tracking) on micro-labels and their button spec -- this is what makes it read as Ode. - Subtle tea/lilac radial wash background. ABC Diatype is commercially licensed: named first in the stack so it renders for anyone with it installed, never bundled or hotlinked. Dark palette is derived -- Ode publishes none. Also fixes the middleware matcher, which would have 401'd /favicon.png and left the login page iconless. whoisthis.html got the same treatment but stays untracked (real employee data, public repo). It is deployed -- Vercel uploads from disk, not git. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
ykam
added a commit
to shirlsgaw/institutional-memory
that referenced
this pull request
Jul 17, 2026
Adds the Eng 1 plan for the Build-Spec-aligned hackathon build, keeps the real-ops PM onboarding spec parked alongside it, and commits the audit doc (data-and-sessions.md) which was never tracked. Pair locked: round1 = Product Manager ToolKit page, round2 = the Tools & Technologies masterlist it claims to be "pulled live from". The page's Core PM Stack names Claude and Granola; the masterlist contains no row for either, and names GitHub and Deck/Presentation Builder instead. Nothing marks the disagreement. 100% real data, no synthesis. Ruled out with evidence, not opinion: - Deep Atlas: the FDPM Training Materials DB is 16 rows with zero mentions of Deep Atlas or Anthropic Skilljar. The sets are disjoint, so the engineering-curriculum contradiction cannot appear in a PM's doc. - Engineer persona: no row in the masterlist carries an Engineering Labels value, so an engineer's tool checklist renders empty. - Synthesized tier change: one tools DB (339dd50d is a view over the same collection, not a duplicate), no page history via MCP, and every row added since 2026-06-08 is untiered so a createdTime-reconstructed round 1 yields a zero delta. Shirley's UI (PR rosscrooke#9 pivot/onboarding-web) integrates via a single file: docs.html already fetches seed-content.json, and web/public/.gitignore lists it as a generated artifact. Her copy already promises the delta ("when something changes, we'll tell you"; "What changed since you read it"). We emit the file; we do not touch her HTML. Documents the silent-failure landmines in her normalize(): a doc with an empty body or <2 valid quiz questions is dropped, and if every doc fails the UI boots PLACEHOLDER with no error - the demo dies looking like it worked. Corrections recorded: the 401 is Shirley's own Google SSO middleware, not Vercel deployment protection (the Vercel MCP would not have unblocked it); "Ode" is resolved as the org/public brand vs the fractional.ai Workspace domain; Alexandra is confirmed as Chapter 2 FDPM Lead. Co-Authored-By: Claude <noreply@anthropic.com>
ykam
added a commit
to shirlsgaw/institutional-memory
that referenced
this pull request
Jul 17, 2026
Separate plan for the one deliverable her UI needs from us. Contract reverse-engineered from normalize()/normalizeDelta() in docs.html. Confirmed: there is exactly ONE socket. Every fetch() in PR rosscrooke#9 is either seed-content.json or Google's JWKS in middleware. people.html and chapter.html are hardcoded, so wiring them means editing her HTML - out of scope while her PR is open. web/public/.gitignore lists seed-content.json, so it is a generated artifact by design: she built the socket and left it for a producer. Documents the staleness mechanic, which is version-driven: a receipt stores the version read (localStorage only, no server), and liveVersion != receipt fires "Something you read has changed" plus our delta. So round 2 must reuse the same id with a NEW version and a populated delta, or the delta never renders and there is no demo. Two landmines recorded: - normalize() discards silently: a doc with an empty body or <2 valid quiz questions is dropped, and if every doc fails the UI boots PLACEHOLDER with no error. The src-label string is the canary and must read "Docs". - bumps persist in localStorage. Once admin clicks "Simulate push", liveVersion returns the bump forever and ignores our regenerated file - same class of bug as the missing memory-store reset. Best find: her simulate-push fallback text says "In the real system this list comes from the supersession delta captured at edit time." We are the real system. Supply a delta and her UI renders ours instead of that apology. Also corrects the record: the 401 is her own Google SSO middleware, not Vercel deployment protection, so no MCP connector defeats it. Test locally against web/public/ without the middleware. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.