{"planners_seen":17,"funnel":{"plant-the-verge":{"opened":1,"said_job":0,"line":0,"read_width":0,"exported":0,"filed":0,"drop_at":"said_job","filed_pct":0},"ask-the-street":{"opened":1,"said_job":1,"line":1,"read_width":0,"exported":0,"filed":1,"drop_at":"read_width","filed_pct":100},"keep-the-parking":{"opened":2,"said_job":2,"line":2,"read_width":2,"exported":2,"filed":2,"drop_at":null,"filed_pct":100},"name-the-standard":{"opened":2,"said_job":2,"line":2,"read_width":1,"exported":1,"filed":1,"drop_at":null,"filed_pct":50},"two-claims":{"opened":2,"said_job":2,"line":2,"read_width":1,"exported":0,"filed":0,"drop_at":"exported","filed_pct":0},"mark-two-locations":{"opened":2,"said_job":1,"line":1,"read_width":1,"exported":1,"filed":1,"drop_at":null,"filed_pct":50}},"adopt":{},"tools_today":{},"events":{"ping":1,"identity":63,"task_open":57,"prompt":28,"run":32,"complete":80,"done":44,"pin":24,"feedback":8,"stance":5,"export":5,"complexity":3,"reset":30,"handoff":3,"ticket":3,"ticket_update":2,"voice":7},"by_type":{"curious":58,"cycling":3,"utilities":1,"landscape":1},"run_path":{"chat":28,"":1,"chip":3},"intent_source":{"llm":134,"rules":26,"chip":6},"feedback_tags":{"not_right":1,"helpful":4,"score":2,"unclear":1},"chat_only_completes":9,"stance_completes":4,"choices":{"drop_parking":2,"keep_parking":3,"vvr":3,"both_fail":3},"done_p50_s":1.8,"done_n":44,"feedback_n":8,"voice":{"planners":1,"sessions":3,"messages":4,"chat_n":6,"brief_n":1,"workflow_n":1,"chat_tags":{"helpful":4,"score":1,"unclear":1},"brief_tags":{"score":1},"agent_score_avg":4.17,"brief_score_avg":4.0,"by_task":{"mark-two-locations":{"n":1,"stuck":0,"score_avg":4.0}}},"learn":{"funnel":"per workflow: opened → said_job → line → read_width → exported → filed, distinct planners. drop_at is the first step under 50% of opened — that is where the copy or the engine loses people.","adopt":"kind=adopt at close — yes/maybe/no to 'would you use this on a live project'. The one number for the plan.","tools_today":"kind=tool at close — CAD/GIS/Excel/paper/meetings. What the agent is replacing.","chat_vs_click":"run_path chat vs chip — did they talk the agent through the workflow?","stance":"complete + stance_n — did they file a recommendation, or just run?","choice":"which tradeoff won (keep parking / VVR / trees / lift station)","type_vs_task":"identity.planner_type vs task_open — do people stay in their craft?","pin_then_export":"pin vs export — did they read metres before taking the file?","feedback":"tag counts are the backlog. Engineers ship the top tag as a skill or a data fix.","voice":"kind=chat|workflow on /api/feedback — agent line vs workflow. Scores are 1–5, not 0–100.","handoff":"complete packets on /desk — stance + GeoJSON + flags. That is the planner-to-engineer wire."}}