Bump xbrlkit to 0.7.2 - #1365
Merged
Merged
Conversation
0.7.0 added the importers — a Tavi compiled model or a holon read back into `XbrlModel`, with no Arelle — and made the holon lossless against that model; 0.7.1 and 0.7.2 followed with fixes found by running real reports through both directions. What it changes here: - **`FilingMeta.is_inline_xbrl` is now `bool | None`.** No effect on this pipeline: `xbrl_graph.py` always sets it from EDGAR's `isInlineXBRL`, so the Report row and its parquet column are unchanged. It is `None` only for a model that came from an importer, which cannot know. - **`to_holon(XbrlModel)` writes a different document** — each report binds the namespaces its own concepts declare (a filer's extension concepts compact to `ba:Foo` instead of spelling out a robosystems.ai URL), every label role is present, and `dataType` / `baseType` / `nillable` / `language` / `isNil` / `periodEndDate` are new. Files come out ~20% smaller. Consumers key on `rs:internalId` — the viewer and `xbrlkit.query` both do — so nothing reads differently, but the published SEC artifacts should be regenerated once so a single shape is on the CDN. - **The `StatementBundle` holon path is untouched.** Its URI minting kept the old prefix table as its default, so RoboLedger's live-report holons are byte-identical. 2,513 tests across serialization, the SEC adapter, the schemas and roboledger pass, including the xbrlkit DDL parity check; code quality clean. The lock moves xbrlkit alone.
Contributor
|
Change classification: standard — only dependency manifests, lockfiles, documentation, release notes or generated output changed. Under the change standard a standard change is gated by the required test check alone; no secondary review is required. Recorded by the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
0.7.0 added the importers — a Tavi compiled model or a holon read back into
XbrlModel, with no Arelle — and made the holon lossless against that model. 0.7.1 and 0.7.2 followed with fixes found by running real reports through both directions (including a RoboLedger report whose Tavi and holon disagreed about the same entity).What changes here
FilingMeta.is_inline_xbrlis nowbool | None— no effect on this pipeline.xbrl_graph.py:649always sets it from EDGAR'sisInlineXBRL, so the Report row and its parquet column are unchanged. It'sNoneonly for a model that came from an importer, which genuinely cannot know.to_holon(XbrlModel)writes a different document. Each report now binds the namespaces its own concepts declare, so:ba:Fooinstead of spelling outhttps://robosystems.ai/concept/ba:Foohttp://fasb.org/us-gaap/2024-01-31#Revenuesrather than a year-less IRI FASB never minteddataType,baseType,nillable,language,isNil,periodEndDateare newConsumers key on
rs:internalId— the holon viewer'sdescribeReport.tsandxbrlkit.queryboth do — so nothing reads differently. Butartifacts.pypublishes{year}/{cik}/{accession}/holon.jsonldto the CDN, so those should be regenerated once rather than leaving two shapes in place. Not part of this PR.The
StatementBundleholon path is untouched — its URI minting kept the old prefix table as the default, so RoboLedger's live-report holons are byte-identical.Verification
operations/serialization,adapters/sec,schemasandoperations/roboledger— includingtest_xbrlkit_parity.py(the graph DDL agreement) and the cross-encoder equivalence testsjust test-codeclean0.6.0 -> 0.7.2, no other churn🤖 Generated with Claude Code
https://claude.ai/code/session_01EiGTpXmxwZjxzaRoVs4VxB