Skip to content

Rename 'timeout' to 'deadline' throughout, per dogma ADR-0035#141

Merged
jmalloc merged 4 commits intomainfrom
dogma-v0.24.0
May 5, 2026
Merged

Rename 'timeout' to 'deadline' throughout, per dogma ADR-0035#141
jmalloc merged 4 commits intomainfrom
dogma-v0.24.0

Conversation

@jmalloc
Copy link
Copy Markdown
Member

@jmalloc jmalloc commented May 5, 2026

Update all code, tests, comments, protobuf definitions, and generated files to use the new "deadline" terminology introduced in dogma's upcoming v0.24.0 release (ADR-0035).

Key changes

  • dogma.Timeoutdogma.Deadline
  • TimeoutKindDeadlineKind
  • SchedulesTimeoutRouteTypeSchedulesDeadlineRouteType
  • TimeoutStubDeadlineStub (and all pre-instantiated variables)
  • Proto: MessageKind enum TIMEOUTDEADLINE (wire value 3 preserved)
  • Proto: ScheduleTimeoutDetailsScheduleDeadlineDetails
  • All doc comments updated to use ADR-0035 conventions:
    • Deadlines are "reached", not "occurred" or "elapsed"
    • Deadlines are scheduled "for" a time
    • "deadline" alone when the concept is the subject
    • "deadline message" when referring to the message artifact

Breaking: enginetest package removed

The enginetest acceptance-test harness (everything except enginetest/stubs) has been removed. It depended on dogma API surface that changed significantly in v0.24.0 beyond the terminology rename, and needs a larger rework that is out of scope for this PR.

Notes

  • The Mutate() addition to ProcessScope requires no changes in enginekit — stubs pass scopes through to user-provided functions
  • The configpb.MessageKind enum retains numeric value 3 for wire compatibility
  • artifacts/testkit/ contains timeout references that belong to the testkit snapshot (separate repo)

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates enginekit to align with dogma’s ADR-0035 terminology shift from “timeout” to “deadline”, updating public APIs, routing/config types, protobuf schemas (and generated code), and tests accordingly. It also bumps the dogma dependency to a pseudo-version that includes the new deadline APIs.

Changes:

  • Renamed message-kind concepts across the codebase: TimeoutDeadline, TimeoutKindDeadlineKind, and related route/config naming.
  • Updated protobuf enums/messages and regenerated Go code to reflect DEADLINE terminology while preserving wire value compatibility.
  • Updated test stubs and config/runtimeconfig tests to use deadline types and route kinds.

Reviewed changes

Copilot reviewed 58 out of 59 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
protobuf/envelopepb/packer.go Renames packer option types/APIs from timeout to deadline and updates scheduled-for option typing.
protobuf/envelopepb/multipacker.go Renames effect packer method from PackTimeout() to PackDeadline() with updated types.
protobuf/envelopepb/multipacker_test.go Updates tests to use PackDeadline() and deadline stubs.
protobuf/envelopepb/envelope.proto Updates ScheduledFor documentation to deadline terminology.
protobuf/envelopepb/envelope.pb.go Regenerated/comment updates reflecting deadline terminology.
protobuf/configpb/config.proto Renames MessageKind.TIMEOUT to DEADLINE (value 3 preserved) and updates docs.
protobuf/configpb/config.pb.go Regenerated enum names/maps for DEADLINE.
protobuf/configpb/config_primo.pb.go Updates generated primo switch/map helpers for MessageKind_DEADLINE.
message/type.go Updates docs referencing message interfaces to use dogma.Deadline.
message/type_test.go Updates panic-message expectations to mention dogma.Deadline.
message/name.go Updates docs referencing message interfaces to use dogma.Deadline.
message/kindswitch.go Renames switch/map parameters and types from timeout to deadline.
message/kindswitch_test.go Updates kind-switch tests to use deadline messages/stubs.
message/kind.go Renames TimeoutKind to DeadlineKind and updates kind resolution logic.
message/kind_test.go Updates kind tests to use DeadlineKind and DeadlineStub.
message/interface.go Updates reflect interface detection to use dogma.Deadline.
go.mod Bumps dogma dependency to a pseudo-version containing deadline APIs.
go.sum Updates module sums due to dogma dependency update (and its transitive deps).
enginetest/stubs/process.go Renames process stub handler method/field to HandleDeadline.
enginetest/stubs/message.go Introduces DeadlineStub (renamed from TimeoutStub) and updates registrations/IDs.
enginetest/uuidtest/sequence.go Deleted.
enginetest/uuidtest/sequence_test.go Deleted.
enginetest/uuidtest/doc.go Deleted.
enginetest/run.go Deleted.
enginetest/process.go Deleted.
enginetest/integration.go Deleted.
enginetest/executor.go Deleted.
enginetest/doc.go Deleted.
enginetest/internal/testapp/app.go Deleted.
enginetest/internal/testapp/doc.go Deleted.
enginetest/internal/testapp/events.go Deleted.
enginetest/internal/testapp/events.pb.go Deleted.
enginetest/internal/testapp/events.proto Deleted.
enginetest/internal/testapp/events_primo.pb.go Deleted.
enginetest/internal/testapp/integration.go Deleted.
enginetest/internal/testapp/integration.pb.go Deleted.
enginetest/internal/testapp/integration.proto Deleted.
enginetest/internal/testapp/integration_primo.pb.go Deleted.
enginetest/internal/testapp/process.go Deleted.
enginetest/internal/testapp/process.pb.go Deleted.
enginetest/internal/testapp/process.proto Deleted.
enginetest/internal/testapp/process_primo.pb.go Deleted.
enginetest/internal/action/doc.go Deleted.
enginetest/internal/action/scope.go Deleted.
enginetest/internal/action/run.go Deleted.
enginetest/internal/action/behavior.go Deleted.
enginetest/internal/action/action.proto Deleted.
enginetest/internal/action/action.pb.go Deleted.
enginetest/internal/action/action_primo.pb.go Deleted.
config/runtimeconfig/process_test.go Updates runtimeconfig expectations for schedules-deadline routes and deadline stubs.
config/routetype.go Renames schedules-timeout route type to schedules-deadline and maps it to DeadlineKind.
config/route_test.go Updates route formatting/description expectations for schedules-deadline.
config/projection_test.go Updates unsupported-route errors/cases from timeout to deadline.
config/process_test.go Updates process config tests for schedules-deadline routes and error messages.
config/internal/configbuilder/route.go Updates builder to recognize dogma.SchedulesDeadlineRoute.
config/integration_test.go Updates unsupported-route errors/cases from timeout to deadline.
config/handlertype.go Updates handler route-capability map to SchedulesDeadlineRouteType.
config/application_test.go Updates application route-sharing tests and message-type maps to deadline stubs.
config/aggregate_test.go Updates unsupported-route errors/cases from timeout to deadline.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread enginetest/stubs/message.go Outdated
Comment thread enginetest/stubs/message.go Outdated
Comment thread go.mod
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 58 out of 59 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread message/type.go
Comment thread message/type.go
Comment thread message/type.go
Comment thread config/routetype.go Outdated
Comment thread enginetest/stubs/message.go
jmalloc added 2 commits May 5, 2026 16:58
Update all code, tests, comments, protobuf definitions, and generated
files to use the new 'deadline' terminology introduced in dogma's
upcoming v0.24.0 release.

Key changes:
- dogma.Timeout -> dogma.Deadline
- TimeoutKind -> DeadlineKind
- SchedulesTimeoutRouteType -> SchedulesDeadlineRouteType
- TimeoutStub -> DeadlineStub (and all pre-instantiated variables)
- Proto: MessageKind TIMEOUT -> DEADLINE, ScheduleTimeoutDetails -> ScheduleDeadlineDetails
- All doc comments updated to use ADR-0035 conventions (deadlines are
  'reached', scheduled 'for' a time)
- DeadlineStub type doc: [dogma.Test] -> [dogma.Deadline]
- DeadlineStub.MessageDescription doc: 'command' -> 'deadline message'
- EventStub.MessageDescription doc: 'command' -> 'event' (pre-existing bug)
- TypeOf(): reference parameter 'm' not type parameter 'T'
- TypeFromReflect(): reference parameter 'r' not 'm'
- Type.Kind(): fix typo 'of' -> 'if'
- RouteTypes(): reference [RouteType] not [HandlerType]
- CommandStub/EventStub/DeadlineStub.Validate(): reference s.ValidationError
  not c.Invalid
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 58 out of 59 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread enginetest/stubs/message.go
@jmalloc jmalloc enabled auto-merge May 5, 2026 07:44
@jmalloc jmalloc merged commit 9bab92b into main May 5, 2026
9 checks passed
@jmalloc jmalloc deleted the dogma-v0.24.0 branch May 5, 2026 07:46
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.

2 participants