Repository navigation
Parity with AX 6e970c5: Substrate 1.0, workspace check, ssh -n, router cert expiry - #13
Merged
Merged
Conversation
Substrate 1.0 renamed the control API package from ateapi to substrate.ateapi.v1, so the gRPC paths change. Copy its api/ateapi/v1/ateapi.proto, leave the template snapshot location empty by default so Substrate uses its cluster-wide one (a template-level location needs the PerTemplateSnapshotLocation preview gate), and drop AX_SNAPSHOTS_BUCKET and its default bucket. The local cluster setup installs Substrate 1.0 with ate-setup --kind, as AX's kind setup now does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0193yhp48e7N3epyEKim39w7
Tasks are immutable, so a task created before its Workspace kept an empty workspace for its whole life. CreateTask now fails with FailedPrecondition and stores nothing, reports store lookup failures as Internal, and hands the reconciler the workspace it resolved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0193yhp48e7N3epyEKim39w7
… AX #541 does Cache credentials until 30 minutes on or a minute before the client certificate expires, whichever is sooner; ignore cached certificates that are expired or within that minute; and refuse a certificate issued already expired. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0193yhp48e7N3epyEKim39w7
…44 does; README: parity as of AX 6e970c5 The system namespace defaults to $AX_SYSTEM_NAMESPACE, then ax-system, and -n/--namespace overrides both, for ssh as for tunnels. When the plaintext router fallback fails, the error now includes why mTLS on 443 was skipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0193yhp48e7N3epyEKim39w7
…ssues Agents must describe upstream changes in their own words rather than cite AX pull request or issue numbers or links. CLAUDE.md points Claude Code at the same file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0193yhp48e7N3epyEKim39w7
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.
Requested by Hoffmann · project thread
Brings RAX from AX
f0228f1(the parity point of #12) to AXmainat6e970c5(2026-11-03), covering the four upstream changes in between:substrate.ateapi.v1(new gRPC paths). Templates leavestorage_locationempty by default,AX_SNAPSHOTS_BUCKETis gone, and the install runsate-setup --kind.api/ateapi/v1/ateapi.prototoproto/ateapi/v1/.build_actor_templatesets no location unless given one. DroppedDEFAULT_SNAPSHOTS_BUCKETand the env var.hack/localrunsate-setup --kindwheninstall-ate-kind.shis missing. The E2E replay assertion and docs are updated.FailedPreconditionand nothing is stored. Store errors areInternal.rax-server, with the table test ported (missing, other atespace, store error, present, no binding).rax-cli::router_tls, reading NotAfter withx509-parser, with tests for the math and the cache load.sshhonors-n/--namespaceover$AX_SYSTEM_NAMESPACE. The guest and router dialing is split out, and the mTLS setup error is reported when the port-80 fallback also fails.rax-cli, with the precedence test ported. RAX's port-forward already sees EOF when kubectl exits.Also adds
AGENTS.md(and aCLAUDE.mdpointing to it) with a hard rule: agents never reference upstream AX PRs or issues by number or link.The README parity section is updated to
6e970c5, with 172 tests.Merge note: please squash-merge. The four port commits' messages cite upstream PR numbers, and squashing replaces them with a clean message (rewriting the branch history wasn't permitted from my side).
Testing
cargo fmt --check,clippy -D warnings,cargo test --allwith PostgreSQL, the drawing check, and therax-serverimage build.🤖 Generated with Claude Code
https://claude.ai/code/session_0193yhp48e7N3epyEKim39w7