feat(provider): isolated agy-cli provider (WIP, draft — not for merge) - #50555
Closed
arminanton wants to merge 2 commits into
Closed
feat(provider): isolated agy-cli provider (WIP, draft — not for merge)#50555arminanton wants to merge 2 commits into
arminanton wants to merge 2 commits into
Conversation
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.
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.
This was referenced Jun 22, 2026
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).
Contributor
Author
|
Withdrawing per maintainer guidance. @teknium1 noted on #50039 that the agy-cli direction is superseded by the merged native |
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
agybinary treats as the user goal rather than a flag, so the provideris 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 thelive overlay has not yet converged on.
Contents (6 files, the complete agy-cli surface)
Built on v0.17.0 (
2bd1977d8); all 5.pyfiles compile; 0 private-provenanceleaks. 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.