Rules first
EMD, documents, turnover, price, registries and debarment are pass or fail. Code decides those, so the model never guesses a number.
Bid compliance checking for government procurement officers. Every bid runs through fifteen fixed checks, from EMD and Make in India to GSTN, Income Tax, MCA21 and EPFO records. A reasoning layer explains what it found, and a named officer makes the call on the record.
Fifteen checks on every bid, before anyone signs.
Every bidder on a tender is compared with every other: quotes clustered too tightly, a cover bid parked far above the benchmark, submissions minutes apart, the same registered address.
The split of work is the product. Code handles anything with a right answer, the model explains, and a named officer carries the decision.
EMD, documents, turnover, price, registries and debarment are pass or fail. Code decides those, so the model never guesses a number.
The reasoning layer reads the check results, then names every flag in plain language. The score and verdict are computed, not written.
Decisions are stamped with who and when. Overruling a flagged bid takes a senior approver and a written reason, both kept in the audit log.
Each check returns pass, flag or fail with a sentence that names the real numbers and the source it checked. A pass earns the full weight, a flag half, a fail nothing. A fail on EMD, documents, GST registration or debarment caps the score at 45 and makes the risk Critical.
Registry lookups read sample records in this prototype and say "simulated" on every result. Rules that need no lookup are real: the GSTIN check digit, and the PAN inside the GSTIN with its holder-type and name codes.
SIH26100 lists fourteen things the platform must do. Each one is a working part of Procurement Pilot. Where a government source is involved, the logic is built and the data is simulated until live access is approved.
One adapter per government source named in the problem statement. Each returns sample records today and says so. Going live replaces one lookup function per source; the checks, the score and the screens stay the same.
Short answers. The workstation shows each one in practice.
The tender title and specification, the bidder name, and the results of the fifteen checks. It does not receive bank details, PAN or raw bid documents, and it cannot change the score or the verdict.
The fifteen checks and the score still run, because they are plain code. The recommendation falls back to a deterministic summary and says so on screen. The model provider is a setting, so it can point at an Indian or self-hosted model without code changes.
No. Qualifying a bid the system did not mark compliant needs a senior approver and at least 30 characters of written reason. An officer gets refused by the server, not just the screen, and every override is kept in the audit log.
Any signed-in user can view it. Only an admin can export it, and every export is itself written to an access log.
180 days by default. After that the bidder's identity and free-text notes are irreversibly anonymised while the scores stay for audit continuity. The period is configurable.
Not yet. Ten adapters cover GSTN, Income Tax, MCA21, Udyam, DPIIT, NSIC, EPFO, ESIC, DigiLocker and the debarment list. In this prototype they read sample records, and every result says simulated. Rules that need no lookup are real: the GSTIN check digit, and the PAN inside the GSTIN with its holder-type and name codes. Going live needs approved access, through API Setu or a GST Suvidha Provider, and one lookup function per source.
Yes, for PDFs with a text layer. It finds the GSTIN, PAN, Udyam, CIN and DPIIT numbers and the legal name, then cross-checks each against the bid. Scanned PDFs need OCR, which is planned. The workstation has sample documents to try.
Low: every check passed. Medium: something needs a look. High: a check failed. Critical: a failure on EMD, documents, GST registration or debarment, which also caps the score at 45.
One adapter per government source named in SIH26100. In this prototype each reads sample records and labels every result as simulated. Going live replaces one lookup function per source.
| Time | Tender | Bidder | Score | Risk | Recommendation | Decision | By |
|---|