Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Remove transitional cache access after country migrations

未关闭
#602 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 2 天内回复

还没有人认领这个 Issue。

  • #603 来自 @anth-volk —— 已关闭,未合并

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
重构
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
backend

调研方向

Start with draft PR #603 and the preparatory Core work in #599, tracked by #598, to identify the cache adapters, recovery paths, and compatibility mechanisms in scope; the issue names no files or tests. Read the country migrations in PolicyEngine/policyengine-us#9980 and PolicyEngine/policyengine-uk#2176, then validate against their released packages after all stated prerequisites are met. Done means the compatibility mechanisms are removed, replacements and the break are documented, and the required unit and migrated-path tests pass.

由索引模型根据 Issue 内容生成。

描述

Purpose

Remove transitional Core cache access after the public ownership APIs and their
guarantees have shipped and both country packages have migrated.

Implementation: draft #603. Keep it dependent on the releases below; creating
the draft does not satisfy the merge prerequisites.

This is the last stage of a three-stage, four-PR sequence:

  1. Preparatory Core: #599, tracked by #598.
  2. Country migrations: PolicyEngine/policyengine-us#9980 and
    PolicyEngine/policyengine-uk#2176.
  3. This Core cleanup, in a separate dependent draft PR.

Prerequisites before merge

  • Publish the preparatory Core release.
  • Update both country minimum Core dependencies and lockfiles to that release.
  • Validate, merge, and publish both country migrations.
  • Validate this cleanup against those released country packages.

Source-checkout tests can support development before release, but do not satisfy
released-package validation. Do not invent future package version numbers.

Scope

  • Remove dictionary/set assignment adapters and recovery from legacy cache fields.
  • Expose read-only cache observations, with mutations through typed operations.
  • Reject removed writes instead of silently creating unused shadow attributes.
  • Remove Core's remaining dependence on those compatibility mechanisms.
  • Document supported replacements and the intentional compatibility break.
  • Add at least 40 meaningful unit cases per production commit and test migrated
    country paths without the removed mechanisms.

Preserve immutable entry sharing, authoritative supplied inputs, independent
branch snapshots, explicit policy sharing, revision-based invalidation, public
constructors, and public eager/lazy parameter configuration.

Phase 7 model-definition separation and persistent cache redesign are excluded.

主要语言
Python
星标
22
派生
30
平均合并
2 天 21 小时
30 天内合并 PR
24

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

PolicyEngine/policyengine-core 的其他 Issue

查看 PolicyEngine/policyengine-core 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。