Skip to content

Redesign ProxyFeatures API architecture - #91

Open
remdui wants to merge 40 commits into
mainfrom
api-redesign
Open

Redesign ProxyFeatures API architecture#91
remdui wants to merge 40 commits into
mainfrom
api-redesign

Conversation

@remdui

@remdui remdui commented Aug 6, 2026

Copy link
Copy Markdown
Member

Summary

Implements the ProxyFeatures 3.3.0 clean API reset and completes the architecture, runtime, testing, and documentation work from the redesign plan.

Architecture

  • separates the dependency-free public API, reusable toolkit, wire-only contracts, and Velocity runtime
  • makes the plugin instance the authoritative ProxyFeaturesApi
  • replaces reflective discovery and feature metadata companions with an explicit typed 33-feature manifest
  • validates dependencies before startup and uses topological startup with reverse-order shutdown
  • owns capability and extension registrations through feature lifecycle scopes
  • removes the legacy discovery, service-directory, duplicate API implementation, compatibility, and runtime migration paths
  • enforces that feature implementations do not import one another

API and runtime

  • adds typed capabilities, lifecycle-safe CapabilityRef, immutable DTOs, stable identifiers, and explicit extension points
  • narrows the contracts module to the seven cross-process wire messages
  • moves reusable HTTP, configuration, cache, localization, text, JSON, and pagination support into focused toolkit packages
  • hardens configuration list mutation, feature reload behavior, sanctions filtering/time handling, VersionCheck configuration, and CommandRelay durability tests
  • distinguishes feature-local soft reloads from full framework lifecycle reloads in acceptance coverage

Validation

Exact-head checks on 6478dae6a2688806e839cf8bf1226279c361e733 are green:

  • CI lint, Checkstyle, and shell/release-script validation
  • full ./mvnw -U -B -ntp verify reactor
  • 18 API tests
  • 65 toolkit tests
  • 21 contracts tests
  • 815 Velocity tests
  • JaCoCo coverage enforcement
  • dependency convergence, upper-bound, declaration, and duplicate-class checks
  • architecture and public-surface boundary tests
  • API, toolkit, contracts, and distribution JAR-content audits
  • external consumer compilation against public artifacts only
  • real Velocity startup, command persistence, soft reload, lifecycle reload, capability replacement, manual-state cleanup, and clean shutdown

Breaking changes

This is an intentional 3.3.0 clean break. Legacy shims, compatibility adapters, reflection-based feature discovery, and runtime migration readers are not retained.

See docs/MIGRATING-3.3.md, docs/API.md, docs/ARCHITECTURE.md, and docs/API-REDESIGN-VALIDATION.md.

@remdui
remdui marked this pull request as ready for review August 6, 2026 10:13
@remdui remdui mentioned this pull request Aug 6, 2026
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