expand bank-chat fixture with brownfield integration coverage#199
Conversation
Adds notification, audit, reporting, and in-corpus @codebase* annotations to the test corpus, plus Tier-1 pytest guardrails and fixes for client_kind and cocoindex increment touch paths exposed by the larger tree. Co-authored-by: Cursor <cursoragent@cursor.com>
HumanBean17
left a comment
There was a problem hiding this comment.
Review summary
Direction: Good — fills a real Tier-1 gap that tests/fixtures/brownfield_* stubs cannot cover (annotations defined in chat-contracts, consumed across assign / app / engine on the session bank graph).
Necessity: Partially. The brownfield integration story, Feign client_kind coverage, CLI increment touch-path fix, and test_bank_chat_brownfield_integration.py guardrails are warranted. Most of the ~1.3k LOC of notification/audit/reporting domain is not exercised by any new assertion — only 8 @Codebase* usages drive the new tests. A ~10–15 file focused slice would satisfy the same guardrails and align better with tests/README.md rule 5 (“keep the fixture small”).
What works well
- Tier-1 layout matches README: contracts hold
@Codebase*definitions; usage spans modules; session graph pass1–5 (no pass6). test_find_client_by_client_kindfix is correct — displayfqndoes not embedclient_kind; verify vialist_clients()/ graph columns after Feign clients were added.test_increment_updates_lance_after_touch_java_file— touch under Mavensrc/main/javamatches indexer walk semantics.- No production/indexer/
ontology_versionchurn; assertions stay loose (>= 1, set checks, meta> 0).
Suggestions (non-blocking)
- Fixture size: Consider trimming notification/audit/reporting bulk unless a follow-up test or manual-verification checklist needs it — every Tier-1 test pays session graph build cost on the larger tree.
- PR hygiene: A short propose (Tier-1 goals, bank-chat vs
brownfield_*split, timing before/after) would match repo culture for a ~1.4k-line fixture change; README also asks for wall-time notes on large refactors. - Minor:
ChatCoreFeignClientimportingJoinOperatorRequestfromchat-appis a slightly odd cross-module edge in a toy corpus — fine if intentional.
Recommendation
Approve the intent (Tier-1 brownfield + test fixes). Optional follow-up: trim unused domain files or document why they stay (e.g. future describe/hints scenarios). Not a reason to reject — the gap and fixes are real.
Adds notification, audit, reporting, and in-corpus @codebase* annotations to the test corpus, plus Tier-1 pytest guardrails and fixes for client_kind and cocoindex increment touch paths exposed by the larger tree. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
tests/bank-chat-system/with notification, audit, reporting, HTTP/async integration, and in-corpus@Codebase*brownfield annotations (definitions inchat-contracts, usage across assign/app/engine).tests/test_bank_chat_brownfield_integration.pyfor brownfield routes, clients, async Layer-C, and@CodebaseProducerson the session bank graph (pass1–5, no pass6).test_find_client_by_client_kind(verifyclient_kindvia graph rows, not displayfqn) andtest_increment_updates_lance_after_touch_java_file(touch file under Mavensrc/main/java).tests/README.mdfixture tree and Feign/brownfield guidance.Test plan
.venv/bin/ruff check ..venv/bin/python -m pytest tests -q— 698 passed, 8 skippedroutes_from_brownfield_pct~33%,http_clients_from_brownfield_pct~12.5%,async_producers_from_brownfield_pct~33%No indexer /
ontology_versionchanges (fixture + tests only).Made with Cursor