{"slug":"a2a-lab","total":14,"limit":100,"offset":0,"since":null,"commits":[{"hash":"0fb6792","date":"2026-09-22 12:21:48 -0700","author":"Steve Abrams","subject":"cards/eval: flatten vp-consulting into consulting-agent (TK-12015)","body":"Repoint the routing eval ground-truth from the retired vp-consulting officer\nto the consulting-agent steward. Companion to auto-snapshot b77f2cc, which\nalready landed the new cards/consulting-agent.agent-card.json, dropped the old\ncards/vp-consulting.agent-card.json, and repointed eval-blind2.json. Zero\ndangling vp-consulting node across the a2a card + eval surfaces.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_38a23781-1663-4f8e-807d-e37d704feaad"},{"hash":"b77f2cc","date":"2026-09-22 12:19:00 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-22T12:15:47 (3 data files) — cards/consulting-agent.agent-card.json cards/vp-consulting.agent-card.json eval-blind2.json","body":""},{"hash":"b276fc7","date":"2026-09-22 11:56:29 -0700","author":"Steve Abrams","subject":"cards: drop prompt-engineer skill, merge scope into ai-engineer (TK-12015)","body":"Mirror the cabinet.yaml merge — remove the generated prompt-engineer\nAgentSkill and fold prompt-optimization into ai-engineer's card so the\nA2A directory matches the org-chart.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D2KFGQK7p7ahEzug7HBMZF"},{"hash":"2a64bf9","date":"2026-08-02 00:42:36 -0700","author":"Steve","subject":"chore: lint (ruff, 7 autofixed), refactor self-review, v1.0.0 → v1.1.0 (session close)","body":""},{"hash":"54459a9","date":"2026-08-01 22:49:00 -0700","author":"Steve","subject":"frame find() as a ranked top-3 shortlist (routing hint, not oracle) + confidence flags","body":"Shared _shortlist() formatter for both find branches; warns on weak (<0.15) or close (<0.05 margin) picks. Honest product shape given held-out top-1 is imperfect. Ship ② per Steve.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"ac91d16","date":"2026-08-01 22:33:22 -0700","author":"Steve","subject":"scorer fix (field-weight + trigram-downweight + synonyms) + independent held-out eval","body":"Dev 52.6%->76.3% but HELD-OUT (eval-blind2.json, Ollama-generated, never inspected) = 38.9%.\nThe dev/held-out gap empirically demonstrates the overfitting Cody warned of. Conclusion:\nhand-tuned lexical routing is inadequate for top-1 NL queries; more tuning worsens held-out.\nStopping the tuning loop — decision escalates to top-3-shortlist vs embeddings.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"c5493c8","date":"2026-08-01 22:28:31 -0700","author":"Steve","subject":"add blind paraphrase eval harness (eval_find.py) — FALSIFIES lexical find() at 52.6% top-1","body":"38 held-out everyday-phrasing queries; scorer misroutes 18/38 on blind phrasing.\nConfirms Cody's contrarian objection: the 'every tested query passes' premise was circular.\nCommitted with the failing baseline on purpose; NOT tuned-to-pass (would re-create circularity).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"714e492","date":"2026-08-01 22:05:30 -0700","author":"Steve","subject":"add SDK-native client (client_sdk.py) + lexical-semantic find (semantic.py), verified","body":"client_sdk.py: A2ACardResolver + ClientFactory.create + async send_message (StreamResponse).\nsemantic.py: TF-IDF + synonym map + char-trigram cosine; wired into directory find w/ keyword fallback.\nOllama has no --embeddings (gated fleet change) so neural embeddings deferred; documented.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"d13a06a","date":"2026-08-01 21:59:49 -0700","author":"Steve","subject":"A2A cabinet directory server (list/find/card) + fix block-scalar domain parsing","body":"cabinet_directory.py serves+routes the 12 officer cards over A2A (verified over the wire).\ncabinet_cards.py now handles YAML folded/literal domain scalars (vp-cncp/vp-consulting).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"9ea5e3d","date":"2026-08-01 21:09:33 -0700","author":"Steve","subject":"generate A2A agent cards from cabinet.yaml (12 VPs / 166 skills), round-trip verified","body":"Tolerant line parser (cabinet.yaml is not strict-YAML); each director owns -> AgentSkill.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"b4cdc89","date":"2026-08-01 21:07:13 -0700","author":"Steve","subject":"TK Bridge: add gated dm-write skill (TK_BRIDGE_ALLOW_WRITE), verified over A2A on temp store","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"89535d8","date":"2026-08-01 20:06:08 -0700","author":"Steve","subject":"add read-only A2A bridge over the live tk cross-agent DM log, verified","body":"Exposes ~/.claude/tickets/events.jsonl as an A2A agent (skills: agents, inbox).\nPorts lib.js inbox/knownAgents read logic; never writes the shared store.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"4dc181f","date":"2026-08-01 19:32:47 -0700","author":"Steve","subject":"add working A2A echo demo (SDK server + raw JSON-RPC client), verified end-to-end","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"f3cea00","date":"2026-08-01 11:25:43 -0700","author":"Steve","subject":"install A2A SDKs (python a2a-sdk 1.1.2 + @a2a-js/sdk), smoke-tested","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n"}]}