Conversation
…ernance links (#174) * docs(gui): make governance ticket pointers lifecycle stable * fix(control): expose guarded readonly authentication handshake * test(calendar): freeze fixture clock and cover month boundaries --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
…#175) * fix(data): migrate instance_identity safely and drop legacy tables fail-closed (T-20260926-357988320) - Convert migrate_unify_distribution.sql to Python migration (migrate_unify_distribution.py) - Rebuild instance_identity preserving rows and verifying row count before switching - Fail-closed validation for legacy tables (abort before any mutation if non-empty) - Idempotent execution (safe second run) - Comprehensive regression tests in test_migrate_unify_distribution.py * fix(data): keep distribution migration atomic on schema drift * fix(data): validate SQLite names and full identity schema T-20260926-357988320: resolve main table/view/index names with SQLite ASCII NOCASE; keep triggers in their own namespace. Validate every table_xinfo column and reject hidden/generated/unknown identity columns before mutation. Preserve the atomic SAVEPOINT and qualify main objects against temp shadowing. Add the migration suite to the explicit CI file list. Hermetic validation: 25 case-variant/generated/hidden counterexamples fail on the prior implementation. Fixed migration suite: 87 passed. Six migration suites together: 117 passed in 36.27s. Ruff and git diff --check clean. No live DB, remote or ticket writes. Independent model review pending. --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
…176) * fix(trithon): serialize local fencing state and reject authority reset T-20260920-823767362 S7: serialize host-local registration, claims and epochs; reject corrupt state and revoke fences on epoch changes. Add Windows/POSIX multiprocess race and crash regressions. Federation rollout remains unaccepted. * fix(trithon): validate claim registry and reuse one authenticated snapshot T-20260920-823767362 S7 independent review P2: reject malformed node identities and salt under the existing claim lock, preserving term state. Local source delta only; federation and integration remain open. * ci: include all five focused S7 regression suites * test(trithon): isolate spawn targets from pytest shadow imports --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
* refactor(gui): extract backend-free Activity shell and BACH consumer * ci(gui): cover neutral shell and Activity consumer * test(gui): parse complete HTML scripts in browser contract harness --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
* fix: clarify S4 sleep policy and render manual hints in chat Bind trigger subprocesses to the handler database and propagate failures with full step receipts. Keep Gardener ownership explicit without changing hook or scheduler activation. Render verified manual documentation references before API selection, preserving CLI rules and usage gates. Add hermetic regression coverage; CI inclusion of test_context_manual_hints.py remains a coordinated follow-up. * test(s4): reproduce mixed unknown hint leaks before filtering * fix(s4): validate every CLI marker before neutral hint selection * test(s4): reproduce full Python path suffix leaks * fix(s4): validate complete Python path arguments * ci(s4): include manual context hint regressions * test(core): isolate App bootstrap from partly seeded shared fixture DB --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
…179) * fix(seal): match startup presence gate with hermetic fixtures * ci(seal): include hermetic release sampling regression suite --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
…180) * feat(dbsync): add explicit pinned shared adapter seam * test(dbsync): preserve seven independent adapter contract checks * ci(dbsync): require pinned public sources and all 55 contract cases --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
#181) * test(T797): reproduce unsafe imported lease boundaries * fix(T797): fence imported SQLite lease acquisition and lifecycle * test(T797): reproduce journal data loss and missing safety gates * style(T797): normalize imported lease annotations and regression imports * fix(T797): reuse Nemo reversible journal behind explicit host lease * test(T797): retain independent malformed lease and trigger repros * fix(T797): validate lease instants and UUID fences and rollback SQL failures * docs(T797): propose isolated Nemo consumer mutation guard contract * test(T797): reproduce Python 3.12 true autocommit transaction leakage * fix(T797): close explicit transactions in Python 3.12 autocommit mode * test(T797): reproduce journal guard loss at final resource mutations * fix(T797): bind unchanged Nemo engine to private guarded mutation boundaries * test(leases): preserve real deferred commit and partial DDL rollback checks * test(journal): preserve nontrue guard and real descriptor closure checks * docs(capabilities): record verified source hashes and retained license texts * ci(capabilities): require real SQLite modes and all 175 safety cases --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
* test(seal): reproduce identity replacement false success * fix(seal): verify the logical identity update before reporting success * test(seal): preserve eleven independent identity countercases * ci(seal): require full identity contract on Python 3.12 and 3.13 --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
…es (#183) * test(T797): reproduce unsafe imported lease boundaries * fix(T797): fence imported SQLite lease acquisition and lifecycle * test(T797): reproduce journal data loss and missing safety gates * style(T797): normalize imported lease annotations and regression imports * fix(T797): reuse Nemo reversible journal behind explicit host lease * test(T797): retain independent malformed lease and trigger repros * fix(T797): validate lease instants and UUID fences and rollback SQL failures * docs(T797): propose isolated Nemo consumer mutation guard contract * test(T797): reproduce Python 3.12 true autocommit transaction leakage * fix(T797): close explicit transactions in Python 3.12 autocommit mode * test(T797): reproduce journal guard loss at final resource mutations * fix(T797): bind unchanged Nemo engine to private guarded mutation boundaries * test(leases): preserve real deferred commit and partial DDL rollback checks * test(journal): preserve nontrue guard and real descriptor closure checks * docs(capabilities): record verified source hashes and retained license texts * ci(capabilities): require real SQLite modes and all 175 safety cases * docs(capabilities): inventory all pinned source surfaces and concrete comparison candidates * docs(capabilities): include normal package initializers in static closures --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
* fix(dbsync): refuse stale first copies behind native readiness T903/Task1168: validate the explicit existing source-bound schema0 profile before native IO and provider preparation. Preserve native merge/backup engines, refuse unsupported migration epochs and remove implicit first-copy paths. Canonical synthetic fixtures retain LWW/race assertions; no shared cutover or credential/host acceptance. * test(T903): preserve native object and caller counterexamples * fix(T903): match the literal SQLite internal object prefix * ci(T903): require pinned native carrier and all 150 contract cases * test(T903): bind native selection probe to explicit fixture database --------- Co-authored-by: Lukas Geiger <lukas@um-bruch.org>
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.
Summary
Verification
python -m pytest system/tests/test_recurring_tasks.py system/tests/test_ati_handler.py -q(50 passed)python -m pytest system/tests/test_task_handler.py system/tests/test_task_due_date.py system/tests/test_task_atomic_claim.py system/tests/test_task_slot_fields.py system/tests/test_recurring_tasks.py system/tests/test_ati_handler.py -q(168 passed)python -m pytest system/tests/test_rheingold_handler.py system/tests/test_recurring_tasks.py system/tests/test_ati_handler.py -q -p no:cacheprovider(62 passed)python -m compileall -q system/hub/_services/recurring/recurring_tasks.py system/hub/ati.pypython system/bach.py recurring listTask: #1346