Squash the current repository state back into one baseline commit while
preserving the README reframing and repository contents.

Constraint: User explicitly requested a single squashed commit with subject "asdf"
Confidence: high
Scope-risk: broad
Reversibility: clean
Directive: This commit intentionally rewrites published history; coordinate before future force-pushes
Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr
Not-tested: Fresh clone verification after push
This commit is contained in:
did:key:z6MkqDnb7Siv3Cwj7pGJq4T5EsUisECqR8KpnDLwcaZq5TPr
2026-03-31 03:34:03 -07:00
commit d2542c9a62
1903 changed files with 513517 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
import {
getSettingsForSource,
updateSettingsForSource,
} from '../utils/settings/settings.js'
/**
* Migrate users on removed fennec model aliases to their new Opus 4.6 aliases.
* - fennec-latest → opus
* - fennec-latest[1m] → opus[1m]
* - fennec-fast-latest → opus[1m] + fast mode
* - opus-4-5-fast → opus + fast mode
*
* Only touches userSettings. Reading and writing the same source keeps this
* idempotent without a completion flag. Fennec aliases in project/local/policy
* settings are left alone — we can't rewrite those, and reading merged
* settings here would cause infinite re-runs + silent global promotion.
*/
export function migrateFennecToOpus(): void {
if (process.env.USER_TYPE !== 'ant') {
return
}
const settings = getSettingsForSource('userSettings')
const model = settings?.model
if (typeof model === 'string') {
if (model.startsWith('fennec-latest[1m]')) {
updateSettingsForSource('userSettings', {
model: 'opus[1m]',
})
} else if (model.startsWith('fennec-latest')) {
updateSettingsForSource('userSettings', {
model: 'opus',
})
} else if (
model.startsWith('fennec-fast-latest') ||
model.startsWith('opus-4-5-fast')
) {
updateSettingsForSource('userSettings', {
model: 'opus[1m]',
fastMode: true,
})
}
}
}