Skip to content

chore: tidy completed plans/proposes & refresh stale docs#34

Merged
HumanBean17 merged 2 commits into
masterfrom
chore/tidy-md-files
May 6, 2026
Merged

chore: tidy completed plans/proposes & refresh stale docs#34
HumanBean17 merged 2 commits into
masterfrom
chore/tidy-md-files

Conversation

@HumanBean17
Copy link
Copy Markdown
Owner

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 in README.md and CODEBASE_REQUIREMENTS.md.

Plans → plans/completed/

File Implementing PR
PLAN-CLIENT-ROLE-RENAME.md #33 merged
PLAN-CROSS-SERVICE-RESOLUTION-FLAG.md #30 merged
PLAN-FEIGN-NOT-AN-EXPOSER.md #31 merged

Proposes → propose/completed/

File Status
CLIENT-ROLE-RENAME-PROPOSE.md #28 merged, plan implemented in #33
CROSS-SERVICE-RESOLUTION-FLAG-PROPOSE.md #26 merged, plan implemented in #30
FEIGN-NOT-AN-EXPOSER-PROPOSE.md #25 merged, plan implemented in #31

Active docs left in place (intentional)

  • propose/PRODUCT-VISION.md — vision doc, not a feature propose
  • propose/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 rebuild
  • propose/TIER2-INCREMENTAL-REBUILD-PROPOSE.md — active, ready for planning
  • propose/ENHANCED-ROLE-RECOGNITION-PROPOSE.md — active (supertype detection like JpaRepository is not in ast_java.py yet)

Active doc fixes

README.md §6 "Deferred"

  • trace_request_flow is 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 deferred
  • Incremental Kuzu work now points at the active proposes (TIER2-INCREMENTAL-REBUILD-PROPOSE.md, REFRESH-CODE-INDEX-AUTO-MODE-PROPOSE.md)
  • get_service_topology is the only truly-not-yet-shipped item from the original list; kept it explicit

CODEBASE_REQUIREMENTS.md A.3 (Capabilities)

  • Dropped the stale (version 3) literal — current ONTOLOGY_VERSION is 9
  • Fixed reference: plans/PLAN-CAPABILITIES-MODEL.mdplans/completed/PLAN-CAPABILITIES-MODEL.md
  • Fixed reference: propose/DEFERRED-CALL-GRAPH-PROPOSE.md (never existed under that name) → propose/completed/CALL-GRAPH-PROPOSE.md
  • Tense fix: call-graph layer is shipped, not "deferred"

CODEBASE_REQUIREMENTS.md B.9 (custom edge types)

  • Same propose/DEFERRED-CALL-GRAPH-PROPOSE.mdpropose/completed/CALL-GRAPH-PROPOSE.md fix
  • "planned shape" → "shipped shape" (call-graph PRs landed long ago)

Risk

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/ and propose/ directories that no longer represent open work. Active vs completed should match reality.

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.
@HumanBean17
Copy link
Copy Markdown
Owner Author

Follow-up: inline Java stubs for @CodebaseRoute / @CodebaseClient / @CodebaseProducer

Good catch — the brownfield annotations beyond @CodebaseRole / @CodebaseCapability were referenced in 4 places but the @interface stubs were never shown inline. Users had to spelunk into tests/fixtures/brownfield_*_stubs/ to know what to copy. Fixed in 6b6f2ea.

Changes

README.md§5 "Brownfield overrides — Last resort — source stubs" now has three explicit subsections:

§ 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(-)

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