Replace v5 settlement spine with v2.0 reserve-asset spine (v0.1.0:73)

Swap the dead "scarcity as the connecting idea" / bitcoin-as-settlement
spine for the v2.0 reserve-asset spine (bitcoin = apex non-debasable
reserve asset; debasement = forcing function; AI = abundance engine;
throughline is an asset-value/capital-flow claim, not settlement; three
seams Energy<->Compute, Debasement<->Bitcoin, AI<->Data-Ownership)
everywhere it was still encoded in live code, the seed, and the docs.

- architect_agent.py / outreach_agent.py: both system prompts carried
  "scarcity as the connecting idea" and shipped settlement framing into
  every generated draft; rewritten to the reserve-asset spine.
- thesis_seed.py: THROUGHLINE, PILLAR_1, the AI/energy-operator segment
  angle, and THESIS_V2 corrected and voice-cleaned (no em dash / "X, not
  Y" / "bet"). PILLAR_2/3 (real revenue, founder access) kept.
- ensure_thesis_v2_promoted / revert_thesis_v2_promotion: make the v2.0
  spine the working APPROVED spine and re-ground/clean the core nodes,
  deployment-state-invariant (structural targeting, not body text) and
  fully reversible (captures prior body/title/status/deleted_at). NODE
  level only: never sets a thesis_version canonical (guardrail #4); no
  hard deletes (guardrail #3). Wired into init_db after the v2 candidate
  stage.
- docs/thesis-handoff.md replaced wholesale with the complete v2.0 doc;
  Ten31_Agentic_Build_Plan.md + PHASE_1.md throughline glosses updated.

The v2.0 spine remains an unratified draft from the signal-engine
workstream: canonical freeze stays the partners' dual sign-off, and
Appendix-A conviction/exposure figures stay Grant's working read.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Keysat
2026-06-09 08:22:24 -05:00
parent c53fdcb4a0
commit fffc90c7a4
10 changed files with 433 additions and 179 deletions
+32
View File
@@ -0,0 +1,32 @@
import { VersionInfo } from '@start9labs/start-sdk'
// Replace the old "settlement / scarcity-as-connecting-idea" thesis spine with the v2.0
// reserve-asset spine everywhere it was still encoded in LIVE code, the seed, and the docs:
// * Architect system prompt (architect_agent.py) and the LP-outreach system prompt
// (outreach_agent.py) — both hardcoded "scarcity as the connecting idea" and shipped the
// settlement framing into every generated draft.
// * Seed constants (thesis_seed.py): THROUGHLINE, PILLAR_1, the AI/energy-operator segment
// angle, and the residual "monetary premium settles" verb in the staged v2.0 candidate.
// * docs/thesis-handoff.md replaced wholesale with the complete v2.0 handoff; planning-doc
// throughline glosses updated.
// Plus a reversible, idempotent, NODE-LEVEL promotion (ensure_thesis_v2_promoted): the v2.0
// candidate spine becomes the working APPROVED spine and the old settlement throughline + Pillar 1
// are SOFT-retired (status='retired' + deleted_at; never hard-deleted — guardrail #3), so the live
// agents stop emitting the dead spine. This does NOT cross the canonical gate (guardrail #4): no
// thesis_version is set to canonical; freezing v2.0 as canonical remains the partners' dual-approval
// action. The v2.0 spine is still an unratified draft pending the Grant + Jonathan working session.
// Additive; no schema migration. The promote runs via init_db on boot (house pattern) and is
// deployment-state-invariant; to roll the spine back, call thesis_seed.revert_thesis_v2_promotion(conn)
// against crm.db (exact inverse of the captured node state) — the StartOS down migration stays a no-op.
export const v_0_1_0_73 = VersionInfo.of({
version: '0.1.0:73',
releaseNotes: {
en_US: [
'The Thesis Workshop and both AI copilots (thesis Architect and the LP-outreach drafter) now',
'run on the v2.0 reserve-asset spine: bitcoin as the apex non-debasable reserve asset, debasement',
'as the forcing function, AI as the abundance engine. The old settlement framing is retired',
'everywhere the agents read, reversibly. Nothing is canonical until two admins sign off.',
].join(' '),
},
migrations: { up: async () => {}, down: async () => {} },
})