UCS503 · FULL-STACK PROTOTYPE

GovAssist

Government-scheme guidance that shows its work: deterministic eligibility logic, verbatim official evidence, and a conversation a citizen can actually use.

Read the labelsImplemented in repoAutomated testExisting hosted routeLimited / disabledNext step
4interface languages
8PMFME conditions
28source-grounded clauses
10UML diagrams

01 · WHY THIS PROJECT

A scheme should not be a guessing game.

Government guidance is often long, formal and scattered across PDFs. A citizen may know their situation but not the vocabulary of the circular. GovAssist turns one official source into a guided check, then keeps the evidence attached to the answer.

USER

Intended users

Rural entrepreneurs and first-time applicants checking whether an existing micro food-processing unit fits PMFME’s individual-unit route.

CHOICE

Why PMFME

It has a concrete eligibility journey, a committed official source PDF, meaningful thresholds, and a useful real-world problem for a grounded prototype.

02 · PROPOSED SOLUTION

Ask naturally. Decide deterministically. Cite precisely.

01

Conversation

Plain-language questions, four text interfaces, and English/Hindi microphone input where it is enabled.

Implemented
02

Rule engine

The LLM never decides eligibility. A restricted three-valued evaluator applies the reviewed PMFME expressions.

Tested
03

Evidence

Every decisive condition resolves to the exact clause, page number and official source URL.

Tested

03 · IMPLEMENTED USER JOURNEY

From “Start” to a defensible answer.

Open prototype ↗
  1. StartChat requests an empty PMFME assessment.
  2. AnswerButtons, choice fields, numbers and plain text fill only known profile attributes.
  3. EvaluateMissing information stays unknown; a failed rule becomes not eligible.
  4. ExplainGroq may compose a grounded explanation from the deciding citations; the verifier may withhold it.
  5. InspectThe final panel keeps the original-language quotation and official page link visible.
Production deployment

Run the PMFME demonstration

Use the production root for the signed-out PMFME flow. PR #5 is merged to main, and the completed Vercel deployment serves /presentation and /evidence as production routes.

Open production site

04 · SYSTEM ARCHITECTURE

A small chain of accountable components.

FRONTEND

Next.js Chat

Chat, localized catalogs, answer controls, recorder and speech fallback.

Root route hosted
API

FastAPI /chat

Routes text, profile answers, language handling and visible degradation.

Tested with TestClient
GROUNDING

PMFME corpus

Official PDF → extracted text → reviewed clauses → generated rules, graph and clause rows.

Committed data
OPTIONAL AI

Groq + providers

Groq is configured for the current deployment. Bhashini and database/auth code are present but not configured for the deployed demo.

Configuration-dependent
Invariant: the verdict and citations still work without Groq. A missing provider must degrade to an honest visible state, never a fabricated verdict.

05 · UML MATERIAL

Ten diagrams, controlled as source.

4 use case · 5 sequence · 1 class

These are responsive presentation previews paired with formal Mermaid UML/source artifacts in docs/diagrams/. The SVG previews are maintained as presentation data; the .mmd files remain the reviewable UML sources.

Use case diagrams

UC-01

Citizen eligibility check

GovAssistCitizenStart PMFMEassessmentAnswer deterministicquestionsView verdictOpen cited evidencedocs/diagrams/01-use-case-citizen-eligibility.mmd
UC-02

Ask a scheme question

GovAssistCitizenAsk a schemequestionRoute supportedscheme queryRead committedPMFME clausesReturn cited answeror honest unknowndocs/diagrams/02-use-case-grounded-question.mmd
UC-03

Multilingual typed / voice interaction

GovAssistCitizenBrowserChoose one offour languagesType a messageRecord English / Hindivoice inputTranslate to canonicalEnglish when configuredRead localized textand optional speechdocs/diagrams/03-use-case-multilingual-interaction.mmd
UC-04

Corpus ingestion and human review

GovAssistMaintainerHuman reviewerCIIngest officialsourceConfirm identityand extractionConfirm segmentboundariesReview every clauseReview conditionsand boundariesValidate corpusBuild projectionsdocs/diagrams/04-use-case-corpus-review.mmd

Sequence diagrams

SD-01

Start an eligibility assessment

CitizenWeb ChatPOST /chatdecide()LanguageServiceSelect Startprofile: {}evaluate empty profilepending questionplan speechgreeting + questionRender controlsdocs/diagrams/05-sequence-start-assessment.mmd
SD-02

Submit an answer and obtain the next question

CitizenAnswerControlsPOST /chatdecide()FormsSelect Yes / No / numberanswers payloadfind pendingpending expressionstore valueupdated profileevaluatenext questionRender controldocs/diagrams/06-sequence-submit-answer.mmd
SD-03

Reach a final verdict with cited evidence

CitizenWeb ChatPOST /chatdecide()ComposerVerifierSubmit final answercomplete profilerestricted expressionsverdict + citationsdraft from evidencesame citationsverified / fallbackanswer + citationsShow resultdocs/diagrams/07-sequence-final-verdict.mmd
SD-04

Ask a free-form scheme question

CitizenWeb ChatPOST /chatroute()ConversationClausesAsk questionmessagecanonical queryscheme domainclassify intentpass clause factsplain facts + idsverified replyreply + citationsdocs/diagrams/08-sequence-free-form-question.mmd
SD-05

Ingest, review, validate and build a scheme pack

MaintainerRevieweringest.py.state.jsonscheme.mdCIofficial PDFGates 0–3inspect sourcechunksdraft clauses + exprGate 4 reviewnamed decisionsGate 5 reviewboundary decisionsvalidate + freshnessdocs/diagrams/09-sequence-ingest-review-build.mmd

Detailed class diagram

CD-01

Frontend, API, grounding, providers and optional services

callsHTTPdecidereturnsloadscontainslocalizesfallbackoptionalexplainsprovidesother pathsoptionalChat+send()+answerValues()+toggleMic()ApiClient+sendChat(input)+transcribe()ChatRouter+chat(body)+health()+transcribe()RuleEngine+decide()+load_rules()+load_clauses()EngineResultverdictpendingcitationsLanguageService+translate()+plan_speech()+transcribe()GroqLanguageProvidertranslate()transcribe()synthesize()BhashiniProvidertranslate()synthesize()optional credentialsLLMProvider<<interface>>complete(system, user)tiered Groq adapterComposer + Verifierdraft_answer()verify()fallback if rejectedCorpusLoadersscheme.mdvalidate.pybuild.pyGraphTraversaleligibility_evidence()exclusions()benefits()AuthRoutes + Databaseregister / loginsession + profileoptional / not enabledCitationclause_idquote / pagesource_urldocs/diagrams/10-class-architecture.mmd

06 · SCOPE HONESTY

What is complete, what is bounded, what comes next.

CapabilityStatusTruthful boundary
PMFME individual eligibilityImplementedEight deterministic conditions; age boundary is > 18.
Official citationsTestedVerbatim quotes, page numbers and source URLs are retained.
Groq explanation / translationConfiguredOptional explanation and language service; never the decision-maker.
Punjabi and Tamil textImplementedStatic interface text is supported; microphone input is not enabled for these locales.
BhashiniNot configuredProvider code exists; no deployed credentials are claimed.
Database and authenticationNot enabledOptional code exists; production database/auth are not configured in the demo.
Additional schemes and filingPlannedPMFME is the only demonstrated production scheme; no form filing is performed.

07 · EVIDENCE

Claims stay close to what can be checked.

Verification commands

python -m pytest -q
python data/scripts/validate.py --all
python data/scripts/build.py --all --check
cd web; npm test; npm run build

Run these in the repository root. CI passed on main after PR #5 merged.

Browser proof

Production-route verification remains separate from build evidence: desktop/mobile layout, eligible/ineligible flows, the exact age-18 boundary, scheme picker, microphone, TTS, language flows, console and link checks.

Manual production verification pending

08 · TEAM CONTRIBUTION EVIDENCE

Named work needs a traceable trail.

This table is driven from repository history reviewed for this deliverable. It does not infer work from team membership or presentation roles.

Recorded identityVerifiable evidenceClaim allowed now
RonitKhanna333 / Ronit Khannamain history · chat / voice commitRepository commits exist; the person should demonstrate the specific changes.
thorbGate 5 commit · engine / graph commitRepository commits exist; preserve the recorded identity and re-check the corrected age rule.
Shreyas / ShreyastackyPR #5: presentation route, evidence page, UML presentation integration, navigation and supporting frontend work.This PR is traceable contribution evidence; do not infer work beyond its diff.
BhavneetEvidence pendingDo not claim commits, reviews or implementation work until a commit, PR, issue, documentation edit or test link is supplied.

Lab demonstration checklist

  • Each member names one exact file, commit/PR/issue or test they can open and explain.
  • Each member runs the relevant check and explains one failure boundary.
  • Each member makes or points to a small traceable modification without rewriting another person’s history.
  • Evidence-pending members supply the exact links before contribution claims are added.

09 · NEXT

Human review is the remaining gate.

Human gate required

Review PMFME clauses again, then confirm all eight conditions with special attention to the implemented boundary profile.age > 18. The exact commands are on the evidence page.

Open remediation steps ↗
Human re-review pending

PR #5 is merged to main; CI passed after the merge and Vercel production deployment completed. Deployment does not constitute human corpus approval.

Open merged PR #5 ↗