Tags: albiol2004/gaia
Tags
fix: upgrade npm to 11.5.1+ for OIDC trusted publishing (amd#683) ## Summary - Node 22 ships with npm 10.9.4, which does **not** support OIDC trusted publishing - The npm publish workflow fails with `ENEEDAUTH` because npm 10.x can't authenticate via OIDC - Adds an explicit `npm install -g npm@latest` step to get npm 11.5.1+ which supports OIDC ## Context Trusted publishing was configured correctly on npmjs.com (`amd/gaia` → `publish-npm-ui.yml` → `npm` environment), and the workflow had `id-token: write` + `--provenance`. The only missing piece was the npm CLI version. From the [failed run logs](https://github.com/amd/gaia/actions/runs/23814112600): ``` npm: 10.9.4 ← too old, needs 11.5.1+ npm error code ENEEDAUTH ``` ## Test plan - [ ] Merge this PR - [ ] Re-tag `v0.17.1` (or create `v0.17.2`) to trigger the publish workflow - [ ] Verify the publish job prints npm 11.5.1+ and `@amd-gaia/agent-ui` publishes successfully
fix: switch npm publish to OIDC trusted publishing (amd#638) ## Summary - Remove `NPM_TOKEN` secret, use OIDC trusted publishing instead - Bump Node to 22 for npm 11.5.1+ (required for trusted publishing) - Bump version to `0.17.1-rc.1` to test trusted publishing pipeline ## Context The npm publish workflow was failing with E403 because it required 2FA/OTP. Trusted publishing via OIDC eliminates the need for stored tokens entirely — GitHub Actions authenticates directly with npm using short-lived OIDC credentials. Trusted publisher has been configured on npmjs.com for this workflow + environment. ## Test plan - [ ] Merge this PR - [ ] Tag `v0.17.1-rc.1` and push to trigger the publish workflow - [ ] Verify `@amd-gaia/agent-ui@0.17.1-rc.1` appears on npm
docs: fix v0.17.0 release notes — npm install, gaia-ui CLI (amd#636) ## Summary The v0.17.0 release PR (amd#626) auto-merged before the final revision landed. This fixes the release notes to use the correct install flow and terminology. ### Changes - **npm install** as primary install path (`npm install -g @amd-gaia/agent-ui` / `gaia-ui`) - **Removed all pip install** references from user-facing content - **Removed all "chat" references** — Agent UI is a task-oriented desktop app, not a conversational interface - **Removed vendor product comparisons** (ChatGPT, etc.) - **Links to Agent UI guide** (`/guides/agent-ui`) as primary entry point - **Task-oriented framing** throughout (analyze documents, execute tools, accomplish tasks) ### Files Changed - `docs/releases/v0.17.0.mdx` — Updated release notes ## Test plan - [x] Zero occurrences of "chat", "ChatGPT", "pip install" - [x] npm package and gaia-ui CLI referenced correctly - [x] Agent UI guide linked from TL;DR and feature section - [x] CI validation requirements met (frontmatter, Whats New, Full Changelog, compare link)
Release v0.16.1 (amd#516) ## Summary - Bump version from `0.16.0` to `0.16.1` in `src/gaia/version.py` - Add v0.16.1 release notes highlighting C++ tool security, gaia init fixes, and CI improvements - Update `docs/docs.json` with new release entry and navbar version label - **Release workflow hardening:** `publish_installer.yml` now validates release notes, version consistency, and docs.json before publishing — and uses the pre-written `docs/releases/` MDX file as the GitHub release body instead of auto-generating a changelog - **Claude fallback:** `claude.yml` release-notes job skips AI generation when notes already exist on main, using the pre-written MDX file instead - **Validator update:** `validate_release_notes.py` uses regex for section matching (supports emoji-prefixed headers) and drops `## Overview` as required ## Release Highlights - **C++ Tool Security** — Policy-based tool execution with confirmation prompts, allowlisting, and argument validation - **`gaia init` reliability** — Fixed version checks and MSI installer reliability - **Lemonade Server v10.0.0** — Updated to latest release - **CI: Doc link checker** — Automated broken link detection across documentation - **CI: Scoped workflow triggers** — Workflows only run when relevant files change - **Fix: Linux CLI test** — Resolved hanging test in merge queue ## Release Workflow Changes The `Publish GAIA Release` workflow now enforces a **"release notes first"** approach: 1. **`validate-release` job** runs first and gates everything: - `docs/releases/v{version}.mdx` must exist - `src/gaia/version.py` `__version__` must match the tag - `docs/docs.json` must have the release entry and correct navbar version - Release notes must pass structural validation (frontmatter, required sections, changelog link) 2. **`publish-release` job** reads the MDX file (strips frontmatter) and uses it as the GitHub release body 3. If any validation fails, the release is blocked with clear error messages explaining what to fix The `claude.yml` release-notes job now checks if notes already exist and skips Claude AI generation + docs.json/version.py updates when they do, since all of that is now handled in the release PR. ## Test plan - [ ] Verify `docs.json` is valid JSON - [ ] Verify release notes render correctly on Mintlify - [ ] Verify version string is correct in `version.py` - [ ] Verify `validate_release_notes.py` passes for v0.16.1, v0.16.0, v0.15.4 - [ ] Review `publish_installer.yml` validate-release job logic - [ ] Review `claude.yml` notes_check gating logic --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Release v0.15.4.1 (amd#350) ## Summary - Add release notes for v0.15.4.1 (`docs/releases/v0.15.4.1.mdx`) - Bump `__version__` from `0.15.4` → `0.15.4.1` in `src/gaia/version.py` - Add `releases/v0.15.4.1` to nav and update navbar label in `docs/docs.json` Closes amd#336, amd#339, amd#344, amd#345, amd#342, amd#348, amd#346 > **Note:** Do not tag `v0.15.4.1` until after this PR merges. --------- Co-authored-by: Tomasz Iniewicz <infancy_shred.0d@icloud.com>
Add release notes for v0.15.4 and bump version (amd#337) ## Summary - Add release notes for v0.15.4 documenting MCP client support and other enhancements - Bump version from 0.15.3.2 to 0.15.4 ## Context The release notes commit was made after PR amd#277 (MCP Client Support) was merged and needs to be brought into main separately. ## Changes - `docs/releases/v0.15.4.mdx` — new release notes page - `docs/docs.json` — add v0.15.4 to navigation - `src/gaia/version.py` — bump version to 0.15.4 --------- Co-authored-by: Kalin Ovtcharov <kalin@extropolis.ai>
Fix missing packages, broken entry points, and add packaging CI tests (… …amd#309) ## Summary Fixes package registration issues that caused `ModuleNotFoundError` on non-editable installs, plus CI improvements and bug fixes. **Version bump**: v0.15.3.1 → v0.15.3.2 ### Package Registration Fixes - Add 5 missing packages to setup.py (`gaia.vlm`, `gaia.apps.docker`, `gaia.apps.jira`, `gaia.apps.summarize.templates`, `gaia.eval.fix_code_testbench`) - Create missing `__init__.py` for `gaia.mcp`, `gaia.eval`, `gaia.talk`, `gaia.apps.summarize` ### Entry Point Fixes - Add `main()` to `mcp_bridge.py` so `gaia-mcp` entry point works - Remove broken `gaia-mcp-atlassian` entry point (file doesn't exist) ### Bug Fixes - **Fix `gaia init` blocking on Lemonade install**: Previously stopped at step 1/4 if user declined installation. Now continues to step 2 (health check) which properly verifies connectivity for remote servers, manual installs, or `LEMONADE_BASE_URL` setups. ### Code Cleanup - Remove dead `ChatApp` import from `agents/__init__.py` - Fix unused variable warnings in `batch_experiment.py` - Fix trailing whitespace and encoding in `eval.py` - Re-enable 13 pylint checks after fixing all violations ### CI Improvements - **Fix release notes bug**: `pypi.yml` was overwriting release notes with empty string due to race condition with `publish_installer.yml`. Now checks if release exists before creating. - **Add packaging integrity tests**: New `test_packaging.py` with 6 tests to catch missing packages, `__init__.py` files, and broken entry points - **Update lint config**: Add pre-existing warning codes to `DISABLED_CHECKS` (exposed when new `__init__.py` files made pylint scan `gaia.eval` and `gaia.mcp`) - **Fix flaky chat SDK memory test**: The 'say I don't know' system prompt instruction was confusing the small 0.6B model - it would say 'I don't know' even when the answer was in conversation history. Changed to 'answer based on conversation history' which works reliably. ### Release Notes - Added `docs/releases/v0.15.3.2.mdx` with full release notes - Updated `docs/docs.json` navbar to show v0.15.3.2 · Lemonade 9.3.0 ## Test plan - [x] All 316 unit tests pass locally - [x] New `test_packaging.py` (6 tests) validates package/entry point integrity - [x] `util/lint.py --all` passes (5 passed, 2 non-blocking warnings) - [ ] CI runs packaging tests before other unit tests - [ ] Chat SDK integration tests pass --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Improve Linux init: apt install and minimal profile optimization (amd… …#302) ## Summary ### Linux Installation Improvements - **apt/dpkg install:** `gaia init` now uses `apt install ./lemonade-*.deb` on Linux for proper dependency resolution - **Fix apt 404 errors:** Run `apt update` before install to avoid stale package cache issues - **Clean up PATH handling:** Remove unnecessary PATH manipulation on Linux (standard paths are already available) ### Minimal Profile Optimization - **Switch to Qwen3-0.6B:** Changed minimal profile from `Qwen3-4B-Instruct-2507-GGUF` (2.5 GB) to `Qwen3-0.6B-GGUF` (400 MB) - **Updated docs:** All references in cli.mdx, quickstart.mdx, installer.mdx reflect new size - **Better UX:** Added `--force-models` hint when incomplete downloads are detected ### CLI Improvements - **Cleaner help output:** Removed irrelevant global options from `gaia init -h` (no more --use-claude, --model, --trace, etc.) - **Conditional logging:** Made logging level setup conditional to support commands without parent_parser ### CPU-only PyTorch (unchanged) - **Linux guidance:** Added `--extra-index-url https://download.pytorch.org/whl/cpu` to all doc install commands to avoid ~2GB CUDA deps ## Test plan - [x] `gaia init --profile minimal` installs Qwen3-0.6B (400 MB) via apt on Linux - [x] Windows MSI install still works - [x] Unit tests pass: `python -m pytest tests/unit/test_init_command.py` - [x] `gaia init -h` shows only relevant options (no global params) - [x] Incomplete download shows `--force-models` hint 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
PreviousNext