This page is the canonical reference for what the project is called, why it exists, who it is for, and how people can find it once you publish to Maven Central and GitHub.
| Product name | Agent Governance & Control |
| Short name | AGC |
Maven groupId |
io.github.ranasl62 |
| Primary consumer artifact | agc-spring-boot-starter |
| Optional REST module | agc-api |
| Repository / homepage | github.com/ranasl62/agc-framework (adjust if your fork is canonical) |
Typical dependency (after release):
<dependency>
<groupId>io.github.ranasl62</groupId>
<artifactId>agc-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>Add agc-api if you want POST /agent/execute and GET /audit/{traceId} without writing controllers yourself.
Modern stacks make it easy to call models and expose tools. They rarely give you, out of the box:
- A single, non-bypassable execution path for every governed tool call
- Role- and policy-based allow/deny with stable
reasonCodes - Guardrails (e.g. block payment tools for everyone, warn on sensitive reads)
- An append-only audit trail keyed by
traceId, suitable for security and compliance reviews
AGC fills that gap on the JVM: it is a control plane for tool execution in Spring Boot applications—not a replacement for Spring AI, LangChain4j, or vendor SDKs, but a governance and audit layer you can place in front of whatever actually runs your tools (HTTP, MCP adapter, in-process services, etc.).
Importance in one line: If an agent can call production systems, “who can do what” and “what happened” must be as engineered as the prompt—and AGC makes that explicit in code and storage.
Use it when you:
- Ship AI agents or copilots that invoke backend tools (databases, APIs, internal actions).
- Answer security, risk, or compliance questions about tool use (audit, deny reasons, separation of duties).
- Want fail-closed behavior when governance or mandatory audit cannot complete.
- Prefer declarative policy (YAML/properties) over scattered
ifstatements around each integration.
You may not need it for a one-off demo with a single hard-coded tool and no audit requirements—though the same patterns often appear once that demo goes to staging.
Users often search by groupId, artifactId, or words in the POM description. After deployment, typical searches:
- By coordinates:
g:io.github.ranasl62 - By artifact:
a:agc-spring-boot-starter - Full coordinates:
io.github.ranasl62:agc-spring-boot-starter
Central search: search.maven.org — io.github.ranasl62
Recommend adding repository topics (Settings → General → Topics), for example:
spring-boot · java · llm · ai-agents · tool-calling · governance · audit · compliance · policy · authorization · mcp · enterprise-ai · observability
These are phrases maintainers and users might type into Google, Maven Central, or GitHub search. They are intentionally broad; the README and POM description embed several of them.
| Category | Example search terms |
|---|---|
| Problem | LLM tool governance Java, agent tool authorization, AI tool audit log, prevent unauthorized tool calls |
| Stack | Spring Boot agent framework, Java LLM tools, JVM tool invocation gateway |
| Policy | role-based tool access, guardrails for AI tools, policy engine for agents |
| Compliance | SOX-style tool audit (conceptual), explainable AI tool denial, traceId audit trail |
| Integration | Spring AI governance (complementary), MCP tool execution Java, governed MCP adapter |
Suggested short label for talks or articles: “AGC — Spring Boot governance for LLM tool execution.”
| Document | Audience | Content |
|---|---|---|
| README.md | Everyone | Overview, quickstart, badges, links |
| This file | Adopters & publishers | Name, importance, discovery, coordinates |
| USAGE.md | Integrators | Features, sequential flow, data & audit, exceptions |
| RELEASING.md | Maintainers | Maven Central publish procedure |
| QUICKSTART.md | Developers | Minimal wiring + curl |
| ARCHITECTURE.md | Integrators | Modules, config, HTTP |
| GOVERNANCE.md | Security / platform | Decisions, reason codes, policy |
| FAILURE_MODES.md | SRE / architects | STRICT / ASYNC / BEST_EFFORT, failures |
- Spring AI / LangChain4j / vendor SDKs: model access, chat memory, RAG, tool registration with the model.
- AGC: enforcement before your code runs the tool—registry, RBAC-style policy, guardrails, audit, and a single gateway for execution.
You can use both: let Spring AI (for example) propose a tool name; your application still routes actual execution through ToolInvocationGateway so policy and audit always apply.
Step-by-step guide: RELEASING.md (OSSRH account, GPG, settings.xml, mvn clean deploy -Prelease, post-release SNAPSHOT bump).
Summary:
- Reactor release version (currently 1.0.0 in this repo) on the tag you deploy.
- Sonatype namespace for
io.github.ranasl62verified. settings.xmlservercentral(Portal user token) + GPG signing.mvn clean deploy -Prelease— demo/arch-tests skip deploy.- After Central sync, bump to next SNAPSHOT (e.g.
1.0.1-SNAPSHOT) for continued development — see RELEASING.md.
Suggested citation (adapt version and year):
Agent Governance & Control (AGC). Spring Boot library for governed LLM tool execution, policy, guardrails, and audit.
io.github.ranasl62:agc-spring-boot-starter. https://github.com/ranasl62/agc-framework
Apache License 2.0 — see LICENSE.