196f1f6c65
Saves the 2026-06-05 Architect positioning pass as competing CANDIDATE options under the core line's positioning variant group, beside Option A/B: Convergence (47/60), Access (40), Asymmetry (36), Scarcity/chokepoints (35), Freedom-tech (28), each with its red-team weakness inline. One-time, additive, non-canonical (guardrail #4); idempotent via an interaction_log sentinel so a partner-deleted option is never resurrected. ensure_positioning_framings runs after the v5 seed. Test: test_positioning_framings.py (count/candidacy/idempotency/no-resurrection/log). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
21 lines
1.0 KiB
TypeScript
21 lines
1.0 KiB
TypeScript
import { VersionInfo } from '@start9labs/start-sdk'
|
|
|
|
// Saves the 2026-06-05 Architect positioning pass into the Thesis Workshop: five
|
|
// divergent framings of the core banner (Convergence, Access, Asymmetry, Scarcity,
|
|
// Freedom-tech), each scored and red-teamed, added as competing CANDIDATE options
|
|
// beside Option A/B so the partners can review and mark one up. One-time, additive,
|
|
// non-canonical (guardrail #4); idempotent via an interaction_log sentinel so a
|
|
// soft-deleted option is never resurrected. No schema migration.
|
|
export const v_0_1_0_58 = VersionInfo.of({
|
|
version: '0.1.0:58',
|
|
releaseNotes: {
|
|
en_US: [
|
|
'Thesis Workshop now starts with five Architect-drafted positioning options for the',
|
|
'core banner, each scored and pressure-tested, sitting beside the original Option A/B',
|
|
'for you and your partner to compare and pick from. They are drafts only; nothing is',
|
|
'made canonical without two admins signing off.',
|
|
].join(' '),
|
|
},
|
|
migrations: { up: async () => {}, down: async () => {} },
|
|
})
|