Skip to content

fix(sectors): record verified DPP application dates for construction, toy and detergent - #163

Open
LKSNDRTMLKV wants to merge 1 commit into
mainfrom
fix/construction-dpp-date
Open

fix(sectors): record verified DPP application dates for construction, toy and detergent#163
LKSNDRTMLKV wants to merge 1 commit into
mainfrom
fix/construction-dpp-date

Conversation

@LKSNDRTMLKV

Copy link
Copy Markdown
Member

construction.json's note said DPP requirements are "phased ~2028-2032". That figure is unsourced, and the OJ text checked on 2026-07-28 gives 8 January 2027 — one to five years earlier than the note claimed.

The note was not merely wrong here. It was copied onward into published documentation, where a reader was told a construction obligation lands years later than it does. This manifest is the home for act numbers, regulatory status and applicability dates, so correcting only the copy would have left the source intact to be copied again.

Changes

Adds dppAppliesFrom to three manifests that were carrying the date in prose or not at all:

Sector Act Applies from
construction (EU) 2024/3110 2027-01-08
toy (EU) 2025/2509 2030-08-01
detergent (EU) 2026/405 2029-09-23

All three verified against the Official Journal texts in the same pass, which also confirmed the act numbers and provisional status of each — those needed no correction.

No behavioural change

dpp_applies_from is Option<String> and is documented as independent of RegulatoryStatus; determinations gate on status, which stays provisional for all three. This moves a fact from prose into the structured field that is its home.

cargo test -p dpp-domain --lib: 376 passed, 0 failed.

…ion, toy and detergent, replacing an unsourced phasing range in the construction note
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@LKSNDRTMLKV

Copy link
Copy Markdown
Member Author

Checked all three dates against the OJ texts before touching this. One of them is wrong, and this PR's structural target no longer exists.

crates/dpp-domain/sectors/ was removed by #181/#184 — manifests moved to product-groups/, and dppAppliesFrom, regime, status, legalBasis and retentionYears left the descriptor entirely. Each is a property of an (act, product group) pair now and lives on InstrumentBinding. There is no field here to set.

The facts, re-verified:

construction 2027-01-08 — incorrect. Reg (EU) 2024/3110 Art. 96 reads: applies from 8 January 2026, certain articles from 7 January 2025, "and of Article 92, which shall apply from 8 January 2027". Article 92 is Penalties. It is not a passport date.

The CPR's actual DPP timing is relative and currently unfixable:

  • Art. 75(1) — the Commission shall adopt delegated acts setting up the construction DPP system. No such act exists.
  • Art. 80(1) — the system is operational 6 months after that act enters into force.
  • Art. 22(7) — the manufacturer must make the passport available 18 months after that act enters into force.

So no calendar date can be derived until the Art. 75(1) act lands. cpr-2024-3110.json carries {"obligation": "required"} with no date, which is right.

toy 2030-08-01 — correct, already landed. toy-safety-2025-2509.json carries it with basis: sourced.

detergent 2029-09-23 — correct, and better-sourced than either record says. Reg (EU) 2026/405's final article: "This Regulation, with the exception of Article 4(3) and (4), shall apply from 23 September 2029." The instrument manifest currently marks this assumed and notes it "has not been read out of the primary text (CELEX 32026R0405)". It has now. That is a manifest upgrade to sourced, not a change this PR can make.

Two corrections that follow from the same reading and will be raised separately: CPR's 18-month offset is primary-sourced (Art. 22(7), Art. 80(1)), not secondary as the manifest note implies; and Art. 75(2)(i) fixes system accessibility at 25 years alongside the operator's 10, a figure we do not model.

Recommend closing. Nothing here is mergeable, one row is wrong, and the two correct rows are already carried or will be upgraded in the instrument manifests where they now belong.

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