data: add Anchor Browser startup program - #1551
Closed
NidhalxMRR wants to merge 1 commit into
Closed
NidhalxMRR wants to merge 1 commit into
NidhalxMRR wants to merge 1 commit into
Conversation
Signed-off-by: NidhalxMRR <nidhal@users.noreply.github.com>
Member
|
Closing: this entity is already in the Catalog through #1258. To change the live record, open a pull request that edits its existing file. |
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.
Adds one new Entity record for Anchor Browser with one program and one offer.
Closes #728.
What this adds
entities/an/anchor-browser.yaml— one entity, one program, one offer. Data only; no code, schema, generated output, or evidence objects.Why this is not a duplicate
PR #733 previously covered this vendor and was closed by the maintainer because it added
vendors/an/anchor-browser.yamlbefore the 2026-08-25 cutover (commitccf88f6) that removedvendors/and madeentities/the only public data collection. It was not closed on substance. This contribution is authored fresh against the currentsourcey.entity-authoring/v1alpha1shape. No other open PR covers Anchor Browser.Source
Single first-party canonical source: https://anchorbrowser.io/startup-program (vendor's own domain, English, currently live, HTTP 200 on a plain fetch without cookies).
Every published fact traces to that page:
anchorbrowser.io/pricingreturns 404, so no pricing link is claimed inprofile.links.Modelling notes
kind: free-servicewithduration: {kind: exact, value: P6M}rather thancredit, because the 24,000 credits are a unit count bundled into the free Growth tier, not a currency amount. Thecreditbenefit shape in the pinned schema only expresses money (currency+minor_units), so encoding 24,000 credits as a money value would have invented a currency figure the vendor never published.consideration.kind: variablecarries the post-trial $24K/year Growth price and the opt-out, since it is a real condition attached to the offer rather than a fee to apply.category: hosting-infra, taken from thetaxonomy.jsonbundled with the lockfile-pinned verifier (24 categories;browser-infrais not one of them).Validation performed locally
The documented
identity-contextpreflight could not complete here:POST https://api.sourcey.com/v1/catalog-verifier/identity-contextsreturns HTTP 400invalid_request("The identity-context request does not satisfy the exact verifier query contract") for the query emitted by the lockfile-pinned verifier itself (@sourcey/catalog-verifier1.0.0, the latest published version), against releasesha256:2fff3dda.... The root-set digest check passes, so this looks like a server-side contract skew rather than anything in this branch. Flagging it in case it affects other contributors; CI is authoritative here.I therefore validated the record offline against the pinned verifier's own
retainedEntityAuthoringSchema:and ran a 26-case hostile-input harness against that same schema to confirm the check is not vacuous — empty strings, missing required fields, unknown keys in strict mode, bad enums, dangling
source_idandprogram_idreferences, duplicatebenefit_id, wrong types, non-ISO datetimes, malformed durations, unicode, whitespace-only and 5000-char summaries. The baseline record passes, every malformed variant is rejected with a specific field error, and 0 of 26 cases mismatched expectations.One incidental finding worth passing on: setting
offers[0].access.urlto a non-URL string ("not a url") makessafeParsethrow an uncaughtTypeError: Invalid URL(ERR_INVALID_URL) fromdist/contracts/revisions/src/index.js:26instead of returning a validation issue. Every other malformed input returns a clean error. A contributor with a typo'd URL would see a stack trace rather than a field message.DCO signed off.