mirror of
https://github.com/paperclipai/paperclip-docs.git
synced 2026-11-07 06:16:07 -10:00
codex/https-setup-guide
134
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c31359053f | docs: explain HTTPS setup for self-hosted Paperclip | ||
|
|
c65bc9a9bf |
Release docs for paperclip v2026.916.0 (#125)
Brings **paperclip-docs** in line with paperclip **v2026.916.0**, shipping the `v2026.831.1 → v2026.916.0` cycle drafted on `nightly`, stamped to the release tag, with a documentation changelog entry. This branch was cut from `nightly` **after** merging `origin/main` into it, so it sits on top of the operator-first connectors catalog (#124) rather than reverting it. ## Manifest **New pages (4)** - `docs/reference/api/connection-intents.md` — Connection Intents API - `docs/reference/cli/connections.md` — `connections` command - `docs/reference/cli/managed-agent.md` — `managed-agent` command - `docs/reference/cli/test-drive.md` — `test-drive` command **Updated pages (17)** - Roles & Permissions + Company Administration — `tools:*` role-default changes - Connect an Agent to GitHub — managed GitHub connection (Connectors), Option C - Agents API — Managed/Remote Agent Profiles, `***REDACTED***` env serialization - Tool Gateway API — agent self-authorization (`start-authorization`, `token`) - Instance Admin API — instance-settings + task-drain routes - Plugin SDK — `ctx.access` + `ctx.authorization` clients, login-PTY/duplex streaming - Environment Variables — Paperclip ID Connector block + HTTP adapter allowlist var - Adapters: Codex (`gpt-5.6-sol` default, Fast mode, auth cache), Claude Code (Fable 5.1 + CLI floor), Grok Local (SuperGrok subscription auth), HTTP (SSRF guard), Sandbox Providers (Daytona warm runner), OpenCode (model pre-flight) - CLI: `adapter detect-model`, `onboard` tool-action signing secret - Command palette — recent tasks in sidebar - `docs/reference/changelog.md` — new `v2026.916.0` accordion entry All 21 touched pages stamped `paperclip_version: v2026.916.0`. ## Verification **Tag-accuracy gate (Phase 5.7)** — `check-tag-accuracy.mjs --tag v2026.916.0 --base main --head nightly` flagged 5 pages, **every one verified present in the code at the release tag** and cleared as known `verify-edit` false-positive classes. No content was quarantined; **no post-tag leaks**: | Page | Flagged claim(s) | Verified at tag | |---|---|---| | `cli/connections.md` | `PAPERCLIP_RUNTIME_TOOLS_*` (3) | present in `cli/src/commands/client/connections.ts` (runtime-injected env) | | `cli/managed-agent.md` | `--profile-key`, `--api-key-secret-id` | present in `cli/src/commands/managed-agent.ts` (`.requiredOption`/`.option`) | | `cli/test-drive.md` | `--harness` | present in `cli/src/commands/test-drive.ts` (`new Option`) | | `deploy/environment-variables.md` | `PAPERCLIP_ID_CONNECTOR_*` (5) | present in `.env.example` at tag | | `plugins/sdk.md` | `PLUGIN_*` (6) | present in `packages/plugins/sdk/src/index.ts` (exported constants) | Rationale: nightly's drafts were authored from parent `af8439a`, **226 commits inside the tag**, so they document in-tag surfaces by construction. ### ⚠ Drift `check-drift.mjs --against v2026.916.0` returned 14 records — **all verified present at the tag** (checker false positives), listed here for the reviewer to confirm: - **env-var (9, high-confidence in the tool, verified present):** `PAPERCLIP_WORKSPACE_GIT_SCAN_{CONCURRENCY,QUEUE_CAPACITY,TIMEOUT_MS,CACHE_TTL_MS}` and `PAPERCLIP_ID_CONNECTOR_{BASE_URL,ENVIRONMENT,INSTANCE_ID,SIGN_PRIVATE_KEY,SEAL_PRIVATE_KEY}` — all present in `.env.example` at the tag; the drift scanner's scoped file scan missed them. - **Verify: rest-route (5, medium-confidence):** `POST/PUT/GET /api/companies/import/transfers*` — present at the tag in `server/src/routes/companies.ts`, registered via the `COMPANY_IMPORT_TRANSFERS_ROUTE_PATH` prefix constant (the documented prefix/dynamic-registration blind spot). ### ⚠ Verification Failures None. All tag-accuracy and drift flags above were verified present at the tag. ### ↻ Renames detected None. The connectors catalog (`docs/connectors/**`) arrived via the `main` merge (#124), not as a renamed surface; no new top-level draft directories were introduced this cycle. ## Screenshots **238 of 342 screenshots** flagged stale across 50 routes (see `SCREENSHOTS_PENDING.md`). This is a wide 16-day window touching ~921 UI files, so most are dependency-touch flags rather than confirmed visual changes. Recommend `npm run screenshots:refresh` on this release branch as a dedicated follow-up before merge; PNGs go to a separate PR for human review. ## Build gates (all green on this branch) - `npm run docs:build` — 257 pages - `npm run docs:test` — SEO metadata, crawlable-links (71,749 links resolve), doc-link-resolution, skill-source-blocks, static-routes, hierarchical-nav ## Post-merge checklist (Phase 9 — do NOT skip) - [ ] Squash-merge this PR (repo is squash-only) - [ ] `git checkout main && git pull` - [ ] `git tag docs/v2026.916.0 && git push --tags` - [ ] `node scripts/sync/realign-nightly.mjs release/v2026.916.0 --push` (restore ancestry; keep nightly post-tag drafts) - [ ] Flip `nightly` `.sync-state.json` back to `"branch_mode": "nightly"` (leave `base_release_tag` at `v2026.916.0`) - [ ] Verify `docs.paperclip.ing` serves the release: a new page (`/reference/cli/test-drive/`), a changed page, and the changelog top entry reads `Docs for v2026.916.0` - [ ] If production is stale, republish: `npm run docs:build && npx wrangler pages deploy .site --project-name paperclip-docs --branch main` 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> Co-authored-by: Dotta <[email protected]> Co-authored-by: ClaudeCoder <[email protected]> |
||
|
|
39633c2217 |
docs: connectors catalog, operator-first third revision (#124)
Connector catalog, setup guides, and shared access documentation, followed by a final code-accuracy repair pass. This PR does not change application behavior. ## Final accuracy pass Checked against shipped Paperclip `v2026.916.0`, commit `dffc2b3ca1b9e88fa21cb17493083e682dffd1ca`, rather than the dirty local checkout or the earlier canary baseline. - Corrects connector/method-specific identity choices, human audiences, and managed GitHub versus PAT scope and verification. - Explains that **Always allow** covers different arguments for the same agent/action/connection, with project scope when present; uses actual button labels and removes the test-panel control from review instructions. - Qualifies new-action quarantine, including safe-default read exceptions. Removes unconditional approval guarantees. - Separates provider channel/repository reach from Paperclip sender authorization. - Completes sandbox sign-in and model credential-selection instructions from the current UI implementation. - Repairs Notion's hub summary, removes incomplete optional Notion/Sentry client-registration procedures, and corrects Linear's provider-versus-Paperclip attribution. - Removes unsupported Postman tier claims, contradictory Cloudinary/Mem0 verification assertions, API-equivalence claims, and overbroad successful-test assurances. - Retains Supabase's required project reference: both released method definitions explicitly require it. An earlier review suggested otherwise; release code is authoritative here. - Updates the release baseline and removes draft commit chronology from the public introduction. ## Availability and remaining runtime gates - **Google:** Verification is pending. Per the product-owner clarification, authorization can continue where Google offers an Advanced option; this is not available for every account and does not override Workspace policy or other Google prerequisites. Notices on the hub and all Google guides now distinguish an unverified-app warning from blocked authorization. - **Slack is available but not yet fully functional; follow-up fixes are planned.** For agent tools, the released OAuth endpoint/scope defaults differ from Slack's documented MCP contract. The page now warns against treating that route as production-ready and removes the misleading bot-scope walkthrough. Chat-channel bot setup remains separate. Engineering must reconcile the integration and run OAuth plus one read before removing this warning. Source: https://docs.slack.dev/ai/slack-mcp-server/ - No credentialed connector run was performed in this pass. Code consistency, provider documentation, UI rendering, and successful live execution are separate evidence levels. No claim of runtime certification for all connectors. ## Validation - Root build: 253 crawlable documentation pages. - Full `docs:test`: all eight suites passed locally, including root/subpath routes, sitemap history, fingerprints, navigation, skill source blocks, crawlable links, doc-link resolution, and SEO metadata. - Internal-link lint: 258 Markdown files; no broken internal links. - Latest cleanup: full build, all eight docs:test suites, internal-link lint and diff whitespace checks passed; 1,878 link-resolution checks. - Fixed the Calendar MCP reference URL; browser-checked the five inconclusive external destinations (Miro article loads; Asana, Google Cloud, OpenAI and xAI reach sign-in/console screens). Authenticated destinations were not tested beyond those screens. - Replaced the Sandbox providers editorial TODO with a scope note and removed the CLI overview's unfinished-guide announcement. - Browser client navigation: 687 checks passed using installed Chrome. Initial launch lacked the downloaded Playwright browser; rerun used `DOCS_CHROMIUM_PATH` without changing the tests. - Nine representative connector/shared pages at 1440px and 390px: HTTP 200, one article H1, no page-level horizontal overflow. Mobile screenshot inspected; approval page opened in the Codex browser. - Navigation audit reports three existing non-connector orphan files; this patch does not alter those files or their navigation. The previous revision's provider-page expansion, Google shared setup guide, navigation additions, and accidental node_modules-symlink cleanup remain in this PR. Internal review ledgers remain outside the publication branch. No merge or production deployment authorized. --------- Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> Co-authored-by: Claude Opus 5 (1M context) <[email protected]> Co-authored-by: Michael Nguyen <[email protected]> |
||
|
|
9f46125a8d |
Add unlisted hosted beta guide and FAQ (#122)
## Summary
Adds the hosted beta getting-started guide and FAQ at `/hosted-beta/`,
using the existing docs header, sidebar, article layout, theme controls,
and table of contents.
The page remains outside the navigation/search manifest, homepage
listings, previous/next links, and sitemap, with a `noindex` directive.
Direct-link visitors can navigate into the regular docs. This is a
public, unlisted page rather than access-controlled content.
## Validation
- Root and subpath builds and unlisted discovery checks pass.
- Existing static route verification passes.
- Desktop and mobile browser checks show no overflow or runtime errors.
- Table-of-contents anchors and navigation into regular docs verified.
Local preview: http://127.0.0.1:4337/hosted-beta/
Hosted preview:
https://aa3d8178.paperclip-docs-74t.pages.dev/hosted-beta/
Cloudflare deployment succeeded for commit
|
||
|
|
27d7a5ab4c |
Release docs for paperclip v2026.831.1 (#120)
Syncs docs to parent release **v2026.831.1** (cumulative from
`v2026.824.1`, via merge-base `664052f`). Authored fresh against the
release tag; every claim verified at the tag.
## What changed
**New**
- **Kimi Code adapter** (`kimi_local`) — new reference page, wired into
the adapters overview, nav, and anchor-map source mapping.
**Reference**
- **Env vars** — `PAPERCLIP_WORKSPACE_REAPER_COOLDOWN_DAYS`, opt-in
`SENTRY_DSN`, and the operator controls `PAPERCLIP_HIDDEN_SETTINGS` /
`PAPERCLIP_SETTING_DEFAULTS`.
- **Instance Settings** — new "operator controls for hosted deployments"
section (hide surfaces / override defaults).
- **Node.js floor → 24.11.0** across installation, setup,
local-development, plugin dev, Modal, and the getting-started/terminal
guides.
- **Grok adapter** — `permissionMode` no longer defaults to `dontAsk`;
when unset no flag is passed, and `--always-approve` is the unattended
policy.
- **CLI `agent`** — Kimi skills install path (`~/.kimi-code/skills`) +
`KIMI_CODE_HOME`.
**Guides**
- **Onboarding** — rebuilt around a single-card wizard that opens on
creating your agent; the mission step is gone, the goal is set
afterward.
- **Settings unification** — Invites folded into a Members tab, one
shared settings nav, and the company brand color + per-company
attachment size limit removed (also reflected in the Companies and Cases
APIs).
- **Governance behavior** — silent-run detection and stranded-task
recovery no longer act on their own; agent thought text is excluded from
automatic comments; invalid agent credentials now return `401`.
**Changelog** — entry added for v2026.831.1.
## Gates
- `docs:build`, SEO metadata, crawlable-links, sitemap-lastmod
(194/194), lint-links, verify-nav — all pass.
- **Edit verification:** every new high-confidence claim verified at the
tag.
- **Tag-accuracy gate:** 31 files checked, **0 post-tag leaks**, 30
clean, 1 review (below).
## ⚠ Drift (Verify before acting — not auto-resolved)
Medium-confidence REST-route drift in `docs/reference/api/companies.md`
— the import-transfer routes may no longer exist at these paths (likely
a false negative from prefix/dynamic registration; confirm before
editing):
- `POST /api/companies/import/transfers`
- `PUT /api/companies/import/transfers/{transferId}/parts/{partIndex}`
- `GET /api/companies/import/transfers/{transferId}`
- `POST /api/companies/import/transfers/{transferId}/preview`
- `POST /api/companies/import/transfers/{transferId}/apply`
## ⚠ Review
- `docs/reference/adapters/kimi-local.md` — new page; the only flagged
claim is the `secret-id` JSON **example placeholder** (not a real
identifier). Authored directly from the adapter's config surface at the
tag.
## Screenshots (deferred)
288 of 342 registered screenshots are stale (org-wide rename +
settings/onboarding rewrites), tracked in `SCREENSHOTS_PENDING.md`.
Recapture is a follow-up pass — **the merged pages describe the new
onboarding/settings UI while screenshots still show the old flow until
then.**
---------
Co-authored-by: Claude Opus 4.8 <[email protected]>
|
||
|
|
5457a4ff38 |
Release docs for paperclip v2026.824.1 (#116)
Release docs sync for **paperclip v2026.824.1** (cumulative window
`v2026.824.0 → v2026.824.1`, 4 commits / 12 files). This patch release
repairs the onboarding background-service flow end to end.
## Change manifest
| Watcher | Parent files | Kind | Docs target |
|---|---|---|---|
| cli-commands | `cli/src/commands/onboard.ts`,
`cli/src/onboard-service.ts` | modified |
`docs/reference/cli/setup-commands.md` |
**`docs/reference/cli/setup-commands.md`** (`onboard` section) — once
the background service is installed, onboarding now hands you off to the
running instance: it waits for the port the service actually bound
(fallback port if the configured one is busy), prints the dashboard URL,
and opens it in your browser on interactive terminals. Headless runs
print the URL; the new **`PAPERCLIP_NO_BROWSER=1`** opts out of the
browser launch. If the service doesn't come up, onboarding points at
`paperclipai service logs` instead of claiming success.
`paperclip_version` bumped to `v2026.824.1`.
**`docs/reference/changelog.md`** — new `v2026.824.1` docs-changelog
entry.
Not doc-worthy this window: `run.ts` runtime-info plumbing, the
`paperclipai doctor` diagnostic-message refinements, and the test files
— no new or now-wrong surface in our docs.
## Verification
- `docs:build` ✓ · `sync:check` ✓ · full `docs:test` (6/6) ✓
- **verify-edit** against `v2026.824.1`: **47 claims verified, 0
unverified, 0 suspicious**. `PAPERCLIP_NO_BROWSER` and `paperclipai
service logs` both confirmed in parent code at the tag.
- **Tag-accuracy (Phase 5.7):** self-contained release — `nightly`
carries no doc drafts (only `.sync-state.json` differs from `main`), so
there are no post-tag leaks to quarantine.
- **Screenshots:** window touched only `cli/**`, no `ui/src/**` —
nothing stale.
## ⚠ Drift
Investigated against `v2026.824.1`. The two previously high-confidence
CLI findings (`paperclipai binary`, `paperclipai into`) were **scanner
false positives** — the drift scanner was reading `paperclipai <word>`
out of `seo_description` frontmatter prose. Fixed in this PR
(`scripts/sync/check-drift.mjs` now skips the YAML frontmatter block);
both disappear.
Remaining (5, medium, `Verify:` — **confirmed correct, no action
needed**):
- `POST /api/companies/import/transfers` ·
`docs/reference/api/companies.md:433`
- `PUT /api/companies/import/transfers/{transferId}/parts/{partIndex}` ·
:434
- `GET /api/companies/import/transfers/{transferId}` · :435
- `POST /api/companies/import/transfers/{transferId}/preview` · :436
- `POST /api/companies/import/transfers/{transferId}/apply` · :437
These routes **exist** at `v2026.824.1`
(`server/src/routes/companies.ts` lines 696/762/825/944/958), registered
via the `COMPANY_IMPORT_TRANSFERS_ROUTE_PATH` constant from
`@paperclipai/shared`. The scanner only matches string-literal paths, so
constant/template-literal registration reads as a false negative — a
known medium-tier limitation. The docs are accurate; nothing to change.
(A follow-up could teach the resolver to follow cross-package path
constants.)
## Checklist
- [x] Cumulative diff from last release tag
- [x] Edits verified against the release tag
- [x] Build + link + SEO + crawlable gates pass
- [x] Drift investigated; false positives fixed at the scanner, false
negatives confirmed correct
- [x] Docs-changelog entry added
- [ ] After merge: tag `docs/v2026.824.1`, realign `nightly`, verify
`docs.paperclip.ing` serves the release
---------
Co-authored-by: Claude Opus 4.8 <[email protected]>
|
||
|
|
325c9eb819 |
seo: hand-write titles and descriptions for all 192 pages (#115)
## Why
The build derived `<title>` from the **sidebar label** and the
description from the **first paragraph clipped to 220 characters**. Both
are the wrong source. A sidebar label is written for a 240px-wide nav
that supplies its own context; a search result has none.
On production that produced:
- **7 pages titled "Overview"**, and 32 pages sharing a title with
another page
- **109 of 193 descriptions cut off mid-word**, and 174 over 160
characters (where Google truncates)
```
/guides/welcome/key-concepts/
BEFORE (220): ...and if you misunderstand them early, the product wi
```
Near-identical titles are the weak-differentiation signal behind
"crawled — currently not indexed", which is the exact symptom on this
property.
## What changed
`seo_title` and `seo_description` frontmatter on **every one of the 192
pages**, written by hand against each page's real content and optimised
for the click — lead with what the reader can do, name the concrete
things covered, no keyword stuffing, no repeating the title.
| | Before | After |
|---|---|---|
| Duplicate titles | 32 pages | **0** |
| Duplicate descriptions | — | **0** |
| Descriptions cut mid-word | 109 | **0** |
| Descriptions over 160 chars | 174 | **0** |
| Title length (incl. suffix) | up to "Overview" | **26–60** |
| Description length | 31–240 | **122–158** |
**No prose was rewritten.** I measured content overlap between the
colliding pairs first — only 17–23%, so these were always distinct pages
wearing the same label, not duplicate content. The `docs/` diff is **564
insertions, zero deletions**.
### Examples
```
BEFORE — all seven identical: "Overview | Paperclip Docs"
AFTER: "Adapters Overview" "API Overview" "CLI Overview"
"Deployment Overview" "Bundled Skills" "Optional Skills"
"Experimental Features"
BEFORE — both identical: "Issues | Paperclip Docs"
AFTER: "Issues: Creating and Tracking Work" /guides/day-to-day/issues/
"Issues API" /reference/api/issues/
```
```
/guides/getting-started/five-minute-path/
BEFORE (220): The shortest route from a running Paperclip instance to an agent that has
just completed work for you. After Paperclip is installed, the path takes
about 5 minutes: create a company, hire a CEO agent, approve its first s
AFTER (131): Install Paperclip, create a company, hire a CEO agent, and approve its
first strategy — a working AI company in about five minutes.
```
## Plumbing
- **`site/build-release.mjs`** prefers the authored fields; the derived
path stays only as a fallback the CI gate prevents ever reaching.
`<title>`, `<meta name="description">`, and the `TechArticle` JSON-LD
all read from the same source.
- **`site/app.js`** uses the same fields, so a client-side transition
cannot leave a different title on screen than the crawler was served.
Verified in-browser: navigating `/guides/day-to-day/issues/` →
`/reference/api/issues/` swaps to exactly the server-rendered values, no
JS errors.
- **`scripts/verify-seo-metadata.mjs`** (new) enforces presence,
uniqueness, length, complete-sentence endings, and the
frontmatter-safety rules. Wired into `docs:test` and CI as its own step.
I negative-tested the gate rather than assuming it works — it correctly
fails on a duplicate title, a mid-word description, and a missing field,
and passes again once restored.
## Automating it going forward
`skills/sync-docs/SKILL.md` now:
- gains an **"Authored SEO metadata"** section: why the fields exist,
the enforced rules as a table, and how to actually write them (title
names the subject not the nav position; description writes for the
click; never generate mechanically from the first paragraph — *that is
the fallback the gate exists to prevent*).
- requires both fields in the **page-authoring instruction** given to
every subagent, with guidance on when to update an existing description
versus leave it.
- runs `docs:test:seo-metadata` and `docs:test:crawlable-links` as
**fail-loud gates in Phase 7** before commit.
- documents all six build gates in the files/gates section.
So once this lands, a new page cannot ship without hand-written
metadata, and a title collision cannot reach production.
## Verified
All six verifiers pass:
```
Static route verification passed
Asset fingerprint verification passed
Hierarchical Skills nav verification passed
Skill source block verification passed (11 skill pages, 1 control page)
Crawlable-link contract passed: 40886 internal links across 194 pages resolve in one hop
Authored-SEO contract passed: 192 pages carry a unique, hand-written seo_title and seo_description
```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
|
||
|
|
5fa6e1dcbf |
docs: render the simplified-english skill source block (#114)
Fixes the last red check on `main`. ## What was wrong `docs/reference/skills/optional/content/simplified-english.md` was left on the pre-#89 layout — parsed `### Skill frontmatter` bullets plus a `### Skill instructions` section — so it was the only per-skill page without an embedded `SKILL.md`. `docs:test:skill-source-blocks` has failed on it since release #95: ``` docs/reference/skills/optional/content/simplified-english.md: expected exactly one skill-source block, found 0 ``` ## The fix Replaces both legacy sections with the authoritative `SKILL.md` in a single ` ```markdown skill-source ` block, matching every other per-skill page. Source copied verbatim from `paperclipai/paperclip` at `9964b03`, path `packages/skills-catalog/catalog/optional/content/simplified-english/SKILL.md`. **No guidance changed** — the upstream file's content is identical to what the page already described in its parsed form, so this is purely a layout conversion. ## Bonus: duplicate H1 The old layout rendered two H1s — the page title, then the `SKILL.md`'s own `# Simplified English` under "Skill instructions". That's the same duplicate-H1 defect #87 fixed elsewhere, surviving on this one page. ``` BEFORE: h1=2 skill-download-blocks=0 AFTER: h1=1 skill-download-blocks=1 ``` ## Verified All five docs verifiers pass — the first fully green run: ``` Static route verification passed (5 representative routes + /guides/welcome/this-route-does-not-exist/, root and /paperclip-docs/ builds). Asset fingerprint verification passed (bundle app.9b5b423f039c.js, 1 bundle, headers checked). Hierarchical Skills nav verification passed. Crawlable-link contract passed: 40886 internal links across 194 pages resolve in one hop, the server-rendered sidebar covers all 192 manifest routes, and sitemap dates are not uniform. Skill source block verification passed (11 skill pages, 1 control page). ``` Note the verifier now covers **11** skill pages rather than 10 — this page previously fell out of the contract entirely. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
6c4519af4a |
Release docs for paperclip v2026.824.0 (#110)
Cumulative docs sync from v2026.817.0 to the v2026.824.0 stable tag. New/updated: Tailscale HTTPS broker, workspaces HTTPS exposure, release channels + `paperclipai channels`, resumable company import (guide + companies API), secret catalog, Claude setup-token login, adapter device-login, issue file-resource availability, document comments, interaction resolver-policy/governance. Version-stamped touched pages and added the v2026.824.0 docs-changelog entry. Verified every page against the v2026.824.0 tag; stripped post-tag master leaks (Kimi adapter, reaper-cooldown env var, mission-less onboarding rewrite) that nightly had drafted ahead of the release. Screenshots flagged (192 stale) but not recaptured this release. Co-Authored-By: Claude Opus 4.8 <[email protected]> |
||
|
|
ebbab07ca3 |
docs: correct decisions triage UI guidance (#100)
## Summary - describe the **When to decide** row as the primary triage path - keep the Decisions API as an additional path ## Verification - `npm run sync:lint-links` - `git diff --check` Co-authored-by: Dev Agent <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
6e6990539c |
Add the v2026.817.0 docs changelog entry, and a step that writes it (#96)
The documentation changelog was never updated for v2026.817.0. This adds the missing entry, and closes the hole that let it go missing. ## Why it was missing `docs/reference/changelog.md` has **exactly one commit in its entire history** — `8c21935` (#73), which created the page on 2026-07-23 with the v2026.722.0 and v2026.720.0 entries written by hand. `skills/sync-docs/SKILL.md` contains zero occurrences of "changelog": release mode merges nightly → main, tags, and ships, but never writes that page. The timing is why nobody noticed: | | | |---|---| | 2026-07-23 08:10 | v2026.722.0 release merged (#72) | | 2026-07-23 11:47 | changelog page created (#73), already current | | 2026-08-18 10:43 | v2026.817.0 merged (#95) ← first release that had to append | The page was born ~3.5 hours after the previous release, so it was correct on arrival. v2026.817.0 is the first one it could have missed, and it did. The frontmatter was stale by the same marker (`paperclip_version: v2026.722.0`). ## What's here **The entry** — 8 new pages (Decisions API, Status Cards API and guide, Chat-Style Tasks, the `service` CLI, three catalog skills), the substantive rewrites grouped by what a reader gains, and a short block on the screenshot overhaul. Frontmatter bumped to `v2026.817.0`. **Phase 6.5 in the sync-docs skill** (release mode only) — writes this page from the manifest the run already holds. It pins down the details that are easy to get wrong on a monthly cadence: - the `<details class="accordion">` shape, newest first - **only the newest entry carries `open`** — miss this and the page renders with two expanded - links are relative to `docs/reference/` - exclude repo maintenance files (`docs/user-guides/screenshots/`, `SCREENSHOTS_*.md`) — they're in the repo, not in the docs - skip entirely in nightly mode, so an unreleased tag can't leak Phase 7's `sync:check` already validates relative links, so a typo in a future entry fails the run instead of shipping. ## Checks - `npm run docs:build` — clean, 191 pages - `npm run sync:lint-links` — no broken internal links - Rendered output verified: v2026.817.0 sits on top with **exactly one** open accordion 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5 <[email protected]> |
||
|
|
631a6a0c53 |
Release docs for paperclip v2026.817.0 (content + screenshot overhaul) (#95)
Ships the v2026.817.0 docs to live: the doc content that was authored and verified earlier, plus a full screenshot overhaul. The content half (`cdf81e2` and the nightly commits behind it) has already been reviewed. **The screenshots are the part that needs eyes** — `f24d734`, 342 PNGs. ## Screenshots Everything was recaptured against the release commit `213dabab4f8e1f3bb1803a2924c0fea1289fcd4c` (`upstream/candidate/release-2026.817.0`). The previous shots were 375 parent-commits stale (v2026.720.0), with 228 of 310 entries flagged pending. All 342 registry entries now carry that SHA. > ⚠️ Worth knowing: the release commit is **not** an ancestor of the parent's > `master`, and local `master` was four days *older* than it. Capturing against > `master` would have both missed release UI and leaked 93 post-tag commits' worth > of UI into the release docs. ### New coverage (34 entries) Three guides shipped with **no images at all** despite being 115–136 lines. They now have them: | Guide | Shots | |---|---| | `guides/day-to-day/decisions.md` | queue, an agent-proposed decision with its options, triage strip, filter panel, named queue, Decided curtain, empty state | | `experimental/status-cards.md` | board, New card dialog, and all four drawer tabs | | `experimental/task-chat.md` | thread, composer mode picker, side pane | | `reference/api/secrets.md` | the board-side Proposals tab | Chat-Style Tasks is captured in a **separate pass**: `enableTaskChatRedesign` is instance-wide, so leaving it on would have turned every classic issue/task/work-mode shot into the redesigned chat. ## Two defects that were already live Both were shipping in the docs before this PR: 1. **`issues/detail-chat.png` and the `tasks/*` shots were mostly plugin debug output.** The Kitchen Sink example plugin mounts a panel into the issue page that dumps the raw issue JSON, and the seed installed it. Those guides were illustrating a debug panel instead of the task page. The seed no longer installs it. 2. **The seeded task thread was a monologue** — four board-user messages in a row, because the board actor cannot post agent comments. It is now a real two-sided exchange. ## Targets repointed because the UI moved | Target | Why | |---|---| | `activity/*` | `Activity.tsx` deleted; `/activity` renders `pages/audit/CompanyActivity.tsx` | | `experimental/cloud-upstream` | `CloudUpstream.tsx` deleted; the route now redirects to `/company/export` | | `settings/*`, `plugins/*`, `adapters/*` | `/instance/settings/*` are legacy redirects now | | `dashboard/stale-tasks-panel` | panel removed from `Dashboard.tsx` — target dropped | Plus eight targets with **silent selector drift**. A failed interaction step falls back to "whatever state was reached", so these had been quietly producing wrong images — a plain inbox where the doc promised a mode picker, a whole dashboard where it promised one panel. Full table in `docs/user-guides/screenshots/SCREENSHOTS_PLAN_v2026.817.0.md` §C2. ## Pipeline Decisions, status-card summaries and secret proposals are all **agent-authored**, and the board actor the seed runs as is refused by every one of them (`"Agent run context required"`, `"Secret proposals require a verified run-bound agent token"`). Rather than insert rows behind the API, `seed-new-surfaces.mjs` borrows the two doors a real run already has — a board-minted agent API key, and a locally signed agent JWT — so every write goes through the production code path. Also: - `capture.mjs` records a real `captured_against` on a detached checkout instead of the literal string `"HEAD"` (which is what every pre-2026.817 entry recorded), and gains a `scrollTo` step for content below the fold. - `run.mjs` gains `--serve` for iterating on the seed, the task-chat phase, and a keeper that holds the demo board's issue statuses steady — the demo `process` agents finish runs without declaring a disposition, so the stalled-work sweep re-blocks issues every few minutes over a capture that runs far longer. ## Reviewing Light and dark both captured at 1440×900 @2x. The new surfaces are the ones to scrutinise; the rest is a like-for-like refresh. ### One leftover Dropping `dashboard/stale-tasks-panel` leaves `{light,dark}/dashboard/stale-tasks-panel.png` tracked but unused — they need deleting by hand. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> Co-authored-by: Dotta <[email protected]> Co-authored-by: ClaudeCoder <[email protected]> |
||
|
|
c7b3f4cacf |
Render full SKILL.md as a code snippet on per-skill pages (PAP-16980) (#89)
> **Updated on current main:** #87 and the #90 cache hotfix are merged. This PR now targets `main`, was rebased onto merge commit `8c5976f`, and has a fresh successful Cloudflare preview plus post-rebase browser smoke evidence. ## What & why (PAP-16980) Improves SEO/AEO on the bundled/optional **per-skill reference pages** (from PAP-16670) by clearly separating the *human-readable catalog summary* (top of page) from the *authoritative full skill definition*. Previously the "Full skill definition" section rendered the `SKILL.md` as **parsed Markdown**, so each skill's own `##` headings, lists, and fenced examples became real page content — competing with the summary, inflating the on-page TOC (e.g. qa-acceptance went from **16 → 6** "On this page" entries), and confusing crawlers/answer engines about the page's true structure. Now each per-skill page shows the **complete, verbatim `SKILL.md`** (frontmatter + body) inline, rendered through the **existing production code-snippet treatment**. ## Changes - **Content (10 per-skill pages):** replaced the old `### Skill frontmatter` bullets + parsed `### Skill instructions` layout with the full `SKILL.md` embedded in a fenced ````markdown skill-source` block. Source bytes were taken verbatim from each skill's authoritative `SKILL.md` at the page's pinned `paperclip_version`, verified against the page's own prior instructions body + frontmatter (name/description) so no content drifted. - **Renderers (`site/build-release.mjs`, `site/app.js`):** a `skill-source` fence renders as `<pre><code class="language-markdown" data-skill-download="SKILL.md">`. Every other code block is delegated to marked's default renderer, so existing snippets are byte-for-byte unchanged. Rendered identically in the crawler-visible build HTML and on client SPA navigation. - **Copy + Download (`site/app.js`, `site/styles.css`):** `decorateCodeBlocks` reuses the existing Copy affordance and adds a **Download `SKILL.md`** control beside it. Both share dimensions, styling, hover/focus visibility, and the copied-success state; both carry accessible labels/titles. - **Readable full-source wrapping (`site/styles.css`):** only the downloadable `SKILL.md` block uses `white-space: pre-wrap` and safe long-token wrapping. Ordinary code snippets retain the existing horizontal-scroll treatment. - **Test:** `scripts/verify-skill-source-blocks.mjs` (`npm run docs:test:skill-source-blocks`) asserts the render contract (single H1, single `<pre>`, frontmatter present, no legacy headings) and that ordinary docs pages emit no `data-skill-download`. ## Scope statement No catalog-page layout, navigation, typography, summary-copy, metadata-card, or information-architecture changes. `paperclip-website` and generated `.site/` output are untouched. `optional/finance/ramp.md` is intentionally excluded — it is a newer summary page with no embedded full-definition section to reformat. The diff is the 10 skill pages + the narrow renderer/Copy-Download support + the test. ## Evidence **1–2. Before/after (desktop, 1280×900) + mobile after (390×844)** — attached to Paperclip issue [PAP-16980](https://paperclip-dev.tail29c1aa.ts.net/PAP/issues/3098577a-4f6f-4eb2-9151-a4b61917dffd) (`before-desktop.png`, `after-desktop-controls.png`, `after-controls-zoom.png`, `after-mobile.png`). GitHub cannot render the auth-gated attachment URLs inline, so they live on the issue for reviewers. **4. Raw DOM/HTML (build output, qa-acceptance):** - Article renders exactly **one H1**: `<h1 id="qa-acceptance">QA Acceptance</h1>` - Full source inside a single code block: ```html <pre><code class="language-markdown" data-skill-download="SKILL.md">--- name: qa-acceptance description: Produce QA acceptance criteria and a manual validation plan … key: paperclipai/bundled/quality/qa-acceptance recommendedForRoles: - qa … </code></pre> ``` - Article `<pre>` count: **1** (inner ````` fences stay literal — no breakout). 10/10 skill pages carry the block; 0 non-skill pages do. **5. Copy + Download behavior (Playwright against the built site):** ```json { "downloadFilename": "SKILL.md", "downloadMatchesBlock": true, // downloaded file === code block text, byte-identical "downloadBytes": 3853, "copyShowsSuccess": true, // Copy toggles the existing is-copied success state "accessibleLabels": { "copy": "Copy code", "download": "Download SKILL.md" } } ``` Both controls reach `opacity: 1` on `.code-wrap:hover` and on keyboard `:focus-visible` (verified `matches(':focus-visible') === true` → computed opacity `1`). **H1 audit (every generated route, incl. all skill URLs — requested on the issue):** built the site on current `main` and scanned **all 184 generated `index.html` routes** (16 skill routes among them). **Every route has exactly one `<h1>`.** The skill source's own `#`/`##` headings live *inside* the `<pre><code>` block as literal text, so they do **not** create competing H1s — the SEO/AEO goal. ## Tests Run against current `main` after #87 and #90: ``` docs:build ............................. ok (184 routes) docs:test:static-routes ................ pass (5 routes + 404 + root + subpath) docs:test:skill-source-blocks .......... pass (10 skill pages, 1 control page) H1 audit (all 184 routes) .............. pass (exactly 1 h1 each; 16 skill routes) ``` **Do not merge/deploy** — returning to Dotta/reviewers for approval per PAP-16980. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
2ab76e8e4b |
docs: fix goals reparenting, human-invite signup, macOS install, first-company step (#80)
Addresses open documentation-feedback issues, each verified against the `paperclipai/paperclip` source. ## Changes - **Goals — reparenting (#13):** The goal properties panel renders the parent goal as a read-only link (unlike issues, which have an editable parent picker), and the goal update mutation never sends `parentId`. The docs claimed you could "change the parent field" in the panel. Corrected to describe the real path — `paperclipai goal update <id> --parent-id <id|null>` / `PATCH /goals/{id}` — and removed "parent" from the list of panel-editable fields. - **Add a human teammate — signup (#50):** The reported "Email and password sign up is not enabled" is thrown by Better Auth when `emailAndPassword.disableSignUp` is set, which Paperclip wires from `auth.disableSignUp` / `PAPERCLIP_AUTH_DISABLE_SIGN_UP`. Added a troubleshooting callout naming the cause and how to re-enable self-service signup. - **Installation — macOS Apple Silicon (#74):** The Terminal install path had no troubleshooting section. Added a note for the embedded PostgreSQL start failure caused by missing `libzstd`/`liblz4` compatibility symlinks, with a copy-paste fix. - **Create your first company (#16):** Renamed the step 4 heading from "Save and continue" to "Create the company" to match the actual **Create Company** button. ## Verification - `sync:lint-links` passes — 186 markdown files, no broken internal links. - Product-behaviour claims (#13, #50) confirmed directly in parent source; #74 documents the reporter's symptom (doc-gap confirmed, not independently reproduced). Closes #13, #16, #50, #74 Co-authored-by: Claude Opus 4.8 <[email protected]> |
||
|
|
8c21935aa6 |
Add documentation changelog page with reusable accordion (#73)
## What Adds a **Changelog** category (Reference tier) with a **Docs** page that tracks what changed in *these docs* — pages added, rewritten, or expanded — per release. It's framed as a changelog for the documentation itself, not a mirror of Paperclip's product release notes (which it links out to). Backfilled with the full documentation history: **10 releases** from `v2026.513.0` (this repo's genesis) through `v2026.722.0`, reconstructed from each release commit's own docs summary. Each release is a collapsible accordion; the newest stays open. ## New design-system component Introduces a reusable native `<details>`/`<summary>` **accordion** (no JS): - `site/styles.css` — `details.accordion` styled with existing tokens (border/radius, parchment hover, rotating chevron, theme-aware), with an optional `.accordion-meta` right-aligned label. - `site/app.js` — allowlists `DETAILS`/`SUMMARY` + the `open` attribute in the client-side markdown sanitizer so collapsible content survives SPA rendering. Usage: ```html <details class="accordion" open> <summary>Title <span class="accordion-meta">meta</span></summary> <div class="accordion-body"> Markdown content — keep the blank lines so it parses. </div> </details> ``` ## Files - `docs/reference/changelog.md` (new) - `site/content.json` — Changelog category / Docs page nav entry - `site/styles.css`, `site/app.js` — accordion component ## Verification - `npm run sync:lint-links` — clean, no broken internal links (links verified against current tree; renamed/retired pages point at live targets). - `npm run sync:verify-nav` — passes (only orphans are the intentional CLI redirect pages). - `npm run docs:build` — all 10 accordions render, `/reference/changelog/` route builds. ## Note This is a **manual** changelog for now. A follow-up could hook a "prepend a new accordion" step into the `/sync-docs` release phase so future releases self-populate. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 <[email protected]> |
||
|
|
44e12ab37c |
Release docs for paperclip v2026.722.0 (#72)
Release docs for **paperclip v2026.722.0** (window `v2026.720.0 → v2026.722.0`; 256 changed parent files, 60 commits, diff window clean — 0 truncated leaves). Nothing here goes live until this PR is merged to `main`. ## Surfaces authored this run | Surface | Docs | Parent PR | |---|---|---| | **Run-bound agent secret access** — `access.`-prefixed / `api` delivery mode; `GET /api/agents/me/secrets`, `POST /api/agents/me/secrets/:key/value` (`Cache-Control: no-store`) | `api/secrets.md`, `api/agents.md` | #9921 | | **Local agents run natively on Windows** (ACPX, no Bash wrapper; env via session options; `.cmd` shim; symlink→copy on EPERM) | `adapters/acpx-local.md` | #9980 | | **`PAPERCLIP_*` bindings flow through**; only `PAPERCLIP_API_KEY` rejected (override removed); `DO_NOT_TRACK` / `PAPERCLIP_TELEMETRY_DISABLED` opt-out | `deploy/environment-variables.md` | #9974, #9946, #9906 | | **Safer `CODEX_HOME` sandbox sync** — explicit allowlist, not whole home | `adapters/codex.md` | #9972 | | **Plugin SDK** environment-sync exports + `onEnvironmentSyncIn/Out` hooks | `reference/plugins/sdk.md` | — | | **CLI `company export --force`** | `reference/cli/company.md` | — | | **Connections v3 (Apps)** experimental foundation — `remote_http`→`mcp_remote`, `connection_grants`, AppDefinition catalog | `experimental/connections-apps.md` (new) | #9958, #9981, #9982 | Riding along from earlier nightly drafts (part of this release): secret folders (`administration/secret-folders.md`), searchable agent picker, cloud-managed bootstrap gate (`api/instance-admin.md`). ## Verification All authored claims verified against parent code at tag `v2026.722.0` (`verify-edit`): **0 high-confidence unverified**. `docs:build`, `sync:lint-links`, and `sync:verify-nav` all pass. Frontmatter stamped `paperclip_version: v2026.722.0`. The 2 nav orphans (`cli/commands.md`, `cli/control-plane-commands.md`) are the intentional redirect anchors. ### ⚠ Drift (all resolved as false positives — no action) `sync:check-drift` flagged 4 `rest-route-missing` candidates: - `GET /api/agents/me/secrets` and `POST /api/agents/me/secrets/{key}/value` (in `api/agents.md` and `api/secrets.md`). These are the **new** routes this PR documents. The flags fire because the drift checker searched a stale `last_seen` sha and REST-route matching is medium-confidence (router-prefix registration hides the literal). Both routes were verified verbatim against `server/src/routes/secrets.ts` at tag `v2026.722.0`. No change needed. One `verify-edit` env-var flag (`PAPERCLIP_CLOUD_PROD_PROVIDER_RAILWAY_TOKEN`) is the release-note **illustrative example** of a user-chosen name, framed in prose as "for example a secret called …" — not a real product variable. No change needed. ### ↻ Renames detected None. ### ⚠ Reconcile None. ## Screenshots See `SCREENSHOTS_PENDING.md`. 13 unique captures (×2 light/dark) are genuinely stale — mainly agent-config surfaces (`AgentConfigForm.tsx` gained the Secret access editor) and secrets. Net-zero `+0/-0` UI touches were filtered out. Not auto-captured — recapture via `npm run screenshots:refresh` goes to a separate review PR. The new `secret-folders.md` and `connections-apps.md` pages have no captures yet. ## Post-merge (squash-only repo) After squash-merging, run `node scripts/sync/realign-nightly.mjs release/v2026.722.0 --push` and bump `.sync-state.json` `base_release_tag` to `v2026.722.0`. Skipping the realign arms the add/add-conflict trap at the next nightly run. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
175648e771 |
docs: add Experimental feature section and screenshots (#71)
## Summary - adds a new **Experimental** documentation section with an overview and 10 feature pages covering motivation, enablement, usage, and caveats - wires the section into `site/content.json` and refreshes the experimental flag list in administration settings - adds six screenshot capture targets and 12 QA-verified screenshots (light and dark) for experimental feature surfaces - includes the screenshot-pipeline fixes needed to seed and capture those surfaces reliably ## Screenshots Adds light and dark captures for: - environments - cloud upstream - file viewer - external objects - server info - recovery preview The 12 PNGs were verified on Paperclip task PAP-14814 on July 21, 2026 and were preserved byte-for-byte during the rebase. ## Verification - `npm run sync:lint-links` — pass; no broken internal links - `npm run sync:verify-nav` — pass; only the two pre-existing CLI orphans - `npm run sync:verify-screenshots` — pass; every documented screenshot is tracked and indexed - `npm run docs:build` — pass Paperclip: PAP-14705 --------- Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> Co-authored-by: Claude Fable 5 <[email protected]> |
||
|
|
5fdce2b098 |
screenshots: pre-seed capture phase for onboarding-wizard shots (#70)
Fixes the harness limitation flagged in #68: the seeded instance always has a company, so the create-a-company wizard was unreachable and onboarding shots fell back to the Dashboard. **How:** `run.mjs` gains a phase 3.5 — after health check, before seeding — that captures targets marked `phase: "pre-seed"` while the instance is still company-less (`/onboarding` serves the wizard there). `capture.mjs` gains a `phase` option (`--phase`); post-seed stays the default, so existing invocations are unchanged. **Retargeted:** the four true wizard shots to `/onboarding` (goal-field fills the company name and advances to the Mission step); the two budget shots to the agent configuration form, since the wizard has no budget UI (verified at v2026.720.0). **Validated with real runs against the v2026.720.0 tag** — all pre-seed captures succeed with zero step failures, light and dark visually verified (wizard step 1 empty, filled name, Mission step). Refreshed PNGs included. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <[email protected]> |
||
|
|
215dc2ed2d |
screenshots: wire routes for 20 unrouted registry entries (#69)
Backfills `route` + `dependsOn` for the 20 registry entries flagged in #68 as never wired for automated capture (plus marks the hand-annotated `dashboard-overview-annotated` as intentionally manual instead of leaving its stale `_todo`). Routes verified against the v2026.720.0 route table in `ui/src/App.tsx`; every `dependsOn` path verified to exist at that tag. Details and caveats (dialog-step captures, the onboarding harness limitation) in the commit message. No images change in this PR — next capture pass picks these up. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <[email protected]> |
||
|
|
ef28814c68 |
Screenshot overhaul for paperclip v2026.720.0 (#68)
Full screenshot overhaul for **paperclip v2026.720.0** — the design-system convergence in this release (single-source tokens, retuned theme, Card/Badge adoption, radius ladder, Lucide status glyphs) invalidated 248 of 298 registry entries, so this recaptures everything with a route rather than a targeted refresh. Captured with `npm run screenshots:refresh:all` against parent tag `v2026.720.0` (`903bd157c`), on the standard isolated seeded instance (loopback :3197, embedded Postgres on a free port). 1440×900 @2x, light + dark. ## What's in here - **246 recaptured PNGs** (123 logical shots × light + dark), all stamped `captured_sha: 903bd157c…` in `registry.json`. - Dimensions, theme correctness, and file sanity verified by an automated review pass: all full-page captures 2880×1800, dark variants genuinely dark, no blank/error/login pages, no 0-byte files. The two intentionally small cropped stat-panel shots are correct. ## Excluded after review (kept on their old captures, still marked stale) Five logical captures came out showing the **wrong UI state** and were reverted rather than shipped: | Capture | What went wrong | |---|---| | `onboarding/goal-field` | Onboarding flow unreachable — seeded instance already has a company, capture fell back to Dashboard | | `onboarding/new-company-modal-empty` | Same Dashboard fallback | | `onboarding/sidebar-new-company-button` | Same Dashboard fallback | | `work-modes/work-mode-picker` | Picker overlay click timed out (8s); shows Inbox without the picker open | | `routines/cron-picker` | Schedule-builder click timed out; shows routine Overview without the builder | Harness fixes needed before these can recapture: a company-less (or resettable) instance for the onboarding set, and longer interaction timeouts / fixed locators for the two pickers. ## Worth a look during review - `skills/assign-to-agent` shipped but is **partial**: the "Add to agent" button is visible but the dropdown isn't expanded. Usable, flagging for judgement. - **42 registry entries (21 logical) remain uncaptured** — they have `route: null` and a `_todo` note, i.e. never wired for automated capture. Mostly `company/*`, `tasks/*`, `org/*`, plus two export-import shots. Deciding whether to add routes for these is follow-up work, not part of this PR. - 8 PNGs on disk are pre-existing hand-made assets outside the registry (`hermes/*`, two diagrams) — untouched, expected. ## Checklist - [ ] Spot-check a few light/dark pairs render correctly in the docs - [ ] Confirm the five excluded captures' old images are still acceptable placeholders - [ ] File follow-up for the onboarding-harness fix + the 21 unrouted registry entries 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <[email protected]> |
||
|
|
8121a9c947 |
Release docs for paperclip v2026.720.0 (#67)
Ships the docs for **paperclip v2026.720.0** to `docs.paperclip.ing`. Window: `v2026.707.0...v2026.720.0` — 196 commits, 1,523 changed files, 0 truncated leaves. Most of this release was already drafted on `nightly` over the past cycle (Cases, Folders, Decision Training, Attention, Built-in Agents, company skill policy, inbox agent policy, `costStatus`, the ACP engine graduation and `acpx_local` retirement, and `PAPERCLIP_TOOL_ACTION_SIGNING_SECRET`). This PR adds the surfaces nightly had **not** yet covered, then stamps the release version across everything touched this cycle. ## New pages **`docs/reference/api/tool-gateway.md`** — the MCP Tool Gateway, the headline experimental feature. Covers applications and connections, catalog entries and risk levels, profiles/entries/bindings, the tool-access policy and its decision outcomes, named MCP gateways and their tokens, the audit feed, and the Smoke Lab. Documents the five `tools:*` permission keys and the viewer/membership rules on routes that don't use a permission key. Flags both experimental gates (`enableApps`, and `enableSmokeLab` separately). **`docs/reference/api/summary-slots.md`** — the built-in Summarizer and summary slots. Covers slot addressing (`scopeKind` / `scopeId` / `slotKey`), generation, revisions, and the `enableSummaries` gate. Cross-references Built-in Agents rather than duplicating it. ## Updated **`docs/guides/org/skills.md`** — Skill Studio (the three-pane authoring workspace, saved inputs, test runs and their unavailability reasons, run templates, version history), nested skill folders and the My Skills view, importing skills straight from a project, and company skill forks. Cross-references the existing Folders and Company Skill Policy API pages instead of restating them. ## Release stamping `paperclip_version: v2026.720.0` applied to all 26 pages touched this cycle — bumped on 10 that already had frontmatter, added to 13 that had none (including the API pages nightly authored, which were intentionally versionless until they merged to `main`). ## ↻ Renames detected `detect-renames.mjs` reports no directory renames. It flags one `removed_dirs_no_match`: - `packages/adapters/acpx-local` — **already reconciled on nightly.** The adapter was retired upstream (ACP became a capability of each harness adapter rather than a standalone adapter). `docs/reference/adapters/acpx-local.md` is now a retired stub that points at Claude Code / Codex / Gemini CLI and documents the automatic migration. No action needed. ## Screenshots — full overhaul recommended **248 of 298** registry entries are stale. This release landed a design-system convergence (single-source design tokens, retuned theme, broad Card/Badge adoption, a multiplicative radius ladder, unified list surfaces, Lucide task-status glyphs), so nearly every captured surface moved. This is an overhaul cycle, not a targeted refresh: ```sh npm run screenshots:refresh:all ``` Full per-entry breakdown in `SCREENSHOTS_PENDING.md`. Captures go to their own PR for review — nothing is auto-pushed. ## Verification - **Drift:** clean — 0 records against `903bd15` (8 parent paths, 57 CLI commands, 66 env vars, 389 REST routes, 18 permission keys, 4 roles). - **Claim verification:** `verify-edit.mjs` against `v2026.720.0` — **0 unverified, 0 suspicious** across all three authored files. - **Reconciliation:** no disappeared manifest entries. - **`npm run docs:build`:** passes — 169 markdown files, sitemap and robots generated. - **`npm run sync:check`:** links clean (172 files), nav clean, screenshots indexed, drift clean. - **Nav orphans:** `docs/reference/cli/commands.md` and `docs/reference/cli/control-plane-commands.md` — intentional redirect anchors, expected. `.sync-state.json` bumped to `base_release_tag: v2026.720.0` / `base_release_sha: 903bd157…`, which also repoints the drift checker's pinned ref (the previous `f12bb27…` no longer resolves upstream). No open `nightly-draft/*` PRs to fold in. ## Checklist - [ ] Tool Gateway page reads correctly for an operator enabling `enableApps` for the first time - [ ] Summary Slots experimental gating is accurate - [ ] Skill Studio guide matches what you see in the running UI - [ ] Decide whether to run the screenshot overhaul before or after merging this - [ ] **After squash-merging: run `node scripts/sync/realign-nightly.mjs release/v2026.720.0 --push` before the next nightly sync.** The squash severs `main`↔`nightly` ancestry; the realign (shipped in this PR) prevents add/add conflicts at the next nightly run. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
87bcacc731 |
docs: move desktop app guidance to unofficial community page (#65)
## Summary - Add a dedicated **Community Desktop App (unofficial)** guide covering installation, Local/Remote modes, server connections, updates, and troubleshooting. - Clearly identify `aronprins/paperclip-desktop` as community-maintained, unofficial, and unsupported by the Paperclip team. - Remove the desktop app as a primary installation/start path across the installation, update, quickstart, glossary, terminal setup, export/import, and overview docs. - Register the new page under **How-to Guides → Deploy & Maintain** and retain small cross-links where desktop-specific guidance is useful. ## Verification - `npm run docs:build` — passed on the final PR branch. - `sync:lint-links` — previously passed across 162 files with no broken links. - `sync:verify-nav` — previously passed with only two pre-existing orphan pages. - `docs:test:static-routes` — previously passed. - Verified the new route, sitemap entry, and cross-links in the built `.site` output. Closes PAP-14693. --------- Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
773f72838a |
docs: Checkbox Confirmations API reference (v2026.609.0) (#54)
## Summary - New API reference page `docs/reference/api/checkbox-confirmations.md` for the `request_checkbox_confirmation` issue-thread interaction kind (shipped in v2026.609.0, paperclipai/paperclip#7649): create/list/accept/reject routes, full payload schema + validation limits, results/outcomes, continuation policy, target staleness, idempotency. - Registered in the API nav (`site/content.json`) after Issues. - Card screenshot added under `docs/user-guides/screenshots/{light,dark}/interactions/` (same capture both themes — the delegated QA pass produced a light capture; swap-safe path). Campaign v2026-609-0 · piece `api-docs--checkbox-confirmations` · PAP-13235. **Merging this PR = publishing the page** (delivery gate for the campaign piece). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
ad0d5a930b |
Glossary: add per-term stable anchors (#52)
Convert glossary terms into citable heading sections and add matching static heading IDs to the release build. Static-route verification now asserts representative glossary term anchors. Verification: - npm ci --include=dev - npm run docs:build - npm run docs:test:static-routes - git diff --check origin/main...HEAD - Cloudflare preview glossary contains id="adapter", id="board-operator", and id="heartbeat" Co-Authored-By: Paperclip <[email protected]> |
||
|
|
7e25158fca |
Release docs for paperclip v2026.707.0 (#49)
Promotes v2026.707.0 docs from nightly: Custom sandbox images + Ramp skill (new), Work Timeline (#48) and Secret scopes (#47) content, screenshot capture targets, environments nav reconcile, sync-state bump to v2026.707.0, and accuracy fixes from adversarial verification. 0 drift. |
||
|
|
cd2b7d89b1 |
docs: enrich Task Watchdogs guide — lifecycle visuals + oversight framing [v2026.626.0] (#45)
## Summary - Updates the **existing** `docs/guides/projects-workflow/task-watchdogs.md` page (re-scoped from a would-be duplicate page, per board direction on PAP-12840 — no-duplicates rule holds). - Adds: watchdog lifecycle diagram, review-outcome thread screenshot (light & dark), activity-feed labeling note, the fingerprint dedupe explanation (one review per distinct stopped state), and a new "Watchdogs, approvals, and execution policy" comparison section. - Adds the `paperclip_version: v2026.626.0` pin. Staged from the v2026.626.0 release-content pipeline (`docs-guide--task-watchdogs`, PAP-12840). **Do not merge without the publish gate** — merge = live on docs.paperclip.ing. Canary preview is for board review. ## Test plan - [ ] Cloudflare Pages preview: page renders at `/guides/projects-workflow/task-watchdogs/` - [ ] Diagram + screenshot render; screenshot swaps with theme toggle - [ ] New comparison section reads well in page flow 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
4dfa41449d |
docs: drop launch-context link from Work modes guide (#43)
## Summary - Removes the trailing "Related — launch context" section (release blog link) from the Work modes guide, per operator request on PAP-12809. Docs pages should not link back to the release. ## Test plan - [x] Page body otherwise unchanged; markdown-only edit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
ac9e4a35e0 |
docs: Work Modes guide (ask work mode) [v2026.626.0]
Publish the approved Work modes docs guide for ask work mode.\n\nSource: PAP-12809 / release-content docs-guide--ask-work-mode |
||
|
|
b214cdebda |
[codex] Improve docs Lighthouse scores (#41)
## Summary Improves the docs page Lighthouse profile for the report attached to [PAP-12441](/PAP/issues/PAP-12441). - Removed render-blocking third-party docs shell requests for Google Tag Manager, Google Fonts, and Lucide. - Vendored the existing `[email protected]` parser locally and copied `site/vendor` into release builds. - Replaced Lucide runtime icon rendering with inline SVG paths for the existing docs section icons. - Fixed reported accessibility issues: mobile zoom disabling, hidden drawer focusability, TOC ARIA semantics, footer heading order, muted-text contrast, TOC button accessible name, and article link affordance. - Added smaller responsive WebP variants for the dashboard overview screenshot and explicit dimensions/fetch hints for article images. - Minified CSS in release builds. ## Canary - Commit preview: https://2f89e7fc.paperclip-docs-74t.pages.dev - Branch preview: https://codex-lighthouse-docs-scores.paperclip-docs-74t.pages.dev - Target route from the report: https://2f89e7fc.paperclip-docs-74t.pages.dev/guides/getting-started/five-minute-path/ ## Root Cause The docs shell was paying for several third-party render-blocking requests before first contentful render, and the target guide loaded a large full-size dashboard PNG for a small mobile viewport. Several Lighthouse accessibility audits were caused by UI semantics rather than content: a hidden but focusable drawer, menu roles around plain links, a non-zoomable viewport, footer heading level skips, and color-only article links. ## Validation - `npm run docs:build` passes. - `npm run docs:test:static-routes` passes. - `npm run docs:test:hierarchical-skills-nav` passes. - `node --check site/app.js`, `node --check .site/app.js`, and `node --check site/build-release.mjs` pass. - Static release checks pass for preserved SEO metadata, removed third-party assets, zoomable viewport, inert drawer, no footer headings, underlined article links, responsive screenshot wiring, TOC nav semantics, and copied optimized assets. - Cloudflare Pages check passed for commit `129baaa`. Local Lighthouse could not complete in this container because the available cached Chromium binaries fail to start without `libatk-1.0.so.0`. PageSpeed Online is also quota-limited from this environment. The canary URL above is ready for a browser-capable Lighthouse run. --------- Co-authored-by: DevRel Gemini <[email protected]> Co-authored-by: Paperclip <[email protected]> |
||
|
|
1bba6f6601 |
docs(access): document members, roles, permissions, invites & offboarding (#38)
Back-fills documentation for the human multi-user collaboration surface (company members, invites, roles, permissions, offboarding). These features are already shipped and live; this fills doc gaps and fixes one live permission-key drift. Branched off `main` (not `nightly`) because it's editorial back-fill of released features, intended to ship independently of the nightly sync cadence. ## Tier 1 — correctness - **Fix live permission drift** in `administration/company.md`: the grant list and Owner/Admin role descriptions were missing `environments:manage` and `tasks:manage_active_checkouts` (both present in `packages/shared/src/constants.ts` `PERMISSION_KEYS`; `environments:manage` is an Owner/Admin default in `server/src/services/company-member-roles.ts`). - **New** `administration/roles-and-permissions.md`: canonical 8-key catalog (what each gates), role→default-grant matrix, additive precedence rule, `instance_admin` layer, and current limitations. - `maintenance/follow-ups.md`: note to teach the drift checker the permission catalog so this can't silently drift again. (Sync tooling itself untouched.) ## Tier 2 — how-tos - `how-to/add-a-human-teammate.md` — invite → join request → approve → set role/grants (UI + CLI). - `how-to/offboard-a-member.md` — suspend vs archive, work reassignment, membership-status-gates-access, instance-level cleanup. - `how-to/enable-multi-user-login.md` — `local_trusted → authenticated`, board-claim handoff, then invite people. ## Tier 3 — concept - `guides/org/members-and-access.md` — shared human+agent principal model, roles vs grants, human roles ≠ agent org chart, instance admin, the member profile page, and the "left a project ≠ lost access" clarification. ## Verification - All 5 new pages registered in `site/content.json` (valid JSON, +5 pages). - `sync:lint-links` and `sync:verify-nav` clean for these changes. The single link the linter reports pre-exists on `main` in a skills file untouched here; the 2 nav orphans are the intentional CLI redirect anchors. - All content verified against `paperclipai/paperclip@master` source (permission keys, role defaults, CLI syntax, deployment modes). ## Follow-up after merge Back-merge `main → nightly` so the next release merge stays clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
1d5f257f2f |
docs(issues): document searchable reuse-workspace selector in New Issue dialog
Author parent commit 50ae8fc6 (#8597): the New Issue dialog's reuse-existing workspace mode now uses a searchable selector that ranks visible workspace-name matches ahead of hidden path text. Add a "Choose where the work runs" step to the Creating a New Issue flow covering the workspace mode picker and the searchable reuse dropdown (search by name, branch, or folder), with a cross-link to the Execution workspaces guide. Mark the item authored in PENDING.md. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
ae046f058b |
docs(screenshots): refresh all 98 stale shots + harden pipeline isolation
Recapture every screenshot flagged in SCREENSHOTS_PENDING.md (98 entries; 233 PNGs updated across light/dark) against parent `master`, and stamp registry.json with the new captured_sha. Mark SCREENSHOTS_PENDING.md as caught up. Also fix two isolation gaps that made `screenshots:refresh` unusable while a real local Paperclip is running: - Free embedded-Postgres port: onboard hard-codes port 54329 (no env/flag override; the port comes only from config.json), which collides with a real local instance. run.mjs now generates the config in external-DB mode (keeping the scratch data dir pristine) and rewrites database.embeddedPostgresPort to a scanned free port before boot. - Parent .env neutralized: the server loads PARENT_REPO/.env from its cwd via dotenv (override: false), which leaked DATABASE_URL (real external DB on 5432) and SERVE_UI=false into the "isolated" instance. instanceEnv() now pins DATABASE_URL="", DATABASE_MIGRATION_URL="" and SERVE_UI="true" so these win. seed-execution-workspace.mjs now throws instead of falling back to 54329, so the direct-DB seed can never connect to a real database. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
04a7b32f47 |
fix: correct two verification errors from release review
- hermes-gateway.md: rename dangerouslyAllowRemoteHttp →
dangerouslyAllowInsecureRemoteHttp (actual field name in
packages/adapters/hermes/src/gateway/server/transport-security.ts)
- reference/skills.md: correct Agent→Skills tab section labels from
"Company skills"/"Unmanaged" to the actual rendered headings:
"Installed skills", "Other skills", and
"({N}) User-installed skills, not managed by Paperclip"
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
|
||
|
|
79411f5c3e | Merge branch 'nightly' into release/v2026.626.0 | ||
|
|
57cd932896 |
Release docs for paperclip v2026.626.0
Covers Hermes built-in adapters (hermes_local + hermes_gateway), ask work mode, task watchdogs, plugin target command, routine date variables, and workspace file downloads. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> |
||
|
|
eb86e8250d |
docs: update Hermes gateway setup duration
Co-Authored-By: Paperclip <[email protected]> |
||
|
|
413c547781 |
docs: add Hermes agent connection guide (#35)
## Summary - Adds a Hermes-specific how-to guide for connecting Hermes Agent to Paperclip through the external invite and gateway flow. - Includes the attached screenshots in the docs release asset tree and references them throughout the walkthrough. - Adds the guide to the How-to navigation and cross-links it from Bring Your Own Agent. ## Validation - `npm run sync:verify-nav` - `npm run sync:verify-screenshots` - `npm run docs:test:static-routes` - `npm run docs:build:auto` - Targeted link check for `docs/how-to/connect-hermes-agent.md` ## Notes `npm run sync:lint-links` still fails on an unrelated pre-existing link in `docs/reference/skills/optional/research/last30days.md` that resolves to `docs/reference/skills/optional/research/url`. --------- Co-authored-by: Paperclip <[email protected]> |
||
|
|
e6e9f629ca |
nightly: external object references, streamlined sidebar default, Daytona leases, routine annotations, plugin SDK provider (paperclip 51ffbb38)
Authored from parent master (cumulative base v2026.618.0), delta since last run 9ac24317 → 51ffbb38. All five edits verify clean (0 unverified, 0 suspicious). - docs/guides/day-to-day/issues.md: External object references — GitHub PR/issue status-aware pills across issue surfaces, External object status filters, inbox/sidebar severity badges (PR #8512). - docs/administration/settings.md: Streamlined Left Navigation Bar is now default-on; classic sidebar is the opt-out (PR #8496). - docs/reference/adapters/sandbox-providers.md: Daytona reusable leases (opt-in), quota-safe auto-archive defaults, image-only resource overrides (#8513/#8561/#8564). - docs/guides/projects-workflow/routines.md: routine description annotations — comment on / inline-edit instructions like an issue document (PR #8229). - docs/reference/plugins/sdk.md: plugin SDK external-object reference provider surface — detect→resolve→refresh lifecycle, declaration + protocol types (PR #8512). PENDING.md / SCREENSHOTS_PENDING.md regenerated; .sync-state.json advanced to 51ffbb38. 60 screenshots flagged stale (UI changes), surfaced for human recapture. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
4ba43e3bd9 | Merge remote-tracking branch 'origin/main' into nightly | ||
|
|
5b4b489154 |
[codex] Add Skills docs hierarchy (#34)
## Summary - Add generated reference pages for bundled and optional skills. - Add Skills index pages and hierarchy-aware sidebar/breadcrumb navigation. - Add verification scripts for hierarchical Skills routes and static docs routes. ## Verification - `npm run sync:verify-nav` - `npm run docs:test:static-routes` - `npm run docs:build` - QA in PAP-11775 also verified browser rendering for hierarchy, bundled `task-planning`, and optional `last30days` pages with screenshots. ## Issues - PAP-11770 - PAP-11783 --------- Co-authored-by: Paperclip <[email protected]> |
||
|
|
2ff5539127 |
nightly: skills "required" retirement, paperclip-dev cleanup, task watchdogs guide (paperclip d1e6662e)
Round 2 — worked the human-review items, verified each against parent source: - Skills: the per-agent `required` attribute is retired upstream (AgentSkillEntry dropped required/requiredReason; AgentSkillOrigin dropped paperclip_required; resolveDesiredSkillAssignment now persists exactly the desired set with no bundled union). Fixed reference/skills.md and reference/cli/skills.md: removed "non-required" qualifiers, the retired `required` frontmatter row, the wrong "forced into every agent" claim, and corrected the snapshot example + the UI grouping (Company skills + Unmanaged, no "Required" group). - paperclip-dev skill removed upstream: dropped from the bundled list and swapped stale source/key examples to paperclip-create-agent. - Experimental features: strengthened the settings.md caution to match the new in-app "no compatibility guarantees" warning. - Task watchdogs: new operator guide page (guides/projects-workflow/ task-watchdogs.md) + nav entry. API/config/behaviour verified against routes/issues.ts, schema/issue_watchdogs.ts, and doc/TASK-WATCHDOG.md intent. Reviewed, no change needed: instance-scoped environments (routes still match docs), skills store (UI reframe; guide already accurate), plugin-sdk lease params (fields not documented). verify-edit all clean; build/links/nav/drift all green. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
46965fc667 |
nightly: codex-local auth + monitor, gemini exec notes, auth --no-browser (paperclip d1e6662e)
Cumulative nightly sync from parent v2026.618.0..d1e6662e (HEAD 9ac2431 quarantined, <24h). Applied (PR-tier, verified against parent): - codex-local: outputInactivityTimeoutMs config field + new "Authentication And Per-Agent Homes" section (host login inheritance, per-agent home seeding, fail-fast on no creds). - gemini-local: execution note now states --prompt (not stdin) and the headless-safe terminal/browser env for unattended runs. - CLI auth login: new --no-browser flag. Verify-edit: codex-local 38/40, gemini-local 27/28, authentication 37/37; the 2 unverified are pre-existing example placeholders, not this run. PENDING.md / SCREENSHOTS_PENDING.md regenerated. 7 surfaces left for human review (skills "required" retirement, paperclip-dev removal, instance-scoped environments, task watchdogs, experimental features, skills store, plugin-sdk lease params). 80/276 screenshots stale. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
b6b254cf24 |
docs: extend merged Novita AI section with full configSchema table
Keep PR #29's reviewed Novita AI section (header, `provider: "novita"` convention, install/secrets framing, timeout min-validation) and extend it with the fuller field reference from the release draft: install-by-package-name steps plus a complete configSchema table covering every field — including `secure` and the explicit defaults (timeoutMs 300000, requestTimeoutMs 30000) that the prose-only version omitted. All fields/defaults/validations verified against parent v2026.618.0 (packages/plugins/sandbox-providers/novita/src/{manifest,plugin}.ts): defaults 300_000 / 30_000, validations >= 10_000 / >= 1_000, API key required. verify-edit: 6/6 claims verified. docs:build + lint-links clean. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
e2eddfe641 |
Merge remote-tracking branch 'origin/main' into release/v2026.618.0
# Conflicts: # docs/reference/adapters/sandbox-providers.md |
||
|
|
60db152a9d |
Fix skill-list drift in skills.md (skills/ vs .agents/skills/)
The "Bundled with the Paperclip server (skills/)" list claimed three skills that are NOT server-bundled — they live under .agents/skills/ (repo-development skills) at v2026.618.0 and also at v2026.609.0, so this is pre-existing drift. Verified against parent v2026.618.0: - server-bundled skills/ contains exactly 6 dirs (all force-imported + required by ensureBundledSkills): paperclip, paperclip-board, paperclip-create-agent, paperclip-dev, paperclip-converting-plans-to-tasks, para-memory-files. - paperclip-create-plugin, diagnose-why-work-stopped, terminal-bench-loop are under .agents/skills/, not skills/. Fixes: - Remove the 3 non-bundled skills from the bundled list (now matches skills/ 1:1). - Drop the brittle "five paperclip-*" count (it also wrongly excluded the bundled para-memory-files); phrase count-free. - Repair the paperclip-create-plugin link: parent has no `main` branch and the skill moved, so blob/main/skills/... (404) -> blob/master/.agents/skills/... verify-edit: 7/7 claims verified. sync:check clean (no broken internal links). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
2368a2be5f |
Release docs for paperclip v2026.618.0
Promote nightly drafts (v2026.609.0 → v2026.618.0) to main and fill coverage gaps. New surfaces authored: - Novita Agent Sandbox provider (driver: novita) — sandbox-providers.md - paperclip-board bundled skill — skills.md (skills/ went 5 → 6; "four" → "five") Promoted nightly drafts (all ⊆ v2026.618.0, no post-tag leakage): - adapters: codex/gemini/opencode/pi/openclaw-gateway, sandbox-providers (Kubernetes) - api/agents, plugins/sdk, environment-variables (TRUST_PROXY/OTEL) - day-to-day guides: artifacts, issues, routines Stamped paperclip_version: v2026.618.0 on all 13 touched pages. Regenerated SCREENSHOTS_PENDING.md (90/276 stale — flag only, separate capture PR). Deferred: experimental conference-room board-chat (flag-gated). sync:check clean (no broken links); drift = 5 known server-env false positives. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
2cd95ec967 | docs: add Novita AI sandbox provider | ||
|
|
acfebdf637 |
nightly: K8s sandbox provider, adapter gateway routing, TRUST_PROXY/OTEL, agent read-config access (paperclip 412a04c)
Cumulative window v2026.609.0 -> master HEAD 412a04c (59 commits). Applied:
- environment-variables.md: TRUST_PROXY (reverse-proxy trust), OpenTelemetry
opt-in tracing (OTEL_*), and adapter provider-override env vars.
- api/agents.md: read-only config/skill/config-revision endpoints no longer
require agents:create for board members (agents still gated).
- adapters/sandbox-providers.md: new Kubernetes sandbox provider section.
- adapters/{codex,pi,opencode}-local.md: PAPERCLIP_*_PROVIDERS gateway routing
(+ codex GPT-5.5 / omit-default-model, opencode small-model).
- adapters/gemini-local.md: headless auth pre-selection + token-overflow
fresh-session retry.
- adapters/openclaw-gateway.md: role/scopes/paperclipApiUrl/workspaceRuntime.
- plugins/sdk.md: optional companyId tenant scoping on metrics.write + log.
Deferred (experimental/half-built) to PENDING.md: Conference Room Chat,
Skills Store, dark mode, onboarding NUX, activity feed, issues list filters.
All edits verified against parent code (Phase 5.5).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
|
||
|
|
2d4df5202c |
nightly: file viewer, routines layout, interrupt handoffs (paperclip 69a368e)
- Document the in-app workspace file viewer and inline artifact file links (#7681) - Refresh the Routines detail walkthrough: sub-sidebar layout, plain-English cron, trigger cards, run-history filters and save bar (#7848, #7858) - Add interrupt / handoff / scoped-wake semantics to the issues guide (#7855) Quarantined (held <24h): Kubernetes sandbox provider, env-driven gateway routing, GPT-5.5 Codex model — see PENDING.md. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> |
||
|
|
471967eca1 | docs(screenshots): remove orphaned execution-workspaces-list captures |