mirror of
https://github.com/NeuralNomadsAI/CodeNomad.git
synced 2026-11-01 19:40:35 +00:00
## Summary Adds a fifth Mission template, **Compare two models** (`compare`). It runs the same bounded task on two different models and ends with a blind verdict. - **Creation:** the user picks **model A** and **model B** in the main creation form. Both are required and must name different models (provider + model id; a reasoning variant alone is not a different model). This is enforced on every creation path: HTTP, prepare, recurrence create and agent-started missions. - **Roles:** `model-a`, `model-b` and `comparator`. - A and B share one instruction text and report contract. - The coordinator writes the task, inputs and criteria once, and gives both byte-identical briefs. - The server refuses a run task whose brief differs from its sibling's, or whose per-task execution would change its role's model. - **Blind judge, always on:** the comparator works on neutral X/Y labels. - It reports one versioned `comparison` artifact: the A/B task references, per-criterion scores for both runs, sourced observations, and a verdict `a | b | equivalent | inconclusive`. - Completion requires both runs and that comparison. - **Judge model:** frozen once at creation, like every other role. - An explicit judge is kept; otherwise the judge copies the coordinator's effective model. When that model is unknown, both stay on the native default. - Replays and retries therefore reuse the stored profile. - The editor warns when the judge's model equals A or B. - **Readers:** the verdict, both model names, a score table and evidence by path. Hashes stay under Technical details, for current and archived recurring passages. The template came out of evaluating Harness2's comparison loop. It deliberately has **no** lesson, human approval, budget or duration handling, and leaves the Wayfinder human gate unchanged. Up to five models, per-run worktrees and launching from the composer's model picker (OpenChamber-style multi-run) are left for later. `AGENTS.md` records the single editor exception: the A/B selectors sit outside the collapsed Options disclosure. All ten locales are updated. ## Size and upkeep 62 files, +837/-96: | Part | Lines | |---|---| | Product code (about 16 files are one-line template-list hooks) | +280/-57 | | Locales (13 keys × 10) | +131 | | Tests | +409 | | Docs | +17 | `missions/control.ts` stays oversized (~1,500 lines). ## Validation - Full server suite: 2,426 tests pass, 7 existing skips. Root and server typechecks, the server build and the plugin build pass. - UI: 45 unit tests and 36 browser tests pass. - The native trajectory fixture, extended with a compare case, passes on OpenCode 2.0.31. It checks two distinct models, a one-newline brief difference refused with the journal unchanged, a real blind judgment and a completed mission. The native contract and recurring Q fixtures also pass. - Regressions cover: - distinct-model refusals on every creation path; - brief and override refusals; - artifact validation and the completion policy; - judge freezing at creation, revision replay, and retry after a coordinator model change; - editor inheritance and readable evidence. - Independent review rounds ended with no P0-P3 findings. - The editor and reader were checked from screenshots of the real Solid components in the browser harness, not in a packaged app. |
||
|---|---|---|
| .. | ||
| architecture.md | ||
| BROWSER_AUTOMATION.md | ||
| BROWSER_DEVICE_EMULATION.md | ||
| CACHE_REFRESH_CONVENTIONS.md | ||
| DESKTOP_DATA_PROFILES.md | ||
| DEVELOPER_MODE.md | ||
| FILES_PANEL.md | ||
| HOTKEYS.md | ||
| INDEX.md | ||
| MISSIONS.md | ||
| MISSIONS_AUTONOMOUS_PLUGIN_REQUIREMENTS.md | ||
| MISSIONS_CONTINUITY_CONTRACT.md | ||
| MISSIONS_ENVIRONMENT_ADMISSION.md | ||
| MISSIONS_FAMILY_AUTHORITY.md | ||
| MISSIONS_HUMAN_ANSWER_RECEIPTS.md | ||
| MISSIONS_NATIVE_PRODUCT_ACCEPTANCE.md | ||
| MISSIONS_RECURRING_SIMPLE.md | ||
| MISSIONS_RECURRING_SIMPLE_QUALIFICATION.md | ||
| MISSIONS_REFACTOR_VALIDATION.md | ||
| MISSIONS_SESSION_RECOVERY.md | ||
| MISSIONS_WATCHED_SOURCES.md | ||
| NATIVE_INTERRUPTION_UX.md | ||
| OPENCODE_V2_COMPATIBILITY.md | ||
| OPENCODE_V2_POST_BETA.md | ||
| PALETTE_SOURCES.md | ||
| PANEL_EXTENSIONS.md | ||
| PLUGIN_ACTIVATION_CONTROLS.md | ||
| PROVIDER_ACCOUNTS_UX_PLAN.md | ||
| REMOTE_CONTROL.md | ||
| RUNTIME_MAINTENANCE.md | ||
| SESSION_ENVIRONMENT.md | ||
| SESSION_HISTORY_NAVIGATION.md | ||
| SESSION_HISTORY_QUERIES.md | ||
| SESSION_PRUNING_RPC.md | ||
| SESSION_PRUNING_SAFETY.md | ||
| solidjs-llms.txt | ||
| TAURI_UPDATER.md | ||
| TAURI_WINDOWS_RUNNER_REFCOUNT.md | ||
| TEXT_DISPLAY_BOUNDS.md | ||
| USER_HELP.md | ||
| WORKTREE_SESSION_PLACEMENT.md | ||