Repository navigation
Archkeel 0.8.4 — Exact module ownership
What changed
exact_modulesassigns one module without claiming its children. A registry can now own its package entry point without owning every task. Recursivepackagesis unchanged. See AD-128.- Every exact module can be opened in Target. Missing responsibilities agree across the diagram, Details and summary. Declared file targets keep their paths and sentences.
- A Python package entry point with imports or a docstring still needs an owner. Only files with no Python statements are exempt (#232).
- Dotted filenames no longer make a full Python scan look incomplete. Partial scans remain UNKNOWN (#233).
Evidence and limits
LOCAL VERIFIED: independent QA and review; 2,332 tests passed (128 skipped), 138 native browser tests passed without skips, build and wheel/source-package smokes passed. No baseline or dependency was widened. Self-validation retains 40 UNKNOWN positions; zero violations is not complete proof.
On the frozen CE experiment, all 50 task-module identities remain. Only the initializer changes owner. Two rule assessments move UNKNOWN → PASS; 106 violations and 28 other UNKNOWN assessments remain. This is ownership proof, not CE runtime or refactoring completion.
The simpler README, current screenshots and explorer wording shipped in 0.8.3 and remain in this release.
Download the synthetic examples below and open positive.report.html, sibling.report.html or ambiguous.report.html. They show correct ownership, a forbidden sibling import, and competing owners—not DATAMIMIC data.
CI-ONLY VERIFICATION: PR checks, merged-main checks and PyPI publication passed. Tag target: 66aea560.
PACKAGE VERIFIED: fresh isolated archkeel==0.8.4 install and CLI smoke passed. Wheel and source-package hashes match PyPI; installed renderer files match the reviewed source. Independent native Linux acceptance passed 59 exact-ownership/Target tests without skips and all three catalog cases. Fresh positive, forbidden-sibling and ambiguous reports retain their expected results. The source package includes the shorter README (2,773 words).