70 Commits

Author SHA1 Message Date
30f802b5ac feat: enable multiplatform Docker image builds for amd64 and arm64
Some checks failed
Build and Publish APK Package / build-apk (arm64, aarch64) (push) Has been cancelled
Build and Publish APK Package / build-apk (amd64, x86_64) (push) Has been cancelled
Build and Publish Arch Package / build-arch (amd64, x86_64) (push) Has been cancelled
Build and Publish Arch Package / build-arch (arm64, aarch64) (push) Has been cancelled
Build and Push Docker Container / build-and-push (push) Failing after 10m21s
Add QEMU setup and platforms configuration to build Docker images
for both linux/amd64 and linux/arm64 architectures.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
v0.1.0
2026-04-02 04:38:12 +02:00
1ad9fb8785 fix: disable dependency tracing in Alpine package build
Some checks failed
Build and Publish APK Package / build-apk (amd64, x86_64) (push) Successful in 43s
Build and Publish APK Package / build-apk (arm64, aarch64) (push) Failing after 51s
Build and Publish Arch Package / build-arch (amd64, x86_64) (push) Failing after 55s
Build and Push Docker Container / build-and-push (push) Has been cancelled
Build and Publish Arch Package / build-arch (arm64, aarch64) (push) Has been cancelled
Go binaries are statically linked and don't need dependency scanning.
Also works around newer apk CLI breaking --who-owns flag.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-02 04:35:06 +02:00
8ab2e4348d fix: disable strip and check in Alpine package build
Some checks failed
Build and Publish APK Package / build-apk (amd64, x86_64) (push) Failing after 49s
Build and Publish APK Package / build-apk (arm64, aarch64) (push) Failing after 41s
Build and Publish Arch Package / build-arch (amd64, x86_64) (push) Failing after 1m5s
Build and Push Docker Container / build-and-push (push) Has been cancelled
Build and Publish Arch Package / build-arch (arm64, aarch64) (push) Has been cancelled
Go binaries are already stripped via ldflags, and disable the check
warning since there's no test suite.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-02 04:32:04 +02:00
d55d423fea fix: fix CI workflow failures for Arch and Alpine package builds
Some checks failed
Build and Publish Arch Package / build-arch (amd64, x86_64) (push) Successful in 1m14s
Build and Publish Arch Package / build-arch (arm64, aarch64) (push) Successful in 1m7s
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
Build and Publish APK Package / build-apk (amd64, x86_64) (push) Failing after 51s
Build and Publish APK Package / build-apk (arm64, aarch64) (push) Successful in 49s
Move checkout before setup-go in Arch workflow so src/go.mod exists,
and remove unsupported --platform container option from Alpine workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 04:21:33 +02:00
f1f8cb5757 fix: build Arch packages without archlinux container
Some checks failed
Build and Publish APK Package / build-apk (amd64, x86_64) (push) Failing after 0s
Build and Publish APK Package / build-apk (arm64, aarch64) (push) Failing after 0s
Build and Publish Arch Package / build-arch (amd64, x86_64) (push) Failing after 39s
Build and Publish Arch Package / build-arch (arm64, aarch64) (push) Failing after 24s
Build and Push Docker Container / build-and-push (push) Successful in 1m49s
The Gitea runner is ARM64 and archlinux:latest has no ARM64 image.
Drop the container entirely and build .pkg.tar.zst manually:
cross-compile with Go and assemble the package archive directly,
so no makepkg or Arch Linux toolchain is needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 04:15:52 +02:00
a1104f199f feat: build APK packages for x86_64 and aarch64
Uses a matrix strategy with Go cross-compilation (GOARCH + CARCH)
so both architectures build in the same amd64 container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 04:13:53 +02:00
fa265a1ad1 feat: build Arch packages for x86_64 and aarch64
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 42s
Build and Publish Arch Package / build-arch (amd64, x86_64) (push) Failing after 1s
Build and Publish Arch Package / build-arch (arm64, aarch64) (push) Failing after 1s
Build and Push Docker Container / build-and-push (push) Successful in 1m49s
Uses a matrix strategy with Go cross-compilation (GOARCH + CARCH)
so both architectures build in the same amd64 container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 04:07:11 +02:00
76158b46f8 fix: force linux/amd64 platform for Arch container
archlinux:latest has no ARM64 image on Docker Hub.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 04:05:59 +02:00
bc798f7bf2 feat: add Arch Linux package and CI workflow
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 42s
Build and Publish Arch Package / build-arch (push) Failing after 1s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 04:00:51 +02:00
63c33937ee correct mail in alpine package 2026-04-02 03:46:02 +02:00
f67526e64a rename docker image in pipeline 2026-04-02 03:44:15 +02:00
9d29f4ad2b fix: use correct curl flags for Gitea Alpine registry upload
All checks were successful
Build and Publish APK Package / build-apk (push) Successful in 47s
Build and Push Docker Container / build-and-push (push) Successful in 1m49s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:26:39 +02:00
81c63ad05f fix: run apk update and pre-install build-base before abuild
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 46s
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:20:03 +02:00
1438e7b4b9 fix: install nodejs before checkout (required by actions/checkout)
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 13s
Build and Push Docker Container / build-and-push (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:18:00 +02:00
c94e57d9ba fix: clean up apk-publish workflow
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 2s
Build and Push Docker Container / build-and-push (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:16:29 +02:00
53883c04f1 fix: correct Gitea Alpine package registry upload URL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:15:08 +02:00
c12452fff1 fix: use abuild-keygen key for signing instead of mismatched openssl key
All checks were successful
Build and Publish APK Package / build-apk (push) Successful in 45s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:09:59 +02:00
4374befa42 refactor: remove AX_DB_PATH env var support from store layer
Some checks failed
Build and Push Docker Container / build-and-push (push) Has been cancelled
Build and Publish APK Package / build-apk (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:07:42 +02:00
595bb78599 Fix APKBUILD: use direct srcdir path in build function
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 49s
Build and Push Docker Container / build-and-push (push) Successful in 1m49s
2026-04-02 03:03:06 +02:00
e6a2e01d9d Fix apk-publish: add build-base dep, net option, and apk update
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 15s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
2026-04-02 02:58:34 +02:00
1e6c58a0cb Fix apk-publish workflow: place source tarball in APKBUILD directory
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 15s
Build and Push Docker Container / build-and-push (push) Has been cancelled
2026-04-02 02:56:54 +02:00
f11d1d0cac Fix apk-publish workflow: add git safe.directory config
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 17s
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
2026-04-02 02:54:07 +02:00
c17952e6ac Fix apk-publish workflow: create source tarball from local git checkout
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 14s
Build and Push Docker Container / build-and-push (push) Has been cancelled
2026-04-02 02:52:31 +02:00
aa5f124b5f Fix apk-publish workflow: run abuild as non-root user
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 17s
Build and Push Docker Container / build-and-push (push) Has been cancelled
2026-04-02 02:50:33 +02:00
58b8fef731 Fix apk-publish workflow: add nodejs dependency and use dynamic home path
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 14s
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
2026-04-02 02:46:43 +02:00
cac3221bbf Add Alpine APK packaging and update CI for versioned releases
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 18s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
2026-04-02 02:41:47 +02:00
64d4a9fe90 rename ax server docker file
All checks were successful
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
2026-04-02 02:36:54 +02:00
4461c4fcff add docker build pipeline
All checks were successful
Build and Push Docker Container / build-and-push (push) Successful in 4m38s
2026-04-02 02:28:19 +02:00
252503a572 refactor: move e2e tests into src/e2e directory 2026-04-02 02:23:00 +02:00
6821112c8f refactor: remove AX_DB_PATH env var, fix Dockerfile for src/ layout 2026-04-02 02:19:48 +02:00
921f4913f8 fix: correct GetProperty bug, init to use .ax/, add default aliases, split e2e tests, add due date tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:58:48 +02:00
5969a2591c feat: reduce default node ID length to 3 and auto-grow when exhausted
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:21:00 +02:00
2a48ea046b fix: invert FindAndOpenSQLiteStore existence check
The condition was backwards — it exited with "database already exists"
when the file was found, and tried to open it when it did not exist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:09:38 +02:00
51341eeb84 refactor: remove service factory wrappers, call store init methods directly
Replace InitNodeService/GetNodeService/GetNodeServiceForUser with thin
NewLocalNodeService/NewRemoteNodeService constructors; move wiring logic
into cmd/root.go (getNodeService helper) and an inline closure in serve.go.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 00:56:45 +02:00
03a896d23f refactor: consolidate packages - move output to cmd, config/session to store, rename Store to GraphStore 2026-04-02 00:42:55 +02:00
2bcc310c6d move funcs from cmd/rel.go to cmd/root.go 2026-04-01 22:39:44 +02:00
706baf81aa add gitignore 2026-04-01 22:30:01 +02:00
e42397cc7a move src file to seperate direcotry 2026-04-01 22:29:20 +02:00
228cefb921 feat: replace namespace permissions with per-node graph permission model (can_read/can_create_rel/can_write/has_ownership)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:11:15 +02:00
52a975b66d feat: add OIDC authentication for server mode 2026-04-01 19:33:15 +02:00
7bce56384f add dockerfiler 2026-04-01 15:12:00 +02:00
7292751ef7 feat: add remote NodeService client backed by the HTTP API
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 13:18:31 +02:00
3dfc46c3ff feat: add ax serve command with JSON API backed by NodeService
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 13:04:29 +02:00
9e5194893e fix: bootstrap namespace self-ref and write access when created explicitly via --type namespace
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 12:55:21 +02:00
6288879468 refactor: unify tags and edges into single rels table 2026-04-01 12:50:45 +02:00
27c72db042 clean up node.go 2026-04-01 00:39:20 +02:00
77d3205e12 refactor: simplify Node struct with public Tags/Relations fields 2026-04-01 00:13:43 +02:00
4020e5dab3 feat: add namespace-based access control with read/write permissions 2026-03-31 23:52:24 +02:00
4a2e868150 refactor: bind NodeService to a user and expose User() on the interface
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 23:18:36 +02:00
cb16bda200 refactor: simplify service interface to use tags/rels for all node properties
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 23:10:56 +02:00