Package ch.so.agi.netl
Class JobTools
java.lang.Object
ch.so.agi.netl.JobTools
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionwrite_test(String theme, String job, String file, String content) write_transform(String theme, String job, String file, String content)
-
Constructor Details
-
JobTools
-
-
Method Details
-
context
@McpTool(name="job_context", description="Read models, catalog and GRETL job conventions. Read only.", annotations=) public Map<String,Object> context(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme) -
validate
@McpTool(name="job_validate", description="Validate job artifacts without executing Gradle; returns exact expectationsRevision for user review.", annotations=) public Map<String,Object> validate(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job) -
confirm
@McpTool(name="job_confirm", description="Freeze exact expectationsRevision ONLY after explicit user confirmation of displayed fixtures and expected results. Never self-approve LLM expectations.", annotations=) public Map<String,Object> confirm(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job, @McpToolParam(required=true,description="expectationsRevision") String expectationsRevision) -
test
@McpTool(name="job_test", description="Run isolated synthetic fixture tests and repeated real Gradle transfer. Serial only. Never retry BUSY/timeouts. At most three changed-job attempts after ordinary failure.", annotations=) public Map<String,Object> test(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job) -
plan
@McpTool(name="job_plan", description="Plan local edit-to-pub replacement after exact passing test. Does not transfer data; returns one-use token.", annotations=) public Map<String,Object> plan(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job) -
run
@McpTool(name="job_run", description="Execute local job once. Requires explicit local transfer request and one-use token. Post-commit assertion failure does NOT roll back. Never auto-retry.", annotations=) public Map<String,Object> run(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job, @McpToolParam(required=true,description="planToken") String planToken) -
status
@McpTool(name="job_status", description="Read recorded job checks and whether their fingerprint is current.", annotations=) public Map<String,Object> status(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job) -
write_transform
@McpTool(name="job_write_transform", description="Write only job.json, build.gradle or sql/*.sql in selected theme job. Cannot change fixtures or assertions.", annotations=) public Map<String,Object> write_transform(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job, @McpToolParam(required=true,description="file") String file, @McpToolParam(required=true,description="content") String content) -
write_test
@McpTool(name="job_write_test", description="Write only tests.json, fixtures/*.sql or assertions/*.sql. Confirmed expectations are immutable; use a new job for changed requirements.", annotations=) public Map<String,Object> write_test(@McpToolParam(required=true,description="Exact theme identifier amt/thema from user request, e.g. tests/job_smoke_123. Never substitute demo/standorte.") String theme, @McpToolParam(required=true,description="Job directory identifier only, e.g. transfer. Not the theme name, not a schema name.") String job, @McpToolParam(required=true,description="file") String file, @McpToolParam(required=true,description="content") String content)
-