Model or dataset
agentic-in/inferoa avatar
agentic-in/inferoa

Inferoa documents a global install from a moving dev tag, and releases with two fake CI coordinates

Inference-native Tokenmaxxing Agent Harness for Loop Engineering

564 stars90 forksTypeScriptApache-2.0

At a glance

What is it?
An Apache-licensed TypeScript agent harness for recursive loops in the vLLM ecosystem. The install line is `npm install -g inferoa@dev`, the release target publishes coordinates once as a tag push and once as a main push, and nine milestone validators each rebuild the whole project before they run.
Who is it for?
Use Inferoa when you already run vLLM and want an agent loop that treats routing, prefix-cache reuse and context pressure as first-class concerns, because that is the whole premise and the external pieces it leans on are the vLLM engine, semantic router and Omni projects.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 110 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 4, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The documented global install points at a moving dist-tag

Installation is a single line, and the dist-tag in it is the whole story:

bash
npm install -g inferoa@dev

The `@dev` tag is described as tracking the latest build published from `main`, with the `latest` dist-tag reserved for stable releases. So the command in the installation section deliberately installs a moving reference rather than a version number. For a globally linked CLI that is a real operational choice: every reinstall, and every new machine, gets whatever the last build off the default branch happened to be, and two people running the documented command a week apart may not get the same code. If you want reproducibility you have to add the version yourself, and the visible documentation never says so. No uninstall or upgrade command appears anywhere in the quick start, either, so removing a global install means falling back to npm directly.

release-prep publishes coordinates twice, once as a tag and once as main

The Makefile's release target is the most revealing file in the repository, and it is four lines of shell doing something unusual. It refuses to run without `$(VERSION)`, printing a usage line that still says `VERSION=0.11.0` while the package version is 0.14.19. It then runs `npm version` with `--no-git-tag-version --allow-same-version`, so the version is written without creating a git tag, and runs the tests. Next it invokes the same publish-coordinates script twice, once with `GITHUB_REF=refs/tags/v$(VERSION)` and once with `GITHUB_REF=refs/heads/main`, both with `GITHUB_EVENT_NAME=push` and both with `GITHUB_RUN_NUMBER=0`. Finishing with `npm pack --dry-run` confirms what would ship. Two coordinates from one local invocation, with the run number pinned to zero, is the mechanism to read before trusting a tag.

Nine milestone validators, and each one rebuilds first

The npm scripts include a numbered validation ladder. `validate:t0` through `validate:t7` are declared individually, with a `validate:t8` following in the same pattern, and each one is defined as `npm run build && node dist/src/validation/milestone.js` followed by its milestone letter. So a milestone check is never cheap: it recompiles the whole TypeScript project before it evaluates anything, which means the validators are gated behind a full build rather than running against prebuilt output. Alongside them sits `experiment:long-horizon`, which also builds first and then runs `node scripts/long-horizon-value.mjs` from the `scripts/` directory. The ordinary scripts around them are a `build` of `tsc -p tsconfig.json`, a `check` using `tsc --noEmit`, and a `test` that builds and then runs `node --test` over the compiled test files.

Setup collects a vault-backed key and an Omni endpoint before the TUI opens

Two commands get you running:

bash
inferoa setup
inferoa

`inferoa setup` is a wizard over four things: an endpoint, a model, a vault-backed API key, and Omni configuration. The key handling is the notable part, since it is described as vault-backed rather than written into a plain config file, which is why the wizard is a required first step rather than an optional convenience. After setup, `inferoa` opens the TUI, and a prompt can be passed as an argument to start a session and submit it as the first user turn:

bash
inferoa "Inspect this repository and list the test entrypoints."

There is also a non-interactive path that never opens the TUI:

bash
inferoa --print "Summarize the README in one paragraph."

Three slash commands carry the visible feature set: `/loop` for a recursive long-horizon loop that keeps the objective, loop tasks, attempts, verification evidence and decisions active until the work is proven, `/plan` for turning ambiguous scope into an inspectable plan before execution, and `/tokenmaxxing` for token and cost pressure.

Two of the five stack rows name this repository as their own substrate

The stack table has five rows and, read literally, two of them point back at Inferoa. The Loop Engineering row names Loop Mode with the Inferoa repository as its substrate, and the Agent Harness row names Inferoa with the same repository as its substrate. The three rows that name outside projects are the ones that matter for dependency planning: Context Optimization sits on CodeGraph, published to npm as `@colbymchenry/codegraph`, and RTK; Intelligent routing sits on the vLLM Semantic Router; Model Serving sits on the vLLM Engine and vLLM Omni. So the external surface is three vLLM projects plus two context projects, and the acknowledgements section names exactly those five. The stated purpose of the serving row is control of cost, safety, privacy and data sovereignty when an external frontier model is unnecessary, which is the project's clearest statement of intent.

Internal design notes ship to npm because docs/ is in the files list

The package manifest publishes four things: `dist/src`, `skills`, `README.md` and `docs`. That last entry is worth a second look, because the README describes what lives under `docs/` as internal design notes covering the roadmap, TUI product design, vLLM-Omni validation and public-source hygiene. Those notes therefore reach anyone who installs the package, not only people browsing the repository. The public documentation is a separate thing: a docs site at `inferoa.agentic-in.ai` with Quickstart, Architecture, a CLI reference, slash commands and a configuration reference, built from the `website/` directory and deployed with `netlify.toml`, with three npm scripts delegating to that subdirectory. The repository root also carries `CONTRIBUTING.md`, `tsconfig.json`, a `Makefile`, `assets/` and a `test/` directory, singular, which matches the compiled test glob in the test script.

Three patch releases on three consecutive days, and a feature strip in the README

The release history is dense at the end: v0.14.17 on 2026-06-16, v0.14.18 on 2026-06-17 and v0.14.19 on 2026-06-18, each a patch bump on its own day, with the last push to the default branch dated 2026-06-18. That cadence is consistent with a project shipping continuously rather than in planned milestones. The README's own framing is unusually blunt for a tool at version 0.x: prompting is described as no longer the whole interface, and the claim is that the frontier is loop engineering, giving the model an objective, feedback, verification, memory and tools and letting it self-correct until the work is proven. The name unpacks as inference-native, tokenmaxxing loop and agent harness, and a five-item strip names the surfaces: Loop Mode, Intelligent Model Selection, Code Index, Plan Mode and Loop Research.

Editorial conclusion

Use Inferoa when you already run vLLM and want an agent loop that treats routing, prefix-cache reuse and context pressure as first-class concerns, because that is the whole premise and the external pieces it leans on are the vLLM engine, semantic router and Omni projects. Do not install it expecting a pinned release: the documented command pulls the `dev` dist-tag, so a global install floats to whatever was last published from `main`, and no uninstall command appears in the visible documentation. Before you wire it into anything, read the release-prep target rather than trusting a tag, since it publishes publish-coordinates twice with `GITHUB_RUN_NUMBER=0` and never creates the git tag itself.

Frequently asked questions

How do I install Inferoa?

With `npm install -g inferoa@dev`, followed by `inferoa setup` for the endpoint, model, vault-backed API key and Omni configuration, then `inferoa` to open the TUI. The `@dev` dist-tag tracks the latest build published from `main`, while `latest` is reserved for stable releases.

Which projects does Inferoa depend on?

Three vLLM projects, the vLLM Engine, the vLLM Semantic Router and vLLM Omni, plus two context optimisation projects, RTK and CodeGraph. The acknowledgements section names exactly those five, while the loop and harness rows of the stack table name Inferoa itself as their own substrate.

Can Inferoa run without opening the TUI?

Yes. Passing a prompt as an argument starts a session and submits it as the first user turn, and `inferoa --print "Summarize the README in one paragraph."` runs a single non-interactive request. Inside the TUI, `/loop` starts a recursive long-horizon loop, `/plan` produces an inspectable plan, and `/tokenmaxxing` shows token and cost pressure.

What does the Inferoa release-prep target actually do?

It requires a VERSION argument, runs `npm version` without creating a git tag, runs the tests, then invokes the publish-coordinates script twice, once with `GITHUB_REF=refs/tags/v` plus the version and once with `GITHUB_REF=refs/heads/main`, both with `GITHUB_EVENT_NAME=push` and `GITHUB_RUN_NUMBER=0`. It finishes with `npm pack --dry-run`.

When was Inferoa last released and last changed?

The three most recent releases are v0.14.17 on 2026-06-16, v0.14.18 on 2026-06-17 and v0.14.19 on 2026-06-18. The default branch was last pushed on 2026-06-18, the same day as the newest tag, and the package version in the manifest matches that release.

Official sources

  1. agentic-in/inferoa on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/agentic-in-inferoa.svg)](https://hysenlabs.com/projects/agentic-in-inferoa)