{"ok":true,"site":{"host":"pathfinder-decision-space.tak8.chatgpt.site","url":"https://pathfinder-decision-space.tak8.chatgpt.site/","type":"live","desc":"An agent-first workspace for exploring engineering programs, comparing colleges, and making a choice you can explain.","tools":[{"name":"get_pathfinder_guide","kind":"answer","impl":"imperative","description":"Read-only operating guide for low-context agents. Call once before acting, or request a focused topic. It maps user intent to the safest tool sequence, explains the four views and three state layers, provides examples, and gives repair hints. It never changes state.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"topic":{"type":"string","enum":["all","workflow","modes","examples","errors"],"description":"Use all once for orientation, or choose one focused section."},"maxExamples":{"type":"integer","minimum":0,"maximum":4,"description":"Return at most this many copyable intent-to-tool examples."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_decision_state","kind":"answer","impl":"imperative","description":"Start every decision journey here after reading get_pathfinder_guide. Return the compact saved decision, active temporary scenario/effective program, candidate IDs and statuses, and current workspace. Use candidate/evidence tools for facts.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_candidate_data","kind":"answer","impl":"imperative","description":"After candidate IDs are known, read sourced facts and transparent Pathfinder-derived signals for specific colleges. Request only needed dimensions; the response then includes only their supporting facts. Cost includes published family-income net-price bands and sticker-price pieces; these are comparisons, not a personal aid estimate. This never mutates or asserts an objective ranking.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"candidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":1,"maxItems":6,"uniqueItems":true,"description":"Use 3–5 serious schools when possible; six is the practical comparison maximum."},"dimensions":{"type":"array","items":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"minItems":1,"maxItems":6,"uniqueItems":true}},"required":["candidateIds"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_candidates","kind":"answer","impl":"imperative","description":"Discover candidate IDs in the 75-school sourced catalog by name, city, state, or published average net price. Returns up to 15 focused results; then use candidate data/evidence or compose_workspace.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":80},"states":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2},"minItems":1,"maxItems":15,"uniqueItems":true},"maxNetPrice":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":15}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_candidate_evidence","kind":"answer","impl":"imperative","description":"After a candidate ID is known, return field-level sources, dates, caveats, and derivation methods for factual claims. Optional dimensions must be valid.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"candidateId":{"type":"string","minLength":1,"maxLength":48},"dimensions":{"type":"array","items":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"minItems":1,"maxItems":6,"uniqueItems":true}},"required":["candidateId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"explain_candidate_position","kind":"act","impl":"imperative","description":"Explain why one candidate leads or trails specific reference candidates on visible dimensions and current preference importance. Returns transparent per-dimension comparisons, not admission odds or an objective ranking. Use compose_workspace afterward to show the comparison.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"candidateId":{"type":"string","minLength":1,"maxLength":48},"referenceCandidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":1,"maxItems":5,"uniqueItems":true},"dimensions":{"type":"array","items":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"minItems":1,"maxItems":6,"uniqueItems":true}},"required":["candidateId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"begin_agent_activity","kind":"act","impl":"imperative","description":"Immediately show a friendly working state before a multi-step comparison, research, scenario, or saved-choice update. This changes presentation only, never the saved decision or a scenario. Follow it with get_decision_state and the needed fact tools, then compose_workspace; a successful composition clears this status.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["compare","research","scenario","update"]},"label":{"type":"string","minLength":3,"maxLength":100},"detail":{"type":"string","maxLength":160},"expectedDecisionVersion":{"type":"integer","minimum":1}},"required":["kind","label"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_programs","kind":"answer","impl":"imperative","description":"Search exact sourced academic-program records from the program catalog. If CIP is omitted, all catalog programs are eligible. Completions describe program scale, not quality or admission likelihood.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":80},"cip":{"type":"string","enum":["14.1901","14.1001","14.0701","14.0801","14.0501","14.0201","14.0901","14.1401","14.3501","14.0101","14.1801","14.0301","14.1201","14.0401","14.9999","14.2301","14.1301","14.3301","14.0903","14.4501"]},"minBachelorsCompletions":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_program_evidence","kind":"answer","impl":"imperative","description":"After search_programs, pass its programId to return exact CIP-6 completion evidence, broader CIP-4 school outcomes, and national BLS context for related occupations.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"programId":{"type":"string","maxLength":80},"cip":{"type":"string","enum":["14.1901","14.1001","14.0701","14.0801","14.0501","14.0201","14.0901","14.1401","14.3501","14.0101","14.1801","14.0301","14.1201","14.0401","14.9999","14.2301","14.1301","14.3301","14.0903","14.4501"]},"unitId":{"type":"integer"}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_decision","kind":"act","impl":"imperative","description":"Durably and atomically change canonical preferences, circumstances, or program only. It never changes candidate status or workspace layout. Call get_decision_state first; use create_scenario for temporary requests. Finish an active scenario before calling.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"preferenceUpdates":{"type":"object","additionalProperties":false,"properties":{"mechanicalEngineering":{"type":"string","enum":["low","medium","high","required","avoid"]},"outcomes":{"type":"string","enum":["low","medium","high","required","avoid"]},"cost":{"type":"string","enum":["low","medium","high","required","avoid"]},"climate":{"type":"string","enum":["low","medium","high","required","avoid"]},"walkability":{"type":"string","enum":["low","medium","high","required","avoid"]},"campusScale":{"type":"string","enum":["low","medium","high","required","avoid"]},"location":{"type":"string","enum":["low","medium","high","required","avoid"]}}},"programCip":{"type":"string","enum":["14.1901","14.1001","14.0701","14.0801","14.0501","14.0201","14.0901","14.1401","14.3501","14.0101","14.1801","14.0301","14.1201","14.0401","14.9999","14.2301","14.1301","14.3301","14.0903","14.4501"]},"carAvailable":{"type":"boolean"},"tuitionSupport":{"type":"string","enum":["unknown","partial","full"]},"summary":{"type":"string","minLength":1,"maxLength":180},"expectedDecisionVersion":{"type":"integer","minimum":1}},"required":["summary"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_candidate_status","kind":"act","impl":"imperative","description":"Durably change one candidate lifecycle status only: active, pinned, finalist, or excluded. It never changes preferences or workspace layout. Finish an active scenario first; exclusion requires a reason.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"candidateId":{"type":"string","minLength":1,"maxLength":48},"status":{"type":"string","enum":["active","pinned","finalist","excluded"]},"reason":{"type":"string","minLength":3,"maxLength":180},"expectedDecisionVersion":{"type":"integer","minimum":1}},"required":["candidateId","status"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_scenario","kind":"act","impl":"imperative","description":"Create one temporary, non-destructive branch for changed preferences, circumstances, or program. The canonical decision is untouched. If a scenario is active, adopt or discard it first.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"label":{"type":"string","minLength":1,"maxLength":100},"programCip":{"type":"string","enum":["14.1901","14.1001","14.0701","14.0801","14.0501","14.0201","14.0901","14.1401","14.3501","14.0101","14.1801","14.0301","14.1201","14.0401","14.9999","14.2301","14.1301","14.3301","14.0903","14.4501"]},"preferenceUpdates":{"type":"object","additionalProperties":false,"properties":{"mechanicalEngineering":{"type":"string","enum":["low","medium","high","required","avoid"]},"outcomes":{"type":"string","enum":["low","medium","high","required","avoid"]},"cost":{"type":"string","enum":["low","medium","high","required","avoid"]},"climate":{"type":"string","enum":["low","medium","high","required","avoid"]},"walkability":{"type":"string","enum":["low","medium","high","required","avoid"]},"campusScale":{"type":"string","enum":["low","medium","high","required","avoid"]},"location":{"type":"string","enum":["low","medium","high","required","avoid"]}}},"carAvailable":{"type":"boolean"},"tuitionSupport":{"type":"string","enum":["unknown","partial","full"]}},"required":["label"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"discard_scenario","kind":"act","impl":"imperative","description":"Terminal scenario action. Close the active scenario and restore the canonical decision without adopting any temporary value. Optionally guard with expectedScenarioId.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"expectedScenarioId":{"type":"string","minLength":1,"maxLength":80}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"adopt_scenario_changes","kind":"act","impl":"imperative","description":"Terminal scenario action. Explicitly select preference dimensions, circumstances, and/or program to make durable, then close the scenario. Unselected temporary changes are discarded.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"dimensions":{"type":"array","items":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"minItems":1,"maxItems":6,"uniqueItems":true},"adoptCircumstances":{"type":"boolean"},"adoptProgram":{"type":"boolean"},"summary":{"type":"string","minLength":1,"maxLength":180},"expectedScenarioId":{"type":"string","minLength":1,"maxLength":80}},"required":["summary"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compose_workspace","kind":"act","impl":"imperative","description":"Change presentation only; never mutate the canonical decision or scenario values. Use frontier for attention, compare for differences/why, place for geography and climate, and scenario only when a scenario is active. In Place mode, set climateLens to match a cold or heat question and include every school the user wants located in mapCandidateIds. In Compare cost views, set affordabilityBand to open the published family-income band relevant to the question. Include 2–3 concise annotations with type question after every composition; they appear as polished Explore next suggestions. Other annotation types become one consolidated takeaway. Candidate IDs come from get_decision_state or search_candidates; version guards are optional. This clears any working state started with begin_agent_activity.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["frontier","compare","place","scenario"]},"primaryCandidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":1,"maxItems":6,"uniqueItems":true,"description":"Use 3–5 serious schools when possible; six is the practical comparison maximum."},"secondaryCandidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":0,"maxItems":5,"uniqueItems":true,"description":"Keep alternatives compressed; primary plus secondary may not exceed eight schools."},"dimensions":{"type":"array","items":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"minItems":1,"maxItems":6,"uniqueItems":true},"emphasis":{"type":"array","items":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"minItems":1,"maxItems":6,"uniqueItems":true},"annotations":{"type":"array","maxItems":6,"description":"Use non-question annotations for one main takeaway. Include 2–3 type=question annotations as concise, actionable next questions for the student or parent.","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["agent-insight","tradeoff","question","evidence"]},"text":{"type":"string","minLength":1,"maxLength":240},"candidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":1,"maxItems":6,"uniqueItems":true,"description":"Use 3–5 serious schools when possible; six is the practical comparison maximum."},"dimensionId":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]}},"required":["type","text"]}},"plot":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]},"y":{"type":"string","enum":["mechanicalEngineering","outcomes","cost","climate","walkability","campusScale"]}},"required":["x","y"]},"climateLens":{"type":"string","enum":["daysAbove90F","daysAbove100F","nightsBelow40F","nightsBelow32F","annualMeanHighF"],"description":"For Place mode, choose the weather detail that answers the user's question. Use nightsBelow40F or nightsBelow32F for cold concerns; use daysAbove90F or daysAbove100F for heat concerns."},"affordabilityBand":{"type":"string","enum":["under30k","30to48k","48to75k","75to110k","over110k"],"description":"Published family-income range to open in the cost card. This is a presentation focus, not a personal aid estimate."},"mapCandidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":0,"maxItems":6,"uniqueItems":true,"description":"Use 3–5 serious schools when possible; six is the practical comparison maximum."},"excludedGroups":{"type":"array","maxItems":6,"items":{"type":"object","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":80},"candidateIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":48},"minItems":1,"maxItems":6,"uniqueItems":true,"description":"Use 3–5 serious schools when possible; six is the practical comparison maximum."},"reason":{"type":"string","maxLength":160}},"required":["label","candidateIds","reason"]}},"expectedDecisionVersion":{"type":"integer","minimum":1},"expectedScenarioId":{"type":"string","minLength":1,"maxLength":80}},"required":["mode","primaryCandidateIds","dimensions"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/pathfinder-decision-space.tak8.chatgpt.site.png","apiSurface":"spec","toolCount":15}}