Skip to content

Releases: RoboFinSystems/robosystems

Release v1.4.72

07 Jun 04:48

Choose a tag to compare

RoboSystems Service v1.4.72

A substantial taxonomy and reporting release that expands rs-gaap concept coverage, improves XBRL serialization accuracy, and strips internal construction-phase artifacts from all public-facing code, docs, and test fixtures.

Key Features & Improvements

  • CF reconciling & remeasurement coverage — added cash-flow reconciling items, remeasurement concepts, and a recurrence axis to the rs-gaap taxonomy (feat(taxonomy))
  • Tenant-exclude curation — new rs-gaap/tenant-exclude/v1.json generator enables sharp, per-tenant element curation with Default Style line splitting
  • Standard labels for rs-gaap concepts — five previously unlabeled rs-gaap-gaap concepts now carry standard labels via a new rs-gaap-labels linkbase package
  • CF operating plug warning — the reporting layer now warns when the cash-flow operating reconciling plug dwarfs actual operating cash, surfacing likely mapping issues early
  • FAC-anchored working set — the kept rs-gaap working set is now explicitly anchored to FAC, improving cross-framework traceability
  • New rs-gaap-references package — added a dedicated references linkbase for rs-gaap concepts

Bug Fixes

  • XBRL concept label sourcing — concept labels are now resolved from the standard label linkbase instead of inline metadata, fixing incorrect or missing labels in serialized XBRL output
  • Mapping deterministic overrides — restored _resolve_qname_to_id so that deterministic mapping overrides apply correctly
  • Taxonomy Library element count — the element-count chip now counts only active elements; inactive elements are hidden by default
  • MappingOperator prompt alignment — the system prompt now matches the current rs-gaap-direct model

Documentation & Cleanup

  • Stripped private-spec construction-phase exhaust from all comments, tests, migrations, dbt comments, and sample output — reducing the codebase by ~475k lines
  • Refreshed all committed READMEs to reflect the current project state
  • Fixed stale trait counts and a dropped-0019 migration reference in taxonomy docs
  • Consolidated the recurrence CHECK constraint into migration 0002 (dropped migration 0019)

Notable Technical Changes

  • Multi-graph org isolation contract — new pinned test verifying search_path isolation when multiple graphs exist within a single org
  • GHA workflow replaced — the create-pr.yml GitHub Actions workflow has been replaced with a /create-pr Claude command, streamlining the PR creation flow
  • FAC rules package relocatedfac-rules moved from fac/packages/ to rs-gaap/packages/rs-gaap-rules/ (96% similarity rename)

⚠️ Breaking Changes

  • fac-rules package path changed — any direct references to frameworks/fac/packages/fac-rules/v1/taxonomy.jsonld must be updated to frameworks/rs-gaap/packages/rs-gaap-rules/v1/taxonomy.jsonld
  • Inactive taxonomy elements hidden by default — API consumers relying on the full element list (including inactive) may see fewer elements returned; check for an include_inactive flag if needed

📊 Release Statistics

  • Commits: 92
  • Files Changed: 252
  • Lines Added: 102592
  • Lines Deleted: 477415
  • Previous Release: v1.4.71

🔗 Links


🤖 Generated with Claude Code

Release v1.4.71

01 Jun 19:12

Choose a tag to compare

RoboSystems Service v1.4.71

A substantial release delivering a graph-native v2 serialization pipeline, typed fact provenance for RoboLedger, and a sweep of observability and infrastructure hardening improvements.

Key Features & Improvements

  • Graph-native v2 bundle serialization — XBRL contexts are now collapsed directly onto facts, producing a cleaner JSON-LD output. The bundle ontology is correctly stamped as v1. (#707, #708)
  • Canonical RDF ontology — Reified arcs and xbrli concept attributes are now expressed as a first-class RDF taxonomy, enabling richer semantic querying.
  • Opt-in SHACL validation at publish — Reports can now run SHACL validation on publish; results are captured on the Report object. Container-free SHACL + Arelle validation is available in demos.
  • Typed fact provenance on FactSets — RoboLedger now captures structured provenance metadata (including instant-period keys and asserted share coverage) on every FactSet. (#709)
  • Lambda-independent liveness alarms — New CloudWatch alarms monitor volume functions independently of Lambda invocation, improving detection of silent failures. (#710)
  • SSM-tunable OLTP connection pool — The extensions OLTP pool size is now configurable via SSM Parameter Store; tenant schemas are properly dropped on deprovision.
  • QuickBooks token revocation — Disconnecting a QuickBooks integration now explicitly revokes Intuit OAuth tokens.
  • Overhauled examples & demos — Demo scripts reorganized with shared _common utilities, a new Seattle Method demo, downloadable bundle outputs, and sample SHACL/XBRL validation reports.

🔒 Security Improvements

  • QuickBooks token revocation on disconnect — Intuit tokens are now actively revoked rather than simply discarded, reducing the window of credential exposure.
  • ECR lifecycle policy codified — Container image retention rules are now version-controlled (ecr-lifecycle-policy.json) and reconciled on bootstrap, preventing unbounded image accumulation.

Bug Fixes

  • fix(otel): Capped http.server.* metric cardinality via an attribute allowlist; dropped unbounded user_id/event_data labels that could cause metric explosion.
  • fix(migrations): Guarded add_tenant_column for nullability consistency across tenant-table DDL fan-out.
  • fix(quickbooks): Set explicit timeout on Intuit token revocation HTTP calls to prevent hanging requests.
  • fix(roboledger): Corrected instant-period provenance key and added coverage for asserted share facts.
  • fix(serialization): Multiple cleanup passes addressing review findings (PRs #707, #708), including correct ontology version stamping.

⚠️ Breaking Changes

  • OLTP writer removedexamples/roboledger_demo/oltp_writer.py has been deleted. Equivalent functionality is now handled via the extensions pool; update any scripts that imported this module directly.
  • Demo script renames — Numbered prefixes removed from custom_graph_demo scripts (e.g., 01_setup_credentials.pysetup_credentials.py). Update any automation that referenced the old filenames.

Notable Technical Changes

  • 540 files changed across 255 commits — a large release spanning serialization, infrastructure, and observability.
  • CloudFormation (graph-volumes.yaml) updated with new alarm definitions.
  • Dockerfile & entrypoint updated — review deployment configurations if you maintain custom images.
  • Dead doc references cleaned up — removed stale pointers to git-ignored local/docs/ specs.
  • Tenant DDL fan-out hardenedadd_tenant_column helper now guards against partial migration failures across schemas.

📊 Release Statistics

  • Commits: 255
  • Files Changed: 540
  • Lines Added: 131106
  • Lines Deleted: 50950
  • Previous Release: v1.4.70

🔗 Links


🤖 Generated with Claude Code

Release v1.4.70

08 May 02:42

Choose a tag to compare

RoboSystems Service v1.4.70

A significant release focused on infrastructure resilience, API model improvements, and critical bug fixes — including a fix addressing the 2026-05-08 volume incident and a subscription access revocation bug.

✨ Features & Improvements

  • Enhanced API models with descriptive docstrings, examples, and updated request/response structures across event handlers, publish lists, report requests, and information block models
  • Shared DeleteResult model for consistent delete response handling across API endpoints (feat(api))
  • Improved error handling and response normalization — 422 Unprocessable Entity responses now follow a consistent structure across all API endpoints
  • New _pydantic.py types module added to GraphQL types for improved type support
  • Demo improvements — journal entry creation updated to use create_event_block for clarity; validation and service source fields aligned with demo pedagogy

🐛 Bug Fixes

  • Volume detachment/attachment robustness — hardened the EC2 graph volume lifecycle (detach, attach, SSM signaling) in response to the 2026-05-08 incident (#663)
  • Database orphaning prevention — SSM signals now include preserved databases, preventing orphaned databases during volume operations
  • Subscription cancellation access revocation — user repository access is now correctly revoked when a subscription is cancelled (#659)
  • Date handling fix in generate_fy2025_report and improved summary extraction in _Validator
  • Dependency fixrobosystems-client updated to 0.3.24; removed from main dependencies (now only where needed)
  • MCP tool docs — corrected source options in ListEventBlocksTool documentation

🔧 Notable Technical Changes

  • Deprecated seed scripts removed (build_fac_calculations_seed.py, build_fac_presentation_seed.py) — seeds are now manually curated rather than auto-generated from scripts; documentation updated accordingly (#660)
  • Refactored Information Block API models and commands for cleaner separation of concerns
  • Dot notation migration — demo scripts updated to use object property dot notation instead of dict-style access
  • Test coverage — added tests ensuring _LEGACY_BLOCK_TYPES do not overlap with typed arms, plus normalized 422 response tests

⚠️ Breaking Changes

  • Normalized 422 error response structure — clients parsing validation error responses may need to update to the new consistent format
  • Removed deprecated seed generation scripts — any CI/CD pipelines or workflows referencing build_fac_calculations_seed.py or build_fac_presentation_seed.py must be updated

📊 Release Statistics

  • Commits: 22
  • Files Changed: 72
  • Lines Added: 5039
  • Lines Deleted: 3686
  • Previous Release: v1.4.69

🔗 Links


🤖 Generated with Claude Code

Release v1.4.69

06 May 05:28

Choose a tag to compare

RoboSystems Service v1.4.69

This release improves the materializer with busy counter management and column order reconciliation, enhancing reliability during materialization and parent database forking operations.

✨ Features & Improvements

  • Busy counter management for materialization — The materializer now properly tracks busy state during materialization operations, preventing concurrent access issues and improving stability.
  • Busy counter management for fork_from_parent_duckdb — Added busy counter increment/decrement around parent DuckDB forking to ensure safe resource handling.
  • Column order reconciliation — Added reconciliation logic that aligns target and source column order during materialization, preventing schema mismatch issues when column ordering diverges between source and target tables.

🐛 Bug Fixes

  • Fixed potential column order mismatches during materialization via new reconciliation logic (PR #658).

🔧 Notable Technical Changes

  • 5 files changed across the materialization pipeline (materialize.py in both adapters/sec/pipeline and graph_api/routers), with 351 lines added — indicating substantial new logic, primarily around busy counter semantics and column reconciliation.
  • New test coverage added in test_tables_materialize.py for the reconciliation and busy counter behaviors.
  • Dependency lock (uv.lock) updated alongside version bump in pyproject.toml.

⚠️ Breaking Changes

None identified in this release.


📊 Release Statistics

  • Commits: 5
  • Files Changed: 5
  • Lines Added: 351
  • Lines Deleted: 22
  • Previous Release: v1.4.68

🔗 Links


🤖 Generated with Claude Code

Release v1.4.68

06 May 03:29

Choose a tag to compare

RoboSystems Service v1.4.68

This release introduces subscription cancellation and immediate deprovisioning support, enhances the QuickBooks integration with new entity types and event-driven ingestion, and strengthens authentication security through JWT session versioning.

✨ Features & Improvements

  • Subscription cancellation & immediate deprovisioning — Added full cancel-subscription flow including plan display name resolution, repository subscription cleanup, and enhanced delete-graph operation logic (#657)
  • Event-driven ingestion (Phase 2) — Implemented agent management enhancements, auto-commit behavior for source-of-truth events, and enriched journal entry creation with source and connection_id metadata (#646)
  • QuickBooks integration expansion — Added support for BillPayment and SalesReceipt headers, new staging models (customers, employees, vendors, invoices, payments, bills), and since_date / full_rebuild sync options
  • JWT session versioning — Introduced session version tracking on user and API key models, enabling precise token invalidation on a per-session basis (#647)

🔒 Security

  • Enhanced JWT cache invalidation — Refactored auth cache logic to decouple invalidation from logout/session-refresh flows, improving reliability of user deactivation and token revocation

🐛 Bug Fixes

  • Fixed QuickBooks event loader handler issues, including renaming _fire_handler_on_commit to fire_handler_on_commit for correct public usage (#656)
  • Optimized library copy process during tenant schema provisioning
  • Updated mock_verify return values in graph access tests to align with new session versioning fields

⚠️ Breaking Changes

  • JWT token payload change — Tokens now include a session_version claim. Existing tokens issued before this release will fail verification and require re-authentication.
  • Database migrations required — Two new migration files: session version columns on users/API keys, and immediate-cancel billing support. Run migrations before deploying.

🔧 Technical / Dependency Updates

  • robosystems-client updated to 0.3.19
  • cfn-lint bumped to 1.50.1
  • dagster-webserver bumped to 1.13.3
  • aquasecurity/trivy-action bumped to 0.36.0
  • softprops/action-gh-release bumped to v3
  • New database schema additions in extensions migration 0005_event_driven_ledger (agent connection_id unique indexing)

📊 Release Statistics

  • Commits: 32
  • Files Changed: 120
  • Lines Added: 9367
  • Lines Deleted: 2291
  • Previous Release: v1.4.67

🔗 Links


🤖 Generated with Claude Code

Release v1.4.67

27 Apr 00:52

Choose a tag to compare

RoboSystems Service v1.4.67

This release introduces report package lifecycle management, enhances portfolio block operations, and improves the financial reporting pipeline with FactSet validation support.

✨ Features & Improvements

  • Report Package Lifecycle Management — Added full filing lifecycle operations including status checks, database cleanup, and package read functionality with FactSet validation (#643)
  • Portfolio Block Operations — Consolidated and enhanced portfolio/position operations into a unified portfolio_block module with new entity and security types, improved error handling, and updated position deletion logic (#644)
  • Rendering Projections & Statement Envelopes — Implemented rendering projections and updated fact retrieval logic for statement envelopes
  • RoboLedger Demo — Renamed close_demo to roboledger_demo with added synthetic data generation and accounting policies
  • Feature Flag Resolution — Updated staging/prod environments to use boto3 directly instead of awscli for feature flag resolution
  • Dependency Updates — Updated robosystems-client to v0.3.17

🐛 Bug Fixes

  • Fixed custom graph file ingestion handling in XBRL/SEC processors (#645)
  • Fixed condition expression to properly handle empty databases in LadybugAllocationManager
  • Simplified and clarified handling of special cases in _explicit_col_expr

⚠️ Breaking Changes

  • Portfolio operations restructuredroboinvestor/commands/portfolios.py and roboinvestor/commands/positions.py have been removed and replaced by roboinvestor/commands/portfolio_block.py and roboinvestor/reads/portfolio_block.py. Consumers of these internal modules will need to update imports. (#644)

🔧 Notable Technical Changes

  • New database migration 0006_report_package_lifecycle.py for report package support — ensure migrations are run before deploying
  • New API extension models and GraphQL types added for report_package
  • Reporting model updated with FactSet relationship mappings and lifecycle state management
  • 69 files changed across 18 commits (+4,326 / −1,515 lines)

📊 Release Statistics

  • Commits: 18
  • Files Changed: 69
  • Lines Added: 4326
  • Lines Deleted: 1515
  • Previous Release: v1.4.66

🔗 Links


🤖 Generated with Claude Code

Release v1.4.66

26 Apr 00:30

Choose a tag to compare

RoboSystems Service v1.4.66

A major release introducing event-driven transaction handling, a terminology shift from "classifications" to "traits," and new GraphQL MCP tooling — alongside significant infrastructure and lifecycle management improvements.

✨ Features & Improvements

  • Event-Driven Ledger & Transaction Handling — Introduced a new event-driven architecture for transaction processing, including event block models, duality links, status transition validations, and consolidated classification rules into event handlers (#637, #638)
  • Schedule Lifecycle Management — Enhanced schedule creation, updates, and voiding with event-driven obligations, user tracking, historical period handling, and automatic dispatch of pending obligations (#638)
  • GraphQL MCP Tools — Added new tools for schema retrieval and query execution via MCP, with async context building, complexity checks, and fragment spread limit enforcement (#640)
  • SEC MCP Adapters — New element and report resolver modules for SEC data via MCP
  • Arelle Integration — Added new robosystems/arelle package with context handling, data extraction, and serialization capabilities
  • S3 Lifecycle Policies — Enhanced bucket lifecycle policies for graph backups and databases
  • Taxonomy & Fact Set Migrations — Added new migration steps for taxonomy library, fact sets, verification results/templates, and event-driven ledger schema

⚠️ Breaking Changes

  • Classifications → Traits Rename — All terminology referencing "classifications" has been renamed to "traits" across models, functions, and APIs. Consumers relying on the previous naming convention will need to update their integrations (#641)
  • Taxonomy Config Removedrobosystems/config/taxonomy/ module has been deleted; related constants moved to metric.py
  • Client Dependency Updatedrobosystems-client bumped to 0.3.13 with updated source configuration — ensure downstream services are compatible

🔧 Technical Changes

  • Refactored client configuration and API interactions for improved modularity and error handling
  • Moved metric block constants to metric.py for better code organization
  • Refactored taxonomy block operations and update handlers
  • Refactored journal entry reversal and schedule management logic
  • Added scheduled obligation promoter sensor in Dagster pipeline
  • Expanded architectural shapes documentation in README
  • Added information_block GraphQL resolver

🐛 Bug Fixes

  • Fixed robosystems-client version and source configuration in project dependencies
  • Improved data integrity and clarity in event block handlers

🧪 Testing

  • Added comprehensive unit tests for GraphQL tools including introspection failure handling and fragment spread limits
  • Added unit tests for event block Python handlers; deprecated tests removed

📊 Release Statistics

  • Commits: 118
  • Files Changed: 382
  • Lines Added: 694240
  • Lines Deleted: 10183
  • Previous Release: v1.4.65

🔗 Links


🤖 Generated with Claude Code

Release v1.4.65

16 Apr 23:54

Choose a tag to compare

RoboSystems Service v1.4.65

A significant release focused on API documentation alignment, refactoring of the extensions materialization pipeline, and enhanced graph operations—accompanied by substantial dependency updates and internal restructuring of extension models.

Key Features & Improvements

  • Enhanced graph operations & idempotency handling — New operations module (robosystems/middleware/operations.py, robosystems/models/api/graphs/operations.py) with improved idempotency support for graph creation and mutations (#624)
  • Extensions materialization overhaul — Refactored materialization process to use a dedicated ExtensionsMaterializer, added user_graph_extensions_materialized_source Dagster asset for better pipeline observability
  • Transaction & journal entry models — Added transaction creation/response models and enhanced the journal entry command (robosystems/models/api/extensions/journal_entries.py, updated transactions.py)
  • API & Swagger documentation alignment — Comprehensive error response documentation across endpoints, new OpenAPI tags for Connections and Subscriptions, refined descriptions for Graph Operations and Queries (#627)
  • StrategySelector execution strategy refactoring — Cleaner handling of execution strategy selection
  • CreateGraphRequest validation improvements — Stricter validation with updated documentation, refined examples, and added initial entity support in graph creation test data
  • New API tagsConnections and Subscriptions tags added to OpenAPI configuration for better API discoverability

⚠️ Breaking Changes

  • Legacy environment variable fallbacks removedrobosystems/config/env.py no longer falls back to deprecated env vars; ensure your deployment uses the current variable names
  • Extension models restructured — Several models moved from robosystems/models/extensions/roboledger/ up to robosystems/models/extensions/ (e.g., association.py, classification_rule.py, dimension.py, element.py, structure.py, taxonomy.py). Direct imports from the old paths will break.
  • Document service path changedrobosystems/operations/documents/service.py relocated to robosystems/operations/document_service.py; the documents/__init__.py package was removed
  • Removed dependenciesasync_timeout and python-slugify have been dropped from the project

Notable Technical Changes

  • robosystems-client upgraded through multiple versions — Stepped from 0.3.3 → 0.3.4 → 0.3.5 → 0.3.6 → 0.3.7 → 0.3.8, with a new SDK update task added to the justfile
  • New entity_taxonomy.py model and dimension_junctions.py added to support richer taxonomy and dimensional relationships in extensions
  • Improved database health check logging — More informative log output in health.py for diagnosing connectivity issues
  • Tier change tests added — New test coverage for graph tier change operations

Bug Fixes

  • Fixed asset key for extensions materialization reporting
  • Improved error response handling across multiple API endpoints to return consistent, well-documented error envelopes

Security & Dependency Updates

  • 🔒 Bumped Mako from 1.3.10 to 1.3.11 (via Dependabot, #626) — includes upstream security and stability fixes

📊 Release Statistics

  • Commits: 50
  • Files Changed: 171
  • Lines Added: 10210
  • Lines Deleted: 8069
  • Previous Release: v1.4.64

🔗 Links


🤖 Generated with Claude Code

Release v1.4.64

15 Apr 07:57

Choose a tag to compare

RoboSystems Service v1.4.64

This release enhances database infrastructure with RDS Proxy support, adds Graph API cycle protection, and improves observability and operational resilience across the platform.

✨ Features & Improvements

  • RDS Proxy Support — Added configurable RDS Proxy integration with connection borrow timeout, updated PostgreSQL configuration, database endpoint handling in CI/CD workflows, and Lambda rotation scripts (#620)
  • Graph API Cycle Protection — Refactored sensitive path handling and enhanced auto_map_elements_op logic to guard against cycles in graph operations (#619)
  • Instance Busy Counter — New instance_busy middleware module to track and manage destructive operation concurrency, with dedicated test coverage
  • API Response Caching & Metrics — Extended metrics functionality with enhanced API response caching, OpenTelemetry improvements, and better error handling in extensions (#618)
  • Async Lifecycle Management — Implemented async lifecycle management for the RoboSystems API entry point

🔧 Technical Changes

  • Refactored table operation management in background tasks for cleaner separation of concerns
  • Refactored refresh actions and health check scripts across GitHub Actions workflows (refresh-graph-asg, refresh-graph-containers, graph-asg-refresh, service-refresh)
  • Updated deployment workflows (prod.yml, staging.yml, deploy-postgres.yml) to support new database endpoint configuration
  • Enhanced materialize and direct_materialization operation extensions with improved metrics and error handling
  • Updated CloudFormation Postgres template to accommodate RDS Proxy settings

🐛 Bug Fixes

  • Fixed edge cases in sensitive path handling within the Graph API router
  • Improved robustness of health check scripts for graph instances

⚠️ Breaking Changes

  • Database endpoint configuration in workflows has changed — teams with custom deployment pipelines referencing Postgres endpoints should verify compatibility with the new RDS Proxy-aware configuration

📊 Release Stats

Metric Value
Files Changed 35
Lines Added 2,345
Lines Deleted 825
PRs Merged 3

📊 Release Statistics

  • Commits: 18
  • Files Changed: 35
  • Lines Added: 2345
  • Lines Deleted: 825
  • Previous Release: v1.4.63

🔗 Links


🤖 Generated with Claude Code

Release v1.4.63

15 Apr 02:20

Choose a tag to compare

RoboSystems Service v1.4.63

This release introduces a new Extensions GraphQL API with investor and ledger operations, alongside dependency updates and improved documentation.

✨ Features & Improvements

  • Extensions GraphQL endpoint — New GraphQL API layer supporting graph-scoped endpoints, pagination validation, and a mapped trial balance feature (#617)
  • RoboInvestor operations module — Added command and read operations for portfolios, positions, securities, and holdings
  • Authorization & error handling — Refactored auth flow and error handling across GraphQL operations with enhanced idempotency support
  • New environment variables — Added configuration options to support extensions and GraphQL feature flags
  • Documentation overhaul — New and updated READMEs for GraphQL, API models, extensions models, and core models; clarified URL structure and feature flags in the main README

🔧 Technical Changes

  • Updated robosystems-client to 0.3.1 and arelle-release to 2.39.5
  • Updated development and testing dependencies
  • Refactored API structure for extensions to align with the new GraphQL architecture
  • Updated Content Security Policy (CSP) to accommodate the GraphQL endpoint
  • Refactored ValkeyDatabase allocation and updated corresponding tests
  • Improved CI compatibility by dynamically deriving main.py path in tests

🐛 Bug Fixes

  • Fixed test suite to reflect changes in Valkey database allocation behavior

🔒 Security

  • Updated SECURITY.md and refined authorization logic in GraphQL operations

⚠️ Breaking Changes

  • API restructuring for extensions — Existing extensions API routes may have changed as part of the refactor to support GraphQL; consumers of extensions endpoints should verify compatibility
  • ValkeyDatabase allocation changes — Database allocation behavior has been updated; services depending on specific database indices should be reviewed

📊 Release Statistics

  • Commits: 15
  • Files Changed: 157
  • Lines Added: 16721
  • Lines Deleted: 12076
  • Previous Release: v1.4.62

🔗 Links


🤖 Generated with Claude Code