Gorbachev's reform programme attempted to modernise Soviet socialism via perestroika (economic restructuring) and glasnost (openness) but unleashed forces that dissolved the USSR by December 1991. Economic school: reform-socialism gradualism — cooperative-sector legalisation, state-enterprise autonomy, price-reform proposals deferred, and multiple rival shock-therapy plans (500 Days, Abalkin, Pavlov) none fully adopted. Left-right axis: centre-left within Soviet framework — ambitious politically but economically cautious on price liberalisation and private property. Core policy content: (i) 1986 law on individual labour activity legalising limited private enterprise; (ii) 1987 Law on State Enterprises transferring budgetary autonomy to SOEs (self-financing, khozraschyot); (iii) 1988 Law on Cooperatives — major step legalising significant private cooperative sector; (iv) 1989 first competitive Congress of People's Deputies elections; (v) 1990 Shatalin-Yavlinsky 500-Days shock-therapy plan proposed and rejected; Gorbachev adopted Ryzhkov-Pavlov hybrid; (vi) January 1991 currency-confiscation reform withdrew 50/100-ruble notes; April 1991 Pavlov price reform raised administered prices ~200%; (vii) August 1991 hard-line coup attempt, Yeltsin's RSFSR resistance, Baltic-states independence, December 1991 Belovezha Accords dissolved the USSR; (viii) external policy — INF Treaty 1987, unilateral troop withdrawals, German reunification acceptance 1990, withdrawal from Afghanistan completed February 1989. Macro: GDP contracted ~5% 1990, ~15% 1991; inflation accelerated to ~200% end- 1991; budget deficit reached ~20% of GDP; foreign debt doubled. Popularity: Gorbachev's domestic approval collapsed from 80%+ in 1987 to <20% by 1991; resigned 25 December 1991. Coherence: low — gradualist reforms internal to preserving socialism clashed with the glasnost-enabled political mobilisation demanding deeper change; the institutional hybrid of party-state autonomy without price liberalisation proved unstable.
Policy-content fingerprint — how the framework codes this movement on its axes