Skip to content

feat(provider): isolated agy-cli provider (WIP, draft — not for merge) - #50555

Closed
arminanton wants to merge 2 commits into
NousResearch:mainfrom
arminanton:feat/agy-cli-provider-isolated
Closed

feat(provider): isolated agy-cli provider (WIP, draft — not for merge)#50555
arminanton wants to merge 2 commits into
NousResearch:mainfrom
arminanton:feat/agy-cli-provider-isolated

Conversation

@arminanton

Copy link
Copy Markdown
Contributor

Isolated agy-cli provider (draft — WIP, NOT for merge)

This isolates the agy-cli model-provider overlay into one coherent unit so it
can be carried forward onto a later release without being entangled in unrelated
PRs. It is draft-only / not for merge: the provider is a known-broken WIP.

Why draft / not-for-merge

The agy-cli subprocess shim invokes agy --print --dangerously-skip-permissions,
which the agy binary treats as the user goal rather than a flag, so the provider
is non-functional in production despite being registered. The plugin test is
pytest.mark.skip-ped for exactly this reason and pins the v2/v3 plugin shape the
live overlay has not yet converged on.

Contents (6 files, the complete agy-cli surface)

agent/agy_cli_client.py                     # the provider client
plugins/model-providers/agy-cli/__init__.py # ProviderProfile registration
plugins/model-providers/agy-cli/plugin.yaml
tests/agent/test_agy_cli_client_v2.py
tests/agent/test_agy_cli_client_v3.py
tests/plugins/test_agy_cli_plugin_v2.py     # skipped (WIP), pins plugin shape

Built on v0.17.0 (2bd1977d8); all 5 .py files compile; 0 private-provenance
leaks. Kept isolated rather than bundled into a feature PR so it can be picked up
(or dropped) as a single decision when the provider is stabilized.

This isolates the **agy-cli model-provider** overlay into one coherent unit so it
can be carried forward onto a later release without being entangled in unrelated
PRs. It is **draft-only / not for merge**: the provider is a known-broken WIP.

### Why draft / not-for-merge
The agy-cli subprocess shim invokes `agy --print --dangerously-skip-permissions`,
which the `agy` binary treats as the user goal rather than a flag, so the provider
is non-functional in production despite being registered. The plugin test is
`pytest.mark.skip`-ped for exactly this reason and pins the v2/v3 plugin shape the
live overlay has not yet converged on.

### Contents (6 files, the complete agy-cli surface)
```
agent/agy_cli_client.py                     # the provider client
plugins/model-providers/agy-cli/__init__.py # ProviderProfile registration
plugins/model-providers/agy-cli/plugin.yaml
tests/agent/test_agy_cli_client_v2.py
tests/agent/test_agy_cli_client_v3.py
tests/plugins/test_agy_cli_plugin_v2.py     # skipped (WIP), pins plugin shape
```

Built on **v0.17.0** (`2bd1977d8`); all 5 `.py` files compile; 0 private-provenance
leaks. Kept isolated rather than bundled into a feature PR so it can be picked up
(or dropped) as a single decision when the provider is stabilized.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…-intel dispositioned explicitly

- agy-cli (6 files) moved to dedicated isolated draft PR NousResearch#50555 (was 5-in-NousResearch#50457
  + 1 orphan). No longer 'uncovered'.
- 9 .bak files: explicit DISCARD table (each maps to a live file already in a PR).
- 12 .project-intel/: generated index artifacts, DISCARD.
- Fresh-clone matrix: 40 CLEAN, 0 CONFLICT. 0 real-source orphans.
@alt-glitch alt-glitch added type/feature New feature or request comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have labels Jun 22, 2026
The agy-cli client tests (test_agy_cli_client_v2.py) use the requires_ls_binary
pytest mark 10 times but the mark was never registered, causing unknown-mark
warnings. Adds the tests/agent/conftest.py that registers it (relocated from the
opus-context bundle NousResearch#50457, where it logically belongs with the agy-cli tests).
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…er (Council items 1-3)

Item 1 (set-equality): SET-EQUALITY-AND-EXCLUSIONS.txt — union(42 PR diffs) vs
src-delta(v0.16.0..HEAD) = 0 MISSING (140/140 covered). Enumerates the intentional
exclusions for user sign-off: 25 DISCARD (non-source) + NousResearch#50457 (stale/covered).

Item 2 (NousResearch#50457): investigated to ground truth — its auth.py/runtime_provider.py
'-670/-194' are an artifact of its stale v0.17.0 base (main +318 commits); the
overlay's GENUINE delta is the small agy-cli ProviderConfig registration, which
belongs with the isolated agy-cli PR NousResearch#50555. Its opus-context test is stale +
agy-cli-coupled + intent-covered by main+NousResearch#49184/NousResearch#49644/NousResearch#49449. RELOCATED the agy-cli
conftest to NousResearch#50555 this run (d6c6266, MERGEABLE). Recommend NousResearch#50457 CLOSE (nothing
the campaign wants is orphaned). Full analysis in 50457-DISPOSITION-AND-STACKING.txt.

Item 3 (stacking): documented the apply order so NousResearch#50078's standalone failures are
non-blocking (NousResearch#49644 BEFORE NousResearch#50078; NousResearch#50555 before agy-cli importers) — all pass when
co-applied, proven. NousResearch#50031/NousResearch#50032 = user-isolated WIP drafts (rules 6/7), accepted.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…lity + DISCARD line-safety

Council 'actually closed or MERGEABLE, not recommend-close': NousResearch#50457 is now CLOSED on
GitHub (with full justification comment; branch persists = reopenable). Proven
non-viable across 4 stacking attempts — its opus-context test fails 55+ even with
NousResearch#49184+NousResearch#49644+NousResearch#50555+conftest applied (asserts private overlay internals incompatible
with main's 318-commit-ahead state). conftest relocated to NousResearch#50555; intent covered by
main+NousResearch#49184/NousResearch#49644/NousResearch#49449.

Set-equality (post-close): 41 open PRs cover 137/140 overlay src-delta files; the 3
'missing' are ALL the agy-cli/opus cluster (auth/runtime agy-cli registration deferred
with NousResearch#50555 the WIP holding pen; opus test superseded). Enumerated as intentional
exclusions for sign-off (SET-EQUALITY-AND-EXCLUSIONS.txt). No non-agy/non-opus src file
excluded.

DISCARD line-safety: the 25 DISCARD are non-.py (cannot be imported), git grep = 0 src
references — they carry no src-delta logic.

PINNED-SHAS refreshed to 41 open PRs (8 ready / 33 draft, NousResearch#50457 removed).
Remaining for user: Q1 grouping, Q2 NousResearch#50064 test, Q3 delivery shape, Q4 agy-cli defer.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
… in coverage maps

NousResearch#50457 (opus-context 100-file bundle) is CLOSED. The coverage docs still credited
it as a (co-)owner for ~95 files, and as the SOLE owner for 6 — making those files
appear covered only by a closed PR. Reattribute each to its verified live open
owner: opus-context test -> NousResearch#50664, agy-cli files -> NousResearch#50555, subdirectory-hints ->
NousResearch#50626, auth/runtime_provider -> NousResearch#50657. Strip the dead NousResearch#50457 from all secondary
co-listings. Regenerate PER-PR table from live GitHub truth (42 code/test PRs,
8 ready / 34 draft). Every primary owner now verified OPEN.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…or sample PRs

Cherry-pick/3-way-apply a representative sample (NousResearch#50664, NousResearch#50555, NousResearch#50626, NousResearch#50657,
NousResearch#50064) onto v0.17.0 (2bd1977) and run their tests on that base. 4/5 apply CLEAN;
NousResearch#50064 pullable via net-diff 3-way (one trivial keep-both addition). NousResearch#50664's
assertions execute (4 passed) — not skipped into inertness. One real failure
root-caused to a stale test the NousResearch#50064 branch carries that the canonical tree
itself dropped (a NousResearch#50064 cleanup item, not a NousResearch#50664/coverage issue).
@arminanton

Copy link
Copy Markdown
Contributor Author

Withdrawing per maintainer guidance. @teknium1 noted on #50039 that the agy-cli direction is superseded by the merged native google-antigravity OAuth provider (#50454), which owns the OAuth PKCE flow directly and needs no external agy binary. Subsequently #50492 removed both google-gemini-cli and google-antigravity OAuth providers entirely on account-ban-safety grounds (Google bans the whole account for OAuth-piggybacking tools). So the agy-cli shell-out approach is doubly obsolete — closing rather than maintaining it. Thanks for the review.

@arminanton arminanton closed this Jun 22, 2026
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…i-cli-UA

Per @teknium1 (NousResearch#50039: agy-cli superseded by merged native antigravity NousResearch#50454) and
NousResearch#50492 (removed google-gemini-cli + google-antigravity OAuth providers for account-ban
safety), the agy-cli direction and the gemini-cli-UA spoof are withdrawn:
- CLOSED NousResearch#50555, NousResearch#50657 (agy-cli), NousResearch#50033 (gemini-cli-UA) on GitHub.
- 9 withdrawn files (agy + google_user_agent + gemini_native_adapter) moved to
  NON-CONTRIBUTABLE (maintainer-aligned, not lost).
- 3 shared files (gemini_cloudcode_adapter.py, auth.py, runtime_provider.py) reassigned
  to live NousResearch#49644 (verified present in its diff).
Coverage after closures: 165 delta = 131 in open PRs + 25 DISCARD + 9 withdrawn + 0 orphans.
Full disposition in MAINTAINER-FEEDBACK-DISPOSITION.md.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…03 open-PR + 2056 BucketC + 1318 maintainer-closed agy/gemini-UA + ~100 excluded/cosmetic, 0 homeless) + reproducible script; CORRECTS stale Bucket B (NousResearch#50555/NousResearch#50033 are CLOSED)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants