From a question to a decision record, in seven steps
This is how GodEngine's decision service works: an internal layer built for other products to call when they need a decision made and written down.
Where it stands. The decision service is new. Its code ships with the current GodEngine deployment as an internal service. It is not a public API and has no price. Everything on this page comes from its engineering documentation.
What a decision request contains
A question
One plain-language question. Its time horizon is read from the words: “over the next 2 years” becomes 24 months.
Evidence
Up to 50 items, each a piece of text or a value with a unit, and each with a source. Evidence is scanned for budgets, deadlines and vendor quotes.
Options
Between 2 and 20 options, each with its own details: cost, monthly cost, upside, risk, time to value and more.
Constraints
Budget, how the budget is counted, horizon, deadline, maximum risk, risk tolerance, weights, options to exclude and currency. Nothing else.
When the evidence names conflicting budgets, the tightest one is used. A vendor quote that names exactly one option fills that option's missing cost, and the record notes it. An unknown constraint, even a typo such as budgte, is refused with its location named. Nothing is ignored quietly.
Amounts: lakh, crore, k and the rest
Amounts are read the way people write them. Lakh and crore imply rupees. Results are shown here in Indian digit grouping.
| Written | Read as |
|---|---|
10 lakh | ₹10,00,000 |
45L | ₹45,00,000 |
₹90L | ₹90,00,000 |
Rs. 90,00,000 | ₹90,00,000 |
₹1.2 cr | ₹1,20,00,000 |
0.1 crore | ₹10,00,000 |
50k | ₹50,000 |
30k per month | ₹30,000 a month |
8.4 lakh/yr | ₹8,40,000 a year |
10 L in a money field | ₹10,00,000 |
Rs. 10,00,000/- | ₹10,00,000 |
$2.5M | $2,500,000, kept in US dollars |
Money fields are strict. A budget, a cost, a monthly or annual cost and an expected value must each be exactly one amount. Anything else is refused with the field named, and nothing is computed or stored.
| Written | Why it is refused |
|---|---|
-10 lakh | Negative |
1e6, 10.5.3 lakh | Not one number |
ten lakh, approx 45 lakh | Not only an amount |
2000000000 crore | Above the ceiling of 1015 |
- Nothing is converted between currencies. An option priced in another currency is not compared with the budget, and the record says so.
- A recurring budget such as “40k per month” is modelled as its total over the horizon, and the record says so.
- Evidence is free text, so it is treated more gently: a value that cannot be read is left out of the model and named in the assumptions.
- In evidence, a spaced “L” needs a currency marker to count as lakh, because 500 L from a tank gauge is litres.
Seven dimensions, each tied to an engine force
| Dimension | Read from option details such as | Engine force |
|---|---|---|
| Affordability | cost, upfront, capex, monthly cost, rent, EMI, subscription, annual cost | Cost |
| Upside | upside, benefit, impact, ROI (0 to 1, a percent, or low, medium, high), expected revenue | Feedback Momentum |
| Risk | risk, downside (higher is worse) | Coherence Decay |
| Speed | time in months, lead time, time to value (“6 weeks” works) | Feedback Momentum |
| Reversibility | reversible, lock-in | Exploration Drive |
| Fit | strategic fit, alignment | Directed Intelligence |
| Compliance | compliance, compliance risk | Ethics Gradient |
Affordability is 1 − 0.6 × cost ÷ budget; without a budget, the dearest option is the reference. The caller can set weights. Otherwise the question's domain tilts them: cost-sensitive domains raise the weight on affordability, and medical, legal, policy or cybersecurity questions raise the weights on risk and compliance. Any option detail outside this table is listed in the record as ignored, never dropped silently.
The seven steps
Read the question
A fast parsing stage, with no AI language model involved, reads the time horizon, the intent and the domains. Its confidence is reported, not hidden.
Normalise
Amounts, recurring costs, durations and levels become numbers. Every guess is written down as an assumption.
Score
A weighted sum over the dimensions the options actually have values for.
Apply hard limits
An option that is over budget, past the deadline, above the maximum risk or excluded is infeasible. Its score is halved and it ranks below every option that fits. If nothing fits, the least-bad option is returned and the record asks for the limits to be reviewed.
Find the reversal conditions
The scorer is re-run to find the nearest budget above and below at which the recommendation changes, the effect of halving and doubling the horizon when recurring costs matter, and the smallest change in one dimension that lets the runner-up overtake.
Write five assessments
Confidence, coverage, uncertainty, feasibility and authorisation, kept separate. The record also lists the evidence it used, what the decision does not cover, and an evaluation status that stays “unevaluated” until an outcome is recorded against it.
Optional AI review
When it is switched on, a language model can add reasons and assumptions, marked as review, and nudge a feasible option's score by at most 0.05. It cannot make an infeasible option win. If the review fails, the numeric model stands and the record says so.
Same inputs, same record
- With the AI review off, scoring is deterministic: the same inputs give the same record.
- Each request carries an idempotency key. Sending the same request again returns the stored record byte for byte, without running the engine again. Reusing a key with different inputs is refused.
- Records are durable, kept per organisation (or per account when there is no organisation) and append-only: a stored record cannot be changed. Each carries a SHA-256 digest of its inputs and the engine version.
- Asking for a record that belongs to another organisation or account gets the same “not found” as asking for one that does not exist.