100 Commits
Author SHA1 Message Date
Jaana Dogan d0bc38bcf9 Clarify Model resource concept description
Refine the Model section in docs/concepts.md to directly describe it as a
declarative configuration resource for model providers, parameters, and
credentials rather than using colloquial phrasing.

Fixes #356
2026-09-25 21:44:39 -07:00
Jaana Dogan c7de928027 Replace UpdateTask with CreateTask and enforce immutability (#398)
* Replace UpdateTask with CreateTask and enforce immutability

Replaced UpdateTask RPC with CreateTask. Tasks are now
immutable once created; modifying an existing task returns a
FailedPrecondition error.

- Renamed UpdateTask/UpdateTaskRequest to CreateTask/CreateTaskRequest.
- Checked existence in Server.CreateTask to prevent mutation.
- Updated CLI apply logic, tests, and documentation.

* refactor: remove TaskSpec.Suspend and default new tasks to suspended state

* chore: update default snapshots bucket to snapshot-substrate-test-ax-substrate
2026-09-25 20:59:08 -07:00
Jaana Dogan acb6c1709b Remove temperature parameter from Model examples (#397)
Remove `temperature` settings from example Model manifests. We don't recommend this parameter.
2026-09-24 17:47:37 -07:00
Jaana Dogan 17116d0ccd demo.sh: shorten poll interval in wait_for to 200ms (#396)
Reduce the sleep interval in the wait_for polling loop from 2s to
0.2s. This allows the demo script to detect task phase and condition
transitions (readiness, suspension) much faster without waiting out
unnecessary 2-second sleep delays.
2026-09-24 17:05:13 -07:00
Jaana Dogan 0b5427c4bb Remove Gateway concept to avoid bifurcation with Substrate (#395)
Remove the Gateway resource across the API, controller, server, CLI,
store, and documentation.

Gateway introduced an unnecessary layer and architectural bifurcation
between Agent Substrate and AX. By removing it, AX aligns directly with
Substrate's native primitives and networking rather than maintaining an
overlapping ingress/routing abstraction.

- Reserved protobuf field 8 and removed Gateway RPCs and messages.
- Cleaned up controller reconciler, server endpoints, and store models.
- Updated CLI, documentation, and example manifests.
2026-09-24 16:59:45 -07:00
Jaana Dogan f009cc81c9 demo: simplify walk-through to highlight core stable features (#391) 2026-09-24 06:40:26 -07:00
Jaana Dogan ace03604a6 Add external roadmap (#381)
Fixes #362.
2026-09-23 14:08:21 -07:00
Jaana Dogan 703a79f2a5 Bump dependencies to fix the broken build 2026-08-13 11:49:13 -07:00
Jaana Dogan 8ee3b7d734 Update dependencies in requirements.txt 2026-08-12 01:01:39 -07:00
Jaana Dogan 2bcc1637b3 Update project dependencies in requirements.txt 2026-08-12 00:38:32 -07:00
Jaana Dogan 7f053762ff Display tool calls, and add an animation for loading 2026-08-12 00:28:09 -07:00
Jaana Dogan e4270cfb71 Update architectural diagram and labels 2026-08-12 00:01:28 -07:00
Jaana Dogan 992cd08608 Add FilesystemService to README roadmap 2026-08-11 23:55:23 -07:00
Jaana Dogan 087df171b3 Rename cli config flags to --agent-config and --agent-config-file 2026-08-11 23:24:28 -07:00
Jaana Dogan 9eac9a3233 Remove system instructions from local agent configuration 2026-08-11 23:21:27 -07:00
Jaana Dogan 0c689080d5 Update roadmap in README with new feature priorities 2026-08-11 23:19:54 -07:00
Jaana Dogan 91567b2844 Remove skills.Available in favor of []skills.Group 2026-08-11 23:17:19 -07:00
Jaana Dogan 9faeb23bed Rename harnessConfig to agentConfig across the codebase for consistency 2026-08-11 23:00:48 -07:00
Jaana Dogan 2282424ebc Make the public facing ExecutionService more InteractionsService-like (#339)
We want AX to be compatible with the Interactions API protocol as much as possible. This PR aligns the proto with Steps and with the Interactions semantics. We will follow up with more changes to make it more compatible with Interactions while preserving a `conversation_id` based history model.

`ConversationService` is removed for now until we know what kind of data operations we want to provide for event log management.
2026-08-11 22:52:05 -07:00
Jaana Dogan cbd2c56437 refactor: update install script paths in documentation and manifest comments 2026-07-22 22:30:04 -07:00
Jaana Dogan 4474dff3cd refactor: move ate package from internal/k8s to internal/ to decouple from Kubernetes dependencies 2026-07-22 12:59:02 -07:00
Jaana Dogan 0f8d4c62ed refactor: remove unused history confirmation utility functions 2026-07-22 12:57:49 -07:00
Jaana Dogan d9a0f75ed2 docs: update usage documentation for ax execute and serve commands 2026-07-22 12:38:41 -07:00
Jaana Dogan 0f8f36c8d5 docs: simplify quickstart section and fix formatting in README.md 2026-07-22 12:32:24 -07:00
Jaana Dogan 19be3958f3 docs: remove specific harness and model controller descriptions from README 2026-07-22 12:31:28 -07:00
Jaana Dogan f4ad177adb docs: rename --config flag to --ax-config in README examples 2026-07-22 12:30:30 -07:00
Jaana Dogan d4c5c352e0 chore: rename --config flag to --ax-config for consistency 2026-07-22 12:28:28 -07:00
Jaana Dogan b019d135ce chore: add Google LLC copyright headers to generated protocol buffer files 2026-07-22 12:27:26 -07:00
Jaana Dogan d1a3da1142 docs: format bash command examples for better readability in README.md 2026-07-22 12:25:38 -07:00
Jaana Dogan 16db0d7a0f refactor: simplify CLI by removing the exec subcommand and moving its flags to the root command 2026-07-22 12:24:07 -07:00
Jaana Dogan 5ec51983e1 refactor: move antigravity configuration to top-level and rename HarnessesConfig to RegistryConfig 2026-07-22 12:19:30 -07:00
Jaana Dogan c0d8e5bf10 refactor: remove dashboard implementation and web assets 2026-07-22 12:15:28 -07:00
Jaana Dogan bab973e877 refactor: rename seq to step across protocol and internal controller logic 2026-07-22 12:13:19 -07:00
Jaana Dogan 24b2f399fa docs: update README features list to highlight MCP tools and custom environment support 2026-07-22 12:05:48 -07:00
Jaana Dogan 2fd20cd431 refactor: rename harness configuration flags to --config for inline JSON and --config-file for paths 2026-07-22 12:04:50 -07:00
Jaana Dogan 701feadd05 refactor: rename CLI flags to --config and --ax-config for improved command naming consistency 2026-07-22 12:01:27 -07:00
Jaana Dogan a0bfb5fb74 feat: add support for terminating existing orphan processes before starting the Python sidecar 2026-07-22 11:56:37 -07:00
Jaana Dogan 1abc003dca feat: prevent sidecar startup when ReadyFunc indicates the endpoint is already in use 2026-07-22 10:09:23 -07:00
Jaana Dogan e4c2fbda00 docs: remove temporary external contribution pause and contact email from README 2026-07-22 10:04:03 -07:00
Jaana Dogan 6806eb99d7 docs: remove deprecated BYOH and integrations items from roadmap 2026-07-22 10:02:24 -07:00
Jaana Dogan bff324b7db docs: remove obsolete Antigravity harness documentation from README 2026-07-22 10:02:05 -07:00
Jaana Dogan 5ac275e373 fix(docs): update Control API label to Actor Controller in README 2026-07-22 08:44:24 -07:00
Jaana Dogan 10588c52ac fix(docs): update HarnessService description to clarify terminology 2026-07-22 08:43:07 -07:00
Jaana Dogan b71ba523cc Use GOOGLE_CLOUD_PROJECT variable and remove PROJECT_ID usage (#293)
* Update install script to use GOOGLE_CLOUD_PROJECT instead of PROJECT_ID

Fixes #290.

* Use GOOGLE_CLOUD_PROJECT variable and remove PROJECT_ID usage

Fixes #290.
2026-07-10 14:23:47 -07:00
Jaana Dogan 3f39ca3f91 Delete obsolete Makefile targets (#284) 2026-07-09 14:44:57 -07:00
Jaana Dogan e84907da79 ax command should start without an ax.yaml (#279)
Fixes #260.
2026-07-08 23:18:44 -07:00
Jaana Dogan e1950e035e Add instructions for accessing ax server via port-forwarding in install script (#280) 2026-07-08 23:18:25 -07:00
Jaana Dogan 7473132078 Setup ~/.ax/antigravity once until a new update arrives (#278)
* Consolidate .ax directory path resolution into a centralized config helper

* refactor: remove unused TargetDir field from SetupOptions in python sidecar tests

* test: update setup test to use HOME directory and verify .ax subdirectory extraction

* refactor: simplify directory path resolution and variable naming in python sidecar setup

* perf: skip redundant file copying and pip installations when dependencies are up to date

* fix: remove redundant check for non-existent requirements file in setup

* refactor: track file updates during extraction to skip unnecessary pip installs

* feat: add progress notification when installing Antigravity SDK

* fix: ensure site-packages directory exists before returning path in setup

* feat: add pypi simple index to pip install command for environment compatibility
2026-07-08 22:08:09 -07:00
Jaana Dogan 81c84f77b2 Embed python artifacts into ax (#276)
* Embed python artifacts into ax

And setup the AGY harness service at runtime.

* refactor: remove directory and file filtering logic from setup walk function

* refactor: rename installRequirements to install in python sidecar setup

* refactor: simplify Sidecar configuration by passing PYTHONPATH directly to Start method and removing unnecessary environment and binary options

* feat: configure pip install to use local site-packages and filter unwanted files during setup

* feat: support appending to PYTHONPATH and update Python setup path resolution

* refactor: remove redundant file filtering in sidecar setup directory traversal

* refactor: simplify python package installation and add PyPI index URL to pip command

* fix: remove extra index URL from pip install command

* refactor: remove Sidecar.Setup method and move asset extraction logic to external standalone function

* refactor: remove PythonPath configuration field from sidecar.Config in favor of direct global pythonPath usage

* test: remove integration test for antigravity sidecar auto-start logic

* fix: add pypi.org extra-index-url to python package installation command

* refactor: remove Stdin support from pythonsidecar configuration and cleanup redundant harness definitions
2026-07-08 19:28:18 -07:00
Jaana Dogan c507098025 Introduce pythonsidecar package (#273)
* Introduce pythonsidecar package

* chore: add Apache 2.0 license headers to pythonsidecar files

* chore: add development todo notes to sidecar configuration struct
2026-07-07 16:50:17 -07:00
Jaana Dogan 2ce514f6d6 Make /workspace the default working directory on Substrate (#259)
Fixes #258.
2026-07-06 19:43:02 -07:00
Jaana Dogan ad6a89ebaa Rename KO_DOCKER_REPO to AX_IMAGE_REPO (#257)
Fixes #247.
2026-07-06 18:13:46 -07:00
Jaana Dogan cca34eaa76 Use /axharness folder in the snapshots bucket (#255)
The ax harness server will provide more than Antigravity.
2026-07-06 18:12:38 -07:00
Jaana Dogan ab717703a1 Remove examples/skills/ from the Dockerfile (#256)
Fixes #253.
2026-07-06 18:12:23 -07:00
Jaana Dogan e39b1232b2 Move Harness implementations to their own packages (#243)
* Move Harness implementations to their own packages

Fixes #232.

* Shorten the constructor names
2026-07-06 14:00:57 -07:00
Jaana Dogan 72b51a4893 Rename ControllerService to ExecutionService (#242) 2026-07-06 10:30:46 -07:00
Jaana Dogan cec995b72f Fix spacing between AGY harness responses (#239)
The AGY harness streams each contiguous block of assistant text as a separate TextContent message, with tool calls in between. The CLI display (cmd/ax/internal/display.go) tracks a state field to decide when to insert separating newlines  but the Content_ToolCall case was a pure no-op that left state == stateText.

Fixes #233.
2026-07-05 22:48:05 -07:00
Jaana Dogan 701777e498 Regenerate proto files (#241)
* Regenerate proto files

Fixes #240.

* chore: add Apache 2.0 license headers to generated Python protobuf files
2026-07-05 22:47:49 -07:00
Jaana Dogan b8c87febf0 Add traces to the SQL event log implementation (#234) 2026-07-01 10:26:14 -07:00
Jaana Dogan 0088d37d80 Remove weather tool and the custom system instructions (#231) 2026-07-01 10:20:52 -07:00
Jaana Dogan d9c3412063 Rename Harness Service to AX Harness Server (#227)
To keep the style consistent with AX Server
2026-07-01 02:55:08 -07:00
Jaana Dogan ee1d8cfd8f Initial commit of the OpenTelemetry trace exposition (#226)
Refactor telemetry configuration and resolve deprecated GCP metadata calls:
- Replace deprecated `metadata.ProjectID()` and `metadata.OnGCE()` with context-aware versions.
- Update `telemetry.SetTraceProvider` to accept variadic `otlptracegrpc.Option`s and remove the hardcoded endpoint parameter.
- Add `telemetry.WithGCPCredentials()` helper to encapsulate GCP-specific credentials.
- Isolate GCP-specific server telemetry configuration into a new `serve_gcp.go` file.

Fix premature gRPC stream cancellation in the harness execution clients:
- Update the client receive loop to drain the stream until `io.EOF` after receiving the `HarnessEnd` frame, preventing `CANCELLED` errors in telemetry.
- Encapsulate the stream draining and message dispatching logic into a shared `drainStream` helper in a new `stream.go` file.
- Clean up unused `io` imports in `antigravity.go` and `substrate.go`.

Follow-up:
- End-to-end trace context propagation to HarnessService deployments
- End-to-end trace context propagation to Substrate calls
2026-06-30 22:47:56 -07:00
Jaana Dogan 1743290c6c Move Substrate package out of experimental (#214)
Agent Substrate is no longer experimental.
2026-06-29 10:19:28 -07:00
Jaana Dogan b865df6568 Update README based on the new controller implementation (#213)
* Update README based on the new controller implementation

* Update the diagram with more details

* Update README

* Remove unncessary new line

* Add changes to the roadmap

* Update the extensions section

* Add note about Agent Substrate

* Add forking to the roadmap

* Fix wording

* Update tenancy model

* Update wording

* Update formatting

* Add a History section

* Update wording

* Fix wording

* Update wording

* Update wording

* update wording

* Fix typo
2026-06-29 10:19:08 -07:00
Jaana Dogan 9ce12ed12c Introduce version field to configuration with validation check (#218)
Fixes #217.
2026-06-29 00:04:24 -07:00
Jaana Dogan 5067e191b2 Fix the auto collapsing traces (#216)
The AX Dashboard uses live polling (every 3 seconds) to fetch updated trace data for the active conversation. Each time new trace data is retrieved, the dashboard completely regenerates the HTML for the execution trace cards using innerHTML. Because the cards were hardcoded to render with the collapsed and hidden classes by default, any cards the user had expanded would collapse every time the poll triggered. Since users are usually scrolling while reading the expanded trace details, this gave the impression that the history was collapsing during scrolling.

Fixes #202.
2026-06-29 00:04:00 -07:00
Jaana Dogan 78f4a8f229 Add structured Error in HarnessEnd (#215)
- Added Error message to proto
- Removed error_message
- Updated the autogenerated artifacts
2026-06-29 00:03:41 -07:00
Jaana Dogan 82bd8b2fc7 Add a line with kubectl port-forward instructions (#211) 2026-06-27 15:00:27 -07:00
Jaana Dogan 4aa817cccd Minimize the AX Docker image (1.35GB -> 360MB) for faster resumption on Substrate (#208) 2026-06-27 15:00:08 -07:00
Jaana Dogan 22153b43f6 Remove unused skills package (#209) 2026-06-27 04:27:38 -07:00
Jaana Dogan b6fe49a25d Relocate antigravity agent source files from the examples directory (#205)
* Relocate antigravity agent source files from the examples directory

Fixes #188.

* refactor: embed agent.py

* chore: update default antigravity harness address from localhost to 127.0.0.1

* refactor: remove unnecessary localhost resolution from harness server setup
2026-06-26 20:37:10 -07:00
Jaana Dogan 5259c754e3 Rename agent references to harness in docs and update roadmap (#198) 2026-06-26 14:54:26 -07:00
Jaana Dogan 4a7f140d7c Move cmd/e2e to internal/cmd/e2e (#199)
Fixes #187.
2026-06-26 14:53:59 -07:00
Jaana Dogan f39e1f23b4 Remove ununsed internal_only field (#197) 2026-06-26 14:52:07 -07:00
Jaana Dogan 2abfec209d Remove dead code from the earlier controller (#196)
* Remove dead code from the earlier controller

Remove the agent package, AgentService related proto messages, and Gemini agents in favor of the new universal agent harness.

* feat: update proto definitions to use google.protobuf.Struct for harness_config and replace agent fields with harness fields in ExecRequest
2026-06-26 14:31:59 -07:00
Jaana Dogan 6d3a5f1798 Remove AgentService (#186) 2026-06-26 08:42:18 -07:00
Jaana Dogan e7d5e2c8c6 Remove ununsed axepp (#182) 2026-06-26 08:41:45 -07:00
Jaana Dogan 4aad1a6605 Consolidate controller and config packages by removing v2 suffixes (#179)
Also remove ununsed ExecutionEvent from proto.
2026-06-25 15:32:21 -07:00
Jaana Dogan 9737fd7033 Migrate controller and registry to internal/controller2 (#176)
* Cleanup the repo and move to controller2

* Migrate controller and registry to internal/controller2

- Remove the legacy harness build tag

* refactor: move GeminiConfig definition from internal/config to internal/gemini package

* test: replace controller registry with dummy implementation and update dependency constraints in go.mod

* chore: remove harness build and test steps from GitHub Actions workflow
2026-06-25 15:21:28 -07:00
Jaana Dogan b60ee71e33 - Deleted the deprecated old manifests/ directory. (#174) 2026-06-25 14:17:30 -07:00
Jaana Dogan 819bb83a8f Implement resumption of pending executions (#167)
* Implement execution resumption  for pending

* refactor: rename configurableExecution to testExecution in controller tests

* refactor: simplify harness execution error messages in controller
2026-06-25 10:17:41 -07:00
Jaana Dogan 094f057d9f Remove ununsed ExecutionEvent from controller2 (#165) 2026-06-24 14:24:07 -07:00
Jaana Dogan dc754ab7bd Encapsulate event logging in a new logger (#154)
* Encapsulate event logging in a new logger

- Extend ConversationEvent with harness metadata
- Don't allow Exec requests to switch to a different harness

* feat: add TODO for pending execution resumption logic in controller
2026-06-22 12:07:05 -07:00
Jaana Dogan a470ffb0eb Make controller2 use its own eventlog package (#153)
* Migrate controller2 to its own eventlog package

This will allow us to make schema changes to the event log easily without causing issues to the existing event log implementation.

* refactor: update CLI harness to use eventlog from internal/controller2
2026-06-22 11:21:57 -07:00
Jaana Dogan da9d20eccc Remove Colab agent support (#151) 2026-06-18 12:14:06 -07:00
Jaana Dogan 544db4c560 Remove ATE agents (#148)
SubstrateHarness will replace this. SubstrateAgent is deadcode.
2026-06-18 08:08:44 -07:00
Jaana Dogan 5bc08c4e53 Auto select KO_DOCKER_REPO and KO_DEFAULTPLATFORMS (#143)
* Automate KO_DOCKER_REPO and KO_DEFAULTPLATFORMS configuration in installation script

* Add runsc configuration for amd64 and arm64 in ax-deployment2 manifest

Fixes #144.

* chore: remove redundant empty lines in install script

* refactor: remove runsc configuration from deployment manifest

* chore: remove redundant whitespace in ax-deployment2 manifest
2026-06-18 08:08:08 -07:00
Jaana Dogan 75f7232a0d Remove harness test fallback and delete harnesstest package (#138)
Updates #77.
2026-06-17 23:04:16 -07:00
Jaana Dogan cc1e1ea85e Update ateomImage path in deployment manifest (#139) 2026-06-17 22:55:44 -07:00
Jaana Dogan 5425c993f4 Remove forking capabilities until controller2 is stable (#130)
* Remove forking capabilities until controller2 is stable

* chore: add Apache 2.0 license headers to generated python protobuf files
2026-06-17 14:16:21 -07:00
Jaana Dogan fce99efceb Remove trace command and related UI utilities (#126)
We can add this capability back once the event log is stable.
2026-06-17 13:55:04 -07:00
Jaana Dogan 5bf40bf3b3 docs: update actor template name in wait command example (#115) 2026-06-16 07:38:19 -07:00
Jaana Dogan c281998ce7 refactor: remove ate build tag and consolidate server implementation (#119) 2026-06-16 07:37:57 -07:00
Jaana Dogan 5daa7a03a9 Use SubstrateHarness if AX_SUBSTRATE=1 (#89)
* Use SubstrateHarness if AX_SUBSTRATE=1

Fixes #87.

* Don't allow multiple antigravity harnesses

Fixes  #96.

* refactor: cliutil registers the substrate implementation

* refactor: move Antigravity harness initialization from config to cliutil

* feat: add substrate template parameter to antigravity harness initialization

* refactor: rename antigravity template to ax-harness-template and remove redundant constant definition

* refactor: remove unused defaultPort constant from config

* refactor: remove AX_SUBSTRATE_ENDPOINT configuration and dependency from substrate harness
2026-06-15 22:40:44 -07:00
Jaana Dogan ff82422565 Remove custom harness namespace and resources (#92)
* Remove custom harness namespace and resources from deployment configuration

* docs: simplify harness documentation and add support for custom antigravity images in install script

* Remove the implementation details of the deployment script
2026-06-15 21:13:56 -07:00
Jaana Dogan cb4baf4e5a go mod tidy (#88) 2026-06-15 21:13:22 -07:00
Jaana Dogan 2a9e3bd70d Include harness ID and configuration in HarnessMessage (#43)
These fields will allow serving more than a single harness from a binary, and allow accepting configuration per call.

Depends on #42.
Updates #3.
2026-06-01 10:17:07 -07:00
Jaana Dogan 3887ea5c69 Move axharness service to the ax binary (#42)
* Move axharness service to ax binary

This is for the simplicity of building everything into the same binary. In Substrate deployments, ax harness will be executed as an actor.

* feat: add harness implementation to support AGY and other service harnesses
2026-06-01 10:13:13 -07:00
Jaana Dogan 9b336989b6 Rename registry methods GetInfo and GetHarness to AgentInfo and Harness to follow Go style (#40)
Go getters are not prefixed with Get*.
2026-05-31 19:35:13 -07:00
Jaana Dogan 3ac22bde74 Add instructions to deploy and test the harness scaffolding (#39)
Note that controller2 doesn't yet implement auto resumption and suspension of the axharness actors. This will be implemented later.

Related to #3.
2026-05-31 19:34:53 -07:00