Module 08 demo · ~4 minutes · facts that survive compaction, failures that carry their story, numbers that keep their source
# Findings: claims-intake
One line per fact. Every line carries the file
path it came from and the date it was read.
Read this file before answering any question
about the codebase.
(empty so far)
Read 31 files under claims-intake/rules/.
Reporting only what you asked for.
Classes that validate a claim:
intake/rules/ProviderIdRule.java
rejects a claim with no provider ID
intake/rules/TimelyFilingRule.java
180 days from date of service
hardcoded exception list: 3 payer codes
intake/rules/DuplicateClaimRule.java
same member, same date, same code
Appended 3 lines to findings.md.
None of the 31 files entered your window.
# Findings: claims-intake
2026-08-29 | intake/rules/ProviderIdRule.java
rejects a claim with no provider ID
2026-08-29 | intake/rules/TimelyFilingRule.java
180 days from date of service
hardcoded exception list: 3 payer codes
2026-08-29 | intake/rules/DuplicateClaimRule.java
same member, same date, same code
2026-08-29 | intake/IntakeController.java
the entry point for every claim
> /compact focus on the claims-intake
assessment; drop the report formatting
discussion
Conversation compacted.
Re-read CLAUDE.md
Read findings.md
Read progress.md
The summary kept the direction of the work.
The numbers, paths, and dates were never in
the summary. They were in the two files,
and the two files were re-read from disk.
> which class enforces timely filing, and
what is the window?
From findings.md:
intake/rules/TimelyFilingRule.java
180 days from date of service, with a
hardcoded exception list for three payer
codes.
(Yesterday's session answered this with
"the validation layer typically handles
timely filing." Same question. The
difference is where the fact lived.)
---
name: explorer
description: Reads a part of the codebase and
reports findings with paths.
---
When something fails, report:
- the kind of failure: timed out, refused,
empty result, could not parse
- exactly what you tried (path, query)
- whatever you did manage to get
- one thing to try next
Never report an empty result as a failure.
Never report a failure as an empty result.
Append every finding to findings.md with
the path and today's date.
type: access_failure (timed out)
attempted: read claims-intake/appeals/
AppealsProcessor.java (9,000 lines)
partial: 4 of 5 files in appeals/ read;
AppealsRouter.java references a handler
in the file that timed out
alternative: read the big file in two
halves, or grep it for "class "
findings.md: 4 lines appended.
This is a failure with its story attached.
"No appeals handling found" would have
been the same event, with the story
thrown away.
> read AppealsProcessor.java in two
halves and finish the trace
Found: class AppealsHandler, line 312.
Appeals enter through AppealsRouter,
land in AppealsHandler.process(), and a
second hardcoded exception list (five
plan codes) skips the 60 day appeal
window entirely.
findings.md: 2 lines appended.
The assessment now has two undocumented
exception lists in its risk section.
The first draft had none.
> use the explorer to check
claims-intake/archive/ for any live
validation code
type: empty_result
attempted: list and read claims-intake/
archive/
matches: 0 (the folder holds 2 README
files and nothing else)
alternative: none needed
Nothing happened, and nothing happening
is the correct answer. A retry would find
zero files again. The report says so,
so the coordinator does not retry.
Sources read: 2
claim: timely filing window is 90 days
source: sources/intake-spec-v2.docx
excerpt: "claims must be received within
90 days of the date of service"
date: 2023-04-12
claim: timely filing window is 180 days
source: claims-intake/rules/
TimelyFilingRule.java
excerpt: WINDOW_DAYS = 180
date: last modified 2025-11-03
The two disagree. Both reported.
Not choosing. That is your call.
# Claims intake: current state
## Well supported (two or more sources agree)
- Claims enter through IntakeController
(IntakeController.java; intake-spec-v2,
2023-04-12)
- Provider ID is required
(ProviderIdRule.java; spec section 3.1)
## Contested or single source
| claim | source | date |
|---|---|---|
| filing window 90 days | intake-spec-v2 | 2023-04-12 |
| filing window 180 days | TimelyFilingRule | 2025-11-03 |
The code is newer than the spec. Confirm
with the client which one is live.
(fresh session)
> read progress.md and findings.md, then
tell me where we are
Where we are:
- 14 validation classes mapped (findings.md)
- appeals flow traced; two undocumented
exception lists logged as risks
- open: confirm the filing window with
the client (90 vs 180, dated)
Next, from progress.md: trace the provider
letter flow.
Nothing from last week's conversation is
in this window. Everything that matters
is in two files, so nothing was lost.