ows covered, the deprecated-SDK disclosure becomes a check, and two conventions - #32
Merged
Merged
Conversation
…onventions Order was deliberate: read the page, fix the page, then ship the check green. A check that ships red teaches people to ignore it. ows/index.html read end to end and its install instruction disclosed. Its register-and-attest flow (steps 3-5) has no replacement package, so the fix is a disclosure rather than a swap, matching integrate/ and the four pages that already did this. NEW CHECK: $requiresDisclosure. Not a forbidden stem — naming the package is allowed where nothing replaces the flow; naming it SILENTLY is not. Any file containing @observer-protocol/sdk, @observerprotocol/sdk or "pip install observer-protocol" must also contain the stem "deprecat" somewhere on the page. Stem, not phrase: the last four vocabulary misses on this site were all a matcher that knew one spelling of its subject. Exercised in BOTH directions before trusting it, not just run: - removing the disclosure from ows/index.html -> exit 1 - adding a silent mention to agents.html -> exit 1 - both restored -> exit 0 The first attempt to verify this reported exit 0 for the failing case because the exit code came from `head` in the pipeline rather than from node. Measured again without the pipe. integrate/index.html: the counterparty DID is named as no longer resolving rather than removed. hyperbolic.xyz redirects to hyperbolic.ai and /.well-known/did.json returns 404 there. The transaction stays and gains its block number — Base mainnet 45319014 — because that is the evidence and it is checkable. On a page arguing independent verifiability, a reader who tries the DID and gets 404 learns the page is unreliable; a reader who is told learns it is careful. The relationship with the company is not represented either way. CONVENTIONS §8: reading and the check each catch what the other cannot. Reading found four assertions a case-sensitive literal matcher could not see; the widened matcher then found two more, one on a line read end to end minutes earlier. Neither is sufficient, in those words. CONVENTIONS §9: confirm a state by fetching the thing, never by reading a write's response — the Netlify API echoes password:false even on success. A write's response is a claim about the request, not a measurement of the result. Same section records that a covered/uncovered list must be diffed against a command-derived population.
✅ Deploy Preview for observerprotocol ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Order was deliberate: read the page, fix the page, then ship the check green. A check that ships red teaches people to ignore it.
ows/index.html— read end to end, install instruction disclosedIts register-and-attest flow (steps 3–5) has no replacement package, so the fix is a disclosure rather than a swap, matching
integrate/and the four pages that already did this.New check:
$requiresDisclosureNot a forbidden stem. Naming the package is allowed where nothing replaces the flow; naming it silently is not. Any file containing
@observer-protocol/sdk,@observerprotocol/sdkorpip install observer-protocolmust also contain the stemdeprecatsomewhere on the page.Stem, not phrase — the last four vocabulary misses on this site were all a matcher that knew one spelling of its subject.
Exercised in both directions before trusting it, not just run:
ows/index.htmlagents.htmlThe first attempt to verify this reported
exit 0for the failing case, because the exit code came fromheadin the pipeline rather than from node. Measured again without the pipe. A base case read through a broken instrument is not a base case.integrate/index.html— Q4The counterparty DID is named as no longer resolving rather than removed.
hyperbolic.xyzredirects tohyperbolic.aiand/.well-known/did.jsonreturns 404 there.The transaction stays and gains its block number — Base mainnet 45319014 — because that is the evidence and it is checkable. On a page arguing independent verifiability, a reader who tries the DID and gets a 404 learns the page is unreliable; a reader who is told learns it is careful. It also makes a real point about the method: a
did:webis only as durable as the domain serving it.The relationship with the company is not represented either way.
Conventions
§8 — Reading and the check each catch what the other cannot. Neither is sufficient. Reading found four assertions a case-sensitive literal matcher could not see; the widened matcher then found two more, one on a line read end to end minutes earlier. With the two corollaries: put your own new prose inside the matcher, and a sweep that found three variants is not evidence there was no fourth.
§9 — Confirm a state by fetching the thing, never by reading a write's response. The Netlify API echoes
password: falseeven on success. A write's response is a claim about the request, not a measurement of the result. Same section records that a covered/uncovered list must be diffed against a command-derived population.All three checks green.