Skip to content

Add the /docs/deep-agents website library - #937

Merged
blove merged 3 commits into
mainfrom
blove/deep-agents-docs
Sep 1, 2026
Merged

Add the /docs/deep-agents website library#937
blove merged 3 commits into
mainfrom
blove/deep-agents-docs

Conversation

@blove

@blove blove commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Builds the /docs/deep-agents/ docs library, mirroring the /docs/runtimes/ pattern from #913, and rewires the six deep-agents cockpit capabilities from the "no published docs page" sentinel to real targets.

Pages

Six MDX pages, ~4,000 words total.

  • getting-started/introduction — what the Deep Agents framework is (LangChain's agent harness: five capabilities as LangGraph middleware), that the cockpit group runs the real deepagents package at 0.7.11, and the one consolidated setup story. A Deep Agents agent is a LangGraph graph, so @threadplane/langgraph with provideAgent()/injectAgent() is the whole client wiring; the page links the LangGraph quickstart rather than re-teaching it, which replaces the boilerplate that was previously repeated in every capability guide.
  • capabilities/planningTodoListMiddleware, todos on the state, the panel as a computed() over value('todos').
  • capabilities/filesystemFilesystemMiddleware with StateBackend, the file tree from values.files, and FilesystemPermission(mode="interrupt") surfacing through the standard chat interrupt panel with a { decisions: [{ type: 'approve' }] } resume payload.
  • capabilities/subagentsSubAgentMiddleware's task tool lighting the subagent cards natively, because ['task'] is already the tracker's default subagentToolNames. Parallel fan-out attributes by exact namespace match.
  • capabilities/memoryMemoryMiddleware with StoreBackend and a cross-thread /memories/AGENTS.md.
  • capabilities/skillsSkillsMiddleware, SKILL.md progressive disclosure against the agentskills.io spec, and the CompositeBackend prefix-stripping trap.

The private-state constraint is stated rather than hidden: memory_contents and skills_metadata are annotated PrivateStateAttr, so they never appear in the streamed values. Both pages say plainly that the demo's custom-event republishing is an application-side shim, not a framework feature, and that without it the panel still fills in — just at settle rather than live.

Wiring

  • docsConfig gains a deep-agents library (getting-started + capabilities sections); LibraryId and the LibraryMark glyph map are extended in step.
  • The docs index gains one helper link, matching how /docs/runtimes is surfaced.
  • COCKPIT_DOCS_LINKS points all six deep-agents capabilities at real pages, so COCKPIT_TOPICS_WITHOUT_DOCS is now empty. The list stays: with an empty list, the guard's blanked-entry assertion forbids blanking anything at all.
  • The ten per-example descriptors declare the same paths, which the guard's descriptor derivation cross-checks.
  • cockpit-shell.spec.tsx gains a positive assertion that a deep-agents capability links at the new library, and its no-link test now drives the sentinel through a presentation override rather than through a table entry that happens to be blank.

Verification

  • apps/website: 447/447 vitest green, including docs, sitemap-dates, and structured data. The MDX was committed before the final run, per the sitemap-dates git-history requirement.
  • apps/cockpit: 422/422 green. cockpit-registry green.
  • Guard mutation: changing one slug to /docs/deep-agents/capabilities/skillz failed two independent assertions — the on-disk content-tree check and the descriptor cross-check — and both went green again on restore.
  • Dev-server render: all six pages 200, the Capabilities sidebar section renders with all five links, the BreadcrumbList library rung resolves to libraryIntroPath(), and every one of the 15 internal hrefs across the new MDX returns 200.
  • Cockpit dev server: all five capability pages and the product overview render a "Read docs" link at the matching new page.

🤖 Generated with Claude Code

blove and others added 3 commits September 1, 2026 13:45
Six pages: a getting-started introduction that consolidates the one
setup story (a Deep Agents graph is a LangGraph graph, so
@threadplane/langgraph is the whole client wiring), plus one page per
middleware capability — planning, filesystem, subagents, memory, skills.

Each capability page covers what the cockpit demo shows and how the
capability reaches the UI, sourced from the rebuilt deepagents 0.7.11
group. The private-state constraint on memory_contents and
skills_metadata is stated on both pages it affects rather than worked
around quietly.

Rewires the six deep-agents docs-links sentinels to real targets, so
COCKPIT_TOPICS_WITHOUT_DOCS is now empty and the guard's blanked-entry
assertion forbids blanking anything.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…deep-agents intro

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
threadplane Ignored Ignored Sep 1, 2026 8:47pm UTC

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove enabled auto-merge (squash) September 1, 2026 20:47
@blove
blove merged commit 5142688 into main Sep 1, 2026
34 checks passed
blove added a commit that referenced this pull request Sep 1, 2026
…untimes

The cockpit -> docs direction shipped with both libraries (COCKPIT_DOCS_LINKS
covers all six deep-agents entries and all four runtimes entries), but the
reverse table only knew the five first-iteration pages. Every deep-agents page
(#937) and every runtimes page (#913) sent its Run/Code/API buttons to Cockpit
home instead of the demo the page describes.

Add the 16 missing entries:

- deep-agents: the five capability pages map to their core-capabilities topic;
  the introduction maps to deep-agents/getting-started/overview.
- runtimes: all three pages of each runtime section (overview, quickstart,
  how-it-connects) map to that runtime's one demo, since a single demo serves
  them equally well; the introduction maps to runtimes/getting-started/overview.

Also add deep-agents and runtimes to AnalyticsLibrary. Without it every handoff
from these two libraries would have been attributed to 'unknown', so the new
links would be invisible in the funnel they exist to feed.

Each of the ten destination URLs was checked against production and returns a
hard 200. The check discriminates: an unknown topic 307s to the fallback and an
unknown product 500s, so the 200s are real pages rather than SPA soft-200s.

Tests: the exact pin is updated, plus four guards — every key names a page that
exists in docs-config (a typo'd key is otherwise invisible: the page just keeps
the Cockpit-home fallback), the deep-agents/runtimes links round-trip against
COCKPIT_DOCS_LINKS, the analytics library is no longer 'unknown', and each
runtime section's three pages resolve to the same demo. All four were
mutation-tested to confirm they fail when the mapping is wrong.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
blove added a commit that referenced this pull request Sep 1, 2026
…untimes

The cockpit -> docs direction shipped with both libraries (COCKPIT_DOCS_LINKS
covers all six deep-agents entries and all four runtimes entries), but the
reverse table only knew the five first-iteration pages. Every deep-agents page
(#937) and every runtimes page (#913) sent its Run/Code/API buttons to Cockpit
home instead of the demo the page describes.

Add the 16 missing entries:

- deep-agents: the five capability pages map to their core-capabilities topic;
  the introduction maps to deep-agents/getting-started/overview.
- runtimes: all three pages of each runtime section (overview, quickstart,
  how-it-connects) map to that runtime's one demo, since a single demo serves
  them equally well; the introduction maps to runtimes/getting-started/overview.

Also add deep-agents and runtimes to AnalyticsLibrary. Without it every handoff
from these two libraries would have been attributed to 'unknown', so the new
links would be invisible in the funnel they exist to feed.

Each of the ten destination URLs was checked against production and returns a
hard 200. The check discriminates: an unknown topic 307s to the fallback and an
unknown product 500s, so the 200s are real pages rather than SPA soft-200s.

Tests: the exact pin is updated, plus four guards — every key names a page that
exists in docs-config (a typo'd key is otherwise invisible: the page just keeps
the Cockpit-home fallback), the deep-agents/runtimes links round-trip against
COCKPIT_DOCS_LINKS, the analytics library is no longer 'unknown', and each
runtime section's three pages resolve to the same demo. All four were
mutation-tested to confirm they fail when the mapping is wrong.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
blove added a commit that referenced this pull request Sep 1, 2026
…untimes

The cockpit -> docs direction shipped with both libraries (COCKPIT_DOCS_LINKS
covers all six deep-agents entries and all four runtimes entries), but the
reverse table only knew the five first-iteration pages. Every deep-agents page
(#937) and every runtimes page (#913) sent its Run/Code/API buttons to Cockpit
home instead of the demo the page describes.

Add the 16 missing entries:

- deep-agents: the five capability pages map to their core-capabilities topic;
  the introduction maps to deep-agents/getting-started/overview.
- runtimes: all three pages of each runtime section (overview, quickstart,
  how-it-connects) map to that runtime's one demo, since a single demo serves
  them equally well; the introduction maps to runtimes/getting-started/overview.

Also add deep-agents and runtimes to AnalyticsLibrary. Without it every handoff
from these two libraries would have been attributed to 'unknown', so the new
links would be invisible in the funnel they exist to feed.

Each of the ten destination URLs was checked against production and returns a
hard 200. The check discriminates: an unknown topic 307s to the fallback and an
unknown product 500s, so the 200s are real pages rather than SPA soft-200s.

Tests: the exact pin is updated, plus four guards — every key names a page that
exists in docs-config (a typo'd key is otherwise invisible: the page just keeps
the Cockpit-home fallback), the deep-agents/runtimes links round-trip against
COCKPIT_DOCS_LINKS, the analytics library is no longer 'unknown', and each
runtime section's three pages resolve to the same demo. All four were
mutation-tested to confirm they fail when the mapping is wrong.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
blove added a commit that referenced this pull request Sep 1, 2026
…untimes (#938)

The cockpit -> docs direction shipped with both libraries (COCKPIT_DOCS_LINKS
covers all six deep-agents entries and all four runtimes entries), but the
reverse table only knew the five first-iteration pages. Every deep-agents page
(#937) and every runtimes page (#913) sent its Run/Code/API buttons to Cockpit
home instead of the demo the page describes.

Add the 16 missing entries:

- deep-agents: the five capability pages map to their core-capabilities topic;
  the introduction maps to deep-agents/getting-started/overview.
- runtimes: all three pages of each runtime section (overview, quickstart,
  how-it-connects) map to that runtime's one demo, since a single demo serves
  them equally well; the introduction maps to runtimes/getting-started/overview.

Also add deep-agents and runtimes to AnalyticsLibrary. Without it every handoff
from these two libraries would have been attributed to 'unknown', so the new
links would be invisible in the funnel they exist to feed.

Each of the ten destination URLs was checked against production and returns a
hard 200. The check discriminates: an unknown topic 307s to the fallback and an
unknown product 500s, so the 200s are real pages rather than SPA soft-200s.

Tests: the exact pin is updated, plus four guards — every key names a page that
exists in docs-config (a typo'd key is otherwise invisible: the page just keeps
the Cockpit-home fallback), the deep-agents/runtimes links round-trip against
COCKPIT_DOCS_LINKS, the analytics library is no longer 'unknown', and each
runtime section's three pages resolve to the same demo. All four were
mutation-tested to confirm they fail when the mapping is wrong.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant