Read-only pipeline · System Catalog 03

FB Pipeline

fbpipe 0.3 · stage one

A narrow, fixed doorway into the server: fourteen named jobs, text answers, no shell, no administrator rights, and a deliberately unbuilt approval gate.

02 · Purpose

Replace one dangerous door with fourteen narrow ones

Before the Pipeline

To ask the server a simple question, an assistant had to use a terminal inside a web page. Answers were drawn as pixels, so long results were read by taking screenshots and scrolling.

That terminal also exposed the whole machine: harmless commands, destructive ones and everything between.

The terminal is not broken. The problem is that the same doorway serves both “show me the board” and operations that can change the machine.

What the Pipeline changes

Routine questions move behind a fixed catalogue. A request names one approved job. If it exists, the matching tool runs and its output comes back as plain text. If the name is not in the catalogue, the Pipeline refuses before anything runs.

The terminal opens onto everything.
The Pipeline opens onto exactly what was written down.

03 · Security model

The four decisions that keep the doorway narrow

01 · Catalogue

Fourteen written names, each tied to one exact tool. An unlisted name is refused before the machine is asked anything.

02 · No shell

Tool name and argument travel as separate items. No command sentence is built, so shell punctuation has nothing to interpret.

03 · No powers

Runs as an ordinary account with no administrator rights, and is configured so it cannot gain them later.

04 · No trusted arguments

Input is checked against a strict pattern and length. Invalid input is refused, not repaired.

“There is no shell.run. The list is the whole surface — a job that is not written here cannot be asked for.”

Excluded on purpose

Backup, watcher, sleep manager and site tools are absent, because their useful actions need administrator rights.

Refusal is success

A refused name or argument means the boundary did its job before any command launched.

Surface stays inspectable

The catalogue is the complete callable surface. There is no generic executor behind it.

04 · Execution path

How one question travels through the Pipeline

01 · Request arrives

A job name, plus an argument only if that job needs one.

02 · Name lookup

Not in the catalogue? The request stops immediately.

03 · Argument judged

Missing, extra or pattern-breaking input is refused before any tool starts.

04 · Build a list

Tool name first, argument as a separate item. Never a shell sentence.

05 · Run on a leash

Input closed, output and errors captured, twenty-second timeout.

06 · Return text

The exact tool output comes back as words, not pixels.

Then it enters the lane. The last sixty calls are recorded with time, job, owning agent, OK/refused and duration in milliseconds. Running totals continue after old entries roll off.

19:20:04  cards.open  board requested as plain text  OK
19:01:48  say corren  voice request completed  OK
19:00:09  say corren  refused before half-working output  REFUSED
05 · The fourteen doors

The board, rules, queue, disks, knowledge, screen and voice

The owner shown beside each job tells the interface which crew member represents it. Ownership is presentation, not permission — it grants no rights.

cards.open

QUILL
The board, newest first — everything not done yet.

cards.count

QUILL
How many cards are open. One number.

cards.groups

QUILL
The groups and how many cards each holds.

cards.show

QUILL
One card in full, with its reason. Takes a card number.

cards.rules

QUILL
The rules for one group. Takes a group name.

cards.prompt

QUILL
The promises the assistant is meant to work to.

jobs.list

RELAY
The work queue: waiting, running and finished.

jobs.show

RELAY
One job in full, including everything it printed.

disks.show

LOCKE
Every disk on the machine, mounted or not.

hub.search

QUILL
Search everything the server knows.

hub.themes

MASON
The design library the screens can wear.

hub.doctor

QUILL
What is wired up and what is not.

screen.check

WATCHMAN
A real browser opens the dashboard and reports what it shows.

say

SERRA
An agent says a line out loud. Takes a name and a sentence.

Thirteen reads. Every door except say reads something and returns the result.

One deliberate exception. say changes no file, but it makes sound in the room — so it is its own kind, not a read.

FB Pipeline 0.3 live panel
FB Pipeline 0.3 · live panel
07 · Interface

What the Pipeline screen shows

Serra, Lead AI Operator
Serra · voice owner
08 · Voice · Serra

The voice door refuses to half-work

Why speaking has a face. When a crew member speaks, their card should appear on screen. The speaking tool writes the speaker’s name to a small file; the dashboard watches it and raises the right face.

The bug this door was designed around. For eleven days the voice played while the face failed to appear — the account lacked permission to update that file, and the error was swallowed, so it looked intermittent instead of broken.

Pipeline rule: before speaking, check that the face can be raised too. If both parts cannot complete, refuse and explain why.

“A loud failure can be fixed. A silent half-success can survive for days.”
09 · Stage two

The gate is not built — and the screen says so

Stage one can ask questions. Stage two is the planned approval surface for jobs that would genuinely change the machine. An empty approval list would look like a working gate with nothing waiting, so the screen shows a large NOT BUILT instead.

Queue

A privileged job waits — the future gate starts with a job that would alter the server.

Approve

A human decision, separate from asking and separate from running.

Run

Reuses the server's own job mechanism instead of inventing a second privileged system.

Why this matters: queueing, approving and executing are three different security joints. The design keeps them visible and plans one approval mechanism, not two with different rules.

10 · Reliability

Installed as a service, not a terminal experiment

The installer proves the result. It validates the program, account and group before changing anything, moves replaced files aside with a date, then checks the service is active, the port answers, voice is ready and the panel is served.

Backup correction. Before 20 September the service definition was backed up but the program itself was not — a restore that would have looked complete and failed at startup. Both are now in the nightly backup.

Starts itself

The operating system launches it at boot.

Restarts on failure

If it stops unexpectedly, the system waits and starts it again.

One required group

Enough permission to raise an agent's face, nothing broader.

No new privileges

Prevented from becoming more powerful while running.

11 · Practical value

The real gain: answers arrive as text

“A check that is cheap gets done. A check that costs five screenshots gets skipped.”

Old workflow · 5 screenshots

Open a terminal, type, photograph the text, scroll, photograph again, rebuild the answer from images — and risk a misread number that looks plausible.

Pipeline workflow · 1 text answer

Ask one named job, get the full output as text. Search it, quote it exactly, compare it with an earlier result, with a lane record of what was asked.

Board before work

Checking open cards becomes routine instead of a chore.

Disks before backup

Attached storage confirmed quickly before relying on a backup.

Screen before claims

The real dashboard state is checked before saying the display works.

12 · Crew layer

Technical ownership, presented through the crew

Characters do not replace the machine. Security lives in the fixed catalogue, account permissions, argument rules and no-shell execution. System first, story second.

The Pipeline follows the main dashboard theme and can preview any of the eight themes locally. Its bottom bar links to the Hub, Panel and Crew areas.

The FB Server core eight crew
The core eight · visual presentation layer
Catalog 03 · complete

A reference desk with a locked catalogue.

FB Pipeline 0.3 turns routine server inspection into small, named, auditable questions instead of opening a terminal for everything. 14 doors · 20 s timeout · last 60 calls in the lane · service-managed · gate not built.

← FB Panel

Catalog 02

FB Hub →

Next · Catalog 04

Technical snapshot date: 20 September 2026