vinishjail97 opened a new issue, #888:
URL: https://github.com/apache/incubator-xtable/issues/888

   ### Feature Request / Improvement
   
   Umbrella issue for making XTable usable by AI agents, and for deciding where 
agent-specific code and configuration belong.
   
   The motivation is concrete: getting a first conversion working is still the 
main friction point for new users. Writing a valid `datasetConfig`, knowing 
which jars the classpath needs, and interpreting the output are all places 
people get stuck. An agent can remove most of that, but only if the tooling 
underneath is legible to it.
   
   ## Approach
   
   Three layers, in order. The lower layers are useful on their own, with or 
without any agent.
   
   1. **An agent-legible CLI.** Structured output, real exit codes, a dry-run 
mode, explicit no-op reporting. Today `RunSync` throws away the `Map<String, 
SyncResult>` that `ConversionController.sync()` returns, so the only interface 
is log text. This layer benefits every caller: Airflow, cron, CI, monitoring, 
shell scripts, and agents equally.
   2. **A machine-readable config contract.** A JSON Schema for 
`datasetConfig`, generated from the code so it cannot drift from reality.
   3. **One tool layer, exposed over MCP.** Vendor-neutral, so it works with 
any MCP client rather than one product.
   
   Then, separately, a policy question: where harness-specific configuration 
lives, if anywhere.
   
   ## Prior art worth following
   
   `apache/hudi` has answered this question already. They built 
`hudi-agent-gateway`: one deployable service hosting an agent chat API, an 
**MCP server**, and a chat UI over a single guarded tool registry. Notable 
choices:
   
   - One registration exposes a tool to every surface at once, so there is no 
second API to keep in sync.
   - The default LLM provider is Ollama with a local model, so it starts with 
no API key and endorses no vendor.
   - Guardrails are a first-class module, with AST-level checks, row caps and 
structured invocation logging.
   - The test suite runs offline against a fake backend and a scripted model.
   
   Also worth noting what they did **not** do: there is no `CLAUDE.md`, 
`AGENTS.md`, `SKILL.md`, `.claude/` or `.cursor/` anywhere in `apache/hudi`.
   
   One difference matters for us. Their v1 tools are read-only queries. 
XTable's central operation **writes metadata**, so a `convert` tool needs a 
dry-run default and explicit confirmation before a model can call it.
   
   ## Sub-issues
   
   See the linked sub-issues for the individual pieces.
   
   ## Related
   
   - PR #829, which proposes a Claude Code skill in the repo. Its 
harness-neutral parts, the config schema, the troubleshooting taxonomy and the 
verifier, are what layers 1 to 3 are made of.
   - #666, the XTable REST service. The MCP surface should sit on the same tool 
layer rather than becoming a parallel API.
   - PR #830, source-format detection, which makes an `inspect` tool nearly 
free.
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to