Skip to content

Merge for v30.0.2 Approved - #1005

Merged
davidtauriello merged 2600 commits into
masterfrom
v30
Aug 10, 2026
Merged

Merge for v30.0.2 Approved#1005
davidtauriello merged 2600 commits into
masterfrom
v30

Conversation

@davidtauriello

Copy link
Copy Markdown
Contributor

Changes:

Pull request process

  • Full description of changes provided above.
  • Reviewed by another person. (+1)
  • If this is a code change, reviewed by a second person. (+1)
  • QA'd to the specifications listed here. Documentation only changes do not require the formal code quality assurance process. (+10)
Once checklist is complete, @campbellpryde @marcward @davidtauriello please review for merge.

campbellpryde and others added 30 commits March 23, 2026 17:30
Change $GAAPTop10 from list(...) to set(...) in DQC_0226.xule for 2024, 2025, and 2026. This makes the collection of top GAAP concept names unique (removing duplicates) and avoids reliance on list ordering when aggregating the top items. @davidtauriello
Add a conditional for $BDC_Industry_And_More so it omits the @Dei:LegalEntityAxis when the DEI taxonomy is not loaded ($DEI_NAMESPACE == none). This prevents errors when DEI is unavailable and was applied to DQC_0207.xule for 2023, 2024, 2025, and 2026.
Update DQC_0166.xule for 2022–2026 to ignore facts using the US‑GAAP AwardTypeAxis dimension. Each file adds a $US-GAAPDimension check (local-name intersect set("AwardTypeAxis")) and includes it in the condition that prevents flagging dimensional facts not included in a hypercube. Minor semicolon/formatting fixes applied where needed.
Update effective_dates.csv and ifrs_effective_dates.csv with revised effective dates and new entries. Notable changes: adjust codes 10652 (->2025-09-01), 10653/10654 (->2026-06-30), move 10727-10733 and 10746 (->2026-06-01), add multiple new entries in the 10920-10932 and 11000-11036 ranges (mostly 2026-06-01 or 2026-07-31). In ifrs_effective_dates.csv remove a duplicate line for 8182 and add entries 10751 (2026-06-01) and 10925 (2026-07-31). Also ensure file newline fixes at EOF. @davidtauriello
Update effective_dates.csv and ifrs_effective_dates.csv with revised effective dates and new entries. Notable changes: adjust codes 10652 (->2025-09-01), 10653/10654 (->2026-06-30), move 10727-10733 and 10746 (->2026-06-01), add multiple new entries in the 10920-10932 and 11000-11036 ranges (mostly 2026-06-01 or 2026-07-31). In ifrs_effective_dates.csv remove a duplicate line for 8182 and add entries 10751 (2026-06-01) and 10925 (2026-07-31). Also ensure file newline fixes at EOF. @davidtauriello
- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0
- update resources.zip
- remove dqc_0203 from 2026
* Update constant.xule

* Update settings.json

* Updated rule 212 to fix xule error

@davidtauriello

* Updated v28 rule sets

* Updated rule 212 to fix xule error

@davidtauriello

* Delete testRule-212.xml

* Removed old files

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v28.0.0

* Updated rule 212

Updated to get appropriate period alignment for CommonStockSharesAuthorizedUnlimited

* Updated rule 212

Updated to get appropriate period alignment for CommonStockSharesAuthorizedUnlimited

* Updated rule form documentation

* Updated rule 190 to capture legal entity axis missing

* Updated task file

* Update dqc-us-2025-V29-ruleset.zip

* Updated rule 190 to capture legal entity axis missing

* Updated 212 to fix Shelly issue

@davidtauriello

* Update dqc-us-2025-V29-ruleset.zip

* Updated 212 to fix Shelly issue

@davidtauriello

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v28.0.0

* Update for v28 Approved (#954)

* Update for v28 Approved

- remove status $status
- update version.xule as v28.0.0 approved
- update rulesetmap.json
- recompile ruleset .zip files
- Python 3.13.3 || Arelle 2.37.6 || XULE 30048 for v28.0.0

* Updated 108 for performance

Halved rule run time.

* Update dqc-us-2024-V28-ruleset.zip

* Update rule submission forms prior to v28

- Update all text and formatting as Status: Final
- Update v27 rules to include release date

* Update V28 Approved rule submission forms

* Recompile ruleset .zip files

* Updated rule 212 to fix xule error

@davidtauriello

* Updated v28 rule sets

* Updated rule 212

Updated to get appropriate period alignment for CommonStockSharesAuthorizedUnlimited

* Updated rule 190 to capture legal entity axis missing

* Updated 212 to fix Shelly issue

@davidtauriello

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v28.0.0

---------

Co-authored-by: campbellpryde

* Update effective_dates.csv

- Update for v28

* Update for v29 from v28

- rename ruleset .zip files
- update resources to use v29

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Fixed rule 197 for those cases where some prefered stock items can be in SHE

* Updated rule 212 to handle  cases were stock issued was not disclosed.

Allows tagging an extension for those cases where shares issued is not reported.

* Updated to exclude InvestmentCompanyNonconsolidatedSubsidiaryAxis from the check

* Updated rule 212 to remove US _GAAP

* Updated constant for non neg axis

* Updated rule 212 to handle multiple ways of representing issued shares

* Updated rule 207 to handle netted items

* Updated the error message for rule 195 to highlight what is causing an issue

* Missed 1 rule 195

@davidtauriello DOing a bunch of rule changes

* Updated rule 170 if have termination date

@davidtauriello

* Updated rule 80 for Pension concept

Removed ifrs-full:PaymentsFromPlanNetDefinedBenefitLiabilityAsset @davidtauriello

* Update tasks.json

* Updated to exclude legal entity axis

* Updated rule 0197

* Updated 212 to align unlimited

* Added rules for Meta model

* Updated validation rules for V29

@davidtauriello

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Update .gitignore

* Update DQC.code-workspace

* DQC V28.0.1 into V29 for public review.

Changes that David has from V28 approved  that need to be moved into V29.

* Update dqc_0179 and dqc_0199

- dqc_0179 rule form typo
- dqc_0199 effective date extension

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Create test-2025-V29-ruleset.zip

* Update dqc-us-2025-V29-ruleset.zip

* Delete test-2025-V29-ruleset.zip

* Update DQC_0227.xule

* Revert "Update DQC_0227.xule"

This reverts commit c3c8835.

* Update dqc-us-2025-V29-ruleset.zip

* Update dqc-us-2025-V29-ruleset.zip

* Update dqc-us-2025-V29-ruleset.zip

* Update dqc-us-2025-V29-ruleset.zip

* Update dqc-us-2025-V29-ruleset.zip

* Updated rules

* Updated rule 229 to be more inclusive

* Updated 227 to avoid dictionary minus issue

* Fixed broken functions and version

* Updated compiled rules

* Fixed 228 to fix bug

* Fixed 229 so only works for calc parents with other

* Added rule 230

* Updated 230

* Updated rules for errors

* Added rule documentation

@davidtauriello

* Fixed error identified by Derek

Added check fo if not exists($document_period)

* Added rule 0231

@davidtauriello

* Updated new rules for 231

@davidtauriello

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Update .travis.yml and travis-run.sh

- Python 3.13 | Arelle 2.37.58 | XULE 30050
- Update travis-run for inlineXbrlDocumentSet

* Update DQC_0179.md

* Fix typo in DQC_0231.xule and add test ruleset

Corrected a spacing typo in the error message of DQC_0231.xule and added the test-2025-V29-ruleset.zip file for testing purposes.

* Refine unit matching in DQC_0227 calculation logic

Updated the $calc variable in DQC_0227.xule for 2022-2025 to ensure the calculation fact's unit numerator matches the numerator fact's unit. Also corrected indentation for interval calculations to execute only when all required facts exist, improving accuracy and code clarity.

* Refine non-negative fact selection in DQC_0228.xule

Updated the logic for selecting non-negative facts in DQC_0228.xule for years 2022-2025. The new conditions ensure facts are positive and exclude those with specific dimensions, members, and axes, improving rule accuracy.

* Return boolean instead of list in DQC_0230.xule rule

Updated the logic in DQC_0230.xule for years 2022-2025 to return 'true' instead of the list of unallowed items when the condition is met. This change standardizes the output to a boolean value, likely for consistency in rule evaluation.

* Update DQC US V29 ruleset ZIP files

Refreshed the ruleset ZIP files for years 2022 through 2025 in the dqc_us_rules directory to include the latest changes.

* Update from CP dqc v29

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Update .travis.yml for v29 public review

* Update tests from v28.0.2

* Update .travis.yml

* Fix typo in DQC_0231.xule rule message

Corrected 'togetheras' to 'together as' in the rule message for DQC_0231.xule files for 2022, 2023, and 2024 to improve clarity.

* Refine ancestor check in DQC_0230.xule rules

Updated logic in DQC_0230.xule for 2022-2025 to check if $item is an ancestor of unallowed items before returning true. This prevents false positives when $item is a valid ancestor, improving rule accuracy.

* Update DQC US ruleset ZIP files for 2022-2025

Refreshed the DQC US ruleset ZIP files for versions 2022 through 2025. These updates likely include new or revised validation rules for each respective year.

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Update unit tests

* Add period end date filter to DQC_0198 tax checks

Updated DQC_0198.xule rules for 2022-2025 to require that tax concept checks only consider facts with a period end date on or after 2025-12-15. This ensures the rule applies correctly to relevant filings based on the specified date.

* Expand reportable flag check in DQC_0221 rules

Updated DQC_0221.xule rules for 2022-2025 to include 'NumberOfReportableSegmentsDisclosedByDefinition' in the reportable flag check and error message, allowing either extension concept to satisfy the rule when NumberOfReportableSegments is not reported.

* Update DQC_0230.xule logic for receivables and interest

Added checks for AccountsAndOtherReceivablesNetCurrent and InterestExpenseOther in the calculation network logic for 2022-2025 rules. Updated message text to clarify that calculated concepts should only have 'other' concepts that can comprise them.
@davidtauriello

* Remove unused test225 output and related code

Deleted the test225 output block and associated logic for filtering income roles and concepts from DQC_0225.xule, as it was not being used.

* Refine equality logic in DQC_0228.xule rules

Updated the comparison logic to use strict less-than for $sourceFact vs $targetFact, and added a conditional for equality that excludes specific concepts. This change improves the accuracy of rule application for Assets, Liabilities, and related concepts across 2022-2025 rule files.

* Update period end filter in DQC_0198.xule rules

Replaced '@@period.end >= date(...)' with 'where $fact.period.end >= date(...)' in DQC_0198.xule files for 2022-2025 to improve fact filtering logic for tax rate checks in 10-K filings. Also removed redundant comments in the 2025 rule file.

* Update DQC US V29 ruleset ZIP files

Refreshed the ruleset ZIP files for years 2022 through 2025 to include the latest changes or corrections.
@davidtauriello

* Update DQC_0228.xule

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Update unit test for dqc_0212

* Update .travis.yml

* Remove DQC_0229 rule and documentation

Deleted the DQC_0229 rule implementation files for years 2022-2025 and the associated documentation. This removes the check for multiple 'other' concepts in a calculation network due to rule duplication with 230 @davidtauriello

* Fix assertion references in DQC_0226.xule rules

Updated the ASSERT statements in the 2024 and 2025 DQC_0226.xule files to reference the correct assertion IDs, ensuring the rules validate the intended conditions.

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC1

* Update unit test for message update

* Update fact selection to use concept local-name

Replaced use of @Dei:EntityPublicFloat and @Dei:EntitySmallBusiness with @concept.local-name checks in DQC_0222.xule for 2022-2025. This improves compatibility and accuracy when the dei taxonomy is not defined

* Add 2026 US GAAP taxonomy and rules

Introduces the 2026 US GAAP taxonomy and related DQC rules, including new Xule rule files, constants, resources, and workspace configuration. Adds concept CSVs for DQC_US_0015 and updates supporting library files to enable 2026 taxonomy support. @davidtauriello

* Update .travis.yml and test cases v28

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC2

* Update .travis.yml

- run all

* Remove 2020 - 2022 reference implementation code

* Updated for us-gaap 2026

* Add DQC US 2026 V29 ruleset ZIP file

Introduces the dqc-us-2026-V29-ruleset.zip file to the dqc_us_rules directory. This file likely contains updated or new rules for DQC US 2026, version 29. @davidtauriello

* Remove DQC_0205.xule rule files for 2022-2026

Deleted DQC_0205.xule rule files from the dqc_us_rules/source/us directory for years 2022 through 2026. This removes the BalanceSheetLocationAxis validation rule for these taxonomy years. @davidtauriello

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC2

* Update DQC.US.0221.10749_NVAX_US-2025.xml

* Add rule-name-prefix to DQC_0084.xule for 2025 and 2026

Introduced the 'rule-name-prefix DQC' directive to the DQC_0084.xule files for both 2025 and 2026 to standardize rule naming conventions.

* Update axis and member references for 2026 DQC rules

Replaces BalanceSheetLocationAxis and IncomeStatementLocationAxis with StatementOfFinancialPositionLocationBalanceAxis and StatementOfIncomeLocationBalanceAxis, respectively, across multiple DQC rule files to align with taxonomy updates. Also introduces $SOFTWARE_DEVELOPMENT_ITEMS constant and corrects logic in DQC_0204.xule to use this set for filtering members. Updates error messages and variable names to reflect these changes.

* Update dqc-us-2026-V29-ruleset.zip

* Add rule-focus directives to DQC_0004.xule rules

Inserted 'rule-focus' statements for relevant variables in DQC_0004.xule files for 2022-2025. This change clarifies the focus of each rule, improving rule targeting and maintainability.

* Add rule-focus to DQC_0015.xule for 2022-2025

Introduced the 'rule-focus $fact1' directive to DQC_0015.xule files for years 2022 through 2025 to specify the primary fact for rule evaluation. This enhances rule clarity and processing consistency across annual rule sets.

* Add rule-focus to DQC_0150.xule rules (2022-2025)

Introduces the 'rule-focus' directive to multiple error assertions in DQC_0150.xule files for 2022, 2023, 2024, and 2025. This change improves error highlighting and guidance by specifying which facts or dimensions should be focused on when the rule triggers.

* Add rule-focus directives to DQC_0198.xule rules

Introduced 'rule-focus' statements for $concept-value, $percentage-value, $IncomeTax, and $factValue in DQC_0198.xule files for 2022-2025. This clarifies which fact the rule should focus on, improving rule targeting and maintainability.

* Add rule-focus directives to Xule rule files

Inserted 'rule-focus' statements in multiple DQC Xule rule files to specify the primary fact or variable each rule should focus on. This improves rule clarity and may enhance processing or debugging by explicitly indicating the main context for each rule.

* Update flag name in DQC_0221 rule for segment disclosure

Replaces 'NumberOfReportableSegmentsDisclosedByDefinition' with 'NumberOfReportableSegmentsDisclosedByDefinitionFlag' in DQC_0221.xule for years 2022-2026 to ensure correct extension concept is referenced in both logic and error messages.

* Refine IFRS 18 rule to exclude full IFRS entry point

Updated the rule logic to apply only when the IFRS 18 entry point is present and the full IFRS entry point is not, ensuring correct rule application for specific taxonomy scenarios.

* Update rule-form-lookup.csv

* Update DQC_0198.xule to use bracketed fact selectors

Replaced curly brace fact selectors with bracketed selectors in DQC_0198.xule files for years 2022-2026 to ensure consistent syntax and improve rule clarity.  This makes sure that this only runs on the non dimension values as there may be a tax rate for a sub or something where the equivalent rate does not have to be reported.

* Add new DQC rules for IFRS 2025 and US GAAP 2026

Introduces DQC_IFRS_0232.xule for IFRS 2025 and DQC_0233.xule for US GAAP 2026. Both rules are currently disabled with a 'false' flag and are intended for future taxonomy versions (V30).

* Add rule-focus to DQC 2025 Xule rules

Added the 'rule-focus' directive to all relevant rules in the 2025 DQC US Xule files to specify the fact or variable each rule should focus on. This improves rule clarity and ensures proper fact targeting for validation.

* Add rule-focus to DQC US 2025/2026 Xule rules

Added or corrected the 'rule-focus' directive to all relevant DQC US 2025 and 2026 Xule rule files to specify the primary fact or variable for each rule. This improves rule clarity and ensures proper highlighting of the focused fact during validation.

* Reorder rule-focus and effectiveDate in XULE rules

Updated the order of 'rule-focus' and 'effectiveDate' statements in DQC_0108.xule, DQC_0109.xule, DQC_0110.xule, DQC_0112.xule, and DQC_0120.xule for consistency and clarity in rule definitions. @davidtauriello

* Add rule-focus statements to DQC 0108, 0120, and 0139

Inserted 'rule-focus' statements in DQC_0108.xule, DQC_0120.xule, and DQC_0139.xule to specify the primary fact for each rule. This clarifies which fact the rule should focus on during validation.

* Add rule-focus to DQC_0139.xule rule sections

Inserted 'rule-focus' statements for relevant facts in multiple rule sections of DQC_0139.xule to clarify which fact each rule targets. This improves rule clarity and may enhance validation behavior.

* Update assertion IDs in DQC and IFRS Xule rules

Changed assertion IDs in multiple DQC and IFRS Xule rule files to use the 1092x/1092x5 series instead of the previous 1080x series. This aligns rule identifiers across 2022-2026 US GAAP and 2025 IFRS rule files for consistency and future taxonomy updates. @davidtauriello

* Add new 2026 SRT and US GAAP concepts to DQC 15 resources

Added new SRT concepts (OilAndGasProductiveWellGrossNumber, OilAndGasProductiveWellNetNumber) and multiple US GAAP concepts related to software, intangible assets, liquidation basis, preferred stock, and derivatives to the respective 2026 concepts CSV files for DQC_US_0015. This update expands the coverage for the 2026 taxonomy. @davidtauriello

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC3

* Update test cases and .travis.yml for v29

* Fixed missing rule focus in V29

* Refine DQC_0214 rule for 10-Q and 10-K filings

Updated DQC_0214.xule for 2022, 2023, 2024, 2025, and 2026 to distinguish error handling between 10-K and 10-Q filings. For 10-Q, the rule now checks if items are in the equity presentation or are material relative to total assets before raising an error, aligning with reporting requirements.

* Update DQC rule assertions and add test output

Updated assertion IDs in DQC_0231.xule and DQC_0233.xule for 2023 and 2026 rules.

* Updated effective dates

* Simplify DQC_0214 equity check and add AOCI guidance

Removed conditional logic based on filing type and $TotalAssets from the equity item check in DQC_0214.xule for years 2022-2026. Added an additional message referencing the FASB implementation guide for Accumulated Other Comprehensive Income when applicable.

* Update DQC US 2024 and 2025 V29 ruleset ZIP files

Refreshed the dqc-us-2024-V29-ruleset.zip and dqc-us-2025-V29-ruleset.zip files with new versions. This likely includes updated rules or corrections for the 2024 and 2025 DQC US V29 rulesets.

* Update .travis.yml for dqc_0220

- fix rule number

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC3

* Update .travis.yml

* Exclude nil facts in DQC_0198 checks

Add the 'nonils' predicate to the exists() expressions in DQC_0198.xule so facts with xsi:nil are ignored when evaluating equivalent tax rate pairs. This prevents nil facts from satisfying the existence check and causing the counterpart value to be reported missing for 10-K/10-KT filings with DocumentPeriodEndDate >= 2025-12-15 (both concept[1] and concept[2] cases).

* Update dqc-us-2026-V29-ruleset.zip

* Add DQC_0234 XULE rules for IncomeTaxAuthorityAxis

Add new 2026 DQC rule file DQC_0234.xule implementing three assertions (US.0234.10928, US.0234.10929, US.0234.10930) that detect improper use of the IncomeTaxAuthorityAxis and missing TaxJurisdictionOfDomicileExtensibleEnumeration. Each assertion defines concept lists, builds error messages, sets severity and effectiveDate, and extracts a rule id. The rules are currently disabled (comment notes and `true and false` present) pending migration to v30.

* Include more items in missing-calculation check

Update DQC_0230.xule across US 2022–2026 to expand missing-calculation detection: replace the previous OR check for AccountsAndOtherReceivablesNetCurrent and InterestExpenseOther with a set intersection that also includes InvestmentsAndOtherNoncurrentAssets and PrepaidExpenseAndOtherAssetsCurrent. This detects when these concepts (which may roll up to another interim total) are present in $unallowedOtherUsedInNetwork. Minor whitespace/variable naming adjustments applied per year file.

* Adjust DQC_0222 small-filer public-float logic

Extend DQC_0222 rules across 2022–2026 to account for small-filer exceptions based on revenue. Adds sets of revenue concepts (including financial-services revenue), computes revenue_facts for the small-filer period, and implements a conditional: if revenue < $100M and public float is between $250M and $700M, suppress the scaling-error flag for EntityPublicFloat; otherwise preserve existing threshold logic. Also adds rule-focus on the public float fact and normalizes a message spacing in the 2023 rule. Changes applied to DQC_0222.xule files for 2022, 2023, 2024, 2025 and 2026.

* Include PropertyPlantAndEquipmentOtherNet in DQC_0230

Add PropertyPlantAndEquipmentOtherNet to the set of items checked for missing calculations in DQC_0230 across US rule files (2022–2026). Also harmonize variable naming and add clarifying comments/formatting in the 2026 rule to improve readability. Files changed: dqc_us_rules/source/us/2022/2023/2024/2025/2026/DQC_0230.xule.

* Add per-share penny tolerance to DQC_0227

Introduce a perShareItemTolerance (0.01) for concepts with data-type dtr-types:perShareItemType and apply it to the interval comparisons so per-share rounding differences are tolerated. Adjusts the greaterThanLowerBound and lessThanUpperBound checks to add/subtract the tolerance, adds an explanatory comment, and propagates the change across DQC_0227.xule for 2022–2026 (also fixes minor whitespace/indentation).

* DQC_0198: add EGC/REIT and tax-network checks

Add detection of income-tax disclosure structures and REIT presentation networks via new constants ($INCOME_TAX_STRUCTURE_ELEMENTS, $INCOME_TAX_NETWORKS, $REIT_IDENTIFIER_ELEMENTS, $REIT_NETWORKS). Introduce an EGC exemption flag ($EGCFlag) and require not $EGCFlag and presence of an income-tax network before enforcing equivalent-tax-rate checks in 10-Ks. Skip the equivalent-rate calculations for identified REIT networks. Rework base-income calculation flow and alternative EMI-inclusive calculation branch. Remove the conflicting ASSERT/DQCRT rule US.0198.10661 (IncomeTaxAuthorityAxis vs TaxJurisdictionOfDomicileExtensibleEnumeration) and replace with a comment noting the removal per FASB guidance.

* Remove rule-focus from DQC_0120.xule

Remove the extraneous 'rule-focus $x' lines from DQC_0120.xule in the 2025 and 2026 folders. The change simply deletes the redundant focus declarations; rule severity and effectiveDate remain unchanged.

* Update copyright to 2026

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC5

* Include disposal-group items in DQC_0230 checks

Add three DisposalGroupIncludingDiscontinuedOperation asset concepts to the $missingCalculationForItem set in DQC_0230.xule for 2022–2026. This ensures DisposalGroupIncludingDiscontinuedOperationOtherCurrentAssets, DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets, and DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent are considered when intersecting with $unallowedOtherUsedInNetwork, preventing missing-calculation false negatives when these disposal-group "other" items roll up to interim totals. Files updated: dqc_us_rules/source/us/2022-2026/DQC_0230.xule.

* DQC_0198: ignore zero tax facts and adjust EGC logic

Add a non-zero check to equivalent-tax existence tests and update Emerging Growth Company (EGC) handling. Across 2022–2026 rule files, existence predicates for equivalent tax-rate concepts now include `and $fact != 0` to avoid flagging when the reported tax amount is zero. In the 2025 and 2026 rule variants the EGC flag logic was changed so filers with DocumentPeriodEndDate >= 2026-12-15 are treated as non-EGC (i.e., false) for this rule. Also include a clarifying comment and minor formatting adjustments in the 2026 file. @davidtauriello

* Removed the remainder of rule 121 for the 2026 taxonomy.

* Add rule-focus to DQC_0190 rules (2024-2026)

Insert explicit rule-focus statements into DQC_0190.xule for 2024, 2025, and 2026. Each rule block now includes a rule-focus (e.g. $x, $EBP_master_and_non_Master_FV, $EBP_master_and_non_Master_contract, first($InvalidAxis), $EBP_InterestInMasterTrust, $EBP_InvestmentMasterTrust, $InvalidConceptsAndAxis, $InvalidConcepts, $InvalidFacts, first($defaultFacts)) to ensure the intended evaluation context is set for the assertions. This makes rule scoping explicit and avoids relying on implicit/default focus behavior. @davidtauriello

* Use tolerance check in DQC_0187 rules

Replace the strict numeric comparison ($ppe_gross < $ppe_Gross_dim_components_sum) with tolerance_for_decimals_greater_than(...) in DQC_0187.xule for US 2022–2026. This change uses ppe_gross.decimals with a tolerance of 2 to account for rounding/decimal differences when comparing PropertyPlantAndEquipmentGross to the aggregated dimensional components. Minor whitespace normalization applied in a few files. @davidtauriello

* Add DQC_0235 xule for collateral-axis rules

Add new 2026 XULE rule file DQC_0235.xule containing two rules (US.0235.10931 and US.0235.10932) that detect use of the CollateralAxis with specific concepts (FinancialAssetsSoldUnderAgreementsToRepurchaseGrossIncludingNotSubjectToMasterNettingArrangement and SecuritiesLoanedIncludingNotSubjectToMasterNettingArrangementAndAssetsOtherThanSecuritiesTransferred). The rules recommend using CollateralPledgedInSecuredBorrowingAxis for disaggregation, derive rule_id from the rule name, and reference effective dates. Both rules are intentionally disabled (use "and false" and skip) until they are migrated to V30.

* Updated compiled files

@davidtauriello

* Use nonils for equivalent tax rate checks

Update DQC_0198.xule (2022–2025) to add the nonils predicate to existence checks for equivalent tax rate concepts so nil-valued facts are not considered present when validating paired percentage/amount facts. This prevents nil facts from producing false positives when the corresponding equivalent percentage is missing. Also correct a minor spacing inconsistency (nonils@concept) in the 2024 file.

* Update DQC.US.0222.10750_SLP_US-2025.xml

- fix for scaling change in dqc_0222

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC5

* Update .travis.yml tests for dqc_0227 10920 tolerance

* Use fact-based US-GAAP detection in DQC_0226

Replace the prior taxonomy concept name intersection with a fact-driven approach: collect covered facts for US-GAAP concepts into $factValues, derive the top-10 concept names from those facts, and check presence by $factValues.length. This change updates DQC_0226.xule for 2024, 2025, and 2026 to more reliably detect US-GAAP elements actually used in the filing rather than relying solely on taxonomy concept lists.

* Group preferred stock with income items

Change grouping in DQC_0197.xule (2024, 2025, 2026) so $Pref_stock_items are added to $INCOME_STATEMENT_CONCEPTS before subtracting $Pref_stock_items_allowed. Previously the subtraction was applied only to $Pref_stock_items, which could produce incorrect membership in $income_statement_items; this ensures the allowed preferred-stock summation items are removed from the combined income-items set.

* Update DQC US ruleset ZIPs

Replace the binary ruleset archives for 2025 and 2026 with updated V29 packages. This updates dqc-us-2025-V29-ruleset.zip and dqc-us-2026-V29-ruleset.zip to the latest built rulesets (binary changes only).

* Update DQC US V29 ruleset ZIPs (2022–2026)

Replace binary DQC US V29 ruleset archives for years 2022–2026 with updated ZIP files. Modified files: dqc_us_rules/dqc-us-2022-V29-ruleset.zip, dqc_us_rules/dqc-us-2023-V29-ruleset.zip, dqc_us_rules/dqc-us-2024-V29-ruleset.zip, dqc_us_rules/dqc-us-2025-V29-ruleset.zip, dqc_us_rules/dqc-us-2026-V29-ruleset.zip. These are binary asset updates containing refreshed ruleset contents; no source code changes were made.

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC5

* Refactor LegalEntityAxis member handling

Use navigate to retrieve LegalEntityAxis members and adjust validation logic: replace previous covered-fact filtering with navigate dimensions ... returns set(target-name), iterate over .local-name, skip the 'EntityDomain' member, and refine regex-match checks to correctly branch on match-count. Old approach is preserved as a commented block. Applied to DQC_0190.xule for 2024, 2025, and 2026.

* Update dqc-us-2024-V29-ruleset.zip

* Comment unclear IncomeTaxReconciliation pairing

Wrap the list entry pairing IncomeTaxReconciliationOtherReconcilingItems with IncomeTaxReconciliationOtherAdjustments in a block comment in the $OTHER_AGGREGATE constant across 2022–2026 constant.xule files. The change preserves the original code but marks the relationship as questionable with the note 'NOT CLEAR THAT THIS RELATIONSHIP IS CORRECT' for follow-up review.  The FASB will need to update the meta taxonomy for this. Sent not to them.

* Raise public float threshold to 2.5B

Update DQC_0222.xule for 2022-2026 to change the public_float_facts upper bound from 250,000,000 to 2,500,000,000. This adjusts the conditional logic that evaluates public float vs. revenue so larger public float values are handled by the rule. Files updated: dqc_us_rules/source/us/2022/2023/2024/2025/2026/DQC_0222.xule.

* Filter historical facts and expand doc types in DQC_0124

Add logic to ignore facts reported in historical periods outside the balance sheet coverage by computing $ReportingPeriod and $PeriodToIgnore = $ReportingPeriod - time-span('P1Y3M') and only considering facts with fact.period.end >= $PeriodToIgnore. Apply this filter across DQC_0124.xule for 2022–2026, add explanatory comments, and broaden the accepted DocumentType set to include amended/alternative forms (e.g. 10-K/A, 20-F/A, 40-F/A). Also update the Taxonomy header to US GAAP 2025 in the 2025 rule file.

* DQC_0135: exclude historical-period facts

Update DQC_0135 across 2022–2026: add reporting-period logic and ignore facts outside the financial statements' coverage. Introduces $ReportingPeriod and threshold periods ($InstantPeriodToIgnore, $DurationPeriodToIgnore) and filters $facts_To_Check and FS_Concept_Item1 queries by fact.period.end to exclude older/historical facts. Adds exclusions for @@RestructuringCostAndReserveAxis and @@srt:ProductOrServiceAxis in income-statement checks to avoid over-mapping. Also expands accepted DocumentType values, fixes minor message spacing, and bumps the taxonomy header to US GAAP 2025 in the 2025 rule file.

* DQC_0087: filter lease facts by period

Add reporting-period filtering and minor cleanup to DQC_0087 rules across 2022-2026. Introduces $ReportingPeriod and $PeriodToIgnore (ReportingPeriod - P1Y3M) and restricts existence checks to facts with fact.period.end >= $PeriodToIgnore so older lease facts are ignored. Expands DocumentType sets to include amended/form variants (e.g. 10-K/A, 20-F/A, 40-F/A) where applicable. Also reorders/removes duplicate rule-focus/effectiveDate lines for clarity and updates the taxonomy header in the 2025 file to "Taxonomy: US GAAP 2025". Changes applied to OperatingLeaseLiability, OperatingLeaseLiabilityCurrent, OperatingLeaseLiabilityNoncurrent and statement-of-financial-position variants.

* DQC_0198: filter by network, add NCI logic

Introduce $NETWORK_TAX_CONCEPTS and use it to limit equivalent-tax-rate checks to concepts present in the income-tax presentation networks. Require fact.period.days > 350 when validating network facts. Add alternative NCI-adjustment calculation and messaging (RegularMessage / NCI_Message) to handle cases where effective tax rates are calculated after deducting non-controlling interest, and use $NCI_ADJUSTMENT_NOT_VALID to gate failures. Clean up conditional formatting and EGC handling, fix minor fact existence checks, add rule-focus in 2024, and correct copyright year in 2026. Also include commented scaffolding for future child-component assertions in the 2024 rule file.

* Annotate removal of Rule 5 in DQC_0190

Wrap and comment out the FASB/Rule 5 assertion and related rule block in DQC_0190 xule files for 2024, 2025, and 2026 to reflect the decision to remove Rule 5 (per discussion with Shelly Wavrin and Sonny Jablonski). Add explanatory comments in the 2026 rule about excluding the legal-entity axis that represents totals to avoid false positives, and apply a small whitespace/formatting fix in a list(...) expression. @davidtauriello

* Add treasury-stock exception to DQC_0195

Introduce a check in DQC_0195 XULE rules (US 2022-2026) to suppress the rule when retained earnings increase is driven by gain on treasury stock and there is a corresponding reduction in treasury stock. Adds a $TreasuryStock existence check against TreasuryStockCommonMember and an exception list (StockIssuedDuringPeriodValueEmployeeBenefitPlan, StockIssuedDuringPeriodValueShareBasedCompensation); when both conditions match the rule short-circuits (returns false) to avoid false positives. Changes applied consistently across the 2022–2026 rule files. @davidtauriello

* Update DQC-US V29 ruleset zips (2022-2026)

Replace updated binary ruleset bundles for DQC-US V29 across tax years 2022–2026. The commit updates dqc_us_rules/dqc-us-2022-V29-ruleset.zip through dqc-us-2026-V29-ruleset.zip with the latest V29 rule packages to keep the validation rules current.

* Move FILIN_COMPONENTS_OF_NET_INC_LOSS constant

Relocate the FILIN_COMPONENTS_OF_NET_INC_LOSS constant from the per-taxonomy constant-us-gaap.xule files into the shared constant.xule files for 2023–2026. Centralizes the definition (navigate parent-child descendants from IncomeStatementAbstract/StatementOfIncomeAndComprehensiveIncomeAbstract where target is monetary) and includes minor newline/formatting cleanup. @davidtauriello

* Update dqc-us ruleset ZIPs to V29

Replace the dqc_us_rules ZIPs for 2023–2026 with updated V29 binaries. This refreshes the DQC US ruleset packages (dqc-us-2023/2024/2025/2026-V29-ruleset.zip) to the latest V29 content.

* Add V29 changes since Dec 1, 2025

Add a new changelog document summarizing all DQC US Rules V29 changes since December 1, 2025. The file records new rules (DQC_0234, DQC_0235), removed rules (DQC_0205, DQC_0229), numerous rule modifications across many DQC checks (notably DQC_0087, DQC_0124, DQC_0135, DQC_0187, DQC_0190, DQC_0195, DQC_0197, DQC_0198, DQC_0214, DQC_0221, DQC_0222, DQC_0226, DQC_0227, DQC_0228, DQC_0230), and cross-cutting infrastructure updates (rule-focus directives, relocation of a shared constant, addition of 2026 taxonomy rule files, and updated ruleset ZIPs). Provides dates, rationale, and notes on scope/years for each change.

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC5

* Update DQC rule docs with clarifications

Multiple DQC markdown docs updated to add clarifications, new filtering, tolerance rules, retired status, and other behavioral notes:

- DQC_0087: Added reporting-period filter to exclude facts with period-ends >15 months before the reporting period; expanded applicable document types to include amended forms; added appendix note (Mar 2026).
- DQC_0121: Noted removal of rule element DQC.US.0121.9581 from the 2026 taxonomy.
- DQC_0124: Added 15-month reporting-period filter and listed applicable document types (including amended forms).
- DQC_0135: Added RestructuringCostAndReserveAxis and srt:ProductOrServiceAxis to excluded axes and added reporting-period exclusion to avoid evaluating historical facts.
- DQC_0187: Use decimal-precision tolerance (tolerance_for_decimals_greater_than = 2) for component comparisons to avoid strict arithmetic mismatches.
- DQC_0190: Removed the twelfth member-format check from 2024–2026 rule files and updated LegalEntityAxis member retrieval to a taxonomy navigate approach (skipping EntityDomain).
- DQC_0195: Suppress the retained-earnings check (rule 10627) when a retained earnings increase is driven by a gain on treasury stock for specified items.
- DQC_0197: Ensure preferred-stock items are included before subtracting allowed preferred-stock summation items so the `$income_statement_items` set is computed correctly.
- DQC_0198: Numerous enhancements — EGC handling (treated as non-EGC after Dec 15, 2026), require an income-tax disclosure network, skip rule for REIT filers, improved base-income lookup and alternative calculations (NCI and equity-method adjustments), use numeric-interval arithmetic with 0.01 tolerance, and removed IncomeTaxAuthorityAxis element (DQC.US.0198.10661).
- DQC_0205: Marked rule as retired (December 2025); documentation retained for historical reference and rule files deleted.
- DQC_0214: Added reference to FASB AOCI implementation guidance for relevant message text.
- DQC_0221: Allow alternate concept NumberOfReportableSegmentsDisclosedByDefinitionFlag as acceptable in lieu of NumberOfReportableSegments.
- DQC_0222: Clarified bounds for EntityPublicFloat, added additional $2.5B upper-bound check for standard filers, and introduced a small-filer revenue exception (suppresses scaling flag when revenue < $100M and public float between $250M–$700M); revenue computed from multiple revenue concepts.
- DQC_0226: Updated US-GAAP detection to a fact-driven approach (collect facts, derive top-10 concept names) rather than taxonomy concept-name intersection.
- DQC_0227: Apply a per-share tolerance of 0.01 to comparisons for dtr-types:perShareItemType to avoid false positives from rounding.
- DQC_0230: Enumerated specific "other" concepts to monitor as part of the missing-calculation checks and ensure they don't appear in inappropriate aggregate networks.

These edits primarily document rule logic updates, exclusions, tolerances, taxonomy-year removals, and retired rule status to reduce false positives and better reflect current validation behavior. @davidtauriello

* Removed as moved to v30

* Fix DQC_0198 message spacing and duplication

Add missing space after 'concept' in the RegularMessage string and prevent duplicated messages by changing the message block else branch from $RegularMessage to an empty string. Changes applied to DQC_0198.xule for US 2022–2026 to correct formatting and avoid repeating the same message when NCI_Flag is false. @davidtauriello

* Update unit tests for rule changes

* Update unit tests for rule changes

* Update .travis.yml

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC5

* Update .travis.yml

* Update DQC_0190.md

* Update DQC_0190.md

* Update rule submission forms from DQC v28.0.9

* Update .travis.yml

* Refactor treasury-stock check in DQC_0195 rules

Replace the previous $TreasuryStock existence check with a conditional $TreasuryStockFlag and introduce $ExceptionConceptsIfTreasuryImpact (StockIssuedDuringPeriodValueEmployeeBenefitPlan, StockIssuedDuringPeriodValueShareBasedCompensation). The flag only evaluates treasury-stock facts for the exception concepts and includes an exists($fact1) guard to avoid spurious matches which cause binding issues resulting in flagging None error messages for  default iterations. Applied consistently to DQC_0195.xule for 2022–2026 and minor whitespace/formatting cleanup.

* Remove/replace DQC_0198 rules (use 0234)

Remove large DQC_0198 rule blocks across 2024, 2025, and 2026 XULE files: ASSERT US.0198.10660 was removed and replaced by rule 0234, the IncomeTaxAuthority/TaxJurisdiction enforcement logic was deleted, and comments noting removal of 10661 (conflicted with FASB guidance) were added. In 2026 the rule was marked removed/replaced in V30 and the remaining rule block was commented out. This change cleans up obsolete/duplicated logic and points consumers to the new 0234 implementation.

* Comment out 2778 research tax credit entry

Commented out the EffectiveIncomeTaxRateReconciliationTaxCreditsResearch (code 2778) entry in the EFFECTIVE_TAX_RATES list across DQC_0013.xule for 2022–2026. The entry was removed (now commented) because the research tax credit can be reversed when estimated incorrectly. Files updated: dqc_us_rules/source/us/2022, 2023, 2024, 2025, 2026/DQC_0013.xule.

* Remove check 10605 and update docs

Remove the sixth check (10605) from DQC_US_0190 documentation and delete its entry from the rule elements table. Update the note to reflect that check 10605 was removed for the 2024–2026 taxonomies and clarify that LegalEntityAxis member validation now uses a taxonomy `navigate` approach (iterating member local-names and skipping `EntityDomain`). Minor formatting cleanup applied.

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0RC6

* Update .travis.yml

* Update rule submission forms for approval 3/18/26

* Only consider positive dimension facts

Add a 'where $fact > 0' filter to the $dimension_fact comprehension in DQC_0128.xule across US 2022–2026 rule files so only positive monetary facts are collected for comparison against default dimension values. This prevents zero/negative facts from affecting the decimal-comparison logic while keeping existing decimal checks intact.

* Use set for $GAAPTop10 in DQC_0226 rules

Change $GAAPTop10 from list(...) to set(...) in DQC_0226.xule for 2024, 2025, and 2026. This makes the collection of top GAAP concept names unique (removing duplicates) and avoids reliance on list ordering when aggregating the top items. @davidtauriello

* Handle missing DEI namespace in DQC_0207

Add a conditional for $BDC_Industry_And_More so it omits the @Dei:LegalEntityAxis when the DEI taxonomy is not loaded ($DEI_NAMESPACE == none). This prevents errors when DEI is unavailable and was applied to DQC_0207.xule for 2023, 2024, 2025, and 2026.

* Exclude AwardTypeAxis from DQC_0166 checks

Update DQC_0166.xule for 2022–2026 to ignore facts using the US‑GAAP AwardTypeAxis dimension. Each file adds a $US-GAAPDimension check (local-name intersect set("AwardTypeAxis")) and includes it in the condition that prevents flagging dimensional facts not included in a hypercube. Minor semicolon/formatting fixes applied where needed.

* Update effective dates CSVs

Update effective_dates.csv and ifrs_effective_dates.csv with revised effective dates and new entries. Notable changes: adjust codes 10652 (->2025-09-01), 10653/10654 (->2026-06-30), move 10727-10733 and 10746 (->2026-06-01), add multiple new entries in the 10920-10932 and 11000-11036 ranges (mostly 2026-06-01 or 2026-07-31). In ifrs_effective_dates.csv remove a duplicate line for 8182 and add entries 10751 (2026-06-01) and 10925 (2026-07-31). Also ensure file newline fixes at EOF. @davidtauriello

* Update status $status and rule removals - dqc_0209, dqc_0218

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.0
- update resources.zip
- remove dqc_0203 from 2026

---------

Co-authored-by: campbellpryde <campbell.pryde@xbrl.us>
- Add US GAAP 2026 ruleset URL
Standardize documentation across many rule pages: convert relative links and image references to absolute GitHub raw URLs, normalize status/release/effective metadata and spacing/typo fixes (e.g. Status fields, Unit formatting), update copyright years and README in ESEF. Also update rule source files: bump/version changes in dqc_us_rules (lib/version.xule) and updates to multiple DQC_US and DQC_IFRS .xule rule implementations across 2023–2026/2025 directories. These changes improve link reliability, consistency of documentation, and include corresponding rule source updates.
Update DQC_0195.xule across 2022–2026: move the $defaultTotal initialization to after the treasury-stock exception logic, add an explanatory comment about share-based compensation and treasury stock interaction, and tighten the missing($defaultTotal) condition to also require exists($fact1). Minor whitespace and duplicate-comment cleanup included. These changes ensure the treasury-stock exception is evaluated before total calculation and avoid triggering missing-total handling when no relevant retained earnings fact exists. @davidtauriello
Replace DQC US ruleset ZIP archives for 2022–2025 with updated V29 binaries. This updates the dqc_us_rules package files (dqc-us-2022/2023/2024/2025-V29-ruleset.zip) to the new V29 rule sets used by the validation tooling.
Update DQC_0195.xule across 2022–2026: move the $defaultTotal initialization to after the treasury-stock exception logic, add an explanatory comment about share-based compensation and treasury stock interaction, and tighten the missing($defaultTotal) condition to also require exists($fact1). Minor whitespace and duplicate-comment cleanup included. These changes ensure the treasury-stock exception is evaluated before total calculation and avoid triggering missing-total handling when no relevant retained earnings fact exists. @davidtauriello
Refine DQC_US rule DQC_0195 across multiple year modules: add/relocate the $defaultTotal assignment, add a clarifying comment about the treasury-stock exception, and change the missing-total check to require an existing retained-earnings fact before returning true. Minor whitespace/formatting cleanup applied. Also bump copyright years to 2026 in several rule and test files (DQC_0196, DQC_0197, DQC_0198 and IFRS test constants/resources). Files changed include multiple DQC_0195.xule files for 2023–2026, DQC_0196.xule, DQC_0197.xule, DQC_0198.xule and tests/input/source/ifrs/2025/*.xule.
- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.1
* DQC_0195: refine treasury stock and total checks to fix NONE issue

Update DQC_0195.xule across 2022–2026: move the $defaultTotal initialization to after the treasury-stock exception logic, add an explanatory comment about share-based compensation and treasury stock interaction, and tighten the missing($defaultTotal) condition to also require exists($fact1). Minor whitespace and duplicate-comment cleanup included. These changes ensure the treasury-stock exception is evaluated before total calculation and avoid triggering missing-total handling when no relevant retained earnings fact exists. @davidtauriello

* Update DQC US V29 ruleset ZIPs

Replace DQC US ruleset ZIP archives for 2022–2025 with updated V29 binaries. This updates the dqc_us_rules package files (dqc-us-2022/2023/2024/2025-V29-ruleset.zip) to the new V29 rule sets used by the validation tooling.

* Update .travis.yml

* Recompile ruleset .zip files

- Python 3.13.7 || Arelle 2.37.58 || XULE 30050 for v29.0.1

* Update .travis.yml

---------

Co-authored-by: campbellpryde
davidtauriello and others added 29 commits August 5, 2026 12:24
- Update DQC compile workflow
Add .github/workflows/compiledqc.yml: a workflow to discover source directories under dqc_us_rules/source and compile XULE rulesets into zip artifacts. Runs on workflow_dispatch with inputs (branch, taxonomy, year, arelle_version, xule_version, version_suffix). Uses a build-matrix step to enumerate compilable sources, then per-matrix jobs on ubuntu-latest with Python 3.13 install Arelle-release and the XULE plugin, compiles via arelle.CntlrCmdLine, verifies the generated zip, commits the zip back to the repo, and uploads it as an artifact. Installs required system deps and sets a 30-minute timeout per job.
- Update DQC compile workflow
Python 3.13.14 || Arelle 2.37.58 || XULE 30052.1 for V30
Add a composite action (.github/actions/compile-ruleset) to compile, verify, commit, and upload XULE ruleset .zip files. Parameterize Arelle/Xule versions and allow using a prebuilt validation container via new workflow inputs. buildcontainer.yml now accepts arelle_version/xule_version (and tags the image accordingly) and exposes XULE_REPO. compiledqc.yml gains use_prebuilt_env to choose between a prebuilt container (compile-prebuilt) and building a fresh env (compile-fresh), and both paths use the new action. Dockerfile updated to install Arelle-release==$ARELLE_VERSION or latest when requested.
Add a composite action (.github/actions/compile-ruleset) to compile, verify, commit, and upload XULE ruleset .zip files. Parameterize Arelle/Xule versions and allow using a prebuilt validation container via new workflow inputs. buildcontainer.yml now accepts arelle_version/xule_version (and tags the image accordingly) and exposes XULE_REPO. compiledqc.yml gains use_prebuilt_env to choose between a prebuilt container (compile-prebuilt) and building a fresh env (compile-fresh), and both paths use the new action. Dockerfile updated to install Arelle-release==$ARELLE_VERSION or latest when requested.
 - Add .github/workflows/compileandvalidatedqc.yml — a full workflow to build/add Arelle+Xule, discover/compile DQC rulesets (matrix), optionally use a prebuilt container, commit compiled .zip files, and run validation test matrices (all/changed/none) with artifact uploads and failure reporting.
 - Update compiledqc.yml to accept a ruleset_version input and use it in the commit message.
- Add .github/workflows/compileandvalidatedqc.yml — a full workflow to build/add Arelle+Xule, discover/compile DQC rulesets (matrix), optionally use a prebuilt container, commit compiled .zip files, and run validation test matrices (all/changed/none) with artifact uploads and failure reporting.
 - Update compiledqc.yml to accept a ruleset_version input and use it in the commit message.
Refactor CI validation: rename the existing validate job to validate-prebuilt and add a new validate-fresh job that runs validations in a fresh environment (restores venv, installs local compiled zips, patches rulesetMap, runs Arelle, compares results, and uploads reports). Also broaden build-env trigger to run when test_mode != 'none', and update the commit job dependencies to require both validate-prebuilt and validate-fresh results.
- Update input form sequence for workflow and actions/run display

- Update actions/run with workflow detail

Update workflows and synctest script

- Update input form sequence for workflow and actions/run display

- Update actions/run with workflow detail
Python 3.13 || Arelle 2.37.58 || XULE 30052.1 for v30.0.1
- Update input form sequence for workflow and actions/run display

- Update actions/run with workflow detail
- Add taxonomy and year filter to validation job
- Add taxonomy and year filter to validation job
- Arelle 2.44.0 || EDGAR 26.1.3 || XULE 30052.1
Python 3.13 || Arelle 2.44.0 || XULE 30052.1 || EDGAR 26.1.3
Lisa C. provided an example where prepaid and prepaid other could be the same.
- move rulesetMap.json version update to workflow
Python 3.13 || Arelle 2.44.0 || XULE 30052.1 || EDGAR 26.1.3
Python 3.13 || Arelle 2.44.0 || XULE 30052.1 || EDGAR 26.1.3
@davidtauriello
davidtauriello merged commit 674c178 into master Aug 10, 2026
52 of 53 checks passed
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.

2 participants