Repository navigation
Release DevArch 0.4.0 with auditable history and honest analysis - #74
Merged
Merged
Conversation
This was referenced Oct 2, 2026
simongonzalezdc
added a commit
that referenced
this pull request
Oct 9, 2026
…y paths (#76) Fixes #75; follows #74. **Unreleased readiness candidate. Do not merge/tag/publish automatically.** After snapshot A was analyzed, mining/building B still exported A's analysis and passed audit. Analysis files now carry input bindings plus checked content digests; reports/visualizations carry sidecars and stale or edited artifacts fail export/audit. The installed validator checks the actual generated path using packaged Python code. Legacy dashboard, static publishing, cascade (including dry-run), and opportunity inference are disabled before side effects. Direct opportunity inference is disabled, the query-based Markdown viewer is inert, and wildcard API CORS is removed. This deliberately withdraws unsafe/unsupported surfaces rather than inventing evidence. Runtime/distribution metadata prepare 0.4.1; Apache-2.0 labels now match the unchanged LICENSE. CI adds clean installed-wheel workflows outside the checkout on native Python3.12, retains the nine supported OS/Python test combinations, and removes failure suppression including Forgejo. Pinned Ruff E4/E7/E9/F/I lint and formatting are enforced. Most additional-file changes are mechanical formatting/import hygiene; Python3.12-only repository content scripts have explicit target versions. A real pre-existing SWOT count NameError is fixed with a regression. Validation: **121 tests passed in 34.10s**, Ruff lint/format clean, independent stale/tampered/disabled-side-effect probes pass. Wheel/sdist pass Twine; non-editable wheel passes eleven CLI commands outside checkout and verifies Apache/version identity. Exact-head [CI36969716216](https://github.com/KyaniteLabs/devarch-framework/actions/runs/36969716216) passed all nine OS/Python jobs plus lint, including the three native installed-wheel checks. No KINOCUT source/CI changes, no publisher credentials changed, no PyPI retry, no new release/tag/deployment. The 0.4.0 GitHub release exists, but PyPI failed `invalid-publisher` and these broader fixes are not in that release. KINOCUT synthesis remains paused for readiness review. Details and compatibility boundaries: `docs/READINESS_0.4.1.md`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #73.
The documented pipeline could reject valid Git layouts, omit canonical metrics and emit sample totals or unsupported analysis claims. This release adds local ref coverage and artifact bindings, NUL-safe extraction, UTC metrics reconciled with SQLite, a portable measured visualization, and explicit uncertainty for keyword-only findings. Audit rejects changed extraction inputs and full-record/metric/chart drift and corrupt or missing manifests.
Compatibility: CLI names remain; CSV dates normalize to UTC and unsupported session/similarity/waste measurements become null. The default visualization is now the measured activity view. Source/PR interpretation remains a separate evidence review; mining does not fetch remotes or recover deleted refs.
Validation: 111 tests passed on Python 3.12 (baseline 97). Wheel/sdist passed Twine. A separate clean-wheel environment completed ten CLI checks outside the checkout, including the entire synthetic bare-repository pipeline and both report formats. No KINOCUT analysis was run with this candidate. Native hosted checks and publication remain pending. The first native matrix exposed Git UTC-Z parsing on Python 3.10 and doubled CSV newlines on Windows; both now have regression coverage and fixes. Independent adversarial probes confirm dirty-worktree preservation, escaped hostile text, bounded failures, and rejection of corrupted evidence. The bundled skill now uses actual installed CLI commands and explicit evidence boundaries.