Skip to content

feat: management dimensions — get_dimensions, create_dimension, update_dimension, sliced trial balance - #269

Merged
jfrench9 merged 1 commit into
mainfrom
feature/management-dimensions
Oct 20, 2026
Merged

jfrench9 merged 1 commit into
mainfrom
feature/management-dimensions

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

The management-dimensions surface from robosystems #1888, #1889 and #1890, regenerated, plus facades for it: the dimension catalog, a trial balance sliced by one member, and the department/class/location tags on journal and transaction lines. Waits on the robosystems release after v1.19.3, which carries those three PRs. Against v1.19.3 the new GraphQL fields (trialBalance.sliced, line dimensions, dimensions) do not exist and the affected queries fail.

Changes

  • Regenerated (api/, models/, graphql/generated/, graphql/schema.graphql), all from this effort's server changes; no unrelated drift:
    • operations create_dimension / update_dimension, with their request, response and envelope types
    • StatementDimension / StatementDimensionResponse on the live statement request and response
    • JournalEntryLineDimensions and line_dimensions on UpdateJournalEntryRequest
    • dimension_ids on journal lines, events and schedule entry templates
  • Query documents:
    • new ledger/ListLedgerDimensions.graphql
    • GetLedgerTrialBalance.graphql takes $dimensionType / $dimensionMemberId and selects sliced
    • the journal and transaction line selections add dimensions { id dimensionType name }; the transaction lines also add flowQname, which the journal lines already had
  • Facades (LedgerClient):
    • get_dimensions(graph_id, *, dimension_type=None, include_inactive=False)
    • create_dimension / update_dimension
    • get_trial_balance gains keyword-only dimension_type / dimension_member_id
    • live_financial_statement takes dimension in its body dict through the regenerated request model
    • sync path only, as the existing ledger facades are

Compatibility

ADDITIVE. New operations, optional request fields, new exports. The added query selections return new response fields; no existing field changed type or became narrower.

Testing

  • Regenerated against the local stack rebuilt from robosystems main at the #1890 merge (just generate-sdk, which also refreshes schema.graphql), then just generate-graphql.
  • just test-all: 712 tests passed, 17 skipped; ruff, format and basedpyright clean. Four new facade tests. Two existing mocks gained the fields their queries now select (sliced, line dimensions).

Certification

  • I have the right to submit this work under the Apache 2.0 license, and do so. Where any part of it is owned by my employer, I have their permission.

🤖 Generated with Claude Code

https://claude.ai/code/session_013UXnatpnbiixt1ZVHfdZAP

@jfrench9
jfrench9 merged commit 8d8a394 into main Oct 20, 2026
6 checks passed
@jfrench9
jfrench9 deleted the feature/management-dimensions branch October 20, 2026 21:27
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.

1 participant