Skip to content

Align timestamp fields with AIP-142 naming conventions - #2438

Merged
Julian Gutierrez Oschmann (juli4n) merged 5 commits into
agent-substrate:mainfrom
ganeshkumarashok:contrib/timestamp-field-names
Oct 13, 2026
Merged

Julian Gutierrez Oschmann (juli4n) merged 5 commits into
agent-substrate:mainfrom
ganeshkumarashok:contrib/timestamp-field-names

Conversation

@ganeshkumarashok

@ganeshkumarashok Ganeshkumar Ashokavardhanan (ganeshkumarashok) commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Align the two remaining nonconforming public Timestamp field names with the
API's AIP naming conventions:

  • MintActorJwtResponse.expires_at becomes expire_time.
  • GoldenSnapshotStatus.take_golden_snapshot_at becomes snapshot_time.

Update in-repository callers and existing tests, regenerate protobuf and
declarative validation code, and document the _time naming rule. Retain the
existing validation, lifecycle, and JWT functional coverage; the additional
protobuf serialization test file has been removed.

Fixes #2415.

Breaking change

Regenerate clients and update references to these fields:

Before After
expires_at / expiresAt expire_time / expireTime
take_golden_snapshot_at / takeGoldenSnapshotAt snapshot_time / snapshotTime
Go ExpiresAt / GetExpiresAt() ExpireTime / GetExpireTime()
Go TakeGoldenSnapshotAt / GetTakeGoldenSnapshotAt() SnapshotTime / GetSnapshotTime()

Timestamp semantics, types, and protobuf field numbers are unchanged. Old-name
aliases are not retained, following the project's pre-1.0 compatibility policy.
Please apply the breaking-change label.

Verification

  • Race-enabled tests for the retained validation, lifecycle, and egress JWT packages; the public protobuf package builds.
  • TestMintActorJWT through the functional API harness.
  • Repository Linux-aware Go lint.
  • Validation coverage check.
  • hack/verify-all.sh: all 15 current repository verifiers passed on the latest conflict refresh.
  • Full Linux/root/infrastructure test matrix (not run locally).

CI follow-up

The October 12 E2E failure was two timeouts to public httpbin.org in the
credential-injection suite. Current main includes #2535, which replaces that
external origin with an in-cluster echo server and restores the test after the
earlier upstream quarantine. This PR adds no test skip of its own.

Contribution note

This is a first contribution, opened as a draft for coordination and feedback.
GitHub Copilot CLI was used to help prepare the code, tests, and PR description.

@google-cla

google-cla Bot commented Oct 9, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@juli4n

Copy link
Copy Markdown
Collaborator

Thanks for the first contribution! It looks like you need to to sign a Contributor License Agreement. Please also rebase on main and fix conflicts.

…ield-names

# Conflicts:
#	cmd/ateapi/internal/controlapi/template_reconciler_test.go
#	pkg/proto/ateapipb/ateapi.pb.go
…ield-names

# Conflicts:
#	pkg/proto/ateapipb/ateapi.pb.go
@ganeshkumarashok

Copy link
Copy Markdown
Contributor Author

Thanks for the first contribution! It looks like you need to to sign a Contributor License Agreement. Please also rebase on main and fix conflicts.

Thanks Julian Gutierrez Oschmann (@juli4n). Signed the CLA, rebased and fixed conflicts.

…ield-names

# Conflicts:
#	cmd/ateapi/internal/controlapi/actor.go
#	cmd/atenet/internal/router/egress/actorjwt/actorjwt_test.go
#	cmd/atenet/internal/router/egress/egress_test.go
#	pkg/proto/ateapipb/ateapi.pb.go
Merged via the queue into agent-substrate:main with commit 1a3ab48 Oct 13, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

api: require *_time suffix on Timestamp fields and rename expires_at and take_golden_snapshot_at

3 participants