Skip to content

feat(protocols): p.Service is the truthful service surface (V8 S4) - #508

Merged
marlon-costa-dc merged 2 commits into
0.12.0-devfrom
feat/v8-s4-truthful-service-protocol
Sep 26, 2026
Merged

marlon-costa-dc merged 2 commits into
0.12.0-devfrom
feat/v8-s4-truthful-service-protocol

Conversation

@marlon-costa-dc

@marlon-costa-dc marlon-costa-dc commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Slice S4 of plan V8 (bead flext-4jtcb.10), core step after the members (flext-web #106, flext-oracle-oic #112, flext-db-oracle #113 merged).

  • p.Service declared five members no FlextService implements (service_info, valid, validate_business_rules, ok, fail_op), so isinstance(real_service, p.Service) was False.
  • It now inherits the runtime surface from MixinsInfrastructure (declared once, R30: settings, container, context, logger, track, runtime seeds) and adds only execute.
  • p.Executable (zero fleet uses, same phantom service_info) removed.
  • The tautological isinstance-of-own-base test is replaced by the protocol contract and a negative case (a plain model is not a service).

Runtime: isinstance(Echo(), p.Service) is True (was False).
Local pre-push gate GREEN: gen (clean tree), audit, check, test.

🤖 Generated with Claude Code


Summary by cubic

Makes p.Service match the surface every real service implements, so isinstance(real_service, p.Service) is now True instead of False.

  • Inherits the runtime surface from MixinsInfrastructure and adds only execute, dropping five declared members that no service implements.
  • Removes the unused p.Executable protocol, which carried the same phantom service_info.
  • Replaces the tautological isinstance-of-own-base test with the protocol contract plus a negative case.

Written for commit e856965. Summary will update on new commits.

Review in cubic

Marlon Costa and others added 2 commits September 26, 2026 16:32
p.Service declared five members no FlextService implements (service_info, valid, validate_business_rules, ok, fail_op), so isinstance(real_service, p.Service) was False. It now inherits the runtime surface from MixinsInfrastructure (declared once: settings, container, context, logger, track, runtime seeds) and adds only execute; every real service satisfies it. The members that consume those capabilities already declare them in their own protocols (flext-web #106, flext-oracle-oic #112, flext-db-oracle #113). p.Executable, unused fleet-wide and carrying the same phantom service_info, is removed. The tautological isinstance-of-own-base test is replaced by the protocol contract and a negative case.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@marlon-costa-dc
marlon-costa-dc merged commit fe50ef0 into 0.12.0-dev Sep 26, 2026
8 of 10 checks passed
@marlon-costa-dc
marlon-costa-dc deleted the feat/v8-s4-truthful-service-protocol branch September 26, 2026 20:00
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