The Research Commons exposes a canonical `application/ld+json` alternate at
`/research/commons/catalog` and an `application/schema+json` packet contract at
its canonical `$id`, `/schemas/research-commons-packet/v1`. Both are linked from
the public Commons and sitemap, use public cache and CORS headers, and enumerate
no draft or unapproved research. The catalog also advertises the public,
data-free production-question export contract at
`/schemas/production-question-export/v1`; private question exports are never
cataloged or served.
Meta Museum's research-question cluster is an editorial release candidate, not an automatically published SEO farm. Six substantive method guides cover identity reconciliation, provenance gaps, conflicting sources, reproducible citation, responsible AI assistance, and expert-review packets. Each guide leads to the device-local Research Commons, private qualification assessment, bounded expert review, or research kit.
Publication gate
`config/research-question-publication-approval.json` fails closed. Until
`approved` is true and an attributable reviewer, valid approval time, HTTPS
review record, exact editorial-contract SHA-256, and four explicit review
decisions are retained, the hub and guides emit `noindex,nofollow` and are
excluded from the sitemap. Generating copy, passing tests, or assembling a
digest cannot authorize publication.
The approval now binds a stable editorial-content contract rather than the
full release digest. This avoids a circular approval in which changing the
approval file changed the digest being approved. Run
`pnpm research:question-publication-readiness` to produce the exact six-guide
contract and blank review record, then rerun with
`-- --approval=<approved-editorial-contract.json>`. Claims and sources,
usefulness, rights/privacy, and desktop/mobile accessibility require separate
affirmative decisions plus an accountable reviewer code and HTTPS evidence
record. The command never publishes or deploys anything.
Before approval, a qualified editor and researcher must verify every claim and outbound source, challenge the usefulness and originality of every guide, check rights and privacy boundaries, inspect desktop/mobile accessibility, and bind approval to the exact release digest. Publication approval does not establish scholarly novelty, external demand, expert endorsement, revenue, or income.
Aggregate funnel
Consent-gated events measure guide-to-Commons, guide-to-assessment, guide-to-review, and guide-to-kit actions, plus Commons packet assembly and download. The organic-income importer and cockpit expose these only as aggregate counts. They contain no direct identifiers and never count as research validation or income. Only provider-confirmed live settlements less refunds, processor fees, and attributable costs can establish net income.
The canonical contribution hub also measures four mutually legible next-step
opens: reproduce a claim, inspect the correction policy, compare workflows, and
challenge the method. The importer retains each aggregate and their sum. A+
acquisition still requires a separate consented, pseudonymous,
human-qualification receipt for an eligible review request or completed
reproduction; these navigation events can never supply that proof.
Open-source discovery
Repository-native `CITATION.cff` and `codemeta.json` records are synchronized
with `/api/research/software`, linked by the Commons catalog and public page,
and covered by release tests. They provide citation and contribution discovery
without claiming a DOI, archival deposit, external reuse, or endorsement. See
`open-source-discovery.md`(open-source-discovery.md).
Editorial rule
New pages must begin with a real researcher question, a reproducible method, primary method references, alternative explanations, refusal boundaries, and a qualified next action. No agent may invent case facts, manufacture citations, declare novelty, publish, contact experts, or activate commercial terms. Thin keyword variants should be rejected rather than generated.
Approved-research landing candidates
`pnpm research:seo-candidate` is the bounded bridge from a separately reviewed,
explicitly publication-approved report to a canonical landing-page candidate.
It binds the complete input report digest and carries citations, limitations,
missing evidence, structured data, and internal links, but never writes a route
or authorizes publication or indexing. The current under-review dossier is
correctly refused. See
`seo-candidate-generation.md`(seo-candidate-generation.md).
An approved candidate is still rejected when its retained validation release
digest differs from the current research release. For an exact-release candidate,
run `pnpm research:organic-publication-manifest -- --input=<seo-candidate.json>
--output=<new-manifest.json>`. The non-overwriting output contains only hashes,
expected canonical/robots/sitemap/structured-data/feed state, implementation
targets, and verification commands. It strips private validation evidence and
does not write code, publish, deploy, request indexing, submit a sitemap, contact
anyone, send email, or authorize payment.
Before implementation, run `pnpm research:organic-publication-manifest --
--input=<same-seo-candidate.json> --verify=<manifest.json>`. Verification replays
the projection from the retained candidate instead of trusting the manifest's
outer hash; rehashed edits to robots, sitemap, structured-data, feed, targets,
commands, or authority fail.
The reports index is independently fail-closed. With no attributable
publication-approved reviewed finding it emits `noindex,follow`, remains absent
from the sitemap, and publishes `CollectionPage` JSON-LD that reports zero
reviewed findings and the under-review boundary. Hub and report sitemap entries
appear only when status, channel, approval, reviewer, and review time all satisfy
the shared indexability predicate. The report must also retain the separate
publication decision's accountable approver code, public HTTPS evidence URL,
source-report and validation-artifact SHA-256 values, approval time, and explicit
citation, limitation, rights, and novelty-framing approvals. Status edits alone
cannot activate indexing.