Skip to content

Factory docs#30

Merged
khaliqgant merged 11 commits into
mainfrom
factory-docs
Jul 19, 2026
Merged

Factory docs#30
khaliqgant merged 11 commits into
mainfrom
factory-docs

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Jul 19, 2026

Copy link
Copy Markdown
Member

Summary by cubic

Adds the Factory docs section with full content and routes, plus a Relayfile integrations catalog with a new grid UI and vendored provider logos. Also updates docs navigation and displayed versions.

  • New Features
    • Factory docs: introduction, quickstart, safety scope, configuration, CLI, observability, and where-it-runs pages; OG image and markdown endpoints; /docs/factory redirects to introduction.
    • Integrations catalog: new /docs/file/integrations with an IntegrationGrid showing 46 providers grouped by category; vendored logos under public/integration-logos/; sync script maps our ids to Nango slugs (e.g., gmailgoogle-mail, xtwitter) and falls back to monogram tiles when no logo exists; markdown mirror renders the grid as a list.
    • Docs infra: Factory added to product nav (v0.1.34); mdx-components exports IntegrationGrid; markdown renderer supports it; displayed versions updated to 10.6.5 for agent-relay and 0.10.31 for @relayfile/cli.

Written for commit 8f9701f. Summary will update on new commits.

Review in cubic

khaliqgant and others added 11 commits July 19, 2026 17:03
Adds /docs/factory as a product section alongside Relayfile, Agents, and
Reflex — routes, nav registration, and five page stubs. Content is
deliberately outlines only; the prose is being written by hand.

Pages: introduction, quickstart, safety-scope, configuration, cli.
Safety scope gets its own page because it is the gate that makes Factory
safe to enable, and should be read before running anything.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mirrors the creating-cloud-persona block on the agents build page — prpm
and skills.sh install lines for @agent-relay/factory-config, so the config
gets authored against the current schema rather than from memory.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Relay docs were stamped 9.1.8 and relayfile 0.10.12. Verified against npm:
agent-relay is 10.6.5 and @relayfile/cli is 0.10.31.

Only the display strings change — the 'v8' DocsVersionId is an internal
routing key (already decoupled from the label) and repointing it would
break the archived-docs paths.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds /docs/file/integrations listing all 46 Relayfile adapters with vendored
provider logos, grouped by category, and fills in the Factory pages.

The catalog is checked against the adapter packages in relayfile-adapters
(scope-key catalog ∪ its "without" list = every adapter), so drift shows up
as a mismatch rather than a silently short list. The sync script now covers
every provider and maps our ids onto Nango's slugs where they differ
(gmail → google-mail, x → twitter, teams → microsoft-teams, …). Ten
providers have no logo at source and render as monogram tiles.

<IntegrationGrid /> renders the provider list in the markdown mirror too,
rather than being stripped like SpawnOptionsTable — the list is the page.

Factory pages now cover the loop, triage (heuristic first, model only when
thin), escalation, babysitting, and a six-step setup. Factory links to the
integrations page to back the "any surface" claim.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Covers where Factory reports: the issue, the Slack thread, the workspace
agent roster, and `factory status` / `loop-status` as JSON.

Deliberately does not claim exportable traces — factory has no trajectory
or trace integration at all (no agent-trajectories dep, no export command);
what it emits is operational state snapshots, not a replayable timeline.
Also avoids claiming a Factory dashboard: no factory-specific view exists,
and the roster its agents do appear in is fetch-on-mount, not live.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrects the previous section, which was written against a stale cloud
checkout and wrongly said no Factory dashboard existed. Cloud PRs #2762,
#2764, #2770 (all merged today) ship the Factory instances view, the
operational activity feed, and run detail with a progress timeline.

Covers what the dashboard shows, the deterministic per-run traceId, the
outbox durability story, and the privacy posture. Deliberately does NOT
claim OpenTelemetry export — factory/README.md:140 is explicit that the
traceId is W3C-valid by shape but no spans are created or exported; that
is a documented follow-up, not shipped behavior.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ract

- Drop "unowned workers and telemetry backlog" from the instances
  description. Those fields exist in the contract and the Cloud read model,
  but factory v0.1.34's heartbeat does not populate them, so the tiles
  render empty (visible as "Unowned —  Outbox —" in the UI).
- List the real closed status set (queued/running/waiting/blocked/
  succeeded/failed/cancelled). "Completed" is a phase, not a status.
- Add the factory runs read API, which is the honest answer to "can I get
  the trace out" — full event streams with trace ids over HTTP.
- Note that reporting silently no-ops on a workspaceId mismatch, which is
  the most likely reason a dashboard looks empty.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
It had outgrown a section of the introduction. The intro now carries a
two-sentence pointer; the page covers instances, runs, status vs phase,
trace correlation, the read API, delivery, and the privacy contract.

Argues the privacy posture properly: the attribute schema is a closed
allowlist, free-text exit reasons collapse to a fixed enum rather than
being forwarded, and instance names are operator-chosen rather than
derived from the hostname — enforced, not advised.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Notes the planned exporter — short spans around dispatch, spawn,
writeback, publish, release, via the standard OTEL_EXPORTER_OTLP_ENDPOINT
contract — and that the trace id you see today survives the change, since
it is derived from the durable run id.

Tracked in AgentWorkforce/factory#120 and AgentWorkforce/cloud#2777.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Documents the two shipped execution modes — local control plane with
local agents, and --backend relay placing agents on hosted fleet nodes —
plus node enrollment and the one-control-plane-per-workspace constraint.

Deliberately says Cloud is where Factory reports, not where it runs. A
hosted Factory is not built: the cloud-side arm is webhook-dispatch only,
its flag is unregistered in infra, and completion ingestion has no
production caller. Tracked in AgentWorkforce/cloud#2778.

Also bumps the sidebar version stamp 0.1.20 -> 0.1.34 to match the
published package.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@cursor

cursor Bot commented Jul 19, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@khaliqgant
khaliqgant merged commit 89a062a into main Jul 19, 2026
1 of 2 checks passed
@khaliqgant
khaliqgant deleted the factory-docs branch July 19, 2026 18:58
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3dd9bc08-710a-498e-932f-ba389744a6bd

📥 Commits

Reviewing files that changed from the base of the PR and between 005a147 and 8f9701f.

⛔ Files ignored due to path filters (31)
  • web/public/integration-logos/airtable.svg is excluded by !**/*.svg
  • web/public/integration-logos/asana.svg is excluded by !**/*.svg
  • web/public/integration-logos/azure-blob.svg is excluded by !**/*.svg
  • web/public/integration-logos/box.svg is excluded by !**/*.svg
  • web/public/integration-logos/calendly.svg is excluded by !**/*.svg
  • web/public/integration-logos/clickup.svg is excluded by !**/*.svg
  • web/public/integration-logos/confluence.svg is excluded by !**/*.svg
  • web/public/integration-logos/dropbox.svg is excluded by !**/*.svg
  • web/public/integration-logos/fathom.svg is excluded by !**/*.svg
  • web/public/integration-logos/gitlab.svg is excluded by !**/*.svg
  • web/public/integration-logos/gmail.svg is excluded by !**/*.svg
  • web/public/integration-logos/google-calendar.svg is excluded by !**/*.svg
  • web/public/integration-logos/google-drive.svg is excluded by !**/*.svg
  • web/public/integration-logos/hubspot.svg is excluded by !**/*.svg
  • web/public/integration-logos/intercom.svg is excluded by !**/*.svg
  • web/public/integration-logos/jira.svg is excluded by !**/*.svg
  • web/public/integration-logos/mailgun.svg is excluded by !**/*.svg
  • web/public/integration-logos/mixpanel.svg is excluded by !**/*.svg
  • web/public/integration-logos/onedrive.svg is excluded by !**/*.svg
  • web/public/integration-logos/pipedrive.svg is excluded by !**/*.svg
  • web/public/integration-logos/recall.svg is excluded by !**/*.svg
  • web/public/integration-logos/reddit.svg is excluded by !**/*.svg
  • web/public/integration-logos/salesforce.svg is excluded by !**/*.svg
  • web/public/integration-logos/segment.svg is excluded by !**/*.svg
  • web/public/integration-logos/sendgrid.svg is excluded by !**/*.svg
  • web/public/integration-logos/sharepoint.svg is excluded by !**/*.svg
  • web/public/integration-logos/shopify.svg is excluded by !**/*.svg
  • web/public/integration-logos/stripe.svg is excluded by !**/*.svg
  • web/public/integration-logos/teams.svg is excluded by !**/*.svg
  • web/public/integration-logos/x.svg is excluded by !**/*.svg
  • web/public/integration-logos/zendesk.svg is excluded by !**/*.svg
📒 Files selected for processing (22)
  • web/app/docs/factory/[slug]/og.png/route.tsx
  • web/app/docs/factory/[slug]/page.tsx
  • web/app/docs/factory/markdown/[slug]/route.ts
  • web/app/docs/factory/page.tsx
  • web/components/docs/IntegrationGrid.module.css
  • web/components/docs/IntegrationGrid.tsx
  • web/components/docs/mdx-components.tsx
  • web/content/docs/factory/cli.mdx
  • web/content/docs/factory/configuration.mdx
  • web/content/docs/factory/introduction.mdx
  • web/content/docs/factory/observability.mdx
  • web/content/docs/factory/quickstart.mdx
  • web/content/docs/factory/safety-scope.mdx
  • web/content/docs/factory/where-it-runs.mdx
  • web/content/docs/file/integrations.mdx
  • web/lib/docs-markdown.ts
  • web/lib/docs-versions.ts
  • web/lib/integration-logos.ts
  • web/lib/integrations.ts
  • web/lib/product-docs-nav.ts
  • web/lib/product-docs.ts
  • web/scripts/sync-integration-logos.sh

📝 Walkthrough

Walkthrough

Factory documentation is added with routed pages, metadata, markdown and OG responses, navigation, operational guidance, and observability content. An integration provider catalog, logo handling, grouped grid, Markdown expansion, and integrations documentation page are also added.

Changes

Factory documentation

Layer / File(s) Summary
Factory documentation routing
web/app/docs/factory/..., web/lib/product-docs..., web/lib/docs-versions.ts
Factory docs pages, metadata, markdown endpoints, OG images, redirects, navigation, and version labels are wired together.
Factory overview and setup guidance
web/content/docs/factory/introduction.mdx, quickstart.mdx, safety-scope.mdx
Overview, setup steps, safety gates, execution, and handoff behavior are documented.
Factory CLI, configuration, and runtime topology
web/content/docs/factory/cli.mdx, configuration.mdx, where-it-runs.mdx
Commands, configuration, backends, control-plane behavior, and fleet execution are documented.
Factory observability documentation
web/content/docs/factory/observability.mdx
Run status, tracing, APIs, privacy constraints, delivery, and inspection commands are documented.

Integration catalog

Layer / File(s) Summary
Provider catalog and logo assets
web/lib/integrations.ts, web/lib/integration-logos.ts, web/scripts/sync-integration-logos.sh
Provider contracts, grouping, logo lookup, and logo synchronization are added.
Integration grid rendering
web/components/docs/IntegrationGrid.*, web/components/docs/mdx-components.tsx, web/lib/docs-markdown.ts
Grouped provider tiles, logo fallbacks, MDX registration, and Markdown expansion are implemented.
Integration documentation page
web/content/docs/file/integrations.mdx
Integration mounting and adapter mapping are documented with the provider grid.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant FactoryDocPage
  participant ProductDocStore
  participant ProductDocPage
  Browser->>FactoryDocPage: request factory documentation slug
  FactoryDocPage->>ProductDocStore: getProductDoc(sectionId, slug)
  ProductDocStore-->>FactoryDocPage: document frontmatter and content
  FactoryDocPage->>ProductDocPage: render sectionId and slug
  ProductDocPage-->>Browser: documentation page
Loading

Possibly related PRs

Poem

A bunny hops through docs anew,
With factory paths and logos too.
Grids bloom bright, routes neatly run,
Markdown pages join the fun.
“Hop-reviewed!” the rabbit sings,
While integrations spread their wings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch factory-docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Preview deployed!

Environment URL
Web https://69d7a790-agentrelay-web.agent-workforce.workers.dev

This is a Cloudflare Workers preview version of this PR's build.

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