feat(core): convert residual operator lifecycle onto the Go host (#2618) #2639
Open
conductor
wants to merge 3 commits from
feat/2618-operator-residual into master
pull from: feat/2618-operator-residual
merge into: conductor:master
conductor:master
conductor:fix/shared-ci-unblock
conductor:fix/ci-concurrency-per-ref
conductor:fix/2552-handler-triage
conductor:feat/2618-context
conductor:fix/2604-scaffolding-surgical
conductor:feat/2618-provider-stack
conductor:feat/final-integration
conductor:feat/2618-safety-parity
conductor:feat/2609-integration-w6
conductor:feat/2618-audit-forge
conductor:feat/2618-background-memory
conductor:feat/2618-warm-recall
conductor:feat/2617-research-r3
conductor:feat/2606-spine-w4
conductor:feat/2617-research-r2
conductor:fix/2607-spine-dichotomy
conductor:feat/2609-go-interception-w3
conductor:feat/2618-memory-store
conductor:feat/2617-research-r1
conductor:feat/2609-go-interception-w2
conductor:fix/data-safety-audits
conductor:fix/integration-audits
conductor:fix/sqlite-floor-audits
conductor:feat/2617-research-r0
conductor:feat/2609-model-replay
conductor:fix/tool-boundary-audits
conductor:feat/2609-go-interception-w1
conductor:fix/2582-release-final
conductor:fix/2613-self-hosting-gate
conductor:removal-prep/dead-superseded-pile
conductor:removal-prep/auto-context
conductor:removal-prep/reconcile-tools
conductor:removal-prep/openai-compat-transport
conductor:removal-prep/message-queue
conductor:removal-prep/forge-client
conductor:removal-prep/cache
conductor:removal-prep/paths
conductor:fix/2532-text-selection
conductor:throwaway-force-merge-test
conductor:fix/2582-namespace-cli-flag
conductor:feat/2582-release-reporting
conductor:fix/2535-pane-scrollback
conductor:dichotomy-gap-f0
conductor:gap-transport
conductor:gap-construction-commands
conductor:wave-ca-ms
conductor:tmp-detach
conductor:gap-ltr
conductor:backup-rune-as
conductor:wave-ax
conductor:feat/wave6-rust-backend
conductor:feat/wave4-consolidation-kernel
conductor:ci/build-cognition-core-unit
conductor:ci/register-w34-canaries
conductor:feat/wire-programme-continuation
conductor:feat/wire-construction-commands-dispatch
conductor:feat/wire-stage-guards-transition
conductor:feat/tui-pane-swap-chat-left
conductor:fix/operator-probe-tools-2468
conductor:r2-wave2-memory-retrieval
conductor:r2-wave2-memory-storage
conductor:phase-g-strangler-evidence-provenance
conductor:phase-g-strangler-retrieval-index
conductor:tranche-r1-wave-0
conductor:m10-derive-refresh
conductor:t22-scaffolding-default-path
conductor:research-depth-gate
conductor:fix-407-autolabel
conductor:fix-tui-banner-surface
conductor:r13-m9-pr-proof
conductor:gitea-internal-endpoint
conductor:auto-label-epic-kinds
conductor:issue-templates-heading
conductor:issue-templates
conductor:event-driven-clean
conductor:deadline-return-fix
conductor:hardening-live-proof
conductor:hardening-authority-identity
conductor:event-driven-final-metrics
conductor:event-driven-gates-evidence
conductor:event-driven-continuation
conductor:async-intent-live-proof
conductor:async-intent-normalization
conductor:memory-t0-external-report
conductor:memory-t0-asis-map
conductor:t21.5-pending-class-fix
conductor:t21.5-gate-evidence
conductor:t21.5-root-cause-continuation
conductor:t21.4-gate-evidence
conductor:t21.4-qualify-defaults-fix
conductor:t21.4-final-v1-proof
conductor:prototype/openai-compat-transport
conductor:wr-experiment
conductor:adapt2-route-authority
conductor:pl0-experience-ledger
conductor:d5-authority-audit
conductor:task-d-stage-contracts
conductor:b3v2-fresh
conductor:d5-tightening
conductor:d4d5-artifact-contract
conductor:correction-1-d2d3
conductor:adapt9-artifact-authority
conductor:prov1-source-ledger
conductor:infra1-accept
conductor:infra1-probe5
conductor:infra1-probe4
conductor:infra1-probe3
conductor:infra1-probe2
conductor:infra1-probe
conductor:obs1-telemetry
conductor:rp13-metrics
conductor:rp12-rerun-163
conductor:rp11-retirement
conductor:issue161-harness-v2
conductor:issue161-harness
conductor:rp2-canonical-stage-model
conductor:sweep-live
conductor:umbrella-rewire
conductor:trigger-bump-2
conductor:release-token-fix
conductor:trigger-bump
conductor:version-reconcile
conductor:umbrella-pipeline
conductor:pinned-live
conductor:research-structuralization
conductor:merge-robot-checkout
conductor:p1-03-memory-selection
conductor:coverage-ratchet
conductor:failure-auto-filing
conductor:release-safety-net
conductor:ci-dependency-lock
conductor:bugfix-contract
conductor:merge-robot-fix
conductor:adversarial-gates
conductor:merge-robot
conductor:runner-desktop-gate
conductor:research-gate-evidence
conductor:backup/pinned-20260908-035000
conductor:release-tui-footer
No Reviewers
Labels
Clear labels
P0 — critical
P1 — high
P2 — medium
P3 — low
blocked
bug
custodian
epic
feature
governance
growth
identity
in-progress
incomplete
infrastructure
life
memory
memory-atlas
needs-testing
perception
ready
release-drift
research
rune
scaffolding
spine,correction
spine,deferred
spine,resolved
strangler,burn,endgame,deferred
strangler,burn,endgame,inventory,epic
tui
tui,epic
tui,openspec
v1-course-correction
Spine/core correctness or blocks other work — do first
Material user value or real defect (money, bugs, next-stage dep)
Quality/consolidation improvement
Measurement / benchmark / deferred policy
Dependencies open
Confirmed defect or regression
Rune v1 course-correction issue graph
New capability or improvement
Currently being worked on by Rune
Incomplete work — draft PR with ledger, awaiting resume
Memory Research Atlas child domain
Needs manual testing with dumbed-down steps before close
Order satisfied - Rune may start
Research jobs — spikes, watchlists, evidence work
rune
scaffolding
spine,correction
spine,deferred
spine,resolved
strangler,burn,endgame,deferred
strangler,burn,endgame,inventory,epic
tui
tui,epic
tui,openspec
Rune v1 course-correction issue graph
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: conductor/rune#2639
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Relates to #2618
Based on PR#2632's
eaa5c907. Commit:1b25d0ec82a7ab5e4de615ebc2efd72b20497bd3.Admitted contracts:
ADMIT-2618-operator-residualand scope supplementADMIT-2618-operator-oracle-canaries(both left building/open; no closure or Python retirement claimed).Capability evidence
rune-corecalls the existing adaptive-router derive/classify/dispatch/record processes; no construction or research executor was reimplemented.TestProcessRouteClientUsesExistingRouteAndDispatchServicesand the serving tests pass.research_requiredandawaiting_approvalresume to running after real process kills; researched turns do not call the model. Duplicate completed-turn receipts are atomic with final task state and cause no second message/event/model call.TailStore;/v1/statusand/v1/tasksnow derive from canonical state instead of zero placeholders.RuneOperatormethods are thin fail-loud clients of the same Go/v1surface. No independent dispatch runs by default and no Python authority is deleted.core="python"/RUNE_OPERATOR_CORE=pythonis the explicit final-retirement oracle; the five direct scripted canaries select it deliberately.Serving-path proof
TestRealNativeServingTurnDoesNotInvokePythonOperatordriveshttptest -> Server.Handler -> Engine.TurnStream -> NativeOperatorwith real Rust and adaptive-router processes, native event/route files, and a fake model only at the provider boundary. The captured completed task uses routeSTANDARD_CHANGE; trace isoperator=go-operator,native=rust-operator-lifecycle,events=go-event-store,family=chat,intake_action=created; Python/Python3 sentinels remain absent. Seeverification/operator-lifecycle-serving.json.RUNE_CONTEXT_PROOF=1 go test ./internal/runecore -run TestRealNativeServingPathWithCanonicalStore -valso passes, proving PR#2632 canonical recall still reaches the model on top of this lifecycle.Verification
operator_lifecycle: 18 tests, clippy-D warnings, and fmt all green.rune-core: fullgo test ./...,go test -race ./..., andgo vet ./...green.canary_conversation_state,canary_orchestration_foundation, all 35canary_rune_servechecks, and explicit-oracle p1_01/02/03/07 pass.ruff check src tests,henxels check, andpython3 scripts/dichotomy_audit.pypass. The staged landing/contract gate passes.plans/2618-operator-residual.mdand the commit trailers.Remaining gaps / boundaries
canary_p1_06remains RED before operator dispatch in untouchedmodel_routingbecause itsSimpleNamespacelacksprovider; it is not counted green or caused by this conversion.python3 -m pyrightis unavailable, so the type ratchet cannot analyze. The lint ratchet remains RED on pre-existing BLE001 139>47 and S110 197>31 debt; full Ruff is green. Scaffolding coverage also names 33 pre-existing ungoverned modules, none from this branch;operator_lifecycleis covered.Do not merge from this description alone; required protected checks and independent review still apply.
🤖 Headless spec gate (non-blocking, #204 first slice)
Spec-gate agent produced no text output — check runner logs.
Deterministic floors still govern the merge
This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.