fix(dispatcher): correlate routed activity with the originating input anchor #266
Open
karsten
wants to merge 1 commit from
fix/dispatcher-activity-anchor into main
pull from: fix/dispatcher-activity-anchor
merge into: harness:main
harness:main
harness:fix/os-session-locks-no-sqlite
harness:fix/single-main-activity
harness:feat/slack-inbound-attachments
harness:integration/activity-one-bubble-7edb348
harness:fix/publisher-scheduler-portable-temp
harness:fix/core-review-policy-forgejo
harness:fix/scheduler-timeout-portable-tmp
harness:fix/peter-ci-counterexample
harness:fix/peter-unscoped-task-isolation
harness:fix/natural-budget-reset-matrix-id
harness:fix/quiet-run-lifecycle-chat
harness:fix/session-binding-conversation
harness:fix/skill-frontmatter-closing-fence
harness:fix/skill-search-trim-query
harness:fix/dispatcher-retain-builtin-strategies
harness:feat/http-planner-recovery
harness:feat/sequential-planned-dispatch
harness:fix/validation-precedence-context
harness:fix/exhausted-recovery-attention
harness:fix/stop-durability
harness:fix/session-reset-notice-work
harness:fix/technical-continue-recovery
harness:fix/activity-model-pending
harness:fix/contextless-tag-inheritance
harness:fix/night-start-catchup
harness:fix/independent-parent-admission
harness:fix/blocked-child-parent-reconciliation
harness:fix/host-result-original-anchor
harness:fix/custom-matrix-update-owner
harness:feat/dispatcher-visible-context
harness:fix/topic-label-intake-repair
harness:fix/codereview429
harness:fix/initial429-adapter
harness:fix/validator-agent-stall
harness:integration/classifier-actual-display-main
harness:integration/roles-on-actual-display
harness:feat/persistent-model-roles
harness:feat/actual-execution-display
harness:fix/supervisor-prompt-budget
harness:fix/mandatory-supervisor-admission
harness:feat/worker-board-model-tool
harness:docs/public-installation-correction
harness:snape/dispatch-diagnostic
harness:fix/topic-followup-context
harness:fix/tasks-command-startup
harness:feat/internal-worker-tasks
harness:fix/safe-host-guard-codes
harness:feat/automatic-topic-labels
harness:feat/semantic-independent-fanout
harness:fix/task-wide-hold-validation
harness:feat/hayate-naming-slice-1793571266
harness:rename/hayate-public-product
harness:fix/memory-write-contract-pin
harness:fix/home-lock-owner-incarnation
harness:feat/hashtag-context-selection
harness:fix/minato-result-status-authority
harness:feat/hashtag-status-labels
harness:feat/hashtag-output-labels
harness:feat/hashtags-reference-index
harness:feat/model-file-overlays
harness:commission/minato-room-tests
harness:feat/plugin-file-overlays
harness:feat/persona-settings-overlays
harness:feat/minato-native-matrix-e2ee
harness:docs/canonical-github-repositories
harness:feat/hayate-agent-naming
harness:fix/reconcile-uncertain-completion
harness:fix/context-ownership-and-checker
harness:fix/recovery-failed-only-warning
harness:fix/recovery-inconclusive-real-behavior
harness:fix/nongit-snapshot-fixture
harness:fix/taskscope-archive-safe-compat-test
harness:fix/cron-result-test-barrier
harness:fix/continuation-explicit-task-scope
harness:feat/native-api-tls
harness:fix/productive-continuation-nongit
harness:fix/productive-continuation-budget
harness:fix/completion-nudge-retry-separation
harness:fix/integrated-ci-8061-contract-regressions
harness:fix/completion-reviewer-false-blocked
harness:feat/host-update-admission
harness:fix/runtime-overlay-tolerant
harness:feat/runtime-config-overlay-request
harness:fix/recovery-truthful-diagnostic
harness:fix/completion-integrated-receipt-replay
harness:fix/semantic-turn-continuation
harness:fix/image-gate-nested-process
harness:fix/targeted-runner-ci
harness:fix/small-pr-default-rule
harness:fix/skill-autoload-size
harness:investigate/completion-monitor-stop
harness:fix/image-fullsuite-pr165
harness:fix/targeted-test-policy
harness:feat/vertical-kiss-rule
harness:fix/chat-ack-recovery
harness:fix/repetition-budget-integrated
harness:feat/authenticated-natural-budget-reset
harness:feat/adaptive-skills-integrated
harness:fix/operator-reset-compatibility
harness:feat/operator-task-budget-reset
harness:fix/actionable-recovery-integrated
harness:fix/continuity-bounded-reconciliation
harness:fix/crash-safe-continuity
harness:fix/nudge-budget-stall-repair
harness:fix/wait-authority-denial-receipts
harness:fix/improvement-default-enabled
harness:fix/human-night-report
harness:proposal/nightly-20261028-atomic-usage
harness:fix/context-foreground-stall-0101
harness:fix/context-foreground-backoff-0100
harness:fix/context-maintenance-root-0199
harness:fix/context-maintenance-critical
harness:fix/result-authority-lifecycle
harness:fix/severus-reviewed-model-routing
harness:fix/severus-private-api-reviewed
harness:fix/review-notification-main-integration
harness:fix/wait-accounting-budget
harness:fix/dispatcher-model-rules
harness:fix/operator-foreground-integration
harness:fix/live-parent-result-authority-integration
harness:docs/cron-local-contract
harness:test/zero-gateway-acceptance
harness:feat/compaction-selection-lifecycle
harness:feat/context-strategy-lifecycle
harness:feat/nightly-strategy-lifecycle
harness:feat/completion-strategy-lifecycle
harness:test/maintenance-cli-lifecycle
harness:fix/maintenance-receipt-validation
harness:feat/maintenance-client
harness:fix/review-sampling-newbase
harness:feat/local-maintenance-control
harness:fix/maintenance-admission
harness:feat/session-observer
harness:docs/semantic-assessment-lifecycle
harness:test/semantic-correction-boundary
harness:fix/semantic-resumption-context
harness:fix/context-maintenance-recovery
harness:feat/memory-orchestration-live
harness:fix/reload-restart-alias
harness:fix/stop-stale-reply
harness:fix/session-open-cleanup
harness:fix/session-provider-lifecycle
harness:refactor/cron-report-plugin
harness:feat/cron-follow-through
harness:fix/durable-task-resumption
harness:fix/session-model-precedence
harness:feat/provider-lifecycle
harness:feat/tool-catalog-generations
harness:feat/runtime-extension-modules
harness:fix/plugin-lifecycle-drain
harness:refactor/nightly-strategy
harness:refactor/completion-strategy
harness:refactor/context-strategy-plugins
harness:feat/review-engine-selection
harness:refactor/review-engine-plugin
harness:feat/durable-task-waits
harness:fix/single-activity-status
harness:fix/night-report-receipts
harness:feat/runtime-policy-overlays
harness:feat/policy-generation-lifecycle
harness:refactor/default-memory-engine
harness:feat/replaceable-memory-orchestration
harness:refactor/matrix-gateway-ownership
harness:fix/gateway-default-route-lifecycle
harness:feat/worker-native-activity
harness:feat/matrix-native-activity
harness:feat/native-turn-activity
harness:feat/composable-policy-contract
harness:fix/context-maintenance-coexistence
harness:fix/recovery-claim-evidence
harness:fix/recheck-stalled-continuation
harness:fix/review-json-admin-extension
harness:fix/deliver-startup-recovery
harness:fix/validate-explicit-completion
harness:fix/main-result-followup
harness:fix/deliver-sanitized-diagnostics
harness:feat/automatic-build-version
harness:feat/bounded-upgrade-handover
harness:fix/registry-layer-size
harness:feat/gateway-progress
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
harness/core!266
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/dispatcher-activity-anchor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Real cross-repo dependency of harness/plugins#49 (one native Matrix activity message per input instead of one per internal run).
Dispatcher classifier and worker activity is routed to the parent channel with a synthetic envelope (
sessionKey: task.parent, source: host, text: "") that carried no origin. This adds only the originating input's completion-anchor id (from the task's durable dependency; no prose, no tags; the worker's own input anchor is never trusted).Independently usable: without plugins#49, channels ignore the field (no behavior change). Without this PR, plugins#49 still collapses classifier+worker per dispatched task (fallback), so the main bubble and the task bubble remain separate (2 instead of 4); with both PRs: one bubble per input.
Test:
test/dispatcher-activity-anchor.test.ts(fails on main, passes here): exact anchor per task, spoofed worker anchor ignored, legacy task without anchor stays undefined, no prose/tags.Validation: tsc 0, build 0, related activity/dispatcher suites 23/23. Full suite 1465 pass / 19 fail; the failure set matches the main baseline (macOS canonical-home tests, session-observer-stream timing, also failing on main). Mandatory review: 1 round, passed, 0 findings, fingerprint 319aa34d.
Not activated. #265 and #264 untouched.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.