How basit-94/incometax works
Wapsi is a synthetic Indian income-tax filing prototype: citizens gather and confirm facts, compare tax regimes, and prepare a return through manual or agentic journeys. The Next.js app also exposes document, vault, DigiLocker-mock, and chartered-accountant review capabilities. An additive Spring Boot boundary demonstrates authentication, tax computation, filing submissions, and history; submissions are local engineering records, not filings with an official department. The README and sampled routes establish the major boundaries; unsampled feature wiring is shown only where documented.
Main entry points: SubmissionService.java Submission service · page.tsx Manual journey · extract/route.ts Document extraction API · agent/route.ts Copilot API
Components 25
Citizen journeys
- Manual journey
app/page.tsx - Agentic workspace
components/agentic/workspace.tsx - Run API
app/api/runs/route.ts - Run runtime
lib/agentic/runtime.ts
Documents and assistance
- Document extraction API
app/api/extract/route.ts - PDF extraction
lib/compliance/pdfExtract.ts - Vault API
app/api/vault/route.ts - Vault service
lib/vault/service.ts - DigiLocker mock API
app/api/digilocker/route.ts - Copilot API
app/api/agent/route.ts - Copilot tools
lib/agent/copilot-engine.ts
Return intelligence
- Return state and commands
lib/return/state.ts - AY 2026-27 adapter
lib/taxEngineAY2026.ts - Tax engine
lib/engine/tax.ts
Backend boundary
- Backend authentication
backend/src/main/java/com/wapsi/backend/auth/AuthController.java - Submission API
backend/src/main/java/com/wapsi/backend/submission/SubmissionController.java - Submission service
backend/src/main/java/com/wapsi/backend/submission/SubmissionService.java - Java tax engine
backend/src/main/java/com/wapsi/backend/engine/TaxEngine.java - Versioned tax rules
backend/src/main/java/com/wapsi/backend/rules/RuleSetLoader.java
State and integrations
- Fact ledger
backend/src/main/java/com/wapsi/backend/ledger/FactLedger.java - Submission store
backend/src/main/java/com/wapsi/backend/submission/SubmissionStore.java - Carry-forward history
backend/src/main/java/com/wapsi/backend/history/CarryForwardService.java - PostgreSQL
lib/db/postgres.ts
Other components
- Citizen
- Gemini model
Connections 24
- Citizen → Manual journey: uses
- Citizen → Agentic workspace: uses
- Agentic workspace → Run API: starts runs
- Run API → Run runtime: creates and advances
- Citizen → Document extraction API: uploads documents
- Document extraction API → PDF extraction: extracts fields
- Document extraction API → Gemini model: interprets ambiguity
- Citizen → Vault API: manages documents
- Vault API → PostgreSQL: reads and writes
- Citizen → DigiLocker mock API: requests document pull
- DigiLocker mock API → Vault service: imports issued documents
- Citizen → Copilot API: chats
- Copilot API → Copilot tools: executes tools
- Copilot API → Gemini model: requests model response
- Copilot tools → Tax engine: computes tax
- AY 2026-27 adapter → Tax engine: computes regimes
- Manual journey → Backend authentication: signs in
- Manual journey → Submission API: submits return
- Submission service → Versioned tax rules: loads rule set
- Submission service → Java tax engine: computes submission
- Submission service → Submission store: deduplicates and records
- Submission service → Fact ledger: appends facts
- Carry-forward history → Submission store: finds completed return
- Carry-forward history → Fact ledger: reads projection