Ugbot / Ugbot/Agentic-Streaming
API surface: decide what the DSL means, remove dead code
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 37
- Forks
- 2
- Avg merge
- 10h 46m
- Merged PRs (30d)
- 28
Description
Before a 1.0 the public surface has to be intentional.
- ~20 of 48
AgentBuilder.withX()methods set fields nothing reads. 21 ofAgents ~50 getters have no read sites outsidedsl/— including every memory, storage, vector, guardrail, MCP, embedding, context and task-list option. The sharpest case: the headline example in CLAUDE.md uses four methods that nothing in the repo reads or tests. Silent no-ops in a public API are the worst of the three options — wire them, delete them, or make them throw. dsl/has no test directory at all, covering the two largest files in the repo.- Seven overlapping agent-execution paths, including two public classes both named
AgentExecutionFunction. The best-designed path has zero production call sites; the de-facto real one has no Flink state and parses tool calls with a hand-rolled string-splitting parser while Jackson is already on the classpath. - ~2,600 LOC unreachable (CEP pattern builders, a duplicate memory lineage, a 260-line store interface with no impls, several orphaned functions). Saga compensation is emitted to a side output that nothing consumes, so rollback never runs.
- Dead root-level files:
sql/schema.sqldefines five tables no code references and is mounted as a Postgres initdb script;config/*.yamldescribe a config format with no loader;run-demo.shis a pre-rename relic. - 396 of 403 public types are
publicwith no@Public/@Internalmarkers, and there are zero@Deprecatedannotations despite a documented deprecated path.
Roadmap epic. Detailed findings, file:line citations and sub-tasks live in the AI-grind tracker (project AGS), which is the source of truth for this work. Local dev — build, test, tracking, profiling — is managed with AI-grind.
Tracked as AGS-7 in the devtools-mcp tracker.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the AGS-7 tracker for the detailed findings and sub-tasks, then inspect the two largest files under dsl/ and the public AgentBuilder and Agent APIs. Use AI-grind for the local build and tests; this work is done only when the public surface, execution paths, dead code, and missing coverage have been intentionally resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kafka, postgres
- Domain
- api, backend, devtools, distributed-systems
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100