{"name":"Mahesh Masanam public agent contract","canonicalApi":"https://maheshmasanam.com/.well-known/agent.json","llms":"https://maheshmasanam.com/llms.txt","publicTaskSchema":"https://maheshmasanam.com/schemas/public-task.schema.json","openApi":"https://maheshmasanam.com/openapi.json","humanEntry":"https://maheshmasanam.com/","purpose":"Describe safe public entry points for browsers, scripts, assistants, and future integrations.","owner":{"name":"Mahesh Masanam","url":"https://maheshmasanam.com","contact":"me@maheshmasanam.com"},"rules":{"publicOnly":true,"readMethods":["GET","OPTIONS"],"writeActionsRequireHumanIntent":true,"noPrivateFactInference":true,"privateFacts":"Ask Mahesh instead of inventing or inferring private context."},"entrypoints":{"identity":"https://maheshmasanam.com/api/me","capabilities":"https://maheshmasanam.com/api/capabilities","compatibility":"https://maheshmasanam.com/api/compatibility","autonomy":"https://maheshmasanam.com/api/autonomy","autonomyActionPlan":"https://maheshmasanam.com/api/autonomy/action-plan","autonomyDecision":"https://maheshmasanam.com/api/autonomy/decision","autonomyEvaluation":"https://maheshmasanam.com/api/autonomy/evaluation","autonomyHeartbeat":"https://maheshmasanam.com/api/autonomy/heartbeat","autonomyLoop":"https://maheshmasanam.com/api/autonomy/loop","autonomyReceipts":"https://maheshmasanam.com/api/autonomy/receipts","autonomyRunbook":"https://maheshmasanam.com/api/autonomy/runbook","autonomySelfCheck":"https://maheshmasanam.com/api/autonomy/self-check","autonomyState":"https://maheshmasanam.com/api/autonomy/state","protocol":"https://maheshmasanam.com/api/protocol","release":"https://maheshmasanam.com/api/release","llms":"https://maheshmasanam.com/llms.txt","publicTaskSchema":"https://maheshmasanam.com/schemas/public-task.schema.json","openApi":"https://maheshmasanam.com/openapi.json","status":"https://maheshmasanam.com/api/status","taskRouter":"https://maheshmasanam.com/api/task-router","taskPacket":"https://maheshmasanam.com/api/task-packet","vasukiSkills":"https://maheshmasanam.com/api/vasuki/skills","witnessArchive":"https://maheshmasanam.com/api/witness","witnessResolver":"https://maheshmasanam.com/api/witness/resolve","rss":"https://maheshmasanam.com/feed.xml"},"operatingProtocol":{"label":"Public task operating protocol","version":1,"purpose":"Give future pages, APIs, assistants, and automations one safe lifecycle for public tasks.","phases":[{"id":"discover","goal":"Understand the public rules and available interfaces.","primarySurface":"https://maheshmasanam.com/llms.txt","fallbackSurface":"https://maheshmasanam.com/.well-known/agent.json","requiredOutput":"public boundaries and available routes"},{"id":"route","goal":"Resolve the visitor or tool request into one canonical task route.","primarySurface":"https://maheshmasanam.com/api/task-router","fallbackSurface":"https://maheshmasanam.com/api/compatibility","requiredOutput":"routeId, humanEntry, apiEntry, confidence"},{"id":"contract","goal":"Convert the request into a reusable packet before another tool continues it.","primarySurface":"https://maheshmasanam.com/api/task-packet","fallbackSurface":"https://maheshmasanam.com/schemas/public-task.schema.json","requiredOutput":"schema-shaped public task packet"},{"id":"specialize","goal":"Use the domain resolver only after the general task route is clear.","primarySurface":"https://maheshmasanam.com/api/witness/resolve","fallbackSurface":"https://maheshmasanam.com/api/witness","requiredOutput":"reader path, agent context, or builder direction"},{"id":"verify","goal":"Check that the result stays public, useful, and traceable.","primarySurface":"https://maheshmasanam.com/api/compatibility","fallbackSurface":"https://maheshmasanam.com/api/status","requiredOutput":"safe next step with named evidence"}],"invariants":{"publicOnly":true,"readMethods":["GET","OPTIONS"],"noPrivateFactInference":true,"noAuthenticationRequiredForPublicReads":true,"writeActionsRequireHumanIntent":true},"extensionRule":"Add new public capability by updating the route registry, capability manifest, compatibility map, task schema, and tests together."},"taskRouter":{"label":"Task router","version":1,"purpose":"Route public visitor intent into the right human page, Vasuki prompt, or machine-readable API.","defaultRoute":"ask","routes":[{"id":"learn","label":"Learn","intent":"Understand Mahesh, work, and current direction","humanEntry":"https://maheshmasanam.com/","apiEntry":"https://maheshmasanam.com/api/me","prompt":"Give me a clear overview of Mahesh: what he works on, what he is building, and where I should start.","output":"personal overview"},{"id":"build","label":"Build","intent":"Explore ML, AI, and product collaboration direction","humanEntry":"https://maheshmasanam.com/#contact","apiEntry":"https://maheshmasanam.com/api/capabilities","prompt":"Help me turn Mahesh's ML and AI interests into a practical collaboration or project direction.","output":"builder direction"},{"id":"read","label":"Read","intent":"Enter the Witness writing archive","humanEntry":"https://maheshmasanam.com/witness","apiEntry":"https://maheshmasanam.com/api/witness","prompt":"Choose the best reading path through the Witness archive and explain why that path fits a first-time visitor.","output":"reading path"},{"id":"ask","label":"Ask","intent":"Ask Vasuki for a grounded answer","humanEntry":"https://maheshmasanam.com/","apiEntry":"https://maheshmasanam.com/api/capabilities","prompt":"Route my question through the correct public surface: identity, work, Witness archive, contact, or status.","output":"routed answer"}],"safety":{"publicOnly":true,"privateFacts":"ask Mahesh instead of inventing","writeActions":"require explicit human intent"}},"taskExecutionPolicy":{"label":"Public task execution policy","version":1,"purpose":"Tell future tools what can be answered automatically, what should guide a human, and what must stop.","modes":[{"id":"public-read","label":"Public read","canAutomate":true,"requiresHumanApproval":false,"rule":"Answer or route with public site data only."},{"id":"human-guided","label":"Human guided","canAutomate":true,"requiresHumanApproval":false,"rule":"Give a next step, page, prompt, or collaboration direction without taking action for the visitor."},{"id":"approval-required","label":"Approval required","canAutomate":false,"requiresHumanApproval":true,"rule":"Stop before sending, publishing, editing, buying, logging in, deploying, or contacting someone."},{"id":"blocked-private","label":"Blocked private","canAutomate":false,"requiresHumanApproval":true,"rule":"Do not infer or request secrets, credentials, phone numbers, addresses, private identity data, or unpublished facts."}],"escalationSurface":"https://maheshmasanam.com/#contact"},"autonomySystem":{"label":"Vasuki autonomy control plane","version":1,"target":"99.99% routine public-task autonomy with explicit human approval before external actions.","purpose":"Let Vasuki and future tools observe, route, draft, verify, and prepare tasks while keeping sensitive or external actions approval-gated.","autonomyLevel":{"current":"L3","label":"approval-gated operator","meaning":"The site can answer public questions, route tasks, assemble packets, and draft next actions; it must stop before sending, publishing, logging in, deploying, buying, or touching private data.","next":"L4 monitored routines","nextCondition":"Only promote scheduled routines after monitoring, audit receipts, rollback paths, and owner controls are live."},"maturity":[{"level":"L1","label":"public identity","status":"complete","capability":"Human visitors and software can discover Mahesh, the site purpose, and public routes.","proof":["/api/me","/llms.txt","/.well-known/agent.json"]},{"level":"L2","label":"routed assistant","status":"complete","capability":"Vasuki can route public questions into the right page, API, or reading path.","proof":["/vasuki","/api/task-router","/api/task-packet"]},{"level":"L3","label":"approval-gated operator","status":"current","capability":"The site can plan, decide, self-check, and prepare safe next actions without executing risky work.","proof":["/api/autonomy/state","/api/autonomy/decision","/api/autonomy/action-plan","/api/autonomy/self-check"]},{"level":"L4","label":"monitored routines","status":"next","capability":"Scheduled public-read routines can run with visible heartbeat, receipts, and rollback rules.","proof":["/api/autonomy/heartbeat","/api/autonomy/receipts","/api/autonomy/runbook"]},{"level":"L5","label":"owner-approved execution","status":"locked","capability":"Write, publish, deploy, or outbound actions stay locked until owner controls and durable receipts exist.","proof":["/admin","/api/admin/proposals","/api/autonomy/receipts"]}],"loop":[{"id":"observe","label":"Observe","surface":"https://maheshmasanam.com/api/status","output":"public site state, deploy status, available APIs"},{"id":"route","label":"Route","surface":"https://maheshmasanam.com/api/task-router","output":"safe task destination and confidence"},{"id":"packet","label":"Packet","surface":"https://maheshmasanam.com/api/task-packet","output":"schema-shaped public task handoff"},{"id":"decide","label":"Decide","surface":"https://maheshmasanam.com/api/protocol","output":"automation mode and approval boundary"},{"id":"guide","label":"Guide","surface":"https://maheshmasanam.com/vasuki","output":"human-readable answer, draft, or safe next step"},{"id":"approve","label":"Approve","surface":"https://maheshmasanam.com/admin","output":"owner decision before external side effects"}],"routines":[{"id":"public-question","label":"Public question answering","autonomy":"automatic","mode":"public-read","ownerApproval":false,"surfaces":["https://maheshmasanam.com/vasuki","https://maheshmasanam.com/api/task-router","https://maheshmasanam.com/api/capabilities"]},{"id":"visitor-routing","label":"Visitor and collaborator routing","autonomy":"automatic","mode":"human-guided","ownerApproval":false,"surfaces":["https://maheshmasanam.com/api/task-router","https://maheshmasanam.com/api/task-packet","https://maheshmasanam.com/#contact"]},{"id":"writing-discovery","label":"Witness archive discovery","autonomy":"automatic","mode":"public-read","ownerApproval":false,"surfaces":["https://maheshmasanam.com/api/witness","https://maheshmasanam.com/api/witness/resolve","https://maheshmasanam.com/feed.xml"]},{"id":"site-change","label":"Website edits, deploys, and publishing","autonomy":"draft-only","mode":"approval-required","ownerApproval":true,"surfaces":["https://maheshmasanam.com/api/task-packet","https://maheshmasanam.com/api/protocol","https://maheshmasanam.com/admin"]},{"id":"private-request","label":"Private or sensitive requests","autonomy":"blocked","mode":"blocked-private","ownerApproval":true,"surfaces":["https://maheshmasanam.com/api/task-packet","https://maheshmasanam.com/#contact"]}],"guardrails":{"publicOnlyByDefault":true,"ownerApprovalBeforeExternalActions":true,"noCredentialCollection":true,"noPrivateFactInference":true,"noUnsupervisedPurchasesOrMessages":true,"auditEveryFutureWrite":true},"readiness":{"publicReadAutomation":true,"taskRouting":true,"schemaPackets":true,"aiInstructions":true,"openApi":true,"approvalProposalQueue":true,"vasukiSkillRegistry":true,"vasukiSkillApi":true,"actionPlanApi":true,"loopApi":true,"ownerApprovalForWrites":true,"decisionApi":true,"selfCheckApi":true,"stateApi":true,"heartbeatApi":true,"scheduledRoutines":true,"runbookApi":true,"writeAuditReceipts":true},"actionPlan":{"label":"Autonomy action plan","surface":"/api/autonomy/action-plan","purpose":"Turn a classified request into an evidence-backed plan with approval, rollback, and verification steps before anything changes."},"loopState":{"label":"Autonomy loop state","surface":"/api/autonomy/loop","purpose":"Show the full observe, decide, plan, verify, and receipt loop for a request without executing external side effects."},"decision":{"label":"Autonomy decision","surface":"/api/autonomy/decision","purpose":"Classify any public request into the safest lane: run, guide, queue for owner approval, or block."},"heartbeat":{"label":"Autonomy heartbeat","surface":"/api/autonomy/heartbeat","cronSurface":"/api/cron/autonomy-heartbeat","cadence":"daily public-read heartbeat from Vercel cron, plus on-demand GET checks","purpose":"Let the website emit a safe operating pulse without changing content, sending messages, or touching private data."},"receipts":{"label":"Approval receipt ledger","surface":"/api/autonomy/receipts","purpose":"Publish the receipt shape every future approved write must leave behind: intent, evidence, approval, result, and verification.","currentMode":"contract-only until owner-approved write flows emit durable receipts"},"runbook":{"label":"Autonomy recovery runbook","surface":"/api/autonomy/runbook","purpose":"Give Vasuki and future monitors a safe diagnose, contain, recover, verify, and receipt plan without self-deploying or touching secrets."},"selfCheck":{"label":"Autonomy self-check","surface":"/api/autonomy/self-check","cadence":"safe to run on demand; future scheduled checks must remain public-read only","purpose":"Let the site report whether its public autonomy contract is wired, bounded, and ready for future monitored routines.","passCondition":"All public read surfaces are discoverable, risky actions remain approval-gated, and unresolved gaps are named instead of hidden."},"evaluation":{"label":"Autonomy evaluation","surface":"/api/autonomy/evaluation","purpose":"Score the live autonomy layer honestly: what is operational, what is approval-gated, and what remains future work.","passCondition":"Advanced only means public-read autonomy with explicit boundaries; it does not claim unsupervised 99.99% execution."},"state":{"label":"Autonomy state snapshot","surface":"/api/autonomy/state","purpose":"Give Vasuki, monitors, and future agents one compact state object before they continue, wait, refuse, or ask for owner approval."},"upgradePath":["Keep monitored scheduled routines public-read only and visible through the heartbeat.","Turn the receipt contract into durable owner-visible receipts for every proposed write.","Add rollback and post-action verification before allowing any publish routine.","Keep private data, credentials, payments, login, and outbound messages outside autonomous mode."]},"witness":{"series":{"label":"The Witness","title":"Varanasi to the Cloud","name":"The Witness — Varanasi to the Cloud","description":"Essays about what stays with you after Varanasi, and how that shapes the work you build next.","thread":"2022 Varanasi onward"},"apiContract":{"label":"API contract","version":1,"endpoint":"/api/witness","method":"GET","contentType":"application/json","cache":{"strategy":"conditional","validator":"ETag","versionHeader":"x-archive-version","requestHeader":"If-None-Match","unchangedStatus":304},"requiredTopLevelFields":["archiveVersion","series","stats","essays","protocol","responseContract","agentBlueprint","decisionEngine","routeBridge"],"toolRule":"Use archiveVersion and ETag before refetching the full archive."},"responseContract":{"label":"Response contract","version":1,"purpose":"Return answers that are grounded, useful, and easy for a reader or agent to continue.","requiredFields":[{"field":"answer","rule":"State the useful answer in plain language."},{"field":"evidence","rule":"Name the essay, page packet, API field, or quality check used."},{"field":"nextStep","rule":"End with a reader path, agent brief, builder direction, or clarification question."}],"refusalRule":"If the archive does not support the claim, say what is missing and ask Vasuki to clarify instead of inventing context."},"routeBridge":{"label":"Route bridge","version":1,"title":"Connect the archive to the whole site","summary":"Witness can answer archive-specific questions, then hand wider tasks to the public task router without losing the original intent.","source":"https://maheshmasanam.com/api/witness","target":"https://maheshmasanam.com/api/witness/resolve","siteRouter":"https://maheshmasanam.com/api/task-router","handoffQuery":"Witness archive, reading path, ML direction, or collaboration intent","routes":[{"when":"The visitor wants to read","route":"read","next":"https://maheshmasanam.com/witness"},{"when":"The visitor wants ML direction","route":"build","next":"https://maheshmasanam.com/api/task-router"},{"when":"The visitor asks who Mahesh is","route":"learn","next":"https://maheshmasanam.com/api/me"}],"rule":"Keep Witness answers grounded in the archive; use the task router when the request moves beyond the archive."}},"_meta":{"schemaVersion":1,"docs":"GET only, no params. Discovery contract for public machine-readable site use."}}