chore: tidy completed plans/proposes & refresh stale docs#34
Conversation
Move completed plans to plans/completed/: - PLAN-CLIENT-ROLE-RENAME.md (PR #33 merged) - PLAN-CROSS-SERVICE-RESOLUTION-FLAG.md (PR #30 merged) - PLAN-FEIGN-NOT-AN-EXPOSER.md (PR #31 merged) Move completed proposes to propose/completed/: - CLIENT-ROLE-RENAME-PROPOSE.md (PR #28 merged) - CROSS-SERVICE-RESOLUTION-FLAG-PROPOSE.md (PR #26 merged) - FEIGN-NOT-AN-EXPOSER-PROPOSE.md (PR #25 merged) Refresh active docs: - README.md "Deferred" section: trace_request_flow, find_route_callers, HTTP_CALLS/ASYNC_CALLS are shipped (not deferred). Add explicit pointers to the still-active TIER2-INCREMENTAL-REBUILD and REFRESH-CODE-INDEX-AUTO-MODE proposes for the incremental Kuzu work. - CODEBASE_REQUIREMENTS.md A.3: drop the stale 'ontology version 3' literal (now 9) and fix references to PLAN-CAPABILITIES-MODEL and CALL-GRAPH-PROPOSE to use their completed/ paths. Tense matches reality (call-graph layer is shipped, not deferred). - CODEBASE_REQUIREMENTS.md B.9: same fix for the propose/DEFERRED-CALL-GRAPH-PROPOSE.md reference; the propose lives under propose/completed/CALL-GRAPH-PROPOSE.md. No code changes. Test baseline unchanged: 290 passed, 4 skipped.
…odebaseProducer Per pushback on PR #34: the route, client, and producer brownfield annotations were mentioned 4x in README + CODEBASE_REQUIREMENTS but their @interface stubs were never shown inline. Users had to spelunk through tests/fixtures/ to know what to copy into their project. README §5 'Brownfield overrides — Last resort — source stubs' now has three explicit subsections: - 3a. Roles & capabilities — @CodebaseRole / @CodebaseCapability / @CodebaseCapabilities (class-level), with usage example. - 3b. Routes — @CodebaseRoute / @CodebaseRoutes + CodebaseRouteFrameworkKind / CodebaseRouteKind (method-level), with HTTP-endpoint and Kafka-consumer usage examples. - 3c. Clients & producers — @CodebaseClient / @CodebaseClients and @CodebaseProducer / @CodebaseProducers (method-level), with rest_template + kafka_send usage examples. Stub Java in the doc matches the verbatim sources under tests/fixtures/brownfield_route_stubs/ and brownfield_client_stubs/ (also referenced for copy-paste). Enum values mirror VALID_ROUTE_* and VALID_CLIENT_KINDS in java_ontology.py. CODEBASE_REQUIREMENTS.md A.2.1 updated to enumerate all three annotation families (roles, routes, clients/producers) and link to the matching README sections instead of only mentioning role stubs. No code change. Test baseline unchanged: 290 passed, 4 skipped.
Follow-up: inline Java stubs for
|
| § | Annotations | Target | Example shown |
|---|---|---|---|
| 3a | @CodebaseRole / @CodebaseCapability / @CodebaseCapabilities |
class | LegacyChatService with role + 2 capabilities |
| 3b | @CodebaseRoute / @CodebaseRoutes + CodebaseRouteFrameworkKind / CodebaseRouteKind |
method | spring_mvc HTTP endpoint + kafka consumer |
| 3c | @CodebaseClient / @CodebaseClients and @CodebaseProducer / @CodebaseProducers |
method | rest_template outbound + kafka_send producer |
The route enum values mirror VALID_ROUTE_FRAMEWORKS / VALID_ROUTE_KINDS; the clientKind strings note the valid set (feign_method, rest_template, web_client, kafka_send, stream_bridge_send) and the warn-and-drop behaviour. Stub Java in the doc matches the verbatim sources under tests/fixtures/brownfield_route_stubs/ and tests/fixtures/brownfield_client_stubs/ (still pointed at for full-file copy-paste).
CODEBASE_REQUIREMENTS.md A.2.1 — updated to enumerate all three annotation families (roles, routes, clients/producers) instead of only mentioning role/capability stubs, with cross-links to README §3a / §3b / §3c.
Tests
290 passed, 4 skipped in 54.55s
No code change. Baseline unchanged.
Diff size
CODEBASE_REQUIREMENTS.md | 21 ++++--
README.md | 172 ++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 177 insertions(+), 16 deletions(-)
Tidy completed plans/proposes & refresh stale docs
Bookkeeping PR. Moves all docs whose corresponding PR has merged into the existing
completed/subfolders, and fixes a handful of broken/outdated references inREADME.mdandCODEBASE_REQUIREMENTS.md.Plans →
plans/completed/PLAN-CLIENT-ROLE-RENAME.mdPLAN-CROSS-SERVICE-RESOLUTION-FLAG.mdPLAN-FEIGN-NOT-AN-EXPOSER.mdProposes →
propose/completed/CLIENT-ROLE-RENAME-PROPOSE.mdCROSS-SERVICE-RESOLUTION-FLAG-PROPOSE.mdFEIGN-NOT-AN-EXPOSER-PROPOSE.mdActive docs left in place (intentional)
propose/PRODUCT-VISION.md— vision doc, not a feature proposepropose/RANKING-MICROSERVICE-PROPOSE.md— explicitly deferred (revisit after cross-microservice edges land in production usage)propose/REFRESH-CODE-INDEX-AUTO-MODE-PROPOSE.md— active, partner to incremental rebuildpropose/TIER2-INCREMENTAL-REBUILD-PROPOSE.md— active, ready for planningpropose/ENHANCED-ROLE-RECOGNITION-PROPOSE.md— active (supertype detection likeJpaRepositoryis not inast_java.pyyet)Active doc fixes
README.md §6 "Deferred"
trace_request_flowis shipped — removed from "remaining graph work"HTTP_CALLS/ASYNC_CALLS/find_route_callers/ brownfield composition layer all shipped — note that explicitly so future readers don't think they're still deferredTIER2-INCREMENTAL-REBUILD-PROPOSE.md,REFRESH-CODE-INDEX-AUTO-MODE-PROPOSE.md)get_service_topologyis the only truly-not-yet-shipped item from the original list; kept it explicitCODEBASE_REQUIREMENTS.md A.3 (Capabilities)
(version 3)literal — currentONTOLOGY_VERSIONis 9plans/PLAN-CAPABILITIES-MODEL.md→plans/completed/PLAN-CAPABILITIES-MODEL.mdpropose/DEFERRED-CALL-GRAPH-PROPOSE.md(never existed under that name) →propose/completed/CALL-GRAPH-PROPOSE.mdCODEBASE_REQUIREMENTS.md B.9 (custom edge types)
propose/DEFERRED-CALL-GRAPH-PROPOSE.md→propose/completed/CALL-GRAPH-PROPOSE.mdfixRisk
Zero code change. Tests baseline unchanged: 290 passed, 4 skipped (matches post-PR-H1 master).
Why now
After PR-F1 (#31), PR-G1 (#30), and PR-H1 (#33) all merged in this session, six docs accumulated in the active
plans/andpropose/directories that no longer represent open work. Active vs completed should match reality.