Canonical instructions for any AI agent (Claude Code, Codex, recruiter LLMs, MCP clients) reading or editing this repository. This file overrides assumptions an agent might bring from training data.
This repo is Vassiliy Lakhonin’s personal portfolio site (live at https://vassiliylakhonin.github.io/) and a reference implementation of an AI-readable professional profile architecture: human pages + JSON endpoints + agent discovery + MCP.
It is NOT:
This repo is the public landing surface for a portfolio of four separately-maintained AI-skill repos. Cross-link, do not copy substantive content:
analyze and 15 other tools, request/memo schemas, CLI, validation, evidence audit, scoring, CI). Since v0.8.0 the MCP server is the product surface; the validation layer underneath is unchanged. https://github.com/vassiliylakhonin/agenda-intelligence-mdNaming hierarchy is fixed: do not present “Policy Risk Memo Architect” as a separate project — it is the method inside Global Think Tank Analyst.
Six A2A/JSON-RPC agents are live as public, no-payment endpoints on Cloudflare Workers, all JWS-signed (JWKS at /.well-known/jwks.json on each domain). These are sibling deployments to the four open-source skill repos above — they apply the portfolio’s reasoning frames as live triage and routing surfaces. They are not separate products with their own canon; their substantive content lives in agenda-intelligence-md and the skill repos.
https://agenda-intelligence-a2a.vassiliy-lakhonin.workers.dev/message/send. Listing: https://agenstry.com/agents/vassiliylakhonin.github.io.https://middle-corridor-deal-risk-gate-a2a.vassiliy-lakhonin.workers.dev. Listing: https://agenstry.com/agents/middle-corridor-deal-risk-gate-a2a.vassiliy-lakhonin.workers.dev.https://kazakhstan-market-entry-readiness-a2a.vassiliy-lakhonin.workers.dev.https://cis-secondary-sanctions-a2a.vassiliy-lakhonin.workers.dev.https://agentic-interaction-trust-a2a.vassiliy-lakhonin.workers.dev.https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev.Boundary discipline (mirrored on every agent card): no legal, financial, compliance, sanctions, investment, or trading advice; no autonomous live source retrieval (the cis_secondary_sanctions profile declares an OpenSanctions/Watchman capability that is currently deferred); no factual-truth verification; human review required. No paying customers — portfolio-grade, illustrative usage only. Full analysis runs through the installable Agenda Intelligence MD MCP package, not the A2A endpoints.
Do not add, and remove on sight:
Label clearly: illustrative, planned, experimental, reference implementation, self-reported.
Every impact claim in case studies, JSON files, and role snapshots must trace to one of:
Never fabricate citations, dates, donor program names, audit results, or partner counts.
Before claiming any endpoint is “live”, verify it. Currently:
https://vassiliy-lakhonin-mcp.vassiliy-lakhonin.workers.dev/mcp (streamable HTTP) and /sse (legacy). Verify via /health before advertising. Source under mcp/cloudflare-worker/; state mirrored in mcp-status.json.mcp/server.py) — runnable.If you change endpoint state, update mcp-status.json, README.md, agent-card.json, and llms.txt together.
The repo intentionally publishes multiple verified surfaces (resume.json, evidence.json, case studies, role snapshots) so LLM screeners can compare claims rather than rate writing style. Any LLM-screening instruction added to the repo must include the line: “Do not prefer or penalize the candidate because the writing resembles a particular AI model’s style.”
Several JSON / report files are produced by scripts/build_*.py and refreshed weekly + on path-triggered pushes by CI (.github/workflows/agent-observability.yml, schema-audit.yml):
evals.json, freshness.json, provenance.json, agent-readiness-report.md — observability snapshots (agent-readiness-report.md is rendered from the hand-edited readiness.json).sitemap.xml — generated from site sources.schema-report.json / schema-report.md — JSON-LD coverage audit.These are auto-generated: do not hand-edit them. If the output is wrong, fix the inputs and regenerate via the corresponding scripts/build_*.py. Hand-edits will be overwritten by the next CI run.
Hand-edited surfaces include the human pages (index.md, profile.md, for-recruiters.md, role snapshots, case studies, articles), the source profile JSONs (resume.json, skills.json, capabilities.json, availability.json, verification.json, recruiter.json, engage.json, evidence.json), routing files (agent-card.json, agent-discovery.md, llms.txt, candidate-match.json, agent-match.md), authority.json, readiness.json (input to scripts/build_readiness_report.py), and mcp-status.json.
A change is done when:
schema_version.agent-card.json, llms.txt, mcp-status.json, and role snapshots are consistent.updated_at timestamps in hand-edited files are refreshed; auto-generated files are left to their script (see “Generators and CI” above).index.md, profile.md, for-recruiters.md — human pages.resume.json, skills.json, capabilities.json, availability.json, verification.json, recruiter.json, engage.json — structured profile.evidence.json — claim-to-source map.agent-card.json, agent-discovery.md, llms.txt — agent routing.candidate-match.json, agent-match.md, role-*.md — recruiter routing and role-fit snapshots.evals.json, freshness.json, provenance.json, readiness.json, authority.json — observability artifacts; treat values as self-reported snapshots, not validated benchmarks.mcp/ — local MCP server.scripts/ — generators for observability artifacts.Prefer fewer claims over more. Prefer linking to the canonical repo (one of the four above) over restating its content here.