Skip to content

Share the leaf filter in work and the parent walk in impact, and inline two skeleton checks - #187

Draft
Deicyde wants to merge 3 commits into
mainfrom
golf/work-impact-skeleton
Draft

Deicyde wants to merge 3 commits into
mainfrom
golf/work-impact-skeleton

Conversation

@Deicyde

@Deicyde Deicyde commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #92 and #136. No behaviour change: 3 files, +18/-42, one commit per item.

  • Unfinished leaves (work.py, list_ready_work). The checks for missing article IDs and missing article revisions each repeated the same dispatchable, non-Mathlib, unproved filter over the runtime nodes. Both now read one list, and raise the same errors in the same order.
  • _ancestors (impact.py). _owners and _descends_from each walked a constant's parent chain with the same cycle guard. The walk is now one generator. _owners still returns at the first parent an article names, and name in _ancestors(...) stops at the first match, as _descends_from did.
  • _report_entry (skeleton.py). _report_kind and _report_withheld each had one caller. Their checks now sit where each field is read, with the same messages.

Noticed, not changed:

  • No test reaches the "invalid declaration kind" error in _report_entry. The withheld-flag error is covered.

Overlaps with open PRs:

Validation at exact head ac4a5148: ruff check autoform_cli servers tests is clean. tests/test_work.py (30), tests/test_impact.py (73), tests/test_contract.py (2) and tests/test_cli.py (5) pass. Without Lean on PATH, tests/test_skeleton.py gives 144 passed and 28 skipped. CI's real-Lean job runs the other 28. With Lean installed, all 172 passed locally with this skeleton.py change applied to main.

The checks for missing article IDs and missing article revisions each
repeated the same dispatchable, non-Mathlib, unproved filter over the
runtime nodes. Both now read one list of unfinished leaves, and raise
the same errors in the same order.
_owners and _descends_from each walked a constant's parent chain with
the same cycle guard. The walk is now one generator, _ancestors, and
both of its uses still stop at the first matching parent.
_report_kind and _report_withheld each had one caller, _report_entry.
Their checks now sit where each field is read, with the same messages.
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant