Skip to content

2. State the methods every rebindable seam must implement (docs only) - #55

Merged
nikolaystrikhar merged 2 commits into
mainfrom
41-seam-signatures
Aug 24, 2026
Merged

2. State the methods every rebindable seam must implement (docs only)#55
nikolaystrikhar merged 2 commits into
mainfrom
41-seam-signatures

Conversation

@nikolaystrikhar

@nikolaystrikhar nikolaystrikhar commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

What: adds a "What each seam must implement" section to docs/extending.md carrying the signatures and contract for all six rebindable interfaces, and corrects what the same file says about Absorber::all() and about container failures.

Usage:

class My_Checker implements Checker_Interface {
    public function is_active( string $basename ): bool { /* … */ }
    public function is_network_active( string $basename ): bool { /* … */ }
}

Why this way:

A doc that tells a host to rebind a seam has to name the seam's methods. It recommended rebinding Checker_Interface while listing neither of its two, and an omission there is a fatal at class-declaration time for anyone who followed the advice without opening src/.

Signatures alone would not be enough, so each method carries its contract. That is_network_active() must be false off multisite because callers skip their own is_multisite() guard, that the activation record is written after the callback returns — what a plausible implementation gets wrong silently.

Summary by CodeRabbit

  • Documentation
    • Expanded extension guidance with implementation requirements for replaceable components.
    • Documented method responsibilities, execution order, error handling, and multisite behavior.
    • Clarified container binding during application startup.
    • Added details on configuration error handling and preserved underlying error information.
    • Clarified type references and merge-notice behavior.

@nikolaystrikhar nikolaystrikhar changed the title State the methods every rebindable seam must implement 2. State the methods every rebindable seam must implement Aug 24, 2026
@nikolaystrikhar nikolaystrikhar changed the title 2. State the methods every rebindable seam must implement 2. State the methods every rebindable seam must implement (docs only) Aug 24, 2026
@nikolaystrikhar

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Enterprise

Run ID: 25217328-1edb-4909-8554-6fe85df26a80

📥 Commits

Reviewing files that changed from the base of the PR and between 45e1c11 and 1fb5ec1.

📒 Files selected for processing (1)
  • docs/extending.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/extending.md

Included review availability: Your plan provides up to 12 included reviews per hour; 2 remain after this review.


📝 Walkthrough

Walkthrough

The extension guide now defines implementation contracts for replaceable seams, multisite behavior, boot-time container binding, and configuration error handling.

Changes

Extension contracts and boot behavior

Layer / File(s) Summary
Replaceable seam contracts
docs/extending.md
The guide documents registrar, notice-writer, deactivator, and checker requirements, including ordering, filtering, multisite behavior, and failure consequences.
Resolver and activator execution
docs/extending.md
The guide documents resolver request and capability gates, processing order, redirects, exits, activator callbacks, and once-ever completion tracking.
Container binding and error handling
docs/extending.md
The guide documents ContainerInterface binding during boot and expanded exception behavior for invalid bindings and container construction failures.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 1fb5e

This documentation-only change introduces no runtime or production behavior changes, so no actionable merge-blocking risk remains after normal checks and review.

Suggested reviewers: d4mation

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the documentation change to define methods for each rebindable seam.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 41-seam-signatures

Comment @coderabbitai help to get the list of available commands.

@nikolaystrikhar
nikolaystrikhar merged commit 906b5fb into main Aug 24, 2026
6 checks passed
@nikolaystrikhar
nikolaystrikhar deleted the 41-seam-signatures branch August 24, 2026 13:59
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.

2 participants