Skip to content

[Refactor] Consolidate delegated model consent on canonical dialogue - #3449

Open
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/canonical-model-consent-8b6a3305
Open

roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/canonical-model-consent-8b6a3305

Conversation

@roomote-roomote

Copy link
Copy Markdown
Contributor

​Created by Roomote. View the session or mention @roomote-roomote for follow-up asks.

Related issue

Maintenance cleanup of the canonical model-request dialogue introduced in #3439; no linked issue.

Why this PR exists

  • A maintainer explicitly invited this PR in the linked issue or discussion
  • I am a maintainer / this is internal Roomote work

What changed

  • Require canonical typed dialogue as the model resolver's evidence input. Remove the parallel human-text/proposal contract, synthetic dialogue fallback, unused proposal selector, and redundant derivation in both task-launch and PR-review callers.
  • Remove the test-only model-proposal recovery mode from ordinary pre-prompt reply retrieval, preserving its existing live query behavior.
  • Migrate resolver regressions to typed dialogue and cover stale-proposal human boundaries through both canonical and compacted replay dialogue. Retain canonical provenance, equal-timestamp insertion boundaries, queued confirmation/revocation, durable snapshots, and atomic snapshot preservation coverage.

Both production resolver callers already supply dialogue. This behavior-preserving simplification removes competing evidence contracts without changing authorization policy, classifier thresholds, routing precedence, or snapshot persistence. Net deletion: 85 lines across six files.

How it was tested

  • Focused launch-model, model-authorization, conversation-repository (real test database), and service suites: 526 tests passed across the four files after correcting the new parameterized test's table shape and rerunning the affected launch-model suite.
  • Cloud-agents typecheck passed; pre-push oxlint, residual ESLint, workspace fast typechecks, and knip passed.
  • Browser proof is not applicable to this internal contract deletion; call-site inspection and the canonical dialogue/replay tests provide the relevant evidence.
  • The pre-commit semantic judgment hook completed without blocking but left three prose criteria incomplete because the launch-model test exceeded its file evidence budget; a full semantic check remains required before merge.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally
    • Fast equivalents passed via the pre-push gates; formatting-inclusive full commands were not run.
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset
    • Internal behavior-preserving cleanup; no changeset needed.

@roomote-community

roomote-community Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

No code issues found. See task

Reviewed all six changed files, both production resolver callers, canonical consent boundaries, replay snapshots, queued follow-ups, and the remaining reply-retrieval caller. The removed fallback and proposal-recovery mode have no production consumers; the remaining query behavior is unchanged.

Current-head CI: Test, Lint, Type Check, Knip, and CodeQL passed. Docker Build (app, amd64) is still running.

Reviewed 518727b

@roomote-roomote
roomote-roomote Bot marked this pull request as ready for review October 9, 2026 13:28

This branch has not been deployed

No deployments
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.

1 participant