Skip to content

Phase 1 (#1075): Expand Gremlin to carry .state slot + convenience delegates #1090

@xbrianh

Description

@xbrianh

Part of #1075.

What

Add a state: State instance attribute to Gremlin and populate it in initialize_with_runtime via build_state(...). No property delegates — subsequent phases access state directly as gremlin.state.client, gremlin.state.artifacts, etc.

The make_runner closure sets gremlin.state immediately before each stage.run(gremlin) call, so per-stage client overrides work the same way as today (patch gremlin.state.client inside the closure before the call).

Why first

Every subsequent phase depends on gremlin.state being populated. With it in place, each later phase is a mechanical rename.

Files

  • gremlins/executor/gremlin.py

Tests

Existing suite passes unchanged. Add a unit test that gremlin.state is non-None after initialize_with_runtime and that gremlin.state.artifacts, gremlin.state.client, etc. are accessible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions