Skip to content

feat(ledger): native chart surface — initialize from a template, sever a connection - #210

Merged
jfrench9 merged 1 commit into
mainfrom
feature/native-chart-surface
Sep 12, 2026
Merged

feat(ledger): native chart surface — initialize from a template, sever a connection#210
jfrench9 merged 1 commit into
mainfrom
feature/native-chart-surface

Conversation

@jfrench9

@jfrench9 jfrench9 commented Sep 12, 2026

Copy link
Copy Markdown
Member

Summary

Regenerated against robosystems main after RoboFinSystems/robosystems#1378 (native accounting cutover) and #1379 (chart templates as data), and adds the facade methods for the fresh-company chart path. Additive throughout; rides a client minor.

Changes

Generated (OpenAPI)

  • api/extensions_robo_ledger/initialize_chart_of_accounts.py with InitializeChartOfAccountsRequest, InitializeChartOfAccountsRequestTemplate (saas / services / product), InitializeChartOfAccountsResponse (incl. frameworks) and its OperationEnvelope[...].
  • api/connections/delete_connection.py gains the disposition query parameter (DeleteConnectionDisposition: disconnect default, sever for the QuickBooks → native cutover).
  • Swept in from the same main: SearchRequest.snippet_chars (#1376) and the event_category doc text on EventBlockEnvelope.

Generated (GraphQL)

  • schema.graphql refreshed: chartTemplates: [ChartTemplate!]! on the ledger query.
  • New query document operations/ledger/ListChartTemplates.graphql and its ariadne-codegen model ListChartTemplates / ListChartTemplatesChartTemplates; LIST_CHART_TEMPLATES_GQL exported.

Facade (clients/ledger_client.py)

  • LedgerClient.list_chart_templates(graph_id) -> list[ChartTemplate].
  • LedgerClient.initialize_chart_of_accounts(graph_id, template, *, entity_type=None, name=None) -> InitializeChartOfAccountsResponse, beside initialize_ledger. Unknown template keys raise ValueError client-side.

Tests (tests/test_ledger_client.py): TestChartOfAccountsOps covers the GraphQL read, the operation call and body, and the unknown-template rejection.

Compatibility

ADDITIVE — stable tier untouched (facades only gain methods; nothing the integration template imports changes). Generated tier: a new operation, a new optional query parameter on delete_connection (defaulting to today's behaviour), a new GraphQL field, one new optional request field. Compared the emitted models: no field became required, nothing was removed or renamed. Client minor.

Testing

  • just lint, just typecheck: clean.
  • uv run pytest: 591 passed, 17 skipped (the pre-commit gate ran the same).
  • Regenerated from the local stack on robosystems main at 29db598f with git log origin/main ^HEAD empty first, per the regen rule.

🤖 Generated with Claude Code

https://claude.ai/code/session_0188CbjDiNBtxdEYjSJ5Y7mX

…r a connection

Regenerated against robosystems main after #1378 and #1379: the
initialize-chart-of-accounts operation with its request, response and
template enum; disposition=disconnect|sever on deleteConnection; the
chartTemplates GraphQL field with a ListChartTemplates query document and
its typed model. Swept in from the same main: SearchRequest.snippet_chars
(#1376) and the event_category doc text on EventBlockEnvelope.

Facade: LedgerClient.list_chart_templates(graph_id) and
LedgerClient.initialize_chart_of_accounts(graph_id, template, entity_type,
name) beside initialize_ledger, with tests.

Claude-Session: https://claude.ai/code/session_0188CbjDiNBtxdEYjSJ5Y7mX
@jfrench9
jfrench9 merged commit 96f38f5 into main Sep 12, 2026
4 checks passed
@jfrench9
jfrench9 deleted the feature/native-chart-surface branch September 12, 2026 04:38
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