Conversation
…aft init Droid: AGENTS.md section (it reads AGENTS.md per Factory's docs) plus a repo-level .factory/mcp.json MCP registration — the committed, team-shared level of droid's user/folder/project trio, matching how cursor/gemini/kiro are wired. Detected via ~/.factory or a repo .factory dir; selecting it alongside the generic agents row is two identical AGENTS.md upserts, so the fenced section is still written once. Pi: a graft-owned skill at .pi/skills/graft/SKILL.md — pi discovers .pi/skills/ from the cwd upward, and its README's "No MCP" philosophy means the wiring is deliberately skill + AGENTS.md only, with no MCP registration. Detected via ~/.pi or a repo .pi dir. Retraction needs no new code: both targets derive from the same registries init writes through, so graft uninstall removes the skill file and the .factory/mcp.json key for free.
🌱 graft blast radius1 area changed → 6 areas can be affected. 16 dependent symbols, depth 2. flowchart TB
A0(("CLI Wiring<br/>6 symbols"))
A1(("Host Integrations<br/>4 symbols"))
A2(("Claude Initialization<br/>2 symbols"))
A3(("Brain Connectivity<br/>2 symbols"))
A4(("MCP Server<br/>1 symbol"))
AX(("1 smaller area<br/>1 symbol"))
classDef reached fill:#D9EDF3,stroke:#3AA7C9,stroke-width:1.5px,color:#0E313C;
class A0,A1,A2,A3,A4 reached;
classDef tail fill:#EEF2F3,stroke:#9AA4A9,stroke-width:1px,color:#3A4247;
class AX tail;
Who knows this code — 2 people across 7 areas
Ownership is git history over each area's own files, weighted towards recent work (120-day half-life). Merge commits and bots are dropped, and you are dropped from your own PR. A name with no All 16 dependent symbols, grouped by areaCLI Wiring — 6 symbols in 4 files
Host Integrations — 4 symbols in 4 files
Claude Initialization — 2 symbols in 2 files
Brain Connectivity — 2 symbols in 2 files
MCP Server — 1 symbol in 1 file
Telemetry Tracking — 1 symbol in 1 file
Test signal per changed area — 1 ✓Reached = a node under a test path has a resolved edge into the changed symbol. It undercounts anything called indirectly — through a CLI, a spawned process or a dynamic import — so read a low ratio as “look here”, never as a coverage gate.
9 test suites also reference this code12 symbols, kept out of the diagram and the table so they cannot crowd out the areas a reviewer has to look at.
Open the interactive graph → — click an area to see its dependent symbols at file:line. |
…files One picker row wires every agent that reads project-level STANDARD files: the AGENTS.md instruction section plus graft's skill at .agents/skills/graft/SKILL.md — the Agent-Skills-standard location droid documents as its compatibility scope and pi documents as a skill dir, so one write covers both (and the next standard-reading tool needs no new registry entry). Strictly project-scoped: no machine-wide config, unlike the agents row's ~/.codex writes. Vendor rows keep their vendor-specific halves; the overlaps are deliberate and idempotent (identical AGENTS.md content upserts to 'unchanged', and pi resolving the same skill name from .pi/skills/ and .agents/skills/ resolves by precedence). Retraction derives the skill target like every other write, so graft uninstall removes it for free. Also: the shim-resolution fakes claim versions above any real release — the shim's candidate list includes the test runner's own node install, so a machine with a real global graft joined the version race and the 0.x fakes stopped being hermetic.
|
Intent to restructure the init rows (follow-up). This PR adds |
Adds the two agents graft couldn't yet wire to
graft init:AGENTS.mdinstruction section (Droid reads AGENTS.md per Factory's docs) plus a repo-level.factory/mcp.jsonMCP registration — the committed, team-shared level of droid's user/folder/project trio (MCP docs), matching how cursor/gemini/kiro are wired. Detected via~/.factoryor a repo.factorydir. Selecting droid alongside the genericagentsrow runs two identical AGENTS.md upserts — the fenced section is still written exactly once..pi/skills/graft/SKILL.md(pi discovers.pi/skills/from the cwd upward). Pi's own README documents a no-MCP philosophy, so wiring is deliberately skill + AGENTS.md only — no MCP registration — and the graft binary on PATH stays the integration surface. Detected via~/.pior a repo.pidir.Retraction needs no new code: both targets derive from the same registries
initwrites through, sograft uninstallremoves the skill file and the.factory/mcp.jsonkey for free.Evidence
name: graftfrontmatter), pi MCP absence,.factory/mcp.jsonmerge + re-run convergence, registry id list.