Repository navigation
Huda 1.2.0 hardens the source candidate. The release comes out of two multi-area reviews and adds security, correctness and robustness fixes. It is not a security-qualified release; packages remain unsigned or ad-hoc test candidates for Gatekeeper and SmartScreen.
Security
- Capture origin is bound to its source. A source created by a provider accepts only that provider's captures. A local import can no longer publish forged provider facts, or withdraw real ones, under a provider-created policy.
- Rejections are durable. A refresh of a rejected statement goes back to review instead of reopening it.
- Scoped model context. Semantic extraction shows the model only the entities of the scope its output is published to.
- Bridge. Scope is checked before any path is examined, kernel pseudo-files are refused, and typed Bridge output cannot cite evidence.
- Profile controls. Going online requires
admin. Provider consent can be replaced only by a caller that can write its scope.initandadd_principalissue fresh credentials instead of adopting entries a deleted profile left behind.
Changed behaviour
- A goal context over 512 KiB (counting relation markers) is trimmed instead of refused. It is marked
truncatedand does not claim the goal is met. - Budget exhaustion, provider backoff or a provider timeout ends an expansion as
partial, with its report, instead of failing it. A provider backoff now persists across Core restarts.
Fixes
- Query Core:
- Seeds that resolve to one entity no longer cover a typed connection.
- The negated twin of a mid-path step is checked for conflicts.
- Idempotency:
- Committed assertions replay after a policy-epoch change.
- Source retries are keyed by their inputs, not by model output.
- A repeated expansion of a cached capture replays the earlier publication.
- Expansion and providers:
- Expansion reserves each term's worst case before starting it.
- Provider and model responses are bounded by a total deadline.
- The limiter wait stays cancellable.
- Code adapter: over-long names are bounded per symbol instead of failing the whole file.
- Core and desktop:
huda corereports readiness only after it binds.- The desktop shows startup failures in a window.
Four findings of the earlier 1.1.0 review need a maintainer decision, and so do four new ones. All eight are listed in docs/open-decisions.md. See CHANGELOG.md for the full list.
Verify a download
Check the file against SHA256SUMS, then verify its Sigstore bundle with cosign 3.x:
cosign verify-blob --bundle "$FILE.sigstore.json" --certificate-identity "https://github.com/devsolux/huda/.github/workflows/desktop.yml@refs/tags/v1.2.0" --certificate-oidc-issuer https://token.actions.githubusercontent.com "$FILE"A valid bundle shows which workflow run built the file. It is not a Developer ID, notarization or Authenticode signature.
Qualification
The following were executed on native macOS / Apple Silicon:
- formatting and strict Clippy;
- default, headless and all-feature tests;
- SQLite and desktop-asset checks;
cargo audit;- a locked release build.
The release workflow builds, tests, packages and signs all four targets. Still open:
- native installation, login, tray, secret-store and upgrade testing;
- the G0–G8 gates (see
docs/verification/gates.md).