What Sercrod Is
Status: implemented conceptual model.
Sercrod is an attribute conveyor for HTML. It adds explicit connections between data, DOM, actions, results, and external capabilities without taking ownership of the whole page.
The authored page remains visible. A declaration says what to read, what to write, which capability is requested when one is needed, and where the effect belongs. Sercrod applies those declared connections inside a host boundary.
The boundary
A <serc-rod> custom element is a host. It owns
Sercrod processing for its own subtree, while ordinary HTML outside that
host remains ordinary HTML. Nested hosts are independent boundaries: a
parent does not render through a child host's stored template.
This is why Sercrod can coexist with server-rendered pages, static documents, other tools, browser behavior, and application-owned JavaScript. It is not a virtual-DOM framework or a page-level controller.
Responsibilities stay separate
| Responsibility | Owner |
|---|---|
| Declare data flow, actions, and placement in HTML | Application author |
| Evaluate Sercrod declarations and render within a host | Sercrod Core |
| Slot assignment, Shadow DOM scoping, fetch, and WebSocket transport | Browser |
| Library-specific creation, calls, subscriptions, and disposal | Capability adapter |
| Business policy, authentication, persistence policy, and UI policy | Application |
An adapter does not turn Sercrod into a universal library abstraction. It performs a capability-specific task while Core retains explicit routing, response placement, ownership, and cleanup boundaries.
The visible model
authored HTML
-> host scope and expression evaluation
-> rendering or explicit action
-> optional capability adapter and environment backend
-> allowed response placement or error reporting
-> owner-based cleanup when the resource is replaced or removed
The detailed execution steps are in The Runtime Flow.
Important non-assumptions
- Sercrod does not discover arbitrary page changes through a global observer.
sercrod-changeis an inspection notification, not the render scheduler.- Expressions are trusted template code, not a sandbox for untrusted input.
- HTML-producing output is a different and higher-risk path from text output.
- A capability request does not imply identical behavior across browser, Capacitor, and Tauri environments.
Evidence
Status: implemented.
Evidence: docs/spec/runtime.md — Scope and Host Model,
public Coexistence
By Design, public adapter
reference, and canonical manual dist/man.json.