[{"data":1,"prerenderedAt":1139},["ShallowReactive",2],{"$fJ23oc6jl3jALkloUqdKDJA6GWfM3cgXqaMdS4h6WtlE":3},{"newThing":4,"project":5,"cycle":8,"sections":21,"threads":1128,"otherDocs":1129,"documents":1132,"images":1136,"archiveItems":1137,"links":1138},null,{"id":6,"label":7,"liveBase":4},"market-analyst","Market Analyst",{"id":9,"num":10,"dir":11,"name":12,"title":13,"focus":14,"status":15,"statusNote":4,"created":16,"completed":4,"mode":4,"report":4,"recordless":17,"thumbnail":4,"imageCount":18,"artifactCount":19,"lastActivity":16,"hasPickup":17,"hasInitialPrompt":20},"c11",11,"c11.conversation-profiles","conversation-profiles","Conversation Profiles","Declare the nature of each conversation at triage (source type × call type), tag every observation with the speaker's perspective (first-hand \u002F relayed \u002F internal), enforce evidence ceilings and a code-computed validation gate, extract session records (decisions \u002F todos \u002F ideas) from working sessions, and formalize the conversations → insights → brief hand-off into the design machine.","active","2026-09-03",false,0,2,true,[22,86,242,488,1118],{"key":23,"title":24,"empty":17,"ast":25},"why","Why",{"type":26,"children":27},"root",[28,69,81],{"type":29,"tag":30,"props":31,"children":32},"element","p",{},[33,36,43,45,51,53,59,61,67],{"type":34,"value":35},"text","The latest two calls—Aug 31 Mark Peterson (fractional advisor, product feedback + scoping) and Sep 2 AMZ (CISO-in-Residence, all-Qpoint attendees)—are team-perspective meetings, but the pipeline has no way to declare this. Triage is a binary ",{"type":29,"tag":37,"props":38,"children":40},"code",{"className":39},[],[41],{"type":34,"value":42},"external: true|false",{"type":34,"value":44}," (skip or extract), ",{"type":29,"tag":37,"props":46,"children":48},{"className":47},[],[49],{"type":34,"value":50},"sourceType",{"type":34,"value":52}," is resolved ",{"type":29,"tag":54,"props":55,"children":56},"em",{},[57],{"type":34,"value":58},"after",{"type":34,"value":60}," extraction from metadata, and no field tags whether a speaker is internal, first-hand prospect, or secondhand relay. This created a blunder in the Aug 20 AMZ + Sam Curry call: 12 of 21 observations were attributed to Qpoint speakers, yet both Mark Peterson calls scored 5\u002F5 interest with ",{"type":29,"tag":37,"props":62,"children":64},{"className":63},[],[65],{"type":34,"value":66},"validates",{"type":34,"value":68}," evidence—team conviction read as customer validation.",{"type":29,"tag":30,"props":70,"children":71},{},[72,74,79],{"type":34,"value":73},"c8 already set the principle: ",{"type":29,"tag":54,"props":75,"children":76},{},[77],{"type":34,"value":78},"source type says who's talking; evidence kind says what the evidence is.",{"type":34,"value":80}," c11 enforces it with three small concessions: a two-field triage (sourceType + callType), a perspective tag on every observation (internal \u002F first-hand \u002F relayed), and a code-computed validation gate that rejects evidence above the profile's ceiling or tagged with a perspective that can't validate. Working sessions also produce artifacts today (decisions, todos, tabled ideas) that are invisible—extracting these as session records unblocks a Direction tab and cross-call rollup for the team.",{"type":29,"tag":30,"props":82,"children":83},{},[84],{"type":34,"value":85},"Mark's steer: be explicit about the nature of the meeting and keep it simple. Small concessions only where they yield the truest analysis.",{"key":87,"title":88,"empty":17,"ast":89},"objective","Objective",{"type":26,"children":90},[91,96],{"type":29,"tag":30,"props":92,"children":93},{},[94],{"type":34,"value":95},"Done means:",{"type":29,"tag":97,"props":98,"children":99},"ol",{},[100,160,195,200,229],{"type":29,"tag":101,"props":102,"children":103},"li",{},[104,106],{"type":34,"value":105},"The two trigger calls are in the dashboard:",{"type":29,"tag":107,"props":108,"children":109},"ul",{},[110,139],{"type":29,"tag":101,"props":111,"children":112},{},[113,115,121,123,129,131,137],{"type":34,"value":114},"AMZ Sep 2 call: ",{"type":29,"tag":37,"props":116,"children":118},{"className":117},[],[119],{"type":34,"value":120},"sourceType: internal",{"type":34,"value":122},", every observation ",{"type":29,"tag":37,"props":124,"children":126},{"className":125},[],[127],{"type":34,"value":128},"perspective: internal",{"type":34,"value":130},", no interest\u002Ffunnel fields, ",{"type":29,"tag":37,"props":132,"children":134},{"className":133},[],[135],{"type":34,"value":136},"session",{"type":34,"value":138}," record present, flagged with an internal badge.",{"type":29,"tag":101,"props":140,"children":141},{},[142,144,150,152,158],{"type":34,"value":143},"Mark Peterson Aug 31 call: ",{"type":29,"tag":37,"props":145,"children":147},{"className":146},[],[148],{"type":34,"value":149},"sourceType: ciso-advisory",{"type":34,"value":151},", ",{"type":29,"tag":37,"props":153,"children":155},{"className":154},[],[156],{"type":34,"value":157},"callType: roadmap-planning",{"type":34,"value":159},", observations perspective-tagged, session record with decisions \u002F todos \u002F parked ideas.",{"type":29,"tag":101,"props":161,"children":162},{},[163,165,171,173,178,180,186,187,193],{"type":34,"value":164},"Use-case validation is computed from ",{"type":29,"tag":37,"props":166,"children":168},{"className":167},[],[169],{"type":34,"value":170},"goals.md",{"type":34,"value":172},"'s rule (≥2 distinct companies with ",{"type":29,"tag":37,"props":174,"children":176},{"className":175},[],[177],{"type":34,"value":66},{"type":34,"value":179}," + ",{"type":29,"tag":37,"props":181,"children":183},{"className":182},[],[184],{"type":34,"value":185},"usage-based",{"type":34,"value":179},{"type":29,"tag":37,"props":188,"children":190},{"className":189},[],[191],{"type":34,"value":192},"first-hand",{"type":34,"value":194}," from a non-internal source), enforced in code, and shown on use-case cards with reasons for why a use case is unvalidated (missing second company, missing usage evidence, perspective issue).",{"type":29,"tag":101,"props":196,"children":197},{},[198],{"type":34,"value":199},"The corpus (4 calls) is re-extracted under the new profiles, no observations dropped, schema validates cleanly.",{"type":29,"tag":101,"props":201,"children":202},{},[203,205,211,213,219,221,227],{"type":34,"value":204},"Briefs infrastructure is in place: ",{"type":29,"tag":37,"props":206,"children":208},{"className":207},[],[209],{"type":34,"value":210},"market-analyst\u002Fbriefs\u002F",{"type":34,"value":212}," has a template with a required ",{"type":29,"tag":37,"props":214,"children":216},{"className":215},[],[217],{"type":34,"value":218},"## Source",{"type":34,"value":220}," block (call ids, observation\u002Fsession item refs, sourceType + perspective + evidenceKind visible) and a ",{"type":29,"tag":37,"props":222,"children":224},{"className":223},[],[225],{"type":34,"value":226},"briefs\u002FINDEX.md",{"type":34,"value":228}," entry index.",{"type":29,"tag":101,"props":230,"children":231},{},[232,234,240],{"type":34,"value":233},"Design-machine hand-off is formalized: ",{"type":29,"tag":37,"props":235,"children":237},{"className":236},[],[238],{"type":34,"value":239},"..\u002Fdesign\u002Fbrand\u002Fpipeline.md",{"type":34,"value":241}," documents the seven stages (artifact, owner repo, location, status field) with one worked example (c21 inventory from Aug 31 Mark Peterson), and bilateral pointers connect market-analyst's brief output to bob-wire's brief-writer input.",{"key":243,"title":244,"empty":17,"ast":245},"scope","Scope",{"type":26,"children":246},[247,256,454,462],{"type":29,"tag":30,"props":248,"children":249},{},[250],{"type":29,"tag":251,"props":252,"children":253},"strong",{},[254],{"type":34,"value":255},"Threads:",{"type":29,"tag":107,"props":257,"children":258},{},[259,321,347,408],{"type":29,"tag":101,"props":260,"children":261},{},[262,267,269,275,276,282,284,290,291,297,298,304,306,312,314,319],{"type":29,"tag":251,"props":263,"children":264},{},[265],{"type":34,"value":266},"T1 — Profile + perspective + session record; pilot on the two calls.",{"type":34,"value":268}," Vocabularies (",{"type":29,"tag":37,"props":270,"children":272},{"className":271},[],[273],{"type":34,"value":274},"PERSPECTIVES",{"type":34,"value":151},{"type":29,"tag":37,"props":277,"children":279},{"className":278},[],[280],{"type":34,"value":281},"CONVERSATION_PROFILES",{"type":34,"value":283},"), schema extensions (",{"type":29,"tag":37,"props":285,"children":287},{"className":286},[],[288],{"type":34,"value":289},"Observation.perspective",{"type":34,"value":151},{"type":29,"tag":37,"props":292,"children":294},{"className":293},[],[295],{"type":34,"value":296},"CallData.profile",{"type":34,"value":151},{"type":29,"tag":37,"props":299,"children":301},{"className":300},[],[302],{"type":34,"value":303},"CallData.session",{"type":34,"value":305},"), triage enhancements (sourceType + callType with derived defaults), extraction prompt (profile-specific guidance table, perspective definition, session-record section), pipeline plumbing (profile stamp, precedence in build-index), validation rules (speaker → ",{"type":29,"tag":37,"props":307,"children":309},{"className":308},[],[310],{"type":34,"value":311},"internal",{"type":34,"value":313},", evidence ceiling + perspective downgrade), baseline measurement (Qpoint-speaker leakage per call, ",{"type":29,"tag":37,"props":315,"children":317},{"className":316},[],[318],{"type":34,"value":66},{"type":34,"value":320}," items by sourceType, gate result on today's data).",{"type":29,"tag":101,"props":322,"children":323},{},[324,329,331,337,339,345],{"type":29,"tag":251,"props":325,"children":326},{},[327],{"type":34,"value":328},"T2 — Gate + site.",{"type":34,"value":330}," ",{"type":29,"tag":37,"props":332,"children":334},{"className":333},[],[335],{"type":34,"value":336},"analyze.ts",{"type":34,"value":338}," function (",{"type":29,"tag":37,"props":340,"children":342},{"className":341},[],[343],{"type":34,"value":344},"computeValidation",{"type":34,"value":346},"), prompt update (told the status, model narrates), site rendering (perspective pills, sourceType + perspective filters, internal\u002Fadvisory excluded from KPIs, use-case gate status + reasons, Direction section, session tab).",{"type":29,"tag":101,"props":348,"children":349},{},[350,355,357,363,364,370,371,377,379,385,387,393,394,400,401,406],{"type":29,"tag":251,"props":351,"children":352},{},[353],{"type":34,"value":354},"T3 — Re-extract corpus (5 calls) + docs.",{"type":34,"value":356}," Run ",{"type":29,"tag":37,"props":358,"children":360},{"className":359},[],[361],{"type":34,"value":362},"npm run extract --force",{"type":34,"value":151},{"type":29,"tag":37,"props":365,"children":367},{"className":366},[],[368],{"type":34,"value":369},"npm run index",{"type":34,"value":151},{"type":29,"tag":37,"props":372,"children":374},{"className":373},[],[375],{"type":34,"value":376},"npm run analyze",{"type":34,"value":378},". Update ",{"type":29,"tag":37,"props":380,"children":382},{"className":381},[],[383],{"type":34,"value":384},"README.md",{"type":34,"value":386}," \"How to Interpret\", ",{"type":29,"tag":37,"props":388,"children":390},{"className":389},[],[391],{"type":34,"value":392},"CLAUDE.md",{"type":34,"value":151},{"type":29,"tag":37,"props":395,"children":397},{"className":396},[],[398],{"type":34,"value":399},".claude\u002Fskills\u002Fextract\u002FSKILL.md",{"type":34,"value":151},{"type":29,"tag":37,"props":402,"children":404},{"className":403},[],[405],{"type":34,"value":170},{"type":34,"value":407},". Close c8's \"Mark M tag\" item.",{"type":29,"tag":101,"props":409,"children":410},{},[411,416,417,423,425,430,431,437,439,444,446,452],{"type":29,"tag":251,"props":412,"children":413},{},[414],{"type":34,"value":415},"T4 — Design-machine hand-off (lean).",{"type":34,"value":330},{"type":29,"tag":37,"props":418,"children":420},{"className":419},[],[421],{"type":34,"value":422},"market-analyst\u002Fbriefs\u002Ftemplate.md",{"type":34,"value":424}," with required Source block, ",{"type":29,"tag":37,"props":426,"children":428},{"className":427},[],[429],{"type":34,"value":226},{"type":34,"value":151},{"type":29,"tag":37,"props":432,"children":434},{"className":433},[],[435],{"type":34,"value":436},"design\u002Fbrand\u002Fpipeline.md",{"type":34,"value":438}," (7-stage table + worked example), bilateral pointers in ",{"type":29,"tag":37,"props":440,"children":442},{"className":441},[],[443],{"type":34,"value":392},{"type":34,"value":445}," Sister Projects and ",{"type":29,"tag":37,"props":447,"children":449},{"className":448},[],[450],{"type":34,"value":451},"bob-wire\u002F.claude\u002Fagents\u002Fbrief-writer.md",{"type":34,"value":453},".",{"type":29,"tag":30,"props":455,"children":456},{},[457],{"type":29,"tag":251,"props":458,"children":459},{},[460],{"type":34,"value":461},"Out of scope:",{"type":29,"tag":107,"props":463,"children":464},{},[465,470,475],{"type":29,"tag":101,"props":466,"children":467},{},[468],{"type":34,"value":469},"The 13 other new Avoma calls (Cam syncs, Tyler 1:1s, recruiting screens, Uncork monthly) — deferred to next fetch run.",{"type":29,"tag":101,"props":471,"children":472},{},[473],{"type":34,"value":474},"c3 OAuth (blocked on design-repo GA decision).",{"type":29,"tag":101,"props":476,"children":477},{},[478,480,486],{"type":34,"value":479},"Design-repo stages 5–7: graduation rule, refinement\u002Fruling record + status field on page-registry.ts, ",{"type":29,"tag":37,"props":481,"children":483},{"className":482},[],[484],{"type":34,"value":485},"## Ship",{"type":34,"value":487}," convention, qcontrol in Sister Projects \u002F buildCycles.ts, back-link from shipped work to brief ids — noted as follow-ups for a design-repo cycle.",{"key":489,"title":490,"empty":17,"ast":491},"key-changes","Key Changes",{"type":26,"children":492},[493],{"type":29,"tag":107,"props":494,"children":495},{},[496,575,748,822,928,1019],{"type":29,"tag":101,"props":497,"children":498},{},[499,504,506,512,514,520,522,528,530,536,538,544,546,551,553,559,561,566,568,573],{"type":29,"tag":251,"props":500,"children":501},{},[502],{"type":34,"value":503},"2026-09-03 — Kick-off:",{"type":34,"value":505}," Fetched the Sep 2 AMZ call (",{"type":29,"tag":37,"props":507,"children":509},{"className":508},[],[510],{"type":34,"value":511},"6fe4a00b-85a1-40b6-8b1b-c17d3706bc08",{"type":34,"value":513},", 91 min, all-Qpoint attendees) into ",{"type":29,"tag":37,"props":515,"children":517},{"className":516},[],[518],{"type":34,"value":519},"data\u002Fraw\u002F",{"type":34,"value":521}," via ",{"type":29,"tag":37,"props":523,"children":525},{"className":524},[],[526],{"type":34,"value":527},"npm run fetch -- --uuid 6fe4a00b-…",{"type":34,"value":529}," without extracting. Confirmed the Aug 31 Mark Peterson call (",{"type":29,"tag":37,"props":531,"children":533},{"className":532},[],[534],{"type":34,"value":535},"38075ead-…",{"type":34,"value":537},", \"Mark | Qpoint Dashboard + Reporting\") already in corpus as ",{"type":29,"tag":37,"props":539,"children":541},{"className":540},[],[542],{"type":34,"value":543},"ciso-advisory",{"type":34,"value":545},". Baseline measurement: both Mark Peterson calls (interest 5\u002F5, ",{"type":29,"tag":37,"props":547,"children":549},{"className":548},[],[550],{"type":34,"value":66},{"type":34,"value":552}," \u002F ",{"type":29,"tag":37,"props":554,"children":556},{"className":555},[],[557],{"type":34,"value":558},"reaction-based",{"type":34,"value":560}," evidence despite advisor status); Aug 20 AMZ + Sam Curry call (21 observations, 12 attributed to Qpoint speakers—the Guideline 1 blunder); 0 of 7 use cases would pass the validation gate today. Decision confirmed: Mark Peterson stays ",{"type":29,"tag":37,"props":562,"children":564},{"className":563},[],[565],{"type":34,"value":543},{"type":34,"value":567}," (product advisor under his own firm's identity); perspective tagging + declared callType prevent his conviction from reading as customer validation. Pipeline map lives in ",{"type":29,"tag":37,"props":569,"children":571},{"className":570},[],[572],{"type":34,"value":239},{"type":34,"value":574}," with clear references from this repo's docs. No stopgap extraction of the AMZ call under the current prompt—extract only as T1 pilot.",{"type":29,"tag":101,"props":576,"children":577},{},[578,583,585,591,593,599,601,607,609,615,617,623,625,630,631,636,638,644,645,650,651,656,657,662,663,669,670,676,678,684,686,692,694,699,701,707,709,715,717,722,724,730,732,738,740,746],{"type":29,"tag":251,"props":579,"children":580},{},[581],{"type":34,"value":582},"2026-09-03 — T1 profile + perspective + session record:",{"type":34,"value":584}," Triage now declares ",{"type":29,"tag":37,"props":586,"children":588},{"className":587},[],[589],{"type":34,"value":590},"sourceType × callType",{"type":34,"value":592}," with registry-derived defaults (",{"type":29,"tag":37,"props":594,"children":596},{"className":595},[],[597],{"type":34,"value":598},"pipeline\u002Fextract.ts",{"type":34,"value":600},", shared loader ",{"type":29,"tag":37,"props":602,"children":604},{"className":603},[],[605],{"type":34,"value":606},"pipeline\u002Fclassifications.ts",{"type":34,"value":608},"; ",{"type":29,"tag":37,"props":610,"children":612},{"className":611},[],[613],{"type":34,"value":614},"data\u002Fcall-classifications.json",{"type":34,"value":616}," migrated from the ",{"type":29,"tag":37,"props":618,"children":620},{"className":619},[],[621],{"type":34,"value":622},"external",{"type":34,"value":624}," boolean). ",{"type":29,"tag":37,"props":626,"children":628},{"className":627},[],[629],{"type":34,"value":281},{"type":34,"value":179},{"type":29,"tag":37,"props":632,"children":634},{"className":633},[],[635],{"type":34,"value":274},{"type":34,"value":637}," in ",{"type":29,"tag":37,"props":639,"children":641},{"className":640},[],[642],{"type":34,"value":643},"schemas\u002Fvocabularies.ts",{"type":34,"value":608},{"type":29,"tag":37,"props":646,"children":648},{"className":647},[],[649],{"type":34,"value":289},{"type":34,"value":151},{"type":29,"tag":37,"props":652,"children":654},{"className":653},[],[655],{"type":34,"value":296},{"type":34,"value":151},{"type":29,"tag":37,"props":658,"children":660},{"className":659},[],[661],{"type":34,"value":303},{"type":34,"value":151},{"type":29,"tag":37,"props":664,"children":666},{"className":665},[],[667],{"type":34,"value":668},"Classification.observedCallType",{"type":34,"value":637},{"type":29,"tag":37,"props":671,"children":673},{"className":672},[],[674],{"type":34,"value":675},"schemas\u002Fcall.ts",{"type":34,"value":677},"; prompt gains a profile table (static, cached) and a per-call \"This Conversation\" block (dynamic); ",{"type":29,"tag":37,"props":679,"children":681},{"className":680},[],[682],{"type":34,"value":683},"pipeline\u002Ffinalize.ts",{"type":34,"value":685}," stamps the profile and runs the two deterministic rules in ",{"type":29,"tag":37,"props":687,"children":689},{"className":688},[],[690],{"type":34,"value":691},"schemas\u002Fvalidation.ts",{"type":34,"value":693}," (Qpoint speaker ⇒ ",{"type":29,"tag":37,"props":695,"children":697},{"className":696},[],[698],{"type":34,"value":311},{"type":34,"value":700},"; evidence above the ceiling or not first-hand ⇒ downgraded). ",{"type":29,"tag":37,"props":702,"children":704},{"className":703},[],[705],{"type":34,"value":706},"build-index.ts",{"type":34,"value":708}," precedence: declared → person override → company → all-Qpoint ⇒ internal → prospect, with disagreement warnings. Pilot: AMZ Sep 2 (",{"type":29,"tag":37,"props":710,"children":712},{"className":711},[],[713],{"type":34,"value":714},"internal × working-session",{"type":34,"value":716},") → 21 observations all ",{"type":29,"tag":37,"props":718,"children":720},{"className":719},[],[721],{"type":34,"value":311},{"type":34,"value":723}," (4 auto-corrected from ",{"type":29,"tag":37,"props":725,"children":727},{"className":726},[],[728],{"type":34,"value":729},"relayed",{"type":34,"value":731},"), no interest\u002Ffunnel, company null, session 5 decisions \u002F 6 todos \u002F 4 ideas. Mark Peterson Aug 31 (",{"type":29,"tag":37,"props":733,"children":735},{"className":734},[],[736],{"type":34,"value":737},"ciso-advisory × roadmap-planning",{"type":34,"value":739},") → 16 observations (10 first-hand, 2 relayed, 4 internal — Tyler's forced), \"CISO-board consensus\" evidence downgraded to ",{"type":29,"tag":37,"props":741,"children":743},{"className":742},[],[744],{"type":34,"value":745},"speculative",{"type":34,"value":747},", interest 4\u002F5 as conviction, session 6 decisions \u002F 4 todos \u002F 4 ideas (visibility-first decision, spec todo, gamified-rollout and auto-docs ideas parked). Prompt cache held across the two profiles (10.4K tokens read on call 2).",{"type":29,"tag":101,"props":749,"children":750},{},[751,756,757,763,764,770,772,777,778,783,784,789,791,797,799,805,806,812,814,820],{"type":29,"tag":251,"props":752,"children":753},{},[754],{"type":34,"value":755},"2026-09-03 — T2 gate + site:",{"type":34,"value":330},{"type":29,"tag":37,"props":758,"children":760},{"className":759},[],[761],{"type":34,"value":762},"schemas\u002Fvalidation-gate.ts",{"type":34,"value":330},{"type":29,"tag":37,"props":765,"children":767},{"className":766},[],[768],{"type":34,"value":769},"computeValidation()",{"type":34,"value":771}," (≥2 companies with ",{"type":29,"tag":37,"props":773,"children":775},{"className":774},[],[776],{"type":34,"value":66},{"type":34,"value":179},{"type":29,"tag":37,"props":779,"children":781},{"className":780},[],[782],{"type":34,"value":185},{"type":34,"value":179},{"type":29,"tag":37,"props":785,"children":787},{"className":786},[],[788],{"type":34,"value":192},{"type":34,"value":790},", non-internal) used by ",{"type":29,"tag":37,"props":792,"children":794},{"className":793},[],[795],{"type":34,"value":796},"pipeline\u002Fanalyze.ts",{"type":34,"value":798}," Map A (written as ",{"type":29,"tag":37,"props":800,"children":802},{"className":801},[],[803],{"type":34,"value":804},"validation",{"type":34,"value":179},{"type":29,"tag":37,"props":807,"children":809},{"className":808},[],[810],{"type":34,"value":811},"perspectiveBalance",{"type":34,"value":813},"; the use-case prompt is told the status and may not override it; Map B keeps evidence qualifiers and the session record) and by the site (",{"type":29,"tag":37,"props":815,"children":817},{"className":816},[],[818],{"type":34,"value":819},"useCallData.ts",{"type":34,"value":821}," use-case rollup). Site: perspective pills + filter, declared-vs-observed call type, session record on the call page, Direction section (open \u002F decided \u002F tabled, todos by owner, parked ideas) and gate status with reasons on use-case cards; interest KPIs count prospects and build partners only.",{"type":29,"tag":101,"props":823,"children":824},{},[825,830,832,837,839,844,846,852,854,860,862,868,870,876,878,883,885,890,891,897,899,904,906,912,913,919,921,926],{"type":29,"tag":251,"props":826,"children":827},{},[828],{"type":34,"value":829},"2026-09-03 — T3\u002FT4 docs + hand-off:",{"type":34,"value":831}," README \"How to Interpret\" (declared profile, perspective, computed validation, session records), ",{"type":29,"tag":37,"props":833,"children":835},{"className":834},[],[836],{"type":34,"value":392},{"type":34,"value":838}," (architecture, data flow, schema, Sister Projects operating model: design is the driver, this repo turns conversations into insights and briefs), ",{"type":29,"tag":37,"props":840,"children":842},{"className":841},[],[843],{"type":34,"value":170},{"type":34,"value":845}," (rule now enforced in code), ",{"type":29,"tag":37,"props":847,"children":849},{"className":848},[],[850],{"type":34,"value":851},"\u002Fextract",{"type":34,"value":853}," and ",{"type":29,"tag":37,"props":855,"children":857},{"className":856},[],[858],{"type":34,"value":859},"\u002Fanalyze",{"type":34,"value":861}," skills, new ",{"type":29,"tag":37,"props":863,"children":865},{"className":864},[],[866],{"type":34,"value":867},"\u002Fbrief",{"type":34,"value":869}," skill. ",{"type":29,"tag":37,"props":871,"children":873},{"className":872},[],[874],{"type":34,"value":875},"briefs\u002FTEMPLATE.md",{"type":34,"value":877}," (required ",{"type":29,"tag":37,"props":879,"children":881},{"className":880},[],[882],{"type":34,"value":218},{"type":34,"value":884}," block) + ",{"type":29,"tag":37,"props":886,"children":888},{"className":887},[],[889],{"type":34,"value":226},{"type":34,"value":608},{"type":29,"tag":37,"props":892,"children":894},{"className":893},[],[895],{"type":34,"value":896},"cam-dashboard-directives.md",{"type":34,"value":898}," retrofitted with its phase-1 Cisco call ids. ",{"type":29,"tag":37,"props":900,"children":902},{"className":901},[],[903],{"type":34,"value":239},{"type":34,"value":905}," (seven stages, owners, artifacts, the c21 worked example, follow-ups for stages 5–7) + pointer in ",{"type":29,"tag":37,"props":907,"children":909},{"className":908},[],[910],{"type":34,"value":911},"..\u002Fdesign\u002FCLAUDE.md",{"type":34,"value":608},{"type":29,"tag":37,"props":914,"children":916},{"className":915},[],[917],{"type":34,"value":918},"..\u002Fbob-wire\u002F.claude\u002Fagents\u002Fbrief-writer.md",{"type":34,"value":920}," now reads ",{"type":29,"tag":37,"props":922,"children":924},{"className":923},[],[925],{"type":34,"value":226},{"type":34,"value":927}," first and carries a Source block. Design and bob-wire edits left uncommitted in their repos (both had work in progress).",{"type":29,"tag":101,"props":929,"children":930},{},[931,936,938,943,945,950,952,958,960,966,968,974,976,981,983,989,991,996,997,1002,1004,1010,1012,1017],{"type":29,"tag":251,"props":932,"children":933},{},[934],{"type":34,"value":935},"2026-09-03 — T3 corpus re-extracted + analysis:",{"type":34,"value":937}," All 5 calls now carry declared profiles and perspective: Tiled (prospect × demo) 20 first-hand \u002F 3 internal; Moto Aug 20 (ciso-advisory × advisor-input) 20 \u002F 3 relayed \u002F 2 internal, session 5\u002F4\u002F5; Mark Peterson Aug 31 10 \u002F 2 \u002F 4, session 6\u002F4\u002F4; AMZ Sep 2 (internal × working-session) 21 internal, session 5\u002F6\u002F4; AMZ + Curry Aug 20 (prospect × demo) 18 first-hand \u002F 7 internal — the 12\u002F21 leakage is now labelled rather than counted. Rules downgraded 4 internal-perspective ",{"type":29,"tag":37,"props":939,"children":941},{"className":940},[],[942],{"type":34,"value":558},{"type":34,"value":944}," items to ",{"type":29,"tag":37,"props":946,"children":948},{"className":947},[],[949],{"type":34,"value":745},{"type":34,"value":951},". Registry pattern for Mark Peterson loosened (",{"type":29,"tag":37,"props":953,"children":955},{"className":954},[],[956],{"type":34,"value":957},"\\b",{"type":34,"value":959},", not ",{"type":29,"tag":37,"props":961,"children":963},{"className":962},[],[964],{"type":34,"value":965},"$",{"type":34,"value":967},") because the extractor renders him \"Mark Peterson (Mark M)\". ",{"type":29,"tag":37,"props":969,"children":971},{"className":970},[],[972],{"type":34,"value":973},"npm run analyze -- --force",{"type":34,"value":975},": gate result ",{"type":29,"tag":251,"props":977,"children":978},{},[979],{"type":34,"value":980},"0 of 7 validated",{"type":34,"value":982}," with reasons written per use case (",{"type":29,"tag":37,"props":984,"children":986},{"className":985},[],[987],{"type":34,"value":988},"data\u002Fanalysis\u002Fuse-cases\u002F*.json",{"type":34,"value":990}," → ",{"type":29,"tag":37,"props":992,"children":994},{"className":993},[],[995],{"type":34,"value":804},{"type":34,"value":151},{"type":29,"tag":37,"props":998,"children":1000},{"className":999},[],[1001],{"type":34,"value":811},{"type":34,"value":1003},"); the Opus overview keeps agent-inventory \"strengthening but formally unvalidated\" and tells the team to stop counting heartbeat\u002FFinOps as validated internally. Prompt cache read 10.4K on every call after the first. Still open: today's (Sep 3) Mark Peterson follow-up is not visible to the Avoma API (404 on ",{"type":29,"tag":37,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":34,"value":1009},"09ecfede-…",{"type":34,"value":1011},", not in any list) — likely private or unshared; fetch by uuid or drop the exported transcript into ",{"type":29,"tag":37,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":34,"value":519},{"type":34,"value":1018}," once it is.",{"type":29,"tag":101,"props":1020,"children":1021},{},[1022,1034,1036,1042,1044,1049,1051,1057,1059,1065,1067,1073,1075,1081,1083,1089,1091,1096,1098,1103,1104,1109,1111,1116],{"type":29,"tag":251,"props":1023,"children":1024},{},[1025,1027,1032],{"type":34,"value":1026},"2026-09-03 — Sep 3 Mark Peterson call (\"Qpoint Product\", ",{"type":29,"tag":37,"props":1028,"children":1030},{"className":1029},[],[1031],{"type":34,"value":1009},{"type":34,"value":1033},"):",{"type":34,"value":1035}," became API-visible after Mark adjusted sharing in the Avoma UI (it had 404'd all afternoon). He now holds a ",{"type":29,"tag":37,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":34,"value":1041},"mark.peterson@qpoint.io",{"type":34,"value":1043}," address, which would have made the triage default ",{"type":29,"tag":37,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":34,"value":311},{"type":34,"value":1050}," and the \"Qpoint speaker ⇒ internal\" rule swallow his observations — fixed so a person-level source override in ",{"type":29,"tag":37,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":34,"value":1056},"known-entities.json",{"type":34,"value":1058}," outranks the email domain in triage defaults (",{"type":29,"tag":37,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":34,"value":1064},"extract.ts",{"type":34,"value":1066},"), in the prompt (attendee note in the declared-profile block, ",{"type":29,"tag":37,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":34,"value":1072},"prompt.ts",{"type":34,"value":1074},") and in finalize (",{"type":29,"tag":37,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":34,"value":1080},"isQpoint",{"type":34,"value":1082}," forced false, ",{"type":29,"tag":37,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":34,"value":1088},"finalize.ts",{"type":34,"value":1090},"). Extracted ",{"type":29,"tag":37,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":34,"value":737},{"type":34,"value":1097},": 19 observations (11 first-hand \u002F 7 internal \u002F 1 relayed), interest 4\u002F5 as conviction, session 6 decisions \u002F 5 todos \u002F 5 ideas (MVP ingestion via CSV\u002FJSON exports, transcript display deferred to the governance phase, last-heartbeat as the online signal, BYOK + WORM transcript governance direction; open: quota-vs-overage cost representation). His CFO-driven FinOps ask landed as first-hand ",{"type":29,"tag":37,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":34,"value":558},{"type":34,"value":330},{"type":29,"tag":37,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":34,"value":66},{"type":34,"value":1110},"; the team's own heartbeat\u002Fenforcement claims capped at ",{"type":29,"tag":37,"props":1112,"children":1114},{"className":1113},[],[1115],{"type":34,"value":745},{"type":34,"value":1117},". Corpus: 6 calls.",{"key":1119,"title":1120,"empty":17,"ast":1121},"outcome","Outcome",{"type":26,"children":1122},[1123],{"type":29,"tag":30,"props":1124,"children":1125},{},[1126],{"type":34,"value":1127},"(In progress)",[],[1130,1131],"initial-prompt.md","plan.md",[1133,1134],{"file":1130,"title":13},{"file":1131,"title":1135},"Plan — Conversation Profiles",[],[],[],1794599407084]