Skip to content

chore(deps): xbrlkit 0.18.1; the Tavi carries style and fact sets - #1516

Merged
jfrench9 merged 2 commits into
mainfrom
chore/xbrlkit-0.18.1
Sep 25, 2026
Merged

jfrench9 merged 2 commits into
mainfrom
chore/xbrlkit-0.18.1

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

Moves the xbrlkit pin to 0.18.1 (>=0.18.1,<0.19.0). Unlike 0.18.0, this release changes what the platform publishes: xbrlkit's Tavi writer now carries an authored report's own fields as rs: properties (RoboFinSystems/xbrlkit#73). A tenant's published Tavi therefore includes its reporting style and FactSet partition, and omitted_content for a Tavi download stops naming them.

Changes

  • pyproject.toml / uv.lock: xbrlkit 0.18.0 → 0.18.1.
  • operations/serialization/xbrl/tavi.py: TAVI_OMITTED_CONTENT drops reporting_style and fact_sets; ib_envelopes, definition_links, framework_pins and filing_lifecycle remain.
  • models/api/extensions/reports.py: the omitted_content description (public API reference copy) now says the Tavi carries the reporting style and FactSet partition.
  • tests/operations/serialization/test_tavi_emitter.py:
    • a new test checks the file carries what omitted_content no longer names: rs:reportingStyle on the model, rs:structureId / rs:blockType on networks, and a structure pin on every fact that has one;
    • the entity test now expects rs:legalName (the fixture's legal name differs from its name).

What the demo report's Tavi now carries, checked on a local tenant report: rs:reportingStyle on the model, rs:blockType / rs:structureId / rs:factSetId on all 10 networks, rs:structureId on all 90 facts. SEC filing artifacts are unaffected (byte-identical per the xbrlkit PR).

Breaking Changes

None. omitted_content is a list; two fewer entries for the Tavi flavor.

Testing

  • just test-all: 15,353 passed, 42 skipped; lint, format, typecheck, cf-lint and actionlint clean.

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

xbrlkit 0.18.1 writes an authored report's reporting style, legal name,
and each network's structure, block type and fact set, and each fact's
structure, as rs: properties on the Tavi. A tenant's published Tavi anchor
now carries them, so omitted_content stops naming reporting_style and
fact_sets, and the download field's description says so.
@github-actions github-actions Bot added the change:normal Normal change: automated review documented on the pull request before merge label Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Change classification: normal — platform or application code changed.

A normal change carries a documented automated review on this pull request before merge, in place of a second human approver. The change-classification job requests that review and passes once it has been posted. Recorded by the change-classification job.

@jfrench9

Copy link
Copy Markdown
Member Author

@claude please review this PR

@claude

claude Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Claude finished @jfrench9's task in 1m 16s —— View job


Review complete

  • Gather context (diff, changed files)
  • Understand the request (code review)
  • Review tavi.py omitted-content change
  • Review reports.py doc copy change
  • Review test changes
  • Review dependency bump (pyproject.toml/uv.lock)
  • Post final review

Small, well-scoped dependency bump with matching contract/doc/test updates. No issues found.

robosystems/operations/serialization/xbrl/tavi.py (TAVI_OMITTED_CONTENT) — dropping reporting_style and fact_sets is correct and matches the xbrlkit 0.18.1 change. omitted_content in operations/roboledger/reads/reports.py:587 reads TAVI_OMITTED_CONTENT directly rather than a hardcoded copy, so the download response stays in sync automatically. The module docstring's forward pointer to TAVI_OMITTED_CONTENT (line 4-5) is still accurate.

robosystems/models/api/extensions/reports.py — the omitted_content field description reads correctly and grammatically after the edit; no other file in the repo enumerates this list, so nothing else needed updating (checked docs/product/roboledger/reports-and-sharing.md and friends — they describe the Tavi/holon split generically, not field-by-field, so they're unaffected).

tests/operations/serialization/test_tavi_emitter.py — the new test_the_reporting_style_and_fact_set_partition_ride_as_rs_properties test appropriately locks in what omitted_content no longer names (rs:reportingStyle on the model, rs:structureId/rs:blockType on networks, rs:structureId pins on facts). One minor, non-blocking observation: the network_properties dict comprehension (lines 179-183) flattens properties across all networks into one dict, so network_properties["rs:structureId"] only reflects whichever network is iterated last — it can't catch a network that's missing the property, only confirm at least one network has a value in the expected set. Given this is a narrow regression test for the xbrlkit bump (not general coverage), that's a reasonable tradeoff and not worth blocking on. The entity test's rs:legalName expectation matches the fixture (legal_name="Test Co LLC" vs name="Test Co" in test_model_bridge.py).

pyproject.toml / uv.lock — straightforward version bump (>=0.18.0 → >=0.18.1), hashes and lock metadata consistent. No other xbrlkit pins elsewhere in the repo (checked .github/) need updating.

Verified the omitted/carried fields line up 1:1 against the PR description and the fixture data backing the new test. I wasn't able to execute uv run pytest/just test in this sandbox (command approval isn't available to me here) — the PR description already reports just test-all: 15,353 passed, 42 skipped, so I'm relying on that.

@jfrench9
jfrench9 merged commit 4652473 into main Sep 25, 2026
8 checks passed
@jfrench9
jfrench9 deleted the chore/xbrlkit-0.18.1 branch September 25, 2026 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change:normal Normal change: automated review documented on the pull request before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant