docs: the OSS landing page and adopter docs, served from the app - #78
Open
adamstankiewicz wants to merge 14 commits into
Open
docs: the OSS landing page and adopter docs, served from the app#78adamstankiewicz wants to merge 14 commits into
adamstankiewicz wants to merge 14 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 18:49
7022a81 to
5726a06
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 18:55
5726a06 to
c7fb787
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 18:56
c7fb787 to
509b8d0
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 19:06
509b8d0 to
fdc7c63
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 19:14
fdc7c63 to
2b96ddd
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 19:28
2b96ddd to
871257d
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 19:38
871257d to
bf81253
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 19:41
bf81253 to
61f3017
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 19:45
61f3017 to
60aef68
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 21:19
fdd9ed7 to
0612862
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 21:25
0612862 to
5423806
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 21:27
5423806 to
3c4c3c0
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 21:29
3c4c3c0 to
bd81da3
Compare
adamstankiewicz
force-pushed
the
docs/landing-and-docs
branch
from
August 30, 2026 21:32
bd81da3 to
374d83d
Compare
One branch carrying the project's public front door: - docs/index.html — the a2learn landing in the warm-minimal register (Geist + Source Serif, warm paper, verification green as the only accent): agent-session hero, interactive loop demo, manifesto, lineage section (H5P, xAPI/Caliper, LTI, open platforms), named activity types. - docs/README.md — the adopter docs index and the two ground rules. - docs/quickstart.md — connector setup, self-hosting, and the full configuration reference. - docs/registry.md — the centerpiece: the widget registry API. The two-registry design and why, WidgetCatalogEntry and WidgetGenerator contracts, who reads the registry, the add-a-kind recipe, and the hand-maintained-union limitation, stated plainly. - docs/mcp-tools.md — show_widget and score_draft as shipped, the widget shell, and the planned v0.1 surface (find_activity, MCP_ACCESS_TOKEN, /api/v0) labeled as planned. - docs/evidence.md — the interaction event contract, its honesty rules, what reads it, the student-identity boundary, and the universal WidgetResult direction. - docs/architecture.md — the four seams and where student data cannot go. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
/docs renders the markdown under docs/ through a whitelist of slugs (no filesystem walk), with GitHub-relative links rewritten to their app routes or GitHub blob URLs. The static landing ships as /open.html. Pages are prerendered; unknown slugs 404. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two additions from the comparables research: STACK/Numbas as the proof the open-practice-engine category works and lasts, and the OpenTelemetry / Sentry / Home Assistant playbooks (neutral contract governance, SDK-first adoption, registry-as-contribution-ladder). The open-beats-owned creed item now cites observability's version of the same experiment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- New Learn section: the-loop.md (practice as a tool call, the three return edges, the unbuilt edge named) and pedagogy.md — the learning-science lineage of every structural choice (backward design, gradual release, retrieval practice, worked examples, formative loops, feedback discipline, rich evidence, structural review) plus the roadmap for deeper grounding, under the no-folklore-claims policy. - Configuration reference extracted from the quickstart into its own page. - Docs home rewritten audience-first (tutor builders, evaluators, educators, contributors) with a grouped Learn/Guides/Reference TOC. - /docs route gains a sticky grouped sidebar on desktop; small screens keep the wrapped nav row. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…loop closes Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Where this sits relative to project-based learning (the scaffolding layer projects need, per the guided-instruction critique — never claimed as PBL support), and the Failure to Disrupt warnings the design answers or honestly cannot: routine assessment, the Matthew effect, the pedagogy of poverty. Teacher Moments noted as kindred OSS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per the positioning steer: the registry API and custom experiences are the product; the sixteen built-ins are seed content. The hero meta says 'extensible activity registry' instead of a count, the full kind gallery compresses to four examples plus a dashed '+ your kind · one file' chip, and a new bullet names the extension API before the collection. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
One sentence in three registers, the two approved category attachments, the enemy (passive consumption, with the PNAS fact phrased exactly so it can't drift), one move per audience, the NOT-list, voice rules including framework-first, an approved/banned claims table, the proof hierarchy, and boilerplate for About fields and announcement leads. Published openly, in a new Project section of the docs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…hannel Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The app's own wire format maps to it at the boundary and conformance is tracked openly; an evaluator who greps for A2UI should find the claim matching the code. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…group forming, not one maintainer Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Follows the rename downstack. `audience` is the documented argument; the row for `gradeHint` stays so a reader of the deployed tool finds it and learns it is an alias rather than guessing the doc is stale. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
audienceHint replaces the bare name in show_widget's table, matching c3cacf3's boundary rule — audience stays reserved for the scheme-scoped, verified manifest field. find_activity graduates out of the planned section: it merged to main and answers on the production endpoint, so documenting it as unshipped had become the dishonest direction. Its new section states the ranking honesty contract (semantic vs lexical). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
What & why
The project's public front door, one branch: the a2learn landing (
docs/index.html, also served at/open.html) in the warm-minimal register — agent-session hero, interactive loop demo, manifesto, what-we-won't-claim, prior-art spanning H5P/xAPI/LTI/STACK/Numbas and the OpenTelemetry/Sentry/Home Assistant playbooks — plus Diátaxis-shaped adopter docs (Learn/Guides/Reference/Project) served from the app at/docsvia a slug whitelist over the same markdown GitHub renders. Framework-first per the positioning rule: the registry API leads; built-in kinds are seed content. The messaging guide (claim-hygiene rules, boilerplate) ships in the Project section.Type of change
Breaking or contract changes
None — new routes and static files only.
docs/mcp-tools.mdfollows theaudiencerename downstack:audienceis the documented argument and thegradeHintrow stays, marked as the aliasshow_widgetshipped with, so a reader of the deployed tool finds it rather than assuming the doc is stale. Docs describing branch-resident features (#75, #76, #79) mark them as planned/merging; merge this last so the docs are literally true on arrival.How it was verified
pnpm lintandrm -rf .next && npx tsc --noEmitpnpm build— all/docs/*routes prerender; slug whitelist 404s unknown paths (no filesystem walk)Authorship
package.json/pnpm-lock.yamlchanges🤖 Generated with Claude Code