Methodology

The evidence base is 20 printed pages.
Here is exactly where it ends.

This site argues that announced capacity is reported with more confidence than the evidence behind it carries. A methodology page that asserted its own rigour would be making the same move, so everything below is counted from the data rather than claimed. The numbers move when the data does.

Traced to a filing

2of 8

Operators whose capacity figure comes out of a filed document rather than a research note.

Pages cited

20of 563

3.6 per cent of the one prospectus this site reads.

Names covered

14in the matrix

8 operators carrying megawatts, 6 on the watchlist measured on something else.

Coverage as at

2026-08-30

Nothing on this site updates itself. Every figure is a snapshot with a date on it.

Exhibit 1

One operator in 8 is traced to a filing, and the filing is read on 20 of its 563 pages

Left, the 8 operators by how far each has been checked. Right, the prospectus, one cell per page, with every page this site cites lit.

  • Primary2 of 8

    Traced to a document filed with a regulator and cited by its printed page. A schema refinement rejects any row claiming this without naming a filed document, so the tier cannot be awarded by assertion.

  • Secondary4 of 8

    A figure from company announcements, brokerage notes or press reporting, not yet traced to a filing inside this repository. Most of the coverage sits here, and every row says so.

  • Unverified2 of 8

    Either the sources disagree or the figure is an estimate rather than a company statement. Nothing is averaged across disagreeing sources and no cell is imputed; the row is downgraded instead.

20printed pages read and cited543not read

Printed pages 17, 36, 46, 49, 79, 109, 142, 144, 260, 261, 301, 353, 355, 398, 407, 408, 410, 463, 464, 470. Printed page plus 4 is the index in the PDF, which is why the lit cells sit slightly right of where the printed numbers alone would put them.

The tag beside a figure states what kind of claim that figure makes about its own evidence, and it is the same tag wherever it appears. One of each, each carrying a real row, with the document named on hover:

Techno Electric data centresprimaryTechno Electric & Engineering Company Limited annual report FY2025-26, management discussion and analysis. Hyperscale campuses at printed page 72, the stated capacity target at printed page 73As of 2026-09-01Reliance JamnagarsecondaryBlueprint research note, BharatAI Infra Scope, from company announcements and the India AI Impact SummitAs of 2026-08AdaniConneXunverifiedBlueprint research note, against data/campuses.json which records AdaniConneX at 1,000 MW announced and 0 MW live. The two disagree on the announced figure and neither separates live from pipeline.As of 2026-08

Both halves say the same thing from opposite ends. The coverage is wide and thin: of 8 operators only 2 rests on a filed document. Where a filing does exist the reading is narrow and deep, 20 pages of 563, or 3.6 per cent. A published rule proposed where to start. 7 of those 20 pages came from it and 13 did not, which the next exhibit takes apart.

That is a limit, not a boast. Nothing here supports a claim about the 543 unlit pages, and no page on this site makes one. The tag sits on every row of the coverage matrix.

Source: Verification tags from the coverage data. Cited pages collected from every sourced block in the Sify Infinit Spaces and offer data, as at 2026-08-30.

Exhibit 2

The rule put two cited pages at 1 and 2, and buried another at 461 of 553

Each cited page by its position among the 553 scored pages, best first. Score is number density divided by one plus hedge density.

Found by the rule, top decileFound by reading, below it
  • p. 49risk factors1 of 553
  • p. 301our business2 of 553
  • p. 260industry overview3 of 553
  • p. 353restated consolidated financial information5 of 553
  • p. 398restated consolidated financial information6 of 553
  • p. 355restated consolidated financial information13 of 553
  • p. 144basis for offer price27 of 553
  • p. 36risk factors83 of 553
  • p. 261industry overview110 of 553
  • p. 408restated consolidated financial information136 of 553
  • p. 142basis for offer price144 of 553
  • p. 407restated consolidated financial information145 of 553
  • p. 410restated consolidated financial information158 of 553
  • p. 17summary of the offer document183 of 553
  • p. 464outstanding litigation and material developments192 of 553
  • p. 470outstanding litigation and material developments194 of 553
  • p. 109objects of the offer258 of 553
  • p. 79the offer280 of 553
  • p. 463outstanding litigation and material developments419 of 553
  • p. 46risk factors461 of 553

Bar length is the page's position in the ranking, not its score. The cutoff is the top 55 of 553 scored pages.

The hedge lexicon, all 28 terms

may, might, could, would, believe, believes, expect, expects, intend, intends, anticipate, anticipates, estimate, estimates, potential, potentially, possible, seek, seeks, strive, aim, assurance, assure, uncertain, uncertainty, subject to, no guarantee, cannot predict

Published so the ranking can be argued with. A score whose word list is hidden is not falsifiable, and this one is wrong often enough that hiding it would matter.

The rule works exactly where it was designed to and fails exactly where it was not. The two pages that define the same capacity figure two different ways rank 1 and 2 of 553, because a definition footnote is dense with numbers and carries almost no hedging. Finding them was the rule doing its job.

The page carrying the contract concentration ranks 461, near the bottom. It is a risk factor, so it is thick with the hedging vocabulary the score divides by, and a density rule will never surface a finding stated in a sentence. That page produced one of the strongest results on this site. It was found by reading forward from a table on another page, not by ranking.

So the rule is a starting point and not a method. 7 of the cited pages sit in its top decile and 13 do not. Published anyway, with the word list, because a triage that is presented as complete is worse than one that shows where it stops.

Source: Reading rule applied to every page of the prospectus. Published so the score can be argued with. A ranking whose word list is hidden is not falsifiable.

Exhibit 3

104 claims are asserted at build time, so a sentence that stops being true stops the build

Every refinement in the schema, grouped by what it is for. Each row names the guard, what it protects, and the message the build emits when it fires.

30a published finding cannot go stale4capacity must descend24the parts must sum to the stated whole12evidence cannot be overclaimed5a comparison must measure the same thing19impossible states are rejected10a claim must carry its evidence
A published finding cannot go stale30 of 104These encode a claim the site actually makes in prose. If the underlying numbers stop supporting the sentence, the build stops rather than the sentence going quietly wrong.
  • sisl-clients-reconcileSisl

    The top three clients sum, to the second decimal, to the share of revenue the prospectus reports on contracts of at least seven years. The document never joins those two tables, and joined they say the durable contract base and the client concentration are the same three counterparties.

    build fails: The reconciliation that carries the finding no longer holds.

  • sisl-clients-hyperscalerSisl

    Clients one, two and three are Hyperscalers in every period. The concentration exhibit calls them that, and the filing is what says so.

    build fails: the filing states clients 1, 2 and 3 are Hyperscalers in every period

  • sisl-definitions-apartSisl

    The same headline capacity figure is defined twice, on two different printed pages. If they ever land on one page the finding is gone, so the guard requires them to differ.

    build fails: the two capacity definitions must cite different printed pages

  • netweb-order-inside-bookNetweb

    One government order is 69 per cent of the order book. An order larger than the book holding it would push that share past a hundred, which is arithmetic nonsense rather than a finding.

    build fails: cr order book it is measured against

  • netweb-book-postdates-awardNetweb

    The order book must be struck after the order was awarded, or the order is not inside it and the concentration exhibit is measuring nothing.

    build fails: does not postdate the award at

  • struck-off-largest-is-not-relatedAnantRaj

    The page's claim about the struck off list. The list sits a few notes below the related party disclosures and four of its eleven rows are related parties, so the obvious reading is that this is a related party problem. It is not: the largest balance on it, by two orders of magnitude, is with a counterparty the report itself classifies as Others. If a later edit moved that row the sentence on the page would be wrong rather than merely stale.

    build fails: and the page says it is not

  • ledger-has-both-sidesMacro

    The government scheme's deployment ledger needs at least one provider reported ahead and at least one behind. That separation between announcement and delivery is the only reason the ledger is on the site, and without both sides the exhibit shows a list of names rather than a finding.

    build fails: the deployment ledger needs a provider on each side

  • domestic-returns-fellMacro

    Every Indian operator in the table, not merely the issuer, earned a lower return on capital in the second year than the first. The sector page leads on that, so if one of them rises the page is claiming a decline its own primary source no longer shows.

    build fails: every domestic operator's return on capital fell across the first two years

  • forecast-spread-is-realMacro

    The exhibit claims the published forecasts disagree with each other by a factor of three. If one publisher held both the lowest and the highest number, that would be a single house's own band drawn as a disagreement, which is a different and much weaker claim.

    build fails: the lowest and highest forecasts come from one publisher

  • pledges-exceed-marketMacro

    Three foreign firms have pledged more than the annual size of the entire Indian data centre market they are pledging into. That mismatch is the exhibit's headline. Below that line the pledges are an ordinary capital cycle and the exhibit has nothing left to say.

    build fails: no longer exceed the annual market they are pledged into

  • announced-site-dwarfs-estateMacro

    The capacity half of the pledge exhibit rests on one sentence: a single announced site is most of what the whole country currently operates. Only one of the three pledges named a capacity at all, so if either that figure or national live capacity moves, the sentence goes with it.

    build fails: the largest single announced site is under half of national live capacity

  • power-is-majority-of-opexMacro

    The page argues the grid is the binding constraint partly because electricity is the largest single thing a colocation operator buys. Under half of operating cost it is one line among several and the argument is weaker than the page states it.

    build fails: power is no longer the majority of operating cost

  • e2e-exit-rate-below-yearE2E

    The finding, asserted rather than described. Annualising the exit monthly recurring revenue must land below the revenue of the year reported beside it: a year described as up seventy three per cent that ends at a run rate a fifth under its own average has its growth behind it. If a later report closes that gap the claim has stopped being true and the build should fail instead of the sentence going stale.

    build fails: no longer annualises below the year reported beside it

  • anantraj-capex-cover-changes-sideAnantRaj

    Capital expenditure is the four lines the investing section prints. Against operating cash flow as filed it is more than covered; against operating cash flow with the borrowings line taken out it is comfortably covered. The exhibit's whole sentence is that one presentation choice moves the answer across one, so if a restatement ever lands both readings on the same side, the build stops instead of the sentence going quietly wrong.

    build fails: must change side when that line leaves operating activities

  • anantraj-cash-conversion-stays-redAnantRaj

    Operating cash is under half the profit reported beside it, and it stays under half on the other reading of the borrowings classification as well. That is the cash conversion pillar's headline for this name, and the whole point of publishing it is that it does not depend on choosing between two presentations of the same statement. If either reading ever clears the threshold the sentence is gone and the build stops.

    build fails: must stay under half the profit reported beside it on both readings

  • sisl-investing-stays-an-outflowSisl

    Every filed period spends more on investing than it recovers. That is what makes the accrual ratio on this filer move with the size of the build rather than with the quality of the earnings, which is the caveat published beside the ratio. A period that turned positive would make that caveat wrong.

    build fails: investing cash is no longer an outflow

  • sisl-threshold-set-by-the-profit-testSisl

    The policy takes the lower of three tests, and the profit one binds by a wide margin because profit is small against both net worth and turnover. That is what the exhibit says, and it is the reason the disclosure bar is far lower than a net worth test alone would set. If earnings ever grow into either of the other tests the bar rises several times over without the policy changing a word, and the sentence resting on it is gone.

    build fails: the disclosure threshold is no longer set by the profit test

  • dc-arm-is-smallAnantRaj

    The data centre arm this company is priced on is about one per cent of the revenue the group actually reports. That is the deep dive's central claim, and above a tenth of group revenue the sentence is gone.

    build fails: the data centre arm is no longer a small share of group revenue

  • dc-arm-loses-moneyAnantRaj

    The data centre subsidiary made a loss in the year read. The page says the capacity everyone quotes sits in an entity that does not yet earn, so a profitable arm would be a different page and should fail the build rather than quietly change the meaning.

    build fails: the data centre arm no longer loses money

  • anantraj-single-segmentAnantRaj

    The group reports one segment and it is real estate development, which is why no data centre revenue, margin or asset line exists anywhere in the consolidated accounts. If the group ever reports the data centre separately, the central claim on that page changes and the exhibit has to be rebuilt rather than left standing.

    build fails: the group no longer reports a single segment

  • technoe-first-phase-is-a-fractionTechnoElectric

    The Noida campus carries a headline of 16 MW and a first phase of 500 kW, so the announced against delivered gap this site exists to draw appears inside a single site rather than only across an estate. If a restatement ever makes a stated first phase a material share of its campus, the sentence resting on it is gone and the build stops.

    build fails: a stated first phase is no longer a small fraction of the campus

  • capex-outran-operationsSisl

    Across every filed period taken together, spending on property, plant and equipment exceeds the cash operations produced. That is the claim the cash flow exhibit makes out loud: the estate was built with money the business did not generate. If it ever inverts the headline has stopped being true.

    build fails: no longer exceeds the

  • net-debt-counts-leasesSisl

    Net debt must equal borrowings plus lease liabilities less cash. The formula the document prints for capital employed never says whether a lease is a borrowing, and the return on capital rebuild only lands on the published figures if it is, which is an inference drawn backwards from a result. This identity states the same convention forwards, from a line printed beside the one that needed it, and it holds in every filed period. If it stops holding, the claim that the issuer treats leases as debt has stopped being true.

    build fails: The issuer may have stopped counting leases as debt.

  • key-management-line-understatesSisl

    The key management remuneration line must cover fewer officers than the note names, or the finding it carries has gone away. A disclosed figure covering every officer named is an ordinary disclosure and the page should stop calling it a shortfall. A guard on the amounts would not catch that, because the amounts would still be there.

    build fails: officers named, so it no longer understates anything

  • technoe-commitment-under-tax-disputedTechnoElectric

    The filer targets 250 MW and calls the business its most consequential decision in a generation, and the only line in either set of accounts that records contracted future capital spending is smaller than the tax demands it is disputing. The page draws the two against each other, so a reversal removes the comparison rather than weakening it.

    build fails: contracted capital now exceeds the tax it disputes

  • technoe-reports-no-segmentTechnoElectric

    No segment disclosure appears anywhere in 433 printed pages, so the data centre business cannot be sized apart from the engineering business funding it. The guard fires when that improves, because the page states the absence and would need rewriting.

    build fails: the report now separates the data centre business

  • technoe-struck-off-denial-stands-beside-balanceTechnoElectric

    One clause of the consolidated statutory information note tables a balance with a company struck off the register, and the next clause, sharing its numeral, states the Group has no such transactions. The contradiction is the finding, so the balance has to be present for the page to say so.

    build fails: no longer tables a balance beside the sentence denying there is one

  • technoe-transfer-dominates-current-borrowingsTechnoElectric

    Almost everything the standalone reports as current borrowings arrived by moving a liability from trade payables to borrowings with no cash involved. The page states that share as a percentage, so it has to keep holding.

    build fails: the transfer is no longer most of what the standalone calls current borrowings

  • technoe-msme-dues-all-past-dueTechnoElectric

    The ageing table heads its columns from the due date of payment. The whole micro and small enterprise balance sits in an overdue column and nothing sits in the column for amounts not yet due, in both filed years. The page states that, so a single rupee moving into the not due column changes what it can say.

    build fails: the micro and small enterprise dues no longer sit entirely past their due date

  • technoe-msmed-clauses-all-nilTechnoElectric

    Interest on payment after the appointed day is automatic under the Act, and all five statutory clauses report nothing in both years, one printed page after the table that placed the balance past its due date. The contradiction is the finding, so both halves have to stay as they are for the page to state it.

    build fails: so the five that report nothing are no longer five

Capacity must descend4 of 104Built, then commissioned, then sold. Announced, then claimed, then handed over. A rung that rises means a row was misread, and that descent is the whole product.
  • sisl-rungs-descendSisl

    In every filed period, built capacity is at least commissioned capacity, which is at least what is sold.

    build fails: capacity rungs must descend, got built

  • prospectus-rungs-descendProspectus

    The capacity rungs are stored widest first. The finding is that the widest one is an engineering maximum while being called built.

    build fails: capacity rungs must descend, widest first

  • anantraj-ladder-descendsAnantRaj

    Announced, then claimed operational, then actually handed over. That descent from 307 to 28 to 8 megawatts is the entire Anant Raj case.

    build fails: the capacity ladder must descend, got

  • technoe-ladder-descendsTechnoElectric

    What is commissioned and live sits inside the three campus portfolio, which sits inside the capacity targeted by Fiscal 2030. This is the same descent every other operator on the site is held to, and an inversion means a campus was misread or a target has quietly been restated downwards.

    build fails: must descend from the target through the portfolio to what is live

The parts must sum to the stated whole24 of 104Wherever a filing prints both a total and its components, both are stored and the identity is asserted. This is what lets an exhibit say a figure is the issuer's own rather than our subtraction.
  • audited-note-matches-client-tableSisl

    The third statement of the customer concentration, and the only one inside the accounts the auditor examined. The client table and the long contract share are both risk factors, written by the issuer for its own document, so their agreeing proves less than it looks. Note 33 reports the same revenue as an amount and lands on the client table to the paisa in every filed period. If an edit breaks that, the risk factors and the examined accounts have stopped agreeing and the build should say so.

    build fails: The risk factor and the examined accounts no longer agree.

  • sisl-sites-sumSisl

    The site rows must sum to the totals printed in the filing, within the rounding the filing itself introduces. A wider gap means a row was mistyped.

    build fails: sites sum to

  • offer-splits-sumProspectus

    The fresh issue and the offer for sale must add up to the total offer, so the exhibit showing how much never reaches the company is built on the issuer's own split.

    build fails: the fresh issue and the offer for sale must add up to the total offer

  • object-funding-reconcilesProspectus

    For each object, money already spent plus net proceeds plus borrowings equals the estimated cost. That identity is what lets the funding gap exhibit say the borrowings are the issuer's own figure rather than our subtraction.

    build fails: deployed plus net proceeds plus borrowings must equal the total estimated cost

  • segment-inside-groupCompanyDoc

    A segment can never be larger than the group it sits inside, in any filed year.

    build fails: segment revenue exceeds group revenue in at least one year

  • total-assets-exceed-ppeCompanyDoc

    Property, plant and equipment is one line inside total assets, so a total smaller than its own component means the two were harvested against different periods or different units. Neither failure announces itself: the accrual ratio would still divide, and still return a number a reader would believe.

    build fails: total assets are smaller than the property, plant and equipment inside them

  • family-qualities-accountDisclosureRegister

    Confirmed, partial, deflected and declined must account for every question pressed, so the refusal rate has a denominator a reader can check.

    build fails: the four response qualities must account for every question pressed

  • family-counts-sumDisclosureRegister

    The per topic counts must add up to the stated denominator for the company.

    build fails: the family counts must add up to the stated denominator

  • refusal-count-matchesDisclosureRegister

    The headline refusal count must match the topic breakdown beneath it.

    build fails: the refusal count must match the family breakdown

  • refusals-all-listedDisclosureRegister

    Every counted refusal must be listed individually, so a reader can read the numerator rather than being told it.

    build fails: every counted refusal must be listed, so the numerator can be read

  • anantraj-headline-equals-its-partsAnantRaj

    The annual report prints one headline capacity number in its highlights and, elsewhere, the three pieces it is made of, only one of which is operational. Both are stored and the identity is asserted, which is what lets the exhibit say the composition is the company's own rather than our subtraction.

    build fails: the headline capacity figure must equal the parts the report says it is made of

  • anantraj-pl-reconcilesAnantRaj

    The consolidated income statement adds up to the profit before tax printed under it. Every line is typed from one printed page, and a mistyped expense would change the margin the page quotes while changing nothing a reader could see.

    build fails: does not reconcile to its own profit before tax

  • e2e-summary-adds-upE2E

    The summary income statement must add up to the profit before tax printed under it. Every line is typed from one page, and a mistyped one would move the ratio the page quotes between operating profit and other income while changing nothing a reader could see. Worded away from the Anant Raj guard on purpose: the ledger requires each documented fragment to identify exactly one guard, so two guards checking the same kind of thing must say it differently.

    build fails: does not add up to the profit before tax printed under it

  • anantraj-cashflow-reconcilesAnantRaj

    Cash generated from operations, less the income tax paid against it, equals the filed operating cash flow. All three are printed on the same statement and all three are stored, so the identity is asserted rather than assumed.

    build fails: less income tax must equal the filed operating cash flow

  • anantraj-borrowings-in-both-sectionsAnantRaj

    The movement in current borrowings is presented among the working capital adjustments inside operating activities, and the repayment of borrowings is presented again under finance activities on the next printed page. Both filed years do it. The cash conversion exhibit says the classification is the observation, so the document has to keep doing it: the guard fails if either side stops being an outflow or if the two stop being printed on different pages.

    build fails: must be an outflow in both the operating and the finance sections

  • dc-arm-net-assets-agreeAnantRaj

    The data centre subsidiary is printed twice in the same annual report, once in the statement of subsidiaries and once in the consolidated entity table. Its net assets must agree across both, and against its own share capital plus reserves. That agreement is what lets the exhibit call the figure the report's own rather than a subtraction performed here.

    build fails: net assets do not agree across the two pages that print them

  • dc-arm-result-agreesAnantRaj

    The same subsidiary's result for the year must agree across the two pages that print it. One is the statement of subsidiaries, the other the consolidated entity table.

    build fails: result does not agree across the two pages that print it

  • roce-rebuilds-from-balance-sheetSisl

    The document prints the return on capital formula inside its commissioned industry report and the answers in the business section, and never joins them. Rebuilt from the issuer's own key performance indicators, cash flow statement and balance sheet, every period that can be rebuilt lands on the published figure to the second decimal, and the exhibit says so. The earliest period is deliberately not covered, because an average needs a year the balance sheet does not carry, and that absence is itself the finding.

    build fails: the published return on capital no longer reconciles to the balance sheet

  • cashflow-operations-reconcileSisl

    The filing prints cash generated from operations, the tax paid against it, and the net figure. All three are stored and the identity is asserted, so a mistyped row is caught rather than quietly changing the size of the funding gap the exhibit draws.

    build fails: cash generated from operations less tax paid must equal net cash from operations

  • associate-exposure-has-balance-sheetSisl

    Every period the associate exposure is stated for must be a period this file already carries a balance sheet for. The exhibit divides that exposure by net worth at the same date, and a period without one would either throw or, worse, quietly reach for a neighbouring year and print a plausible percentage over the wrong denominator.

    build fails: which has no balance sheet in this file

  • technoe-overdue-exceeds-contracted-capitalTechnoElectric

    Two audited figures the page sets against each other: the trade receivables and other financial assets the auditor drew attention to as substantially overdue and unprovided, and the capital the company has contracted to spend. The first is several times the second, and the page says so.

    build fails: no longer exceed the capital the company has contracted

  • technoe-supplier-finance-over-commitmentTechnoElectric

    Financing arranged so that suppliers can be paid later is larger than everything the company has contracted to spend on capital account. Both figures are audited and in the same unit, and the page sets them against each other.

    build fails: the supplier finance has fallen below what the company has contracted to build

  • technoe-ageing-sums-to-printed-totalTechnoElectric

    Twenty cells transcribed by hand from a printed table across two years. A single mistyped bucket would leave every derived share slightly wrong and nothing else would notice, so each year is summed against the total the filing prints.

    build fails: against a printed total of

  • restatement-counts-each-period-onceCompanyDoc

    One concept restated in one period is one point. Counting it twice would inflate the rate the page leads on, and the rows are promoted from a raw file where the same period can appear under several concepts.

    build fails: counts one restated period of one concept more than once

Evidence cannot be overclaimed12 of 104The primary tier is awarded by a check, not by an author. A row cannot call itself primary without naming a filed document.
  • harvested-figure-cites-filingCompanyDoc

    The three cash conversion inputs are served per period rather than per filing, and often not by the filing recorded against the rest of the row. Each carries its own, and a figure without one could not be cited on a page even though it would render.

    build fails: a harvested figure carries no filing to cite it against

  • universe-primary-needs-filingUniverse

    A coverage row cannot claim the primary tier without naming a filed document. This is why only one operator in eight carries it.

    build fails: claims PRIMARY without naming a filed document

  • anantraj-not-primaryAnantRaj

    The capacity ladder on this page comes from a research note, and it may never claim the primary tier however often its figures are repeated. The annual report has since been read and sits in its own block with its own printed pages; this guard keeps the two apart, so the note cannot quietly inherit the report's authority.

    build fails: no Anant Raj figure is traced to a filing, so it cannot claim PRIMARY

  • netweb-not-primaryNetweb

    No Netweb filing has been opened either, and the same guard applies.

    build fails: no Netweb figure is traced to a filing, so it cannot claim PRIMARY

  • capacity-not-filed-is-not-primaryUniverse

    A coverage row whose own filing has been read and states no power capacity cannot claim a primary source for the megawatts beside it. Reading the document is what makes that checkable, and what it establishes is that the number is not in there, so the figure stays a research estimate however carefully it was read for.

    build fails: so the megawatt columns cannot claim a primary source

  • forecast-not-primaryMacro

    A capacity forecast is a research house projection, not a figure read out of a filing, and cannot claim the primary tier however widely it is quoted.

    build fails: is a forecast and cannot claim PRIMARY

  • pledge-not-primaryMacro

    A corporate investment pledge is an announcement, not a figure read out of a filing, and cannot claim the primary tier however widely it is quoted. The same rule the capacity forecasts already carry.

    build fails: a pledge is an announcement and cannot claim PRIMARY

  • anantraj-risk-cites-a-recorded-pageAnantRaj

    A risk row on this name may cite only a printed page the file already records, taken from the annual report block or from one of the source blocks on the audited statements. A page number appearing on a risk and nowhere else would mean a magnitude arrived without the source block that lets a reader check it. The register mixes rows resting on a research note with rows resting on the audited statements, so the rule is enforced per row rather than by banning pages outright.

    build fails: a risk row cites a printed page this file does not record

  • technoe-page-inside-documentTechnoElectric

    The report is laid out as two page spreads, so one PDF page carries two printed pages and a printed page number can only run to about twice the PDF page count. A citation beyond that is a misread offset rather than a typo, and the offset is the single most likely thing to be wrong when a document is paginated this way.

    build fails: a cited printed page falls outside the document it is attributed to

  • risk-page-implies-primaryRiskItem

    A printed page is what the primary tier means on this site, so the two have to agree. A secondary risk row that attaches a page is borrowing a filing's authority, and a row that cites a page while calling itself secondary understates what it actually rests on. Both directions are rejected.

    build fails: a risk citing a printed page must be primary, and one without a page cannot be

  • risk-page-already-readSisl

    A risk row may only cite a printed page this file already cites elsewhere. The register is authored from what was read, so a page number appearing on a risk and nowhere else would mean a figure arrived without the source block that lets a reader check it.

    build fails: which this file does not cite anywhere else

  • secondary-risk-cites-no-filingSecondaryRiskRegister

    On the two pages where no filing has been opened, no risk row may cite a printed page or claim the primary tier. A risk sounds like a fact, so it is the easiest place for a page number to appear unchallenged, and one schema shared by both names means the rule is written once rather than twice.

    build fails: no risk row on a page with no filing may cite one

A comparison must measure the same thing5 of 104A rate computed over a different set of topics, or a period compared against one that contains it, is not the same measurement however similar it looks.
  • identical-family-setDisclosureRegister

    Every company in the disclosure comparison must be measured over the identical set of topics. A rate computed over a different set is a different measurement wearing the same label.

    build fails: every company must be measured over the identical family set

  • one-peer-is-selfSisl

    Exactly one row in the issuer's chosen peer set is the issuer. Without it the peer exhibits cannot tell which bar to highlight.

    build fails: exactly one peer row must be marked self

  • mix-one-of-each-spanNetweb

    The revenue mix exhibit draws a quarter against the nine months that contain it and says so out loud. Exactly one row of each, or that sentence describes rows which are not there.

    build fails: revenueMix must carry exactly one

  • peer-returns-cover-every-yearMacro

    Each of the eight operators in the peer benchmarking table carries one reading per fiscal year the table covers, present or explicitly absent. The source prints NA for operators that had not reported, and a short row rather than an explicit absence would shift every value after it into the wrong year.

    build fails: does not carry one reading per fiscal year the peer table covers

  • sisl-standalone-columns-carry-no-associateSisl

    The four filed columns are not one reporting entity. Two are consolidated and two are standalone, and the document titles all four Restated Consolidated. What makes them comparable anyway is that the associate contributed nothing in the standalone years, so a consolidated statement for those years would have been the same statement. That condition is asserted rather than assumed: a standalone column carrying an associate share would mean every exhibit spanning all four periods is comparing a group against a parent.

    build fails: a standalone column carries an associate share

Impossible states are rejected19 of 104Nobody can have more live capacity than announced, hand over more than is live, or have spent more on a project than it costs. These catch a mistyped row immediately.
  • live-under-announcedUniverse

    Nobody can have more capacity live than announced. If that inverts, either a row was read wrong or an announcement has quietly been restated downwards.

    build fails: MW live against

  • handed-over-under-liveUniverse

    What has been handed over sits inside what is live. Anant Raj is the whole reason this field exists.

    build fails: MW handed over exceeds

  • deployed-under-costProspectus

    Money already spent on an object cannot exceed what the object is estimated to cost.

    build fails: money already spent cannot exceed the estimated cost of the object

  • offer-inside-national-totalMacro

    A single provider's published offer of processors must sit inside the number the scheme has installed nationally. The exhibit says one offer is more than half that national total, and past a hundred per cent the sentence stops being a comparison and starts being a sign that two different quantities have been put in the same ratio.

    build fails: offered more processors than the scheme has installed nationally

  • forecast-exceeds-actualMacro

    A 2030 capacity forecast must exceed what is already operational. A projection below today's actual means a row was misread, or a publisher is forecasting a contraction and saying so somewhere this data does not record.

    build fails: MW already operational

  • forecast-band-widensMacro

    Where a publisher gives a band rather than a point, its top must sit above its bottom. An inverted band would draw backwards.

    build fails: gives a band whose top is not above its bottom

  • pledges-inside-sector-commitmentMacro

    Three firms cannot have pledged more than every investor in the sector has committed in total. The exhibit draws the one inside the other, so past that point the two figures are counting different things and the drawing is meaningless rather than merely wrong.

    build fails: pledged more than the sector's whole recorded commitment

  • demand-estimate-risesMacro

    The government's estimate of data centre electricity demand must sit above what data centres already draw. A demand curve that does not rise has nowhere to go, and the page's claim that the grid rather than land or capital is the binding constraint rests on it rising steeply.

    build fails: does not rise above what data centres draw today

  • capex-band-widensMacro

    The capital requirement is drawn as a band from the low build cost to the high one. Inverted, it draws backwards and a reader sees a saving where the data says a range.

    build fails: the capex per megawatt band inverts

  • stabilising-margin-inside-rangeMacro

    The stabilised colocation margin is quoted inside a published range for the same measure. A stabilising figure sitting outside its own range means two different measurements have been carried in as one, which is exactly the failure this project found in a capacity definition.

    build fails: the stabilising margin sits outside the published margin range

  • sisl-assets-exceed-equitySisl

    Total assets exceed net worth in every filed period, which is an identity rather than a finding. It is asserted because total assets were read out of one column of a four column restated statement, and a column taken one place across would move the accrual ratio without looking wrong on the page.

    build fails: total assets do not exceed net worth, so a column has been read across

  • sisl-materiality-policy-precedes-its-documentSisl

    The board resolution adopting the materiality policy is dated before the offer document that publishes it. That is the ordinary order, and it is asserted because the page states the sequence and a mistyped date would leave the sentence describing an impossibility.

    build fails: the materiality policy is dated after the document that publishes it

  • sisl-basis-changes-forwardSisl

    Consolidation begins and does not stop, so the most recent column is the consolidated one. An inversion would mean the columns have been read in the wrong order, which is the error most likely to go unnoticed on a statement whose four columns run most recent first while the stored rows ascend.

    build fails: the most recent period is no longer the consolidated one

  • pagination-anchor-half-matches-layoutPagination

    A printed page on a two page spread is half a PDF page and has to say which half. On a single page layout there are no halves to name. An anchor that names one where none exists, or omits one where it matters, cannot be checked against the document.

    build fails: an anchor names a half on a single page layout, or omits one on a spread

  • pagination-declares-its-layout-oncePagination

    A spread has to say which half of which PDF page carries printed page one, because the two halves are consecutive positions and starting on the wrong one shifts every citation in the document by one page. A single page layout has no half to declare.

    build fails: must say which half carries printed page one

  • technoe-arrangement-buys-timeTechnoElectric

    The filing gives two payment ranges and the whole point of the arrangement is that one is longer. The slowest comparable payable must still settle sooner than the fastest financed one, or the two ranges have been read into the wrong columns.

    build fails: the arrangement no longer buys more time than the payables it replaced

  • coverage-cell-names-a-real-subjectPillarCoverage

    A filled cell has to name a subject that exists and may only be filled once for a pillar. Both mistakes would inflate the count of measured cells the page publishes as its own completeness.

    build fails: claims a subject that is unknown or counted twice

  • coverage-keeps-six-pillarsPillarCoverage

    The brief names six pillars and the page counts them. A duplicate identifier would leave one pillar unrepresented while the count still read six.

    build fails: the six pillars are no longer six distinct ones

  • restatements-fit-inside-the-harvestCompanyDoc

    A filer cannot restate more annual points than were ever taken from it. The page publishes a rate over that denominator, so a count larger than the harvest would produce a percentage above a hundred and nothing else would notice.

    build fails: restates more points than were ever harvested from it

A claim must carry its evidence10 of 104A graded forecast names what graded it. A refusal that points somewhere names where. Otherwise the register is an opinion with a schema around it.
  • graded-claim-has-evidenceClaim

    A forward claim that has been graded must carry the evidence that graded it. An ungraded one stays open and says so.

    build fails: a graded claim must carry the evidence that graded it

  • horizon-after-claimClaim

    A claim's horizon must fall after the date the claim was made, or it was never a forecast.

    build fails: horizon_end must fall after made_on

  • refusal-names-whereRefusal

    A refusal recorded as published elsewhere must name where. Refused on the call but published in a filing is ordinary investor relations; refused and published nowhere is a disclosure gap, and only the second is a finding.

    build fails: published_elsewhere requires naming where it was published

  • pagination-reproduces-the-printed-folioPagination

    Every primary claim on this site names a printed page, so the mapping from a printed page to a position in the PDF carries the whole citation chain. Each document stores folios it prints on itself, recovered by pipeline/find_folios.py, and this recomputes every one of them from the declared mapping. Editing the mapping without the evidence fails the build. Before this existed the mapping was a sentence, and two documents wrote the same field name with opposite sign conventions.

    build fails: the declared pagination does not reproduce a folio the document prints

  • pagination-anchor-inside-its-rangePagination

    Front matter is frequently numbered on its own terms, so a mapping is declared to hold only from a stated index onward. An anchor taken from before that point would appear to confirm a rule it is not governed by, which is the most flattering way to be wrong about pagination.

    build fails: an anchor sits before the index the mapping is declared to hold from

  • pagination-needs-two-anchorsPagination

    One anchor cannot disagree with anything, so a mapping resting on a single folio is an assertion wearing the shape of a measurement. Two distinct positions are the minimum that can contradict each other.

    build fails: a pagination needs at least two distinct anchors to be checkable

  • closed-limit-names-evidenceMethod

    A known limit marked closed must name what closed it, and an open one must not pretend to. Closing a limit is a claim like any other, and without this a limits list decays into a list of things that simply stopped being mentioned.

    build fails: a closed limit must name what closed it, and an open one must not

  • risk-worst-cell-measuredRiskItem

    The worst cell of the matrix, high severity against high likelihood, is the one a reader looks at first, and it cannot hold a row whose magnitude is not derived from data. The standard failure of a risk register is asserting a catastrophe with nothing behind it, and this refuses to render one.

    build fails: the worst cell of the matrix cannot hold an unmeasured risk

  • register-refusal-names-whereDisclosureRegister

    The same rule inside the measured register: a refusal that points somewhere must say where it points.

    build fails: a refusal that points somewhere must say where

  • coverage-state-describes-the-coveragePillarCoverage

    The four states are checked against the coverage they claim rather than being labels anyone can type: built covers most of the subjects it could, terminal covers none, and the two in between cover some but not most. Without this the picture and the badge on it could drift apart silently.

    build fails: so the label no longer describes the coverage

The register is checked against the code it describes. Three tests assert that every fragment above still appears in the schema, that each one identifies exactly one guard, and that the number of guards in the source equals the 104 rows listed here. A guard added without being written up fails the suite, and so does a row left behind after its guard is deleted. Without that, a page publishing its own guarantees is just a longer way of asking to be trusted.

Source: Generated from the schema register. The test suite asserts that every fragment below is still present in the schema source, and that the number of guards in the source equals the number of rows here.

The bands a reading is graded against

The thresholds are published, so disagreeing means disagreeing with a number

Cash conversion is the first of the six pillars to be built, and it now runs on every filer in this coverage whose statements are machine readable. The readings are on the pillars page. These are the bands it applies, and they are read from the same file the pages apply, so the rule shown here and the rule used to colour a cell cannot drift apart. A build guard fails if a component writes a band of its own.

Operating cash to profit after tax
Flagged below 0.8, serious below 0.5. Refused where profit after tax is not positive, because the quotient changes sign without the cash changing and a negative reading would sort like a grade.
Sloan accrual ratio
Net income less operating cash less investing cash, over total assets. Outside plus or minus 25 per cent is the danger line. Its numerator adds investing cash back in, so on an operator part way through a build it moves with the size of the build rather than with the quality of the earnings. Both measures are shown for that reason and neither is called the verdict.

A combined reading is withheld below 2 resolved measures rather than averaged over the gap, and the two are never averaged against each other. Where they disagree, the disagreement is reported instead, because the midpoint of a contradiction is not a finding.

Every formula, with its denominator

A rate without a denominator is decoration

Each measure used anywhere on this site, with the sample it was computed over and the reason it is built the way it is. The sample is a required field, so a measure cannot be published here without one.

Known limits

4 open, 3 closed and kept on the page

A limits list that only ever grows is a pose. A closed limit has to name what closed it, and that is a build invariant rather than a habit, so a limit cannot quietly become something that simply stopped being mentioned. One of the closed rows is an error this site published and had to correct.

Pivot log

This project drifted off its own brief, and was pulled back

Recorded because the failure is the interesting part. Every step was a reasonable answer to the last instruction, and the destination was somewhere nobody had chosen.

  1. 01StartBegan as the brief specified: an eighteen name forensic dashboard scoring listed Indian names on execution against ambition.The brief's own thesis. Announcements are measured in gigawatts, delivery in megawatts, and nobody was packaging the gap.
  2. 02Over several sessionsNarrowed to a single company teardown of Sify Infinit Spaces.Sify is the only name in the universe with a filed, public, page citable document. Every step toward it was a reasonable answer to the last instruction, which is exactly why nobody noticed the destination.
  3. 032026-08-30The drift was caught by a symptom rather than by a review: a data file holding Anant Raj at 21 megawatts live against 307 announced was rendering on no page at all, because its only page had been deleted.A coverage product that had stopped covering anything. The four routes from the abandoned direction were deleted the same day.
  4. 042026-08-30Pulled back to the brief's own Recommendation 1, a two by two plus three deep dives. The coverage universe was restored and the matrix rebuilt.Recommendation 1 is the demoable slice. It carries the whole argument with three worked examples rather than one exhaustive one.
  5. 052026-08-30The three deep dives were completed: Sify on a filing, Anant Raj on delivery, Netweb on an order book.Three names, three different units, one argument. The third deliberately owns no megawatts, which is why it is absent from the two by two rather than forced onto it.