Skip to content

Integrate SQL bus, independent requests and installer runtime ownership - #2620

Merged
trissim merged 460 commits into
mainfrom
integration/installer-report-lifetime
Oct 23, 2026
Merged

trissim merged 460 commits into
mainfrom
integration/installer-report-lifetime

Conversation

@trissim

@trissim trissim commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

The old bus kept records, message identities and request state in competing paths. Retained DMs could follow a reused name, orders competed for the commander's single goal, and the installer could report success before its cleanup failed. This batch moves history into SQLite, gives independent requests to OwnerRequest/TodoStore, preserves destination identity, and keeps install reporting alive through source retirement.

This integrates #2616, #2619, #2621, #2625 and #2628 with their merge ancestry. It includes the separable native watcher and nested-value codec repairs from #2622. The later bus-lock, CLI registry, heartbeat and reply-policy lanes remain separate; the rejected schema-skip prototype is excluded.

Ownership changes:

Before After and migrated consumers
JSONL history and competing checkpoint/index paths Bus owns SQLite records, frozen delivery and indexed references; message publication, history, claims and carry consume it. Replaced paths are deleted.
One commander goal competing with independent orders OwnerRequest/TodoStore owns request identity, order selection and completion. Carry preserves live and archived request history before BusHistory through declared dependencies.
Name lookup could retarget retained DMs Captured participant identity travels through send, paging and revision boundaries. RegistrySnapshot owns restoration and alias resolution.
Claim recording could race canonical-name publication ClaimOrder records and publishes under the registry cut; OrderClaim reads the exact committed source and its metadata.
Publication errors could lose the committed record InitialOrigin owns post-commit completion. Normal and failure paths retain the actual BusRecord; shared activity construction serves both indexes.
Probe declarations depended on the source they inspected The existing interpreter operation module owns declarations and execution. Source, retained source and installed module use the same probe and codec; the standalone package-probe module is deleted.
Repeated coordinator row base pairs CoordinatorRow owns shared row SQL expansion; all 17 core rows and the extension consumer migrate. File/schema owners retain their distinct work.
Partial message capabilities promised complete-record append BusRecord owns append; generated CapabilityRow owns sequence identity. Claim queries decode through Claimed and typed table queries preserve their requested projection.
Installer terminal reporting ended before target cleanup InstallReport spans TargetTree cleanup. Outgoing reports retain their declaration; incoming reports use the installed module. RunMode preserves the specific rehearsal through execution and derives its report afterward.
Private HOME could still reach the live UID service Service discovery requires the loaded definition to belong to the selected home; bridge failure resumes peers already paused.

Paired Toad #1138 is merged as dab0047a426e4ac3b8bcd796c79d06edfc014ff9. Its replacement source, pages and observation become current together; canceled preparation leaves the old view usable. Filter/style/stale-read paths use that same owner. Core's ConversationObservation.matches_stores supplies the actual unobserved/captured contract.

Validation on the recorded checkpoints:

  • Combined request/target/report/watcher checks: 36 passed in 19.58s; claim/request/ingress/failure checks: 54 passed in 64.57s; nested-value/report checks: 26 passed in 22.61s.
  • Combined probe, shared activity, committed-failure and conversation observation checks at 55431d2: 26 passed in 9.34s. The row-owner checkpoint preserves all 98 core and 132 private DDL objects; its actual mutation/discovery/reopen checks passed, 30 in 3.40s.
  • Corrected configured-root rehearsal at 883223e preserved all 19,296 history rows and 194 threads. Ledger viewers/conversations/transcripts remained 30/184/18. The 3.79 GB private copy preserved 18,988 files with only nine declared migration rewrites. The earlier false-fresh classification was a real defect, fixed by loading CarryChain before selecting Install, after checkout validation.
  • Actual installed launcher checks at installer checkpoint 24ec: retained/fresh buses passed in 166.87s, including terminal publication after source retirement. Actual CLI rehearsal/write-then-fail rollback passed in 208.32s. These are checkpoint evidence; final combined installed-entry checks remain open.
  • The frozen representative indexed debt read improved from 55.0716s to 0.8987s with the same 27 overdue entries. This measures that read, not complete UI/send latency.
  • Final actual entry run at d890e6c passed write-then-fail rollback and retained/fresh installed terminal reporting. Its two rehearsal failures exposed an obsolete no-copy expectation and a premature full-schema prerequisite in history capture. The prerequisite is deleted; staged-offset refusal remains. The fixture now checks no pending conversion, exact rewritten files and unchanged original bytes. Both corrected actual rehearsal cases pass at da50204 in 141.25s. The original five-case result remains recorded as 2 failed, 3 passed in 398.83s; it is not relabeled green.
  • The history prerequisite repair also passes the predecessor-writer roundtrip and actual missing-index/reconciliation/staged-offset checks, 2 in 11.18s. Only one production line was deleted; full validation remains with history readback and reconciliation.

NRA's complete integration inventory covers 1,242 Core/tools/tests/Toad modules, 6,896 original and 6,697 projected classes, zero parse omissions. All 27 lexical ordinary-publication calls supply a destination. Supplemental installer and observation inventories retain before/after owner/consumer sites. Dynamic rebinding remains outside this syntax evidence. Detailed source maps, exact commands and failed/superseded runs remain in the existing evidence and root handoff.

The source batch and actual installer checks are ready. Paired machine installation and installed native fork/immediate-open/first-reply, fresh DM/reply/tab-return, and filtered replacement/style/older-read qualification remain open with the existing integration and Toad owners. The live pair remains unchanged until that installation.

CI is deferred under the standing owner decision. PR #2631 records the 98 historical hosted finding dispositions and their limits, including remaining class-object/cache and forwarded-key checker diagnostics, wider request/delivery typing owners and an unnamed UncarriedRecordFormat screening warning. This batch does not claim the wider plans or every screening lead are complete. Source review and actual application evidence remain distinct from those counts.

trissim and others added 30 commits October 21, 2026 16:13
…refactor/p426-wake-delivery-seq

# Conflicts:
#	src/agent_comms/registration.py
…nto refactor/p426-wake-delivery-seq

# Conflicts:
#	tests/test_bus_files.py
#	tests/test_install.py
…refactor/p426-wake-delivery-seq

# Conflicts:
#	tests/test_bus_page_index.py
#	tests/test_private_bus_checkpoint.py
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

debt-tools at de859dc, every finding:

grew ForeignFieldSpellings:tools/cutover/carry_bus_history.py +1
grew StringIdentity:src/agent_comms/installer/interpreter_operation.py +2

# Conflicts:
#	src/agent_comms/todos.py
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

debt-src at de859dc, every finding:

grew BannedVocabulary:src/agent_comms/maintenance_barrier.py +1
grew BannedVocabulary:src/agent_comms/restart_queue.py +1
grew BroadSwallow:src/agent_comms/installer/launch.py +1
grew BroadSwallow:src/agent_comms/sent_message.py +1
grew FunctionLocalImport:src/agent_comms/commander/questions.py +1
grew FunctionLocalImport:src/agent_comms/coordination_database.py +1
grew FunctionLocalImport:src/agent_comms/history_views.py +3
grew FunctionLocalImport:src/agent_comms/install_choices.py +1
grew FunctionLocalImport:src/agent_comms/locked_store.py +1
grew FunctionLocalImport:src/agent_comms/messages.py +1
grew FunctionLocalImport:src/agent_comms/private_nk_entrypoint.py +6
grew FunctionLocalImport:src/agent_comms/private_registry_guard.py +12
grew FunctionLocalImport:src/agent_comms/private_runtime_schema.py +2
grew FunctionLocalImport:src/agent_comms/queued_input.py +1
grew FunctionLocalImport:src/agent_comms/read_basis.py +2
grew FunctionLocalImport:src/agent_comms/registry_store.py +1
grew FunctionLocalImport:src/agent_comms/selected_participant.py +1
grew FunctionLocalImport:src/agent_comms/task_sources.py +1
grew FunctionLocalImport:src/agent_comms/thread_status.py +2
grew GodClassExcess:src/agent_comms/goal_attempts.py::GoalAttemptStore +1
grew GodClassExcess:src/agent_comms/typed_table.py::TypedTable +80
grew LintFindings:src/agent_comms/bus.py +2
grew LintFindings:src/agent_comms/bus_tables.py +3
grew LintFindings:src/agent_comms/cli_bridges/shared.py +1
grew LintFindings:src/agent_comms/cli_commands.py +1
grew LintFindings:src/agent_comms/cohort_schema.py +1
grew LintFindings:src/agent_comms/commander/order.py +2
grew LintFindings:src/agent_comms/commander/vibe_check.py +2
grew LintFindings:src/agent_comms/connector.py +2
grew LintFindings:src/agent_comms/coordination_cohort.py +2
grew LintFindings:src/agent_comms/coordination_response.py +2
grew LintFindings:src/agent_comms/coordination_tables/publications.py +1
grew LintFindings:src/agent_comms/goal_attempts.py +1
grew LintFindings:src/agent_comms/input_origin.py +1
grew LintFindings:src/agent_comms/install_choices.py +1
grew LintFindings:src/agent_comms/installer/commands.py +1
grew LintFindings:src/agent_comms/installer/launch.py +1
grew LintFindings:src/agent_comms/locked_store.py +1
grew LintFindings:src/agent_comms/message_bus.py +2
grew LintFindings:src/agent_comms/messaging.py +1
grew LintFindings:src/agent_comms/native_runtime_input.py +3
grew LintFindings:src/agent_comms/notification_assignment.py +1
grew LintFindings:src/agent_comms/owner_lifecycle.py +1
grew LintFindings:src/agent_comms/owner_requests.py +1
grew LintFindings:src/agent_comms/page_traversal.py +1
grew LintFindings:src/agent_comms/registry_document.py +1
grew LintFindings:src/agent_comms/restart_queue.py +3
grew LintFindings:src/agent_comms/runtime.py +1
grew LintFindings:src/agent_comms/runtime_requests.py +1
grew LintFindings:src/agent_comms/selected_claim.py +1
grew LintFindings:src/agent_comms/selected_participant.py +1
grew LintFindings:src/agent_comms/selected_write_plan.py +1
grew LintFindings:src/agent_comms/standing_rules.py +2
grew LintFindings:src/agent_comms/thread_status.py +5
grew LintFindings:src/agent_comms/todos.py +3
grew LintFindings:src/agent_comms/tools.py +10
grew LintFindings:src/agent_comms/typed_table.py +2
grew NoneAbsence:src/agent_comms/bus.py +7
grew NoneAbsence:src/agent_comms/bus_tables.py +1
grew NoneAbsence:src/agent_comms/coordination_tables/publications.py +1
grew NoneAbsence:src/agent_comms/messages.py +1
grew NoneAbsence:src/agent_comms/read_basis.py +1
grew NoneAbsence:src/agent_comms/registry_document.py +2
grew NoneAbsence:src/agent_comms/registry_provenance.py +2
grew NoneAbsence:src/agent_comms/response_policy.py +1
grew NoneAbsence:src/agent_comms/thread_identity.py +6
grew NoneAbsence:src/agent_comms/typed_table.py +4
grew StringIdentity:src/agent_comms/installer/interpreter_operation.py +2
grew TypeErrors:src/agent_comms/cohort_foreground.py +1
grew TypeErrors:src/agent_comms/todos.py +1
grew UncarriedRecordFormat +1
grew Unformatted:src/agent_comms/commander/questions.py +1
grew Unformatted:src/agent_comms/install_choices.py +1
grew Unformatted:src/agent_comms/installer/reporting.py +1
grew Unformatted:src/agent_comms/page_traversal.py +1
introduced BannedVocabulary:src/agent_comms/maintenance_barrier.py at lines [358]
introduced BannedVocabulary:src/agent_comms/restart_queue.py at lines [403]
introduced BroadSwallow:src/agent_comms/installer/launch.py at lines [79]
introduced BroadSwallow:src/agent_comms/sent_message.py at lines [59]
introduced NoneAbsence:src/agent_comms/bus.py at lines [201, 206, 253, 257, 271, 282, 291]
introduced NoneAbsence:src/agent_comms/bus_tables.py at lines [354]
introduced NoneAbsence:src/agent_comms/channel_management.py at lines [274]
introduced NoneAbsence:src/agent_comms/coordination_cohort.py at lines [136]
introduced NoneAbsence:src/agent_comms/coordination_tables/publications.py at lines [63]
introduced NoneAbsence:src/agent_comms/input_drain.py at lines [411]
introduced NoneAbsence:src/agent_comms/messages.py at lines [530]
introduced NoneAbsence:src/agent_comms/page_traversal.py at lines [29, 38, 126]
introduced NoneAbsence:src/agent_comms/read_basis.py at lines [816]
introduced NoneAbsence:src/agent_comms/registry_document.py at lines [832, 833]
introduced NoneAbsence:src/agent_comms/registry_provenance.py at lines [192, 193]
introduced NoneAbsence:src/agent_comms/response_policy.py at lines [60]
introduced NoneAbsence:src/agent_comms/thread_identity.py at lines [536, 536, 603, 603, 674, 674]
introduced NoneAbsence:src/agent_comms/transcript_sources.py at lines [488]
introduced NoneAbsence:src/agent_comms/typed_table.py at lines [1665, 1673, 1695, 1703]

@trissim
trissim marked this pull request as ready for review October 23, 2026 04:57
Copilot AI balanced review requested due to automatic review settings October 23, 2026 04:57
@trissim
trissim added this pull request to the merge queue Oct 23, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants