fn start(strategicChoice: string, horizon: string, notes?: string)
Create a draft plan with strategicChoice + horizon. Strategy
| Argument | Type | Required | Description |
|---|
| strategicChoice | string | yes | The where-to-play / how-to-win sentence in one line |
| horizon | string | yes | e.g. '3y', '12m' |
| notes? | string | no | |
fn add_assumption(statement: string, signpostName: string, signpostExpr?: string, lastReading?: string)
Record a Layer 1 assumption with impact, vulnerability,
| Argument | Type | Required | Description |
|---|
| statement | string | yes | |
| signpostName | string | yes | |
| signpostExpr? | string | no | |
| lastReading? | string | no | |
fn add_commitment(description: string, owner: string, budgetUsd: number, byDate: string, dependsOn: array, reviewCadence: string, consequenceIfChanged: string)
Record a commitment OR hypothesis with all six properties.
| Argument | Type | Required | Description |
|---|
| description | string | yes | |
| owner | string | yes | |
| budgetUsd | number | yes | |
| byDate | string | yes | |
| dependsOn | array | yes | |
| reviewCadence | string | yes | |
| consequenceIfChanged | string | yes | |
fn add_allocation(priority: string, protectedBudgetUsd: number, target?: string, forecast?: string, raidLog: array)
Record a Layer 2 protected allocation. Target / forecast /
| Argument | Type | Required | Description |
|---|
| priority | string | yes | |
| protectedBudgetUsd | number | yes | |
| target? | string | no | |
| forecast? | string | no | |
| raidLog | array | yes | |
fn add_ceiling(crux: string, leadTimeWeeks: number, safetyMarginWeeks: number, signpostName: string, optionPremiums: array, lastTimeToCruxWeeks?: number, lastTriggerPointWeeks?: number)
Record a Layer 4a ceiling: first-binding crux + lead
| Argument | Type | Required | Description |
|---|
| crux | string | yes | |
| leadTimeWeeks | number | yes | |
| safetyMarginWeeks | number | yes | |
| signpostName | string | yes | |
| optionPremiums | array | yes | |
| lastTimeToCruxWeeks? | number | no | |
| lastTriggerPointWeeks? | number | no | |
fn add_tripwire(signpostName: string, thresholdExpr: string, preAuthorizedAction: string, pullbackRung?: number, lastReading?: string)
Record a Layer 4b tripwire: signpost + threshold + pre-authorized
| Argument | Type | Required | Description |
|---|
| signpostName | string | yes | |
| thresholdExpr | string | yes | |
| preAuthorizedAction | string | yes | |
| pullbackRung? | number | no | |
| lastReading? | string | no | |
fn set_pullback_ladder(rungs: array)
Record the ordered list of cuts. Index 0 is what gets
| Argument | Type | Required | Description |
|---|
| rungs | array | yes | |
fn set_loss_budget(sunkCostUsd: number, shutdownCostUsd: number, committedLiabilitiesUsd: number, workingCapitalUnwindUsd: number, tailProvisionsUsd: number)
Record the maximum tolerable loss components. Total = sunk +
| Argument | Type | Required | Description |
|---|
| sunkCostUsd | number | yes | |
| shutdownCostUsd | number | yes | |
| committedLiabilitiesUsd | number | yes | |
| workingCapitalUnwindUsd | number | yes | |
| tailProvisionsUsd | number | yes | |
fn commit()
drafted → committed. Refuses unless every layer is materially
fn monitor()
committed → monitoring. Begin signpost evaluation.
fn evaluate(signpostName: string, reading: string, timeToCruxWeeks?: number)
Read a signpost's current value and update every assumption,
| Argument | Type | Required | Description |
|---|
| signpostName | string | yes | |
| reading | string | yes | Observed value, free-form string |
| timeToCruxWeeks? | number | no | If reading impacts a ceiling: observed weeks until crux. |
fn trigger(signpostName: string, reason: string)
monitoring → adapting. Call when a tripwire has fired or a
| Argument | Type | Required | Description |
|---|
| signpostName | string | yes | |
| reason | string | yes | |
fn adapt(triggeredBy: string, actionTaken: string, reason: string, reading?: string, exercisedCeilingCrux?: string)
adapting → committed. Record the action taken (pullback rung
| Argument | Type | Required | Description |
|---|
| triggeredBy | string | yes | Signpost name or ceiling crux that caused the adapt |
| actionTaken | string | yes | |
| reason | string | yes | |
| reading? | string | no | |
| exercisedCeilingCrux? | string | no | If the action exercised a ceiling option, name the crux to mark it |
fn revise(reason: string, brokenAssumptions: array)
adapting → drafted. An assumption has broken; the strategic
| Argument | Type | Required | Description |
|---|
| reason | string | yes | |
| brokenAssumptions | array | yes | |
fn archive(reason: string)
Terminal. committed or monitoring → archived. Plan is no longer
| Argument | Type | Required | Description |
|---|
| reason | string | yes | |
fn audit()
Answer the four diagnostic questions from the article (Layer 4
fn hydrate()
Write a compact governability scorecard summary. Does