Sree Dayanidhi
Writing RSS riteangle
  • All
  • Riteangle 17
  • Decision systems 8
  • Guardrails 6
  • Operations 6
  • Agent architecture 4
  • Agent evals 4
  • Advertising 2
  • Agentic architecture 2
  • Context engineering 2
  • Marketing 2
  • Data platform 1

Decision systems — 8 posts

  • Five dbt detectors sharing one output contract, and the timezone table that breaks all of them twice a year

    Contact-centre rules about when you may call someone carry real penalties, and they change — so the structural question is whether adding next year's regulation means rewriting this year's checks. Five detectors that know nothing about each other, each emitting the same three fields, means a new rule is a new query rather than a schema migration. The interesting part is that the architecture is sound and the whole thing is still wrong for two months a year, because of a hardcoded timezone table nobody thought was interesting.

    September 1, 2026 5 min read

  • Tiered evidence for a sport with almost no data, and the accuracy headline that failed a per-class check

    Most sports modelling assumes abundance. Women's international T20 gives you a career of thirty appearances and matchups four deliveries deep, and the standard approach turns that into confident numbers derived from noise. So graceful degradation is the actual product: four declared tiers of evidence, adjacent leagues blended at a discount, thin matchups discarded rather than trusted, and every output labelled with which tier it rests on. It also includes the accuracy figure I stopped quoting once I checked it per class.

    August 31, 2026 6 min read

  • Integer programming and ten thousand Monte Carlo rollouts in 512 MB, for an optimal XI in four seconds

    Solvers want memory and time; a free-tier serverless function gives you 512 MB and thirty seconds, and a person is watching a spinner the whole time. This is what fits: integer programming, ten thousand Monte Carlo rollouts and two graph models, answering in about four seconds, with the language model firewalled to commentary that can be switched off without losing the answer. The ceiling turned out to force better decisions than an unconstrained environment would have.

    August 30, 2026 8 min read

  • Application-layer regex against managed guardrails: choosing by who has to sign the rule off

    A safety rule written in your own code can be read, reviewed and approved by a domain expert, and protects exactly the one route you remembered to wire it into. The same rule bought as managed infrastructure is opaque, catches paraphrase you never enumerated, and applies to every path including ones written six months from now by someone who never read your docs. Having built both, the split I would defend is to write the rules you must be able to defend, and buy the rules you must not be able to forget.

    August 29, 2026 6 min read

  • A replay harness gating an agent's edits at zero divergence, and the assumption ontology that explains each one

    Letting an agent edit a production configuration from a plain-English request is reckless unless something can answer what the change would actually do — offline, thousands of times, without touching live traffic. So a shadow reimplementation exists, and it earns the right to speak by reproducing every routing decision production has already made: 5,501 of 5,501, zero divergences, against a threshold set in advance. The same harness then makes a 7,900-line refactor reviewable, because behaviour preservation is demonstrated rather than argued.

    August 28, 2026 7 min read

  • MILP, counterfactual regret minimisation and POMDP: choosing the solver by what you cannot observe

    Reach for game theory on a problem with no opponent and you have built machinery you did not need; reach for optimisation when someone is actively choosing against you and your clean optimum will not hold still. Three decision-support systems built in sequence, where the rungs are not algorithms but what you are allowed to assume you know. The most transferable finding is that picking between equilibrium concepts is a question about who commits first, and once you have both solvers, the difference between them prices the commitment.

    August 27, 2026 9 min read

  • An LLM auditor and a deterministic one in the same pipeline, and the check only one of them can run

    A pipeline produces a table of numbers and a written analysis, and somebody senior makes decisions from the summary — so something has to check that the prose actually describes the data. I built that check twice by accident, weeks apart: once as a model call, once as plain Python. The arithmetic version is obviously right for four of the five checks, and reimplementing it silently deleted the fifth, which was the only one a model can do.

    August 26, 2026 8 min read

  • A deterministic keyword gate ahead of the LLM, and the clinician sign-off a classifier can never get

    Some questions a patient asks are urgent in a way the patient does not know, and getting one wrong means telling someone to wait until morning. A model would detect those better than a keyword list by every ordinary measure — it handles paraphrase, typos and mid-sentence language switching. It is used anyway, because a list of phrases cannot be argued out of its judgement by the message it is reading, cannot fail open during an outage, and can be read line by line and signed off by a clinician.

    August 25, 2026 7 min read

© 2026 Sree Dayanidhi
LinkedIn GitHub Subscribe by RSS