Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
427 commits
Select commit Hold shift + click to select a range
ab95d43
Refactor: Move newControllerFromConfig to shared package internal/cli…
anj-s Apr 21, 2026
ddbf113
[AX Trace] Optimize trace building to O(N) complexity (#243)
anj-s Apr 23, 2026
2b88e8c
Add conversation_id in AgentMessage and Agent interface. (#244)
wjjclaud Apr 23, 2026
78f7bf7
Update README and proto with more background (#247)
rakyll Apr 24, 2026
ede9e3b
Use bytes for agent_config (#248)
rakyll Apr 25, 2026
e488b0b
Updates to README (#249)
rakyll Apr 25, 2026
93705a7
Use JSON encoding for agent configuration (#252)
rakyll Apr 27, 2026
7ba8b9a
Move the Serve section above (#253)
rakyll Apr 27, 2026
5bb628c
go fmt ./... (#254)
rakyll Apr 27, 2026
a8224a9
Default to Gemini planner until Antigravity is ready (#255)
rakyll Apr 27, 2026
6dd0d10
Add ConversationId in the example remote agent message. (#246)
wjjclaud Apr 27, 2026
cdb3677
Use the prebuilt k8s-sandbox-router image (#256)
rakyll Apr 27, 2026
68a69e1
Move experimental features to internal/experimental (#257)
rakyll Apr 27, 2026
dcb97a5
Extend Content types. (#258)
wjjclaud Apr 27, 2026
56fae95
Move internal_only to Message level. (#259)
wjjclaud Apr 28, 2026
4b2905c
Update Antigravity planner to use WebSocket protocol (#245)
joycel-github Apr 28, 2026
4b06cd9
Update the NOT section (#260)
rakyll Apr 29, 2026
befa5ee
feat: return error when requested last_seq is missing from event log …
rakyll Apr 30, 2026
92e4bd9
Move experimental docs to experimental (#264)
rakyll Apr 30, 2026
de2bf1f
Readability updates to trace sub command (#268)
rakyll Apr 30, 2026
97a82cc
Remove Dockerfile from project root (#269)
rakyll Apr 30, 2026
43dfb8b
refactor: rename EventLogService methods and update gRPC stubs (#266)
rakyll Apr 30, 2026
3ba4611
refactor: promote eventlog subcommands to top-level CLI commands (#267)
rakyll Apr 30, 2026
d80015d
Move the Kubernetes sandbox router to experimental (#265)
rakyll Apr 30, 2026
8fb4111
Comment out the skills_dir by default (#270)
rakyll Apr 30, 2026
6a8b7f8
Some more updates to the NOT section (#271)
rakyll Apr 30, 2026
efcec2a
pr1 tests (#272)
anj-s Apr 30, 2026
e211bc0
Move antigravity_planner.go to internal/experimental/planner and upda…
joycel-github Apr 30, 2026
eff8de0
Move Gemini related files into their own package (#273)
anj-s Apr 30, 2026
ae7d54f
Add DockerAgent example and fix planner loop (#276)
anj-s May 2, 2026
849206d
Deploy AX to Substrate (#228)
rakyll May 4, 2026
c5a7ddf
Update wording in Substrate instructructions (#278)
rakyll May 4, 2026
0157fc5
Add a note saying protocols will be revisited (#277)
rakyll May 4, 2026
595d698
Feat: support A2A agent in AX. (#274)
wjjclaud May 4, 2026
6f093d1
An example A2A agent built with ADK. (#275)
wjjclaud May 4, 2026
dc909a9
Introduce a gRPC interceptor to suspend the server actor (#279)
rakyll May 5, 2026
b968e7c
Update ax exec in README (#283)
rakyll May 5, 2026
c078696
Delete Kubernetes sandbox agents (#281)
rakyll May 5, 2026
f76cdd2
Fix the broken ate build (#282)
rakyll May 6, 2026
913542a
Support a2a in substrate agent. (#286)
wjjclaud May 6, 2026
98c2168
go mod tidy ./... (#288)
rakyll May 6, 2026
4a9b921
README: clarify --last-seq is client catch-up, not rewind (#291)
joycel-github May 6, 2026
47cdaf7
Fail fast when no Gemini credentials are configured (#290)
joycel-github May 6, 2026
275a7b9
gemini: remove unused GeminiPlannerConfig.MaxSteps (#294)
joycel-github May 6, 2026
c945475
fork: validate src_seq exists, and update README for fork requirement…
joycel-github May 6, 2026
0eaafd4
Add support for external ADK agents via gRPC (#285)
zbl94 May 6, 2026
6156f3f
gemini: wire planner Temperature through to GenerateContent (#295)
joycel-github May 6, 2026
b9c647b
skills: replace io.EOF with ErrNoSkills sentinel for empty skills dir…
joycel-github May 7, 2026
73e2f51
colab: guard runColab against panic on empty args (#304)
joycel-github May 7, 2026
8b4739e
server: drop dead HealthCheck method on dummyAgent test fixture (#303)
joycel-github May 7, 2026
d8cb516
exec: validate config in runExec to match runServe (#300)
joycel-github May 7, 2026
bb18df9
gemini: thread ctx through BashTool.execute so commands die on cancel…
joycel-github May 7, 2026
935e929
gemini: preserve function-call ID when Gemini assigns one (#297)
joycel-github May 7, 2026
a49fe07
Update documentation links to point to the examples directory (#308)
rakyll May 7, 2026
a9c17f7
Rename EventLogService to ConversationService (#307)
rakyll May 7, 2026
0e34cd2
Use markInFlight in Delete (#309)
rakyll May 7, 2026
af15ab7
skills: escape XML metacharacters in SystemPrompt (#296)
joycel-github May 7, 2026
c4bf7d6
Add some logging for server RPCs (#310)
rakyll May 7, 2026
c3383bd
Fix DockerAgent text streaming regardless of keepLooping (#284)
anj-s May 7, 2026
a261158
Remove ax register from run_e2e.sh and use ax.yaml for registration (…
anj-s May 7, 2026
2a81b5b
Use raw bytes in EPP routing (#319)
rakyll May 8, 2026
1dc4ee2
Update main agent SI to recognize itself as AX (#314)
anj-s May 8, 2026
2e26718
Increase Envoy default timeout to unlimited (#321)
rakyll May 8, 2026
5013783
Update documentation to reflect Agent Substrate rebranding (#322)
rakyll May 8, 2026
654f642
Add content conversion utilities to support confirmation and thought …
zbl94 May 8, 2026
6d8a593
Fix the broken Substrate build with go mod tidy (#330)
rakyll May 10, 2026
c35195a
fix: agentExecutor for sub-agent invocation (#329)
joycel-github May 10, 2026
316e073
todo: add TODO to consider removing hardcoded default gemini agent (#…
joycel-github May 11, 2026
6dd5dd9
docs: add README for ADK agent example (#324)
zbl94 May 11, 2026
730dd87
docs: clarify skills directory resolution logic and fallback behavior…
zbl94 May 11, 2026
a9d91da
Add documentation for a2a agent. (#337)
wjjclaud May 11, 2026
98afa0f
Demo and many other fixes (#331)
rakyll May 11, 2026
4198a69
Reword the custom agents section (#338)
rakyll May 11, 2026
3b86b4e
refactor: ADK agent: rename approved field to confirmed in confirmati…
zbl94 May 11, 2026
b3e03cc
Update example remote agent yaml. (#341)
wjjclaud May 12, 2026
396b3b6
Reject Reserved agent IDs during registration (#334)
dqyi11 May 12, 2026
a318944
Skip white space only text part. (#346)
wjjclaud May 12, 2026
664bf25
Update a2a example to remove confirmation from user. (#347)
wjjclaud May 13, 2026
d9821f6
impl: fix subagent execution flow and add unit tests (#339)
anj-s May 14, 2026
fafd0c7
Add note about pull requests and highlight the early stage (#350)
rakyll May 15, 2026
407027b
Rename project to Agent Executor (#352)
rakyll May 15, 2026
e2243b9
sync code with latest substrate API changes (#348)
dberkov May 15, 2026
9e068ec
Refactor colab and update readme. (#353)
wjjclaud May 16, 2026
ed4f127
adjust ax substrate integration based on latest interior gVisor desig…
dberkov May 16, 2026
a174db7
docs: update Vertex AI env var names to current SDK names (#354)
joycel-github May 16, 2026
e59deef
Remove experimental testagent and clean up controller (#358)
rakyll May 17, 2026
a689fd0
docs: add Kubernetes deployment information to README (#359)
rakyll May 17, 2026
967eba7
go mod tidy (#360)
rakyll May 17, 2026
45776ec
docs: update architecture diagram to include Router and Environment (…
rakyll May 17, 2026
3db78f4
Rename ATEAgent to SubstrateAgent (#362)
rakyll May 17, 2026
3939b3e
docs: clarify AX's harness agnosticism and Kubernetes support (#365)
rakyll May 18, 2026
a328e83
Update contribution guidelines and explain the upcoming refactor (#366)
rakyll May 18, 2026
9680723
docs: add padding around mermaid diagram so the zoom and control butt…
rakyll May 18, 2026
132eb8b
Update repository URLs to point to google/ax (#368)
rakyll May 18, 2026
240e916
Remove antigravity from ax.yaml (#367)
rakyll May 18, 2026
9319c51
Make Skills Strictly Opt-In in Gemini Planner (#369)
anj-s May 18, 2026
ca0fdce
Remove experimental Antigravity planner integration (#370)
joycel-github May 18, 2026
dd5aa03
docs: Add roadmap to README.md with BYOH, suspend/resume, and tool ap…
anj-s May 18, 2026
e252efe
Update roadmap with some other planned features and refinements (#371)
rakyll May 19, 2026
577f048
Switch to Gemini 3.5 Flash (#372)
rakyll May 19, 2026
bc19e54
feat: migrate to latest substrate ate.dev rename (#373)
dberkov May 19, 2026
8946475
Update Agent Substrate import path (#374)
rakyll May 20, 2026
0fd05fa
Add more links to Agent Substrate and give a link to the demo (#1)
rakyll May 21, 2026
3ec20dd
Relocate internal/cliutil package to cmd/ax/internal/cliutil (#10)
rakyll May 21, 2026
caf5e9a
Don't highlight the event log format in README (#8)
rakyll May 21, 2026
ec6fecd
go fmt ./... (#11)
rakyll May 21, 2026
8932455
Remove the bidi Connect (#9)
rakyll May 21, 2026
9cecac3
Add early-stage project disclaimer and contact information to README …
rakyll May 21, 2026
1f799af
Update diagram label and agent substrate description in README (#15)
rakyll May 21, 2026
2b8ac3a
feat: Introduce core harness interfaces (Handler, Harness, Execution)…
anj-s May 21, 2026
cceceed
Initial commit of the Substrate refactor (#17)
rakyll May 22, 2026
4cf0f1a
Refine project warning and remove redundant wording (#18)
rakyll May 22, 2026
23b62ba
Use charm.land/huh/v2 and lipgloss/v2 with dynamic theme detection (#26)
rakyll May 23, 2026
bc9b3c2
Add required go module from substrate. (#30)
wjjclaud May 27, 2026
8aaae39
[feat] Improve graceful interrupt handling and cancelable contexts in…
anj-s May 27, 2026
eedf7b4
Wire up controller2 and harness by a build tag. (#33)
wjjclaud May 27, 2026
ae58258
docs: pause external contributions and update readme warning (#31)
anj-s May 28, 2026
bc1af4f
feat: Integrate Antigravity harness with fallback in Controller V2 (#22)
anj-s May 28, 2026
444695d
Make controller2 wiring work (#35)
rakyll May 30, 2026
1a06704
Make interrupt handling in ax exec more self contained (#36)
rakyll May 30, 2026
9b5e08c
Remove redundant execution tracking and unused closed from the test h…
rakyll May 30, 2026
d36ca7c
Add instructions to deploy and test the harness scaffolding (#39)
rakyll Jun 1, 2026
832d1cc
Rename registry methods GetInfo and GetHarness to AgentInfo and Harne…
rakyll Jun 1, 2026
453d920
Move axharness service to the ax binary (#42)
rakyll Jun 1, 2026
dd7cca1
Include harness ID and configuration in HarnessMessage (#43)
rakyll Jun 1, 2026
d73cfbf
Add gRPC Streaming for Harness interface and integration (#34)
anj-s Jun 1, 2026
433d416
Add a script for the ax harness deployment and update readme. (#44)
wjjclaud Jun 2, 2026
30b0328
feat: implement interactive gRPC harness client (#46)
paramgo Jun 2, 2026
5fa8506
Add ResumeActor and TLS to make the substrate harness work e2e. (#49)
wjjclaud Jun 4, 2026
0a79404
Add the scaffolding for new configs in controller v2. (#48)
wjjclaud Jun 5, 2026
940f8fe
impl: update event log mechanism in controller v2 (#58)
anj-s Jun 8, 2026
284895a
slog: Initialize structured JSON logging for serve and axepp (#61)
anj-s Jun 8, 2026
5d806ac
Initial version of the harness service. (#69)
wjjclaud Jun 9, 2026
220ff40
Use harness service in antigravity implementation. (#71)
wjjclaud Jun 9, 2026
19dbb6e
Add health check for harness server. (#72)
wjjclaud Jun 10, 2026
6ce9531
impl: gRPC server logging interceptors (#68)
anj-s Jun 10, 2026
242e37e
impl: structured logging in controller and substrate harness (#70)
anj-s Jun 10, 2026
dcbae53
chore: remove SUBSTRATE_REFACTOR_CLEANUPS.md, tracked in #77 (#78)
anj-s Jun 11, 2026
f8f9d68
Deploy Antigravity on substrate (#80)
wjjclaud Jun 12, 2026
171399e
go mod tidy (#88)
rakyll Jun 16, 2026
2d1e8bc
Remove custom harness namespace and resources (#92)
rakyll Jun 16, 2026
d90ac1a
ci: add go mod tidy verification step to workflow (#94)
anj-s Jun 16, 2026
2f53a48
Use SubstrateHarness if AX_SUBSTRATE=1 (#89)
rakyll Jun 16, 2026
e57afda
refactor: remove ate build tag and consolidate server implementation …
rakyll Jun 16, 2026
09bfd84
docs: update actor template name in wait command example (#115)
rakyll Jun 16, 2026
1058937
Add e2e substrate tests with mocks. (#82)
wjjclaud Jun 16, 2026
3864d11
Update the deployment script with ateom image and wait step. (#121)
wjjclaud Jun 17, 2026
e11252d
Remove trace command and related UI utilities (#126)
rakyll Jun 17, 2026
a3abc66
Remove forking capabilities until controller2 is stable (#130)
rakyll Jun 17, 2026
b45dd93
feat: reuse agent instance per conversation ID in antigravity harness…
anj-s Jun 17, 2026
032ad6b
Build one comprehensive ax image for the ax-server and harness (#122)
wjjclaud Jun 17, 2026
c28bd3b
fix(harness): improve error message when model API key is missing (#85)
anj-s Jun 17, 2026
87ca760
ax: implement monitor command and conversations API (#74)
anj-s Jun 17, 2026
57a91fd
ax: implement monitor dashboard Web UI (#75)
anj-s Jun 17, 2026
e05fc43
refactor: implement stateful Display and inject io.Writer (#84)
anj-s Jun 17, 2026
cc2d718
Build antigravity package directly from pip install. (#137)
wjjclaud Jun 18, 2026
095130e
Update ateomImage path in deployment manifest (#139)
rakyll Jun 18, 2026
11bbafa
Remove harness test fallback and delete harnesstest package (#138)
rakyll Jun 18, 2026
162bd8d
Auto select KO_DOCKER_REPO and KO_DEFAULTPLATFORMS (#143)
rakyll Jun 18, 2026
f052039
Remove ATE agents (#148)
rakyll Jun 18, 2026
a1ff9d6
Remove Colab agent support (#151)
rakyll Jun 18, 2026
0ed4cf2
Make controller2 use its own eventlog package (#153)
rakyll Jun 22, 2026
c791adf
Encapsulate event logging in a new logger (#154)
rakyll Jun 22, 2026
57710a1
fix(antigravity): Buffer sequential thoughts and text tokens to preve…
anj-s Jun 22, 2026
3239043
Bump substrate version and update documentation. (#158)
wjjclaud Jun 23, 2026
ea49ca7
Remove docker agent example (#159)
joycel-github Jun 23, 2026
fca5d4f
Remove A2A agent and bridge (#160)
joycel-github Jun 23, 2026
7a39b50
feat: Support Postgres as database on substrate. (#163)
wjjclaud Jun 24, 2026
388bf5a
Remove ununsed ExecutionEvent from controller2 (#165)
rakyll Jun 24, 2026
5a0b9e9
Add Interactions API harness (#162)
zbl94 Jun 25, 2026
f64d2fb
Implement resumption of pending executions (#167)
rakyll Jun 25, 2026
a5b1868
feat: Support preinstalled skills in Antigravity harness (#173)
anj-s Jun 25, 2026
0ccaa88
- Deleted the deprecated old manifests/ directory. (#174)
rakyll Jun 25, 2026
6945f06
Update deployment config and readme. (#177)
wjjclaud Jun 25, 2026
7153714
Migrate controller and registry to internal/controller2 (#176)
rakyll Jun 25, 2026
cdc7688
Consolidate controller and config packages by removing v2 suffixes (#…
rakyll Jun 25, 2026
ed6e826
Remove ununsed axepp (#182)
rakyll Jun 26, 2026
049615a
Remove AgentService (#186)
rakyll Jun 26, 2026
dd3b265
Pass harness config through the incoming request (#193)
wjjclaud Jun 26, 2026
7c7583c
Remove dead code from the earlier controller (#196)
rakyll Jun 26, 2026
dc10842
Remove ununsed internal_only field (#197)
rakyll Jun 26, 2026
4d464cd
Move cmd/e2e to internal/cmd/e2e (#199)
rakyll Jun 26, 2026
3c58dd4
Rename agent references to harness in docs and update roadmap (#198)
rakyll Jun 26, 2026
79176a4
Change the harness working directory. (#200)
wjjclaud Jun 26, 2026
425392e
Remove stateless-resumption hydration in antigravity harness server (…
joycel-github Jun 26, 2026
6ef631e
Update skills dir on substrate. (#204)
wjjclaud Jun 27, 2026
285593f
Relocate antigravity agent source files from the examples directory (…
rakyll Jun 27, 2026
47f3778
Remove unused skills package (#209)
rakyll Jun 27, 2026
17963da
Minimize the AX Docker image (1.35GB -> 360MB) for faster resumption …
rakyll Jun 27, 2026
eff9c71
Add a line with kubectl port-forward instructions (#211)
rakyll Jun 27, 2026
f887553
Add structured Error in HarnessEnd (#215)
rakyll Jun 29, 2026
fb724a2
Fix the auto collapsing traces (#216)
rakyll Jun 29, 2026
beceb5c
Introduce version field to configuration with validation check (#218)
rakyll Jun 29, 2026
6f906dc
Update README based on the new controller implementation (#213)
rakyll Jun 29, 2026
705e1a4
Move Substrate package out of experimental (#214)
rakyll Jun 29, 2026
9a4a581
Change bucket var name and bump substrate version. (#224)
wjjclaud Jun 30, 2026
17869d2
antigravity: forward GOOGLE_CLOUD_{PROJECT,LOCATION} env to AGY confi…
joycel-github Jun 30, 2026
9c87844
Initial commit of the OpenTelemetry trace exposition (#226)
rakyll Jul 1, 2026
dc57a90
Rename Harness Service to AX Harness Server (#227)
rakyll Jul 1, 2026
372d468
Add durable conversation resumability to the Antigravity Interactions…
zbl94 Jul 1, 2026
a162268
Remove weather tool and the custom system instructions (#231)
rakyll Jul 1, 2026
6472d16
Add traces to the SQL event log implementation (#234)
rakyll Jul 1, 2026
22dfe00
TUI: add interactive /config menu for per-request harness config (#235)
wjjclaud Jul 1, 2026
8320ff8
Regenerate proto files (#241)
rakyll Jul 6, 2026
c751aed
Fix spacing between AGY harness responses (#239)
rakyll Jul 6, 2026
898506b
Make Postgres optional on substrate deployments (#236)
wjjclaud Jul 6, 2026
444a5e1
Rename ControllerService to ExecutionService (#242)
rakyll Jul 6, 2026
6324449
Move Harness implementations to their own packages (#243)
rakyll Jul 6, 2026
de4dea0
harness/python: normalize thought summary whitespace (#244)
joycel-github Jul 6, 2026
8be9d40
Serve /readyz from ax harness server. (#254)
wjjclaud Jul 7, 2026
36f5c3b
Remove examples/skills/ from the Dockerfile (#256)
rakyll Jul 7, 2026
f209075
Use /axharness folder in the snapshots bucket (#255)
rakyll Jul 7, 2026
76e739f
Rename KO_DOCKER_REPO to AX_IMAGE_REPO (#257)
rakyll Jul 7, 2026
108c5e3
Make /workspace the default working directory on Substrate (#259)
rakyll Jul 7, 2026
8f29222
Introduce pythonsidecar package (#273)
rakyll Jul 7, 2026
09db43f
Serve the Antigravity Interactions harness over HarnessService (#274)
zbl94 Jul 8, 2026
0a6df29
Auto-start Antigravity Python sidecar from ax exec (#275)
joycel-github Jul 8, 2026
f2367ed
Antigravity interactions harness registry and config (#277)
wjjclaud Jul 9, 2026
e3924c4
Embed python artifacts into ax (#276)
rakyll Jul 9, 2026
146cadd
Setup ~/.ax/antigravity once until a new update arrives (#278)
rakyll Jul 9, 2026
5e624e9
Add instructions for accessing ax server via port-forwarding in insta…
rakyll Jul 9, 2026
e74aef1
ax command should start without an ax.yaml (#279)
rakyll Jul 9, 2026
c9bacfb
Harden Antigravity Interactions harness HTTP client (#285)
zbl94 Jul 9, 2026
64aaddf
Delete obsolete Makefile targets (#284)
rakyll Jul 9, 2026
c5e8cd5
Surface server error events in Antigravity Interactions harness (#288)
zbl94 Jul 9, 2026
c4f4cf9
Run Antigravity Interactions as substrate actors (#287)
wjjclaud Jul 10, 2026
322ab37
Replace Antigravity sidecar in-memory Agent cache with SDK-native res…
joycel-github Jul 10, 2026
612023b
Use GOOGLE_CLOUD_PROJECT variable and remove PROJECT_ID usage (#293)
rakyll Jul 10, 2026
f501112
Update GOOGLE_CLOUD_PROJECT for interactions path. (#294)
wjjclaud Jul 10, 2026
2bff149
harness/python: fix stale thought summary test assertions (#291)
joycel-github Jul 11, 2026
4e49083
Antigravity sidecar state dir from config (#292)
joycel-github Jul 13, 2026
8aae23c
ci: run Python tests for the antigravity harness sidecar (#296)
joycel-github Jul 13, 2026
3d1cba3
parse harness config from request (#295)
joycel-github Jul 13, 2026
6c6bf18
antigravity: reject unknown harness_config fields (#301)
joycel-github Jul 14, 2026
9903829
Interactions actor reads config from yaml. (#302)
wjjclaud Jul 14, 2026
156bd8e
antigravity: stop exposing harness state_dir in ax.yaml (#304)
joycel-github Jul 14, 2026
36bd8b0
Add Gemini Enterprise Skill Registry integration for local harnesses …
zbl94 Jul 15, 2026
edd33b5
antigravity: format harness_server.py with black (#311)
joycel-github Jul 15, 2026
7c9d86d
docs(readme): fix invalid harness in exec example (#309)
joycel-github Jul 15, 2026
06f88c2
Honor view_file line range and cap result size (#303)
zbl94 Jul 15, 2026
f3518d3
Handle default harness correctly. (#308)
wjjclaud Jul 16, 2026
1a6c5f7
docs(readme): refresh Antigravity setup, auth, and CLI usage (#317)
joycel-github Jul 16, 2026
67556e3
Separate container for python. (#305)
wjjclaud Jul 16, 2026
779ee0f
Set workdir for interactions execution. (#324)
wjjclaud Jul 16, 2026
5059678
fix(harness): wire --state-dir for the Antigravity SDK harness on sub…
joycel-github Jul 16, 2026
4bc0388
antigravity: bump google-antigravity 0.1.5 -> 0.1.7 (#326)
joycel-github Jul 16, 2026
be3baed
antigravity: remove _resolve_localhost /etc/hosts hack (#328)
joycel-github Jul 17, 2026
68920da
antigravity: guard conversation_id for safe save_dir use (#312)
joycel-github Jul 17, 2026
e2fdc26
chore: remove stale docs, gitignore, and Makefile entries (#329)
joycel-github Jul 17, 2026
f73c69f
fix(antigravity): resume pending executions via empty-input continue …
joycel-github Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.git
.idea
.vscode
*.log
eventlog/
tmp/
node_modules/
bin/
73 changes: 73 additions & 0 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go

name: Go

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Cache addlicense
id: cache-addlicense
uses: actions/cache@v4
with:
path: ~/go/bin/addlicense
key: ${{ runner.os }}-addlicense-v1.2.0

- name: Install addlicense
if: steps.cache-addlicense.outputs.cache-hit != 'true'
run: go install github.com/google/addlicense@v1.2.0

- name: Check license headers
run: |
$(go env GOPATH)/bin/addlicense -check .

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version-file: go.mod

- name: Verify go mod tidy
run: |
go mod tidy
git diff --exit-code go.mod go.sum

- name: Build
run: go build -v ./...

- name: Test
run: go test -v ./...

- name: Check for binary files in PR
run: |
# Get the list of files where Git shows no line count (binary)
BINARIES=$(git diff --numstat origin/${{ github.base_ref }}...HEAD | grep "^-" | cut -f3)

if [ -n "$BINARIES" ]; then
echo "Binary files detected in diff:"
echo "$BINARIES"
exit 1 # Fail the check if binaries are found
fi
51 changes: 51 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Runs pytest against the antigravity harness sidecar
# (python/antigravity/harness_server_test.py). Split from go.yml so the
# Go workflow stays Go-only and this can evolve independently as more
# Python surface area lands.

name: Python

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install Python deps
# Runtime deps from python/antigravity/requirements.txt plus test-only
# tooling. Version floors on pytest match the upstream google-antigravity
# SDK's own dev extras (see google-antigravity/antigravity-sdk-python
# pyproject.toml) so this doesn't drift. pytest-timeout is added here
# only -- our tests spin up real gRPC servers on random ports and can hang.
run: pip install -r python/antigravity/requirements.txt 'pytest>=7.0' 'pytest-timeout>=2.0'

- name: Run Python tests
# --timeout guards against hung gRPC servers so a stuck test can't
# eat the whole workflow budget.
run: python -m pytest python/antigravity/ --timeout=30 --timeout-method=thread -v
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
bin/*
eventlog/*
eventlog/*
/ax
*.log
ax-bin
python/__pycache__
python/proto/__pycache__
__pycache__/
15 changes: 15 additions & 0 deletions .ko.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

defaultBaseImage: gcr.io/distroless/static
90 changes: 87 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
# How to contribute

We'd love to accept your patches and contributions to this project.
We'd love to accept your patches and contributions to this project. However, please note our current temporary policy below.

> [!IMPORTANT]
> **Temporary Pause on External Contributions**
>
> AX is currently undergoing a significant architectural redesign, and the codebase is highly unstable. To ensure we can focus on stabilizing the core framework, we are temporarily **pausing the acceptance of external Pull Requests**.
>
> Please do not open Pull Requests at this time, as they are likely to conflict with ongoing changes and may be closed without review. Instead, we encourage you to:
> - Open an **Issue** to propose feature requests or report bugs.
> - Join discussions on existing issues to share your feedback.
>
> We will update this guide once the core architecture stabilizes and we are ready to welcome contributions again. Thank you for your understanding and patience!

## Before you begin

Expand Down Expand Up @@ -49,8 +60,81 @@ make proto
make test
```

### Run local agent
### Install the ax CLI

```bash
make run-local
make install
```

Ensure that $GOPATH/bin is in your $PATH.

```bash
export PATH="$PATH:$(go env GOPATH)/bin"
```

If you have the `GOBIN` environment variable set, it will be installed there instead.
Make sure the installation directory is in your `$PATH`.

To add the default location to your `PATH` for the current session, run:

```bash
export PATH="$PATH:$(go env GOPATH)/bin"
```

### Creating a pull request

First, clone the repo:

```
git clone git@github.com:google/ax.git
```

If you already have cloned the repo locally, make sure that
your main branch is up to date:

```
git checkout main
git pull -q -r origin main
```

Check a new feature branch:

```
git checkout -b my-feature
```

Make edits to files, and test them locally. Add the changes (e.g. git add .) to stage.
Commit the changes once you staged the changes:

```
git commit -m "Describe he changes made"
```

Push the branch to the origin and open a pull request:

```
git push origin my-feature
```

Visit https://github.com/google/ax to open a pull request.


## Troubleshooting

### Outdated table schema

AX is still under heavy development and the database schema is not yet stable. If you encounter errors related to outdated table schemas, you can reset the database by deleting the `eventlog` directory.

An example:

```bash
ax exec --input "hello"

Error: error creating controller: failed to create event log: sqlite_eventlog: create index exec_checkpoint_id: SQL logic error: no such column: checkpoint_id (1)
```

Delete the `eventlog` directory and try again.

```bash
rm -rf ./eventlog
```
46 changes: 25 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,58 +1,62 @@
.PHONY: all build proto test clean install
.PHONY: all build proto test test-python clean install deps clean-logs

# Build all binaries
all: proto build

# Build binaries
build:
@echo "Building gar..."
@echo "Building ax..."
@mkdir -p bin
@go build -o bin/gar ./cmd/gar
@echo "Building local agent example..."
@go build -o bin/local_agent ./examples/local_agent
@echo "Building remote agent example..."
@go build -o bin/remote_agent ./examples/remote_agent
@go build -o bin/ax ./cmd/ax
@echo "Build complete!"


# Generate protobuf code
proto:
@echo "Generating protobuf code..."
@export PATH=$$PATH:$$(go env GOPATH)/bin && \
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
proto/gar.proto
proto/ax.proto proto/content.proto
@python3 -m grpc_tools.protoc -I. --python_out=python --grpc_python_out=python proto/ax.proto proto/content.proto
@echo "Protobuf generation complete!"

# Run tests
# Run Go tests
test:
@echo "Running tests..."
@echo "Running Go tests..."
@go test -v ./...

# Run Python tests for the antigravity harness sidecar.
# Assumes deps are installed for the same interpreter as `python3`, e.g.:
# python3 -m pip install -r python/antigravity/requirements.txt \
# 'pytest>=7.0' 'pytest-timeout>=2.0'
# --timeout guards against hung gRPC servers.
test-python:
@echo "Running Python tests..."
@python3 -m pytest python/antigravity/ --timeout=30 --timeout-method=thread

# Clean build artifacts
clean:
@echo "Cleaning..."
@rm -rf bin/
@rm -rf eventlog/
@echo "Clean complete!"

# Install gar to GOPATH/bin
# Install ax to GOPATH/bin
install:
@echo "Installing gar..."
@go install ./cmd/gar
@echo "Installing ax..."
@go install ./cmd/ax
@echo "Install complete!"

# Run local agent example
run-local:
@go run ./examples/local_agent

# Run remote agent example
run-remote:
@go run ./examples/remote_agent

# Install dependencies
deps:
@echo "Installing dependencies..."
@go mod download
@go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
@go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
@echo "Dependencies installed!"

clean-logs:
@echo "Cleaning the event logs..."
rm -rf ./eventlog
mkdir ./eventlog
Loading
Loading