- A frozen wire contract, JSON Schemas, valid fixtures, invalid fixtures, and a canonical digest vector.
- Swift and TypeScript implementations that agree on validation, canonicalization, and SHA-256 addressing.
- Service Card profiles, provider resolution, confirmation and authorization gates, adapter dispatch, and provenance records.
- A runnable travel workflow that exercises discovery, planning, policy interruption, payment challenge, and result rendering.
Let the Web say what can be done.
The Web already links people, data, and services. Hyperactive Web v0.1 asks whether an invocable affordance can travel just as well: a typed declaration of inputs, outputs, protocol binding, authorization, risk, and consent cues—interpreted by software while authority stays with the user.
- runtime stacks
- 2
- shared fixtures + vectors
- 12
- standards claims
- 0
A portable declaration of an affordance.
Forms, HTTP methods, link relations, hypermedia controls, and software agents already belong to the Web. The problem is narrower: agent protocols describe callable tools differently, and the policy information around an action rarely travels with it.
A Capability Link is the v0.1 experiment: a typed hypermedia control that declares the action contract and a binding, then leaves the final authorization decision to a local runtime. It extends the Web’s vocabulary; it does not replace hyperlinks, browsers, HTTP, or human-readable pages.
URIs identify resources. Representations, forms, HTTP methods, and typed links already describe interaction.
Carry a portable action contract across agent protocols, then evaluate authority and consent locally.
Small enough to inspect. Precise enough to test.
The declaration is ordinary JSON in v0.1. Its selected contract fields canonicalize to the same bytes and SHA-256 digest in Swift and TypeScript. That proves exact declaration equality—not semantic equivalence or provider trust.
{
"rel": "travel.searchHotels",
"href": "a2a+https://provider.example/skills/search-hotels",
"method": "delegate",
"inputSchema": {
"type": "object",
"required": ["city"]
},
"outputSchema": { "type": "object" },
"declaredRisk": "readOnly",
"requiresConfirmation": false
}A call, with the human still in the loop.
Discovery is not authority. The runtime validates what was declared, resolves a binding, evaluates local policy, pauses when consent or credentials are required, invokes through an adapter, and retains evidence of what occurred.
“Find and book a refundable hotel in Stockholm.” Your node turns it into a plan — and composes the steps.
v0.1 policy still relies partly on publisher-declared risk. Independent local classification and stricter limits for fan-out, retries, and caching are design gates—not solved problems.
Built on the Web. Measured against it.
The strongest version of this idea is a profile of existing architecture, not an island of new terms. These are the foundations and the questions they impose on the experiment.
Not a badge. A chain of evidence.
The proposed v0.2 profile records contributions instead of guessing a single human-or-AI verdict. It keeps the principal, node, actor, executor, model, signer, issuer, and verifier distinct.
Read the formal v0.2 profile (opens in a new tab)Start with the ordinary HTTP example (opens in a new tab)Contributions
Prompted, generated, edited, reviewed, approved, signed, and delivered roles remain visible.
Evidence
Signed statements bind exact artifacts to credentials, model attestations, mandates, and receipts.
Verification
Consumers report content binding, identity, participation, chronology, transparency, and lineage separately.
Honest uncertainty
Missing or stripped provenance means unknown—not proof that something was human-made.
Post-quantum migration
PQ is the durable baseline; hybrid-strict proofs preserve classical interoperability without making it the trust anchor.
Working code, clearly separated from the hypothesis.
- Replace or profile the experimental capability address and composed protocol schemes with Web-native identification and binding metadata.
- Map the contract to Web of Things, JSON-LD, and URI-valued link relations before adding vocabulary.
- Classify risk independently of publisher claims and define safe behavior for retries, caching, fan-out, and partial failure.
- Complete privacy, security, accessibility, internationalization, governance, and centralization reviews with real deployments.
- Contribution graphs distinguish human, agent, model, tool, signer, issuer, and verifier roles.
- Signed statements bind exact artifacts to evidence, delegation, model identity, and declared lineage.
- Verification reports separate content binding, identity, participation, chronology, and transparency checks.
- Missing provenance remains unknown; the profile does not invent a human-made or AI-made verdict.
Help decide whether this should become a profile, a mapping, or a lesson learned.
- 01Is Web of Things the correct foundation for portable agent affordances?
- 02Should the primary identity always be a dereferenceable HTTPS URI?
- 03Which policy facts belong in a portable declaration—and which must remain local?
- 04What smallest pilot could falsify the interoperability claim?