{
  "tool_id": "art-702-runway-goal-path",
  "kernel_id": "art-702-runway-goal-path",
  "display_name": "Runway Goal Path",
  "tool_version": "1.0.0",
  "mandate_type": "compliance_control",
  "purpose": "Goal-seek over a fixed monthly startup cash model: the smallest change in price, in month-over-month revenue growth, or in burn that reaches a declared goal, ranked by least effort. The model walks a finite horizon of integer months: revenue starts at the declared base, optionally price-uplifted, and grows at a constant month-over-month rate from month 2; burn is derived once and held constant; cash accumulates net each month, and the first month where cash goes below zero is the cash-out month, interpolated in basis points of a month as (m-1)*10000 + floor(prev_cash*10000/(-net)) with cash landing exactly on zero not counting as a cash-out. Four goal types are declared: a runway of at least N months (the cash-out month in basis points of a month reaches N*10000, or the company stays solvent through the horizon), solvency through the horizon, breakeven (revenue at or above burn) by a month, or ending cash of at least an amount. A grid search walks every combination of the three declared lever grids, keeps the scenarios that meet the goal, and ranks them by effort ascending, where effort is the half-up integer division by 100 of the sum of weight times lever, ties breaking by burn_cut, then price_uplift, then growth_add, all ascending; the all-zero lever scenario is always evaluated and reported as the baseline with baseline_meets_goal. All money is an integer count of minor units and all rates are integer basis points; rounding is half-up, applied once per month step for revenue and once per scenario for burn. Out-of-domain input is refused with a named reason, never rounded or coerced: non-integer or negative money, a growth rate below -10000 basis points, a horizon outside 1-60 months, an unknown goal type, a non-integer goal value, a lever grid unsorted, negative, or holding more than 12 values, non-integer or negative effort weights, or a max_candidates below one. Scope limits: one revenue line, constant burn, no financing events, no churn model, and no tax.",
  "control_description": "Goal-seek over a fixed monthly startup cash model: the smallest change in price, in month-over-month revenue growth, or in burn that reaches a declared goal, ranked by least effort. The model walks a finite horizon of integer months: revenue starts at the declared base, optionally price-uplifted, and grows at a constant month-over-month rate from month 2; burn is derived once and held constant; cash accumulates net each month, and the first month where cash goes below zero is the cash-out month, interpolated in basis points of a month as (m-1)*10000 + floor(prev_cash*10000/(-net)) with cash landing exactly on zero not counting as a cash-out. Four goal types are declared: a runway of at least N months (the cash-out month in basis points of a month reaches N*10000, or the company stays solvent through the horizon), solvency through the horizon, breakeven (revenue at or above burn) by a month, or ending cash of at least an amount. A grid search walks every combination of the three declared lever grids, keeps the scenarios that meet the goal, and ranks them by effort ascending, where effort is the half-up integer division by 100 of the sum of weight times lever, ties breaking by burn_cut, then price_uplift, then growth_add, all ascending; the all-zero lever scenario is always evaluated and reported as the baseline with baseline_meets_goal. All money is an integer count of minor units and all rates are integer basis points; rounding is half-up, applied once per month step for revenue and once per scenario for burn. Out-of-domain input is refused with a named reason, never rounded or coerced: non-integer or negative money, a growth rate below -10000 basis points, a horizon outside 1-60 months, an unknown goal type, a non-integer goal value, a lever grid unsorted, negative, or holding more than 12 values, non-integer or negative effort weights, or a max_candidates below one. Scope limits: one revenue line, constant burn, no financing events, no churn model, and no tax.",
  "declared_inputs": [],
  "declared_outputs": [],
  "kernel_digest": "sha256:a62ea8245d5f29e41c714ffbcfc8b2f52d5a68cefb22a29a500b9dfc61c33beb",
  "trust_label": "independently verified: zkVM execution proof (risc0/groth16-bn254)",
  "data_vintage": "2026-10-16",
  "last_validated": "2026-10-16",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "ready",
  "wave": 121,
  "source_url": "https://ainumbers.co/chaingraph/art-702-runway-goal-path.html",
  "generated_at": "2026-10-17T03:08:05.471Z"
}
