Skip to the main content
Works today

For staff: how this portal is kept true

Where the words live, how to change one, what a check will catch for you, and the honest cost of the way it was built.

Where the words live

Every page in this portal is one file in the repository at apps/web/app/guide/content/, named after its address. The page you are reading is maintaining-this-portal.ts, and it is served at /guide/maintaining-this-portal.

A content file is data, not code. It is a list of blocks: a run of paragraphs, a list, a numbered procedure, a table, a called out box, or the three question block the tool pages use. You change the words inside the quotes. You do not have to understand the rest.

To do thisChange this
Fix a sentenceFind the sentence in apps/web/app/guide/content/<page>.ts and edit it between its quote marks.
Add a paragraphAdd another string to the text array of a prose block.
Add a whole pageCopy an existing content file, change the slug, title, summary and section, and add it to apps/web/app/guide/content/index.ts.
Change the order pages appear inReorder them in apps/web/app/guide/content/index.ts.
Mark a page as being about something not yet builtSet status to not-yet. It changes the badge on the page and the chip in the contents.

The only three pieces of markup there are

  • A link is written as the words you want shown in square brackets, then the address in round brackets, with nothing between them. Like this, which is a real link to the portal contents and was typed exactly that way. It is the only way to write a link, which is what lets a check find every one of them.
  • **like this** makes something bold.
  • ` like this ` marks a route, a field name or a button label.

What the check will catch for you

A harness runs over these files. Run it with pnpm --filter @aba/api run verify:guide, and it also runs as part of the whole gate. It asserts, over every page:

  • Every internal link resolves to a route that actually exists. If somebody deletes or renames a screen, every page here that pointed at it goes red.
  • Every AI tool page names a tool the API actually registers. This is the assertion that keeps the tools section honest as the platform changes: rename a tool in the registry and the page teaching it fails.
  • Every page is reachable from the portal contents, and no two pages claim the same address.
  • No page contains an em dash or an en dash.

The honest cost of the way this was built

When a feature this portal calls "not built" gets built

  1. Find the page. Features that are not built are called out in a grey box with a slashed circle, and they are listed on the portal contents.
  2. Replace the box with what the feature actually does, and describe it from having watched it work rather than from the code.
  3. Change the page's status from not-yet or partly to live.
  4. Search the other content files for the same claim. Several pages say "no alert email is sent to anybody" and they all have to move together.
  5. Run the check, and commit the content change with the feature.

Checked against this platform on 7 September 2026. If this page disagrees with your screen, your screen is right: this is how the page gets corrected.