Summary
The upstream CNCF .project/ specification (utilities/dot-project/types.go) has changed since we last synced. tests/darnit/context/test_dot_project_upstream.py::TestUpstreamSpecSync::test_upstream_spec_unchanged is failing on CI because of it.
Tracked hash (in .github/dot-project-spec-hash.txt):
d8ca8361c0aff434e9d7288851717f88f149785419ca062a520cdd506ae6b27e
Current upstream hash (as of 2026-08-13):
860df23ecfd970b3d603098b6597a787e7ee6954b8592cdd17e431198eff70b4
Source of truth:
https://github.com/cncf/automation/tree/main/utilities/dot-project
What needs to happen
- Diff upstream
types.go against what we saw at hash d8ca8361....
- Update
packages/darnit/src/darnit/context/dot_project.py to handle any new / renamed / removed fields.
- If the spec version identifier moved, bump
DOT_PROJECT_SPEC_VERSION in dot_project.py.
- Regenerate the tracked hash:
uv run pytest tests/darnit/context/test_dot_project_upstream.py -v --update-hash.
- Also glance at open CNCF PRs (https://github.com/cncf/automation/pulls) so we know whether more churn is queued.
Blast radius
Suggested handling
Small standalone PR: reconcile any spec differences, bump DOT_PROJECT_SPEC_VERSION, refresh the tracked hash file. Should be low-risk if upstream only added fields (we can ignore them safely) and higher-scope if a field we depend on was renamed.
Summary
The upstream CNCF
.project/specification (utilities/dot-project/types.go) has changed since we last synced.tests/darnit/context/test_dot_project_upstream.py::TestUpstreamSpecSync::test_upstream_spec_unchangedis failing on CI because of it.Tracked hash (in
.github/dot-project-spec-hash.txt):d8ca8361c0aff434e9d7288851717f88f149785419ca062a520cdd506ae6b27eCurrent upstream hash (as of 2026-08-13):
860df23ecfd970b3d603098b6597a787e7ee6954b8592cdd17e431198eff70b4Source of truth:
https://github.com/cncf/automation/tree/main/utilities/dot-project
What needs to happen
types.goagainst what we saw at hashd8ca8361....packages/darnit/src/darnit/context/dot_project.pyto handle any new / renamed / removed fields.DOT_PROJECT_SPEC_VERSIONindot_project.py.uv run pytest tests/darnit/context/test_dot_project_upstream.py -v --update-hash.Blast radius
Testjob on any PR whose CI runs after the drift (PRs test(parity): two-tier audit parity test suite (Fixes #366) [stacked on #365] #370 and test(parity): add OpenAI Tier 2 backend + SkillInvocationBackend Protocol (Fixes #368) [stacked on #370] #371 currently show this failure).-m integrationfilter behaves differently at the widetests/collection than at directory-scoped runs -- worth confirming separately whether that's a plugin quirk or a pyproject config side effect.Suggested handling
Small standalone PR: reconcile any spec differences, bump
DOT_PROJECT_SPEC_VERSION, refresh the tracked hash file. Should be low-risk if upstream only added fields (we can ignore them safely) and higher-scope if a field we depend on was renamed.