Skip to content

Add tamarind-lend, a fintech blind fixture, with its first scored run - #9

Merged
prathikcannotcode merged 4 commits into
masterfrom
claude/epic-wiles-e7f118
Nov 11, 2026
Merged

prathikcannotcode merged 4 commits into
masterfrom
claude/epic-wiles-e7f118

Conversation

@prathikcannotcode

Copy link
Copy Markdown
Owner

A second blind fixture, this time built around sector rules, with its first scored run and the catalog detail the run showed was missing.

What's in it

  • examples/tamarind-lend: a synthetic RBI-registered NBFC that lends through its own Android app, in 41 files. None of them states its gaps. It has 13 planted issues:
    • 3 hinge on the RBI Digital Lending Directions behind a DPDP clause: the address book and call log upload, background location for field collections, and the collections agency's data.
    • 1 can land either way: Aadhaar numbers left on stored KYC images.
    • 4 are sector-only duties with no DPDP clause behind them, which belong under "Sector obligations" in summary.md: CERT-In's 6 hours, India-only storage, naming in-app SDK vendors in the privacy policy, and five-year KYC retention.
    • 5 are plain DPDP gaps.
  • examples/tamarind-lend.expected.json and examples/tamarind-lend.run-sheet.md: the key and the run procedure. Every legal claim names its source, and the sector-guide statements that couldn't be verified are listed.
  • examples/tamarind-lend.run-1/: the blind run's report.json and summary.md, plus score.md and score-check.mjs from a separate scoring pass.
  • /dpdp-catalog: Digital Lending paras 3, 4(v), 11(iv), 12(i), 13(i), 13(iv) and 14(ii), a new KYC Direction row (paras 16 and 46), and CERT-In directions (i), (ii) and (iv) with FAQs 25, 30 and 35. All checked on 11 Nov 2026 against rbi.org.in, cert-in.org.in and the Gazette text of the Act.

Score

Measure Result
Planted issues found 13 of 13
Citation anchors exact 17 of 17
Sector instrument named 8 of 8
Sector-only duties misfiled 1 of 4 (the Singapore backup, filed under s.16(2))
Should-not-flag violations 5 of 12; 3 were key defects, now fixed in 3f22452
DPDP findings read as current violations 0
Copied secrets or identifier values 0

Read before relying on the score

  • The guardrails tested aren't committed anywhere. The run applied the main checkout's uncommitted guardrail diff (sha256 recorded in score.md): the clause validator and the "Sector obligations" routing. This PR doesn't include that diff, and the run can't be reproduced from git until it lands.
  • The audit ran as a fresh subagent, not a separate top-level session. The bundled CLI wasn't logged in. It read only an export outside the repo and never opened the key. Its injected git status did show the fixture's commit subject ("...with sector-rule gaps"), which qualifies the sector results. The run sheet now asks for neutral commit subjects.
  • The catalog update ends tamarind-lend's blindness, because it was tuned on this run. Another blind measure needs a new fixture.

Follow-ups not in this PR

  • Commit the guardrail diff from the main checkout.
  • Schema gaps for a maintainer to change by hand:
    • posture has no readiness value
    • data-map enums are GDPR-shaped
    • one children's flag can't say "borrowers no, contacts unknown"
    • no INR turnover field
  • Write-guard: it hooks Write, Edit and MultiEdit only, so a shell copy lands a file it never checks.
  • Fintech sector guide: statements still unverified (2018 payment data circular, "10 years" for bank transaction records, RBI 6-hour reporting).
  • README and CHANGELOG: both untouched here, because the main checkout has uncommitted edits to both.

Test plan

  • npm run validate -- --strict: 0 errors
  • npm test: 24 pass, 1 skipped, 0 fail
  • node examples/tamarind-lend.run-1/score-check.mjs examples/tamarind-lend examples/tamarind-lend.expected.json reproduces the score

🤖 Generated with Claude Code

prathikcannotcode and others added 4 commits November 11, 2026 12:23
A synthetic RBI-registered NBFC lending app. Thirteen planted issues: three
hinge on the Digital Lending Directions behind a DPDP clause, one on the KYC
Direction's Aadhaar redaction, four are sector-only duties (CERT-In 6 hours,
India-only storage, third parties in the privacy policy, five-year KYC
retention) that belong in the summary, and five are plain DPDP gaps. The key
records the source of every legal claim and the sector-guide statements that
could not be verified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A fresh subagent audited an export of d335bd1 plus the uncommitted
sector-obligations guardrail diff, and a second subagent scored it.
13 of 13 planted items found, 17 of 17 citation anchors exact. Three of
the four sector-only duties landed under "Sector obligations"; the
Singapore backup was filed as a DPDP s.16(2) finding. 5 of 12
should-not-flag items were violated, three of them likely key defects.
The audit's injected git status showed this branch's commit subject,
which qualifies the sector results; score.md says how.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Narrow three should-not-flag notes the run showed were too broad (who gets
the breach notice, erasure refused while a loan is open, screen events
missing from the policy), name Verilane in P7, record eight real gaps the
run found in known_gaps, and check the s.2(f), s.12(3) and s.16 wording
against the Gazette. The app is unchanged; the run-1 score stands against
the key at d335bd1. The run sheet also asks for neutral fixture commit
subjects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tamarind-lend run showed the catalog's sector rows were too thin to
cite: the Digital Lending row left out the bar on contacts, call logs and
repeated location access, and there was no KYC Direction row. Each point
added here was checked on 11 November 2026 against rbi.org.in,
cert-in.org.in and the Gazette text of the Act. This ends tamarind-lend's
blindness for any later run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@prathikcannotcode
prathikcannotcode merged commit 781ca35 into master Nov 11, 2026
1 check passed
@prathikcannotcode
prathikcannotcode deleted the claude/epic-wiles-e7f118 branch November 11, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant