← The Machine Room · Case file 001: ProcessOS Runs from brief to signature · Sheet 1 of 9
Case file: ProcessOS, a client document portal for consulting firms Drawing no. AH-CS-001

Client comments become checked edits, and every signature is bound to the exact version the client read.

A client document portal for consulting firms. Each SOP, policy or audit report lives on one link, where the client comments on the exact step, approves section by section and signs. The Assistant turns a comment into suggested edits to the text, tables and diagrams, and a consultant accepts each one before the next version goes to the same link.

Client comment → Assistant suggests → consultant accepts → version 2 on the same link → client signs
1link per document, from the first draft to the signed version Verified: mechanism
0
Tools that let the AI publish, share, email or sign. Each of those steps stays with a person Verified: mechanism
Drawn byAbu Huraira Mukhtar
RoleArchitect and sole developer
Built forConsulting and advisory firms
The client getsOne live link per document
AI boundarySuggests edits; a person accepts, publishes and signs
CopiesPDF and Word, with a certificate of completion
StatusRuns from brief to signature
SourceSource code and project records
Sheet 2 of 9: In briefThe case in four parts

01 · The short version

The problem
A consulting firm sends each SOP, policy or audit report as a PDF, and the review round runs by email. Comments arrive in reply threads and PDF notes, and the consultant rebuilds the file by hand. In the end, nobody can say which version the client approved or signed.
What I built
ProcessOS, a client document portal. Each document lives on one link, where the client comments on the exact step, approves section by section and signs. When a client comments, the consultant passes it to the Assistant inside ProcessOS. It suggests the edits on the page, and the consultant accepts each one before the next version goes to the same link.
How it went
It runs from the consultant’s brief to the client’s signature: AI drafts the first version from the brief, and the client reviews and signs it on the link. Underneath sit 1,566 automated checks on sign-in, access and each firm’s data Verified, mutation-tested, and 78 named test suites Verified.
What you’d get
ProcessOS set up for your firm: your documents on live links in your house style, with your sign-off route. Your consultants decide every change and every version, and your clients review and sign in one place.
Sheet 3 of 9: Field notesThe before-state

02 · Approved by email, signed on the wrong file

Somewhere tonight a consultant is saving final_v7_FINAL.pdf and hoping the name is true.

Last week’s SOP came back as a reply-all thread and a set of notes on the PDF. Each comment means an edit in the Word file, a swimlane redrawn in another tool, a RACI row fixed by hand and a new PDF emailed. Then the replies start again.

At the end, someone signs whichever file they printed. Nobody can say which version the client approved, or whether anyone read past the summary.

That is a consultant’s judgement spent on chasing versions, on every document for every client.

General notes
1. Documents: SOPs, policies, audit reports, playbooks
2. Feedback channel: email threads and PDF notes
3. Version of record: unknown
4. Sign-off: a printed copy
Fig. 1: One review round, by handBefore the portal
Sheet 4 of 9: Before and afterOne review round, step by step

03 · One link from comment to signature

Every review round happens on one link. When the client comments on a step, the consultant asks the Assistant for the edit and accepts it on the page before the next version goes to the same link.

StepBy handWith ProcessOS
Client feedbackComments in email threads and PDF notes, merged by handThe client comments on the exact step in the document. Each comment stays tied to that step and the version they read
A requested changeThe consultant edits the Word file and hopes nothing else movedThe consultant asks the Assistant, quoting the comment. The edit is drawn on the page, and the consultant accepts or declines each suggestion
Diagrams and tablesThe swimlane is redrawn in another tool and the RACI fixed by handStep lists, RACI tables and diagrams are structured parts of the document, so a new step, row or box shows in place, with the original one switch away
PublishingA new PDF is saved and emailedOnly a consultant publishes. Publishing waits until every suggestion is decided and the print proof passes, then the client’s link opens the new version
Version of recordfinal_v7_FINAL.pdf and a guessEvery published version is kept unchanged, and the client sees what changed since their last review, side by side
Sign-offA signature on whichever file was printedThe client approves section by section and signs the exact version. The signature is bound to that version, and a public page re-checks it
Who read whatNo record of who read whatThe consultant sees time, views and comments per section, and each signature carries how much of the document the signer’s browser reports as read
AccessAn attachment anyone can forwardEach link can be restricted to named emails or a domain, opened with a one-time code sent by email, set to expire or revoked at any time
What the client and the consultant seeScreens redrawn in outline, with a fictional company
The review linkVersion 1 · published
Employee onboarding process
Demo Corp · Section 01, Pre-arrival preparation
  1. 1Send the welcome packHR Business Partner
  2. 2Provision IT equipmentIT Support
  3. 3Set up system accessIT Support
Can IT test the new hire’s login before day one? Last time, access failed on the first morning.Head of Operations, Demo Corp, on step 3
Review this section
ApproveConditionsRequest changes
1. The review link. The client reads version 1 and leaves a comment on the exact step it concerns. Each section has its own Approve, Conditions and Request changes.
The suggestion, on the pageConsultant’s workspace
05 · Process flow, suggested by the Assistant
HR ManagerIT SupportNew Employee Send welcomepack Provisionequipment Set upsystem access Test login Docscomplete? HR ManagerIT SupportNew Employee Send welcomepack Provisionequipment Set upsystem access Test login Docscomplete?

What changes in this diagram: adds 1 step to the IT Support lane, after set up system access.

AcceptDecline
2. The suggestion, on the page. The Assistant’s edit is drawn where it lands, as a new box in the IT Support lane. Switch to Original to see the diagram as it stands; nothing changes until the consultant accepts.
Updated since your last reviewVersion 2 · published
Version 2 · 3 changes
3 of 5 sections affected
“Added a login test before day one, as you asked.”Your consultant
  • 01Step list: new step 4, Test the new hire’s loginAdded
  • 02RACI: new row, Test loginAdded
  • 05Process flow: new box, Test loginAdded
Review changesCompare side by side
3. What changed. The client opens the same link and finds version 2, with every change since their last review and the consultant’s note.
The verify pagePublic, no sign-in
Verified · document unmodified
Employee onboarding process
Version signed2
SignatoryHead of Operations, Demo Corp · read 100%
HashSHA-256 7f3a…c91e
StatusSigned content is unchanged.
CertificateCertificate of completion, a PDF with a QR code to this page
4. The verify page. Anyone with the certificate can check the signature: the page re-hashes version 2 and compares it with what the client signed.
Sheet 5 of 9: Approval plateWhat the case rests on

04 · A person decides every step toward the client

1 linkPer document. It opens the latest published version; edits in the editor stay hidden until a consultant publishesVerified: mechanism
0 toolsThat let the AI publish, share, email or sign. The Assistant’s 21 tools read, check and proposeVerified: mechanism
5 checksThe Assistant runs on the draft: document integrity, source support, consulting quality, presentation and export readiness, each tied to the draft revision it checkedVerified: mechanism
27 block typesStep lists, RACI tables, diagrams and sign-offs are structured blocks, so each change lands as a marked edit the client can compareVerified

How I’d start in your firm

Bring one document your clients sign off, with the last round of comments it went through. We set it up as a live link in your house style and run its next review round on the link.

Discuss a system like this
Sheet 6 of 9: General arrangementDrawing 001-A

05 · Every edit lands in one typed document

Every document is one typed object: an ordered list of blocks, 27 block types in all. The consultant’s edits, the Assistant’s accepted suggestions, the versions the client reads and the hash each signature records all come from that one object.

The app is Next.js and TypeScript on PostgreSQL through Prisma, with row-level security keeping each firm’s records apart and Redis queues running the Assistant and the PDF jobs. Drafting a first version from a brief can use any of seven model providers. The Assistant runs on Anthropic or OpenAI, because it works through tool calls.

The client’s link reads published versions only. Each one is stored unchanged with a SHA-256 hash of its content, and approvals and signatures bind to that hash. The PDF and Word copies are set from the same blocks.

As built
Next.js, TypeScript, PostgreSQL with Prisma, Redis, Puppeteer, docx
27 block types, one schema Verified
7 model providers for drafting; the Assistant on Anthropic or OpenAI Verified
Each firm’s records held apart by row-level security in PostgreSQL
Fig. 2: The portal’s general arrangementRedrawn from the source
Detail A, see fig. 2, grounding

The model writes an intent; the server writes the change

The Assistant never sends a raw patch. It names the block and the change it wants, and the server resolves the block, the version and the previous value from the draft itself.

Chose a small intent grammar the model writes, with the server grounding every operation against the current draft, because a change the client will sign has to be checked against the exact text it replaces. Cost: a proposal made against an older draft is refused, and the consultant asks for a fresh one. Gained: the model cannot invent a previous value or reach past what the consultant attached, and every suggestion passes the same validation as a hand edit.
Detail B, see fig. 2, signatures

A signature names one published version

Signing records the SHA-256 hash of the published version the client read, with their intent, their consent and the share of the document their browser reports as read.

Chose to bind each signature to a stored version’s hash, because a sign-off is worth something only when it names the exact content. Cost: any change after signing needs a new version and a new approval round. Gained: the public verify page re-hashes the stored version and reports Verified, or Valid, superseded once a newer version exists; a mismatch on the signed version is the one failure it reports.
Sheet 7 of 9: Section A-A, one commentDrawing 001-B: cut through one review round

06 · One comment through the system

Follow the client’s comment from sheet 4 through one review round, from version 1 to the signature on version 2. The left edge of the drawing shows who does each step.

Fig. 3: Section A-A, one comment through the systemFictional comment and document; the steps are the code’s
Beat 1: the client’s part

1Comment on version 1

The client reads version 1 on the review link and leaves a comment on step 3, Set up system access. The comment is stored against that block and the published version they read, so it stays tied to the exact text it concerns.

Beat 2: the consultant asks

2Ask the Assistant

In the workspace, the consultant attaches the whole document, keeps the working style on Suggest and quotes the comment in the request. In Suggest, nothing reaches the draft until a person accepts it.

Beat 3: read, then plan

3Read and plan

The Assistant reads the outline and each block it will change, then keeps a task plan the consultant can follow: three changes, one per block. Every request runs inside fixed limits on steps, tool calls, time and spending, checked before each model call Verified: mechanism

Beat 4: intent in, change out

4Propose

It proposes one suggestion per block: a new step in the list, a new row in the RACI table and a new box in the IT Support lane. Each arrives as intent. The server checks that the block sits inside what the consultant attached, fills in its previous value from the current draft, dry-runs the change through full schema validation and saves it only if the draft has not moved. A diagram change that would stop the flowchart drawing is refused, with a note to make it smaller.

Beat 5: a person decides

5Accept and check

Each suggestion is drawn where it lands, with Accept and Decline at the block and a Changes / Original switch on the diagram. The consultant accepts all three. The Assistant then runs the five checks on the new draft, and each result records the revision it checked, so a later edit marks it as from an earlier version.

Beat 6: only a person publishes

6Publish version 2

Publishing waits until no suggestion is open and the print proof passes. Version 2 is stored unchanged, and the client’s link now opens it, with a banner showing what changed since their last review. The approval round on version 1 closes with its decisions kept, and the consultant starts a new round for version 2.

Beat 7: signed, then checked by anyone

7Sign version 2

The client signs in three steps, Review, Sign and Confirm, after a one-time code sent to their email confirms who they are. The record stores the SHA-256 hash of version 2 with their intent, consent and the share their browser reports as read, and the public verify page re-hashes the stored version against it. The next comment on version 2 starts the same loop, on the same link.

Sheet 8 of 9: Test recordWhat the tests hold it to

07 · Each promise to a client is held by a test

Each row is a promise about what a client sees or signs, and how the code keeps it.

Every row has a test that runs against the code and fails when the promise is broken.

Row
Part
The promise
How it holds
Proof
A
Signing
The exact versionA signature covers the version the client read, and no other text.
Bound by hashSigning records the hash of the published version the signer opened. With nothing published, signing is refused.
Live test
B
Verify page
An honest statusA valid signature stays valid when the document moves on to a new version.
Four outcomesThe page re-hashes the version each signature is bound to: Verified; Valid, superseded when a newer version exists; Cannot verify; and Modified after signing, for a real mismatch.
Tests, mutation-tested; end to end on the page
C
Publishing
Decided firstNothing reaches the client while a suggestion is still waiting for a decision.
One lockPublishing and new suggestions share one document lock, and the count of open suggestions runs again inside it.
Live test
D
Accepting
Current onlyA suggestion made against an older draft can never be applied to a newer one.
Refused and markedThe acceptance is refused, and the suggestion is marked stale or expired before the refusal is reported.
Live test, mutation-tested
E
Diagrams
Still a flowchartA diagram the Assistant changes still draws as a flowchart on the page.
Must still drawA change that would stop the flowchart drawing is refused, with a note to make it smaller or split it into phases.
Test, mutation-tested
Engineering recordChecked in the repository
1,566Automated checks on sign-in, access and each firm’s data, in 13 suites run against a live server, and mutation-testedVerified
78Named test suites, from keeping each firm’s data apart to binding each signature to its versionVerified
279Commits since March 2026, with the decisions behind them logged in the repositoryVerified
Sheet 9 of 9: Close-outFor your firm

08 · What a version for your firm adds

ProcessOS runs from the consultant’s brief to the client’s signature, on one link per document.

A version for your firm keeps that path, with the Assistant suggesting and your consultants deciding, and fits it to your documents and the way your partners sign them off.

Scope
Stage: runs from brief to signature
Built since March 2026
AI: the Assistant on Anthropic or OpenAI; drafting across seven providers
Outputs: the live link, PDF and Word
Row
Part
As built
Your version adds
A
Documents
Consulting documentsSOPs, policies, audit reports and playbooks, drafted from a brief or imported from Word or PDF
Your documentsThe documents your firm sends most, set up from your best past examples
B
House style
One design, branded per clientEvery page set from one design, with each client’s colours and logo
Your templatesYour fonts, letterhead and layouts, set once for every document
C
Sign-off route
Section approvals and roundsApprovers one after another or all at once, with approval on conditions
Your routeYour approvers and signers in order, on a link under your firm’s domain
D
The Assistant
Standing instructionsFirm, client and project instructions applied to every run
Your playbookYour house rules and review checklist as standing instructions on every request
E
Notifications
Email where it countsThe consultant emails the link, and the firm hears by email when a client approves or asks for changes
Version and first-view emailsAn email to the client when a version is published, and to the consultant on first view
F
Signed copies
A certificate of completionEvery completed round gets a certificate with a QR code to the public verify page
Your sealEach signed PDF carries your firm’s seal certificate and a trusted timestamp
G
Hosting
One serverThe app, PostgreSQL, Redis and the queue workers, with deployment scripts written
Your environmentInstalled on your servers or hosted for you, behind your firm’s sign-in
H
Results
Reading per sectionTime, views and comments per section, for every document
A turnaround reportComment to signature, per document, from the first month
Discuss a system like this
Drawn & built by
Abu Huraira Mukhtar, architect and sole developer, 2026
A. H. M.
Sheet 9 of 9
End of case file 001
The Drawing Office: after hours

Send every client one link, and turn their comments into signed versions.

If your firm still sends each SOP as a PDF and chases comments and signatures by email, start with one document your clients sign off. Bring it with the last round of comments it went through.

Contact me Back to the Machine Room
Next case file: 002 KorCRM: from a new brief to a sent proposal Sheet 1 of 9