cairntir

1.12.4 maintenance release candidate

Status: NOT PUBLISHED — qualification pending. Prepared 2026-10-02.

This patch combines the existing stable baseline with PR122’s dependency repairs and reviewed diagnostics fixes. It adds no new runtime API, schema, model, background service, remote access or automatic chat ingestion.

Changes

Evidence and release checks

PR122 at 9c086f3c7793f11de23814b4c1c222b2269d3f39 passed its existing CI and CodeQL. That result does not qualify this combined, version-changed candidate. Independent diagnostic/status regressions and their original failures remain frozen under plans/acceptance/, collected by normal pytest wrappers. Earlier 1.12.3-named isolated package rehearsals are historical evidence, not proof of the final 1.12.4 artifact.

The first release CI attempt at 64a709f3287c8eb10e5442f105bf070ed1d4a7f3 passed lint, format, strict types, documentation, commitment/seam/preservation and release-tag checks. Its advisory gate then reported ten findings in the old sentence-transformers and virtualenv records; downstream jobs were skipped. Those findings are repaired with the minimum advisory-fixed target versions and their required resolver update. The unchanged advisory gate now reports zero findings across 134 locked registry packages. Full hosted CI must rerun on the repaired head; skipped checks are not passes. CodeQL passed the first head.

The second CI head 6e9590ac12dcce4216bf0c2499f4c2f9e08049fd passed the full lint/types/docs/advisory gate, CodeQL and all three historical/mutation jobs. Its completed platform suites exposed one historical backup-probe mismatch: the old test invoked status as a writable-store startup. The governing backup contract excludes read-only startup. An independently frozen, exact-case adapter now uses actual owner get 1 startup while retaining every original backup assertion and the original frozen source. Additional real CLI controls check due-backup status purity and full snapshot fidelity/cadence. Their initial overstrict source-equality assertion is preserved as failed evidence: owner get legitimately records access metadata. No backup runtime or preservation gate is changed. See the contract amendment.

Release lint/format previously used . and incorrectly included hash-frozen historical Python evidence. They now use the same src tests scripts addons scope as normal CI and contributor instructions. Runtime/test lint rules, coverage, frozen-byte checks and behavioral execution are unchanged. Fresh hosted qualification remains required after these amendments.

Patrick authorizes publication after genuine maintenance readiness. Failed required checks must be fixed. No tag, publication or production upgrade is performed merely by preparing this record.

Scope and limits

Acceptance follows existing repository release checks and focused regressions for this maintenance patch. The earlier expanded cross-host pilot and proposed resource-budget program are future work, not additional release prerequisites. The parked 35-commitment v2 plan is neither included nor declared complete.

No new live cross-client, performance, native-host adoption or token/cost saving claim is made. Configuration remains distinct from observed connectivity. Saves remain explicit and acknowledged; this patch does not ingest unsaved chats. Private stores and production bindings are unchanged. The proposed synthetic Claude connection was cancelled before creating any fixture, grant or entry.

No migration or reindex is introduced by this patch. Heavy local qualification is deferred for the host’s thermal precaution; hosted CI uses clean environments, synthetic fixtures and provisioned open model weights, without private stores or separately billed model APIs. The normal publishing checklist still applies to release and any later installation; unavailable operational checks remain disclosed, not represented as passing native tests.