Knowledge base

Keep the fix and the reason it worked together.

Every project has a private knowledge base for runbooks, decision records and onboarding notes. Name an issue in an article and the issue lists the article under Referenced by, so whoever opens it next finds the reasoning too.

Readable only by the project's members. No public pages, no anonymous access.

Follow the key both ways.

The decision record names ACME-12, so the key in its text links to the issue. Open the issue and the article is waiting under Referenced by.

  1. Select ACME-12 in the article.
  2. The issue opens with the article under Referenced by.
  3. Select the article there to come back.

The decision record

ACME/Knowledge base/Decisions/Invitation links and expiry

Decision record · Published to project members · Last updated by Alex Lee

Invitation links and expiry

invitationsdecision

Invitation links expire after seven days (INVITE_TTL_DAYS). An expired link must explain itself and offer a new one. A blank page or a redirect to sign-in is a bug.

Decided 2 Oct 2026. The expiry message is shown on the invitation landing page itself, before any sign-in prompt, because the person may not have an account yet. See ACME-12 for the first instance.

Page
/projects/ACME/articles/invitation-links-and-expiry
For agents
article://ACME/invitation-links-and-expiry

The issue it names

ACME/Issues/ACME-12
BugMajor

Invite link blank after it expires

Actual. Opening an invitation link older than seven days shows a blank page.

Reporter
Casey Kim
Assignee
Alex Lee
Status
Open
Sprint
Sprint 08

Referenced by

Invitation links and expiry

Decisions · ACME · updated 2 Oct 2026

Hand-drawn product views with fictional data.

The next person sees the runbook beside the issue.

Without a reference, ACME-12 says what broke and nothing about why it matters. Once an article names it, the issue lists that article, so whoever opens it next finds the reasoning without asking around.

Before. No article names the issue.
ACME/Issues/ACME-12

Invite link blank after it expires

Assignee
Alex Lee
Status
Open
Links
None

Why seven days? Should an expired link go to sign-in? The answer is in a thread somewhere, or in someone's head.

After. The decision record names it.
ACME/Issues/ACME-12

Invite link blank after it expires

Assignee
Alex Lee
Status
Open
Links
None

Referenced by

Invitation links and expiry

Decisions · ACME · updated 2 Oct 2026

  • Written first still counts.

    An article that mentions a key before the issue exists is listed as soon as the issue does.

  • Resolved keys are struck through.

    Once the issue is resolved, its key in the article reads as done, so the text stays honest.

  • Code is not a reference.

    A key inside a code block stays plain text, so a pasted log does not link every issue it prints.

From a resolved incident to a runbook anyone on the project can find.

Sam Ortiz fixed a failed partner sync on 12 Oct 2026. Pick a step to see how the fix becomes a runbook the next person on call will actually find.

ACME/Issues/ACME-24
BugCritical

Partner sync stops after a key rotation

Sam Ortiz12 Oct 2026, 4:10pm
Sync is running again. The rotated key had not reached the sync service, so every batch was rejected. Updated the key, replayed the failed batch, and the next run succeeded.
Assignee
Sam Ortiz
Status
Fixed
Reporter
Casey Kim
ACME/Knowledge base/New article
Title
Restoring a failed sync
Address
restoring-a-failed-sync
Start from
RunbookDecision recordOnboarding guideBlank
Under
Billing sync / Runbooks

DraftOnly you and the project's admins can see this article.

When to use this

Describe the alert, symptom or request that sends someone here.

Before you start

Steps

If it does not work

ACME/Knowledge base/Runbooks/Restoring a failed sync

Runbook · Published to project members · Last updated by Sam Ortiz

Restoring a failed sync

When to use this

The partner sync shows Failed on every batch after a key rotation, as in ACME-24.

Steps

  1. Copy the new key into the sync service's settings.
  2. Replay the failed batches from the sync log, oldest first.
  3. Confirm the next scheduled run succeeds.
Published 12 Oct 2026. Every member of ACME can read it, Observers included. It can return to draft at any time.
ACME/One tag on both

Article

Restoring a failed sync

sync-outagerunbook

Issue

ACME-24 Partner sync stops after a key rotation

sync-outage

One list of tags for the whole organisation. When you tag an article, tags already used on articles are offered first, but any tag can be used.

tag: sync-outage

Issues 2

ACME-24Partner sync stops after a key rotationFixed

ACME-25Sync log hides the rejected key errorFixed

Articles 1

Restoring a failed sync

Runbooks · Sam Ortiz · 12 Oct 2026

The partner sync shows Failed on every batch after a key rotation. Copy the new key into the sync service…

A query that only makes sense for one kind, such as status: draft, is answered by that group; the other says so instead of guessing.

More on search and saved views

A tree three levels deep, and nothing else to learn.

There are no separate categories. An article with articles under it is the category, and it can carry its own overview. Drag an article to reorder it or move it under another; from the keyboard, Alt with the arrow keys does the same. Moving it never changes its address.

Comments

The same editing and deleting rules as comments on issues, and @username mentions work the same way.

Files

Drop or paste them into the editor, or attach them to a comment. Up to 50 per article, counted toward the organisation's storage like any other attachment.

Addresses that last

Restoring a failed sync becomes restoring-a-failed-sync. Renaming keeps the address, so links and agent references keep working.

Restore for 14 days

A deleted article comes back from Deleted articles, with anything deleted along with it. There is no version history: each article shows who changed it last, and when.

ACME/Knowledge base

Starred

Restoring a failed sync

Articles

  • Billing sync
  • Architecture overview
  • Runbooks
  • Restoring a failed sync
  • Rotating partner keysDraft
  • Decisions
  • Invitation links and expiry
  • Onboarding

Tags

  • decision1
  • invitations1
  • onboarding2
  • runbook2
  • sync-outage1
The side panel beside every knowledge base page: starred articles, the tree, and the tags in use with how many articles carry each. Click a tag to filter by it.

Internal to the project, with no public pages.

Only the project's members can read its knowledge base. There is no public publishing, no share-with-anyone link and no anonymous access. In an archived project, it becomes read-only.

A draft is yours until you publish it.

A new article is a draft: only you and the project's admins can see it. A one-line notice on the article says so.

Published means every project member.

Publish it and everyone in the project can read it, Observers included. Return it to draft at any time; it remembers when it was last published.

Who can do what
ActionObserverContributorProject Admin and up
Read published articlesYesYesYes
Read draftsNoOwnYes
Create, edit, publish, moveNoYesYes
Delete articlesNoOwnYes
Comment, tagNoYesYes
Star and watchYesYesYes

Own means the articles you wrote. Someone else's draft is not shown to a Contributor at all.

Your agent reads the decision before it touches the issue.

Articles are Markdown, so an agent reads them as written. It works through the same API and permissions as you: the drafts you cannot see, it cannot see either. Text it reads arrives marked with who wrote it, and the agent is told not to follow instructions inside it.

MCP and AI agents

Read before acting

What did we decide about expired invite links? Then look at ACME-12.

search_articles invite expiryget_articleget_issue

get_article returns the article as Markdown. A client that supports resources can attach article://ACME/invitation-links-and-expiry instead.

Draft from the incident

/mcp__nothingleft__document-this ACME-24

search_articleslist_articlescreate_article status: draft

It checks what is already written, cites ACME-24 so the issue lists the article, shows you the draft and creates it only once you agree.

Publish and tag

Publish Restoring a failed sync and tag it sync-outage.

update_article

One partial update: status and tags together.

Questions about the knowledge base.

Who reads what, how articles and issues find each other, and what is deliberately left out.

Who can read an article?

A new article is a draft: only its author and the project's admins can see it. Once published, every member of the project can read it, Observers included. Nobody outside the project can read its knowledge base, and there is no public or anonymous access. Knowledge base manual

Can we publish articles to customers or the public?

No. The knowledge base is internal to the project: there is no public publishing, no share-with-anyone link and no anonymous access. Public documentation is a different product, and this one does not try to be it.

How does an article link to an issue?

Write the issue key, such as ACME-12, anywhere in the article. It becomes a link to the issue, struck through once the issue is resolved, and the issue lists the article under Referenced by. That works even if the article was written before the issue existed. A key inside a code block is not a reference.

Are there templates?

A new article starts from a Runbook, a Decision record, an Onboarding guide or a blank page, each with headings to fill in. There is no template editor to manage beyond those starters.

Does it keep version history?

No. Each article shows who changed it last, and when. A deleted article can be restored for 14 days, with anything deleted along with it; after that it is removed for good, with its comments and files.

Can an AI agent read and write articles?

Yes, through the MCP server, with your permissions and nothing more. It reads an article with get_article, writes one with create_article and publishes or tags it with update_article. The document-this prompt turns resolved issues into a draft and creates it once you agree. A token reads with issues:read and writes with issues:write. MCP and AI agents

Write the next runbook where the next person will look.

Join the beta, create a project and start its first article from a starter. Name an issue key in it, and the issue points back.