A LEDGER, NOT A TOTAL.
Each client's quantities on hand, reserved and held are kept in a ledger keyed by client. The availability board reads from it and says how current it is.
DigiOS is the substrate under every suite: cells that hold each record, facts that never change, policies that name who acted, and scopes that decide who sees what.
/LAYERS
Each layer states a property you can check. The same slash names label layers, modules and suites across this site.
| LAYER | WHAT IT PROMISES | STATE |
|---|---|---|
| /CELLS | One writer at a time, so a record cannot fork. | OBSERVED |
| /FACTS | What happened, written once and never edited. | OBSERVED |
| /EVIDENCE | A claim names the fact it came from. | OBSERVED |
| /POLICIES | One fact can cause another, and says who caused it. | OBSERVED |
| /SCOPES | Each party reads and writes only its own slice. | OBSERVED |
| /VIEWS | Boards are disposable reads; the ledger is the authority. | OBSERVED |
| /MESH | Records shared across organizations under separate permissions. | DESIGNED |
A shared spreadsheet is not a shared record; it is a copy everyone can edit. A shared record gives each party a window and keeps the pen in one hand. Scoped is the difference between sharing a record and handing over a copy.
/CELLS
Every scan, count, move and decision is appended as a fact with its author and time. Nothing is edited in place; a correction is another fact.
Writes are appended as facts naming who acted, under which scope and on whose behalf. A write-off is bound to the exact payload a person approved, so an auditor reads what was approved, not a summary of it.
Each client's quantities on hand, reserved and held are kept in a ledger keyed by client. The availability board reads from it and says how current it is.
A pallet leaving one place and entering another is recorded as a move out and a move in. Stock by location is what those facts add up to.
An order, an advance notice and a dock appointment are kinds of one record, so one history of changes covers all three.
/EVIDENCE
A physical receipt lands held until it is matched to what was expected, and excess is recorded, never refused. A count that disagrees with the ledger raises a variance that policy can correct.
A receipt is matched to the notice within a stated tolerance. A receipt beyond it is recorded, never refused.
A count that disagrees with the ledger raises a variance. A policy can post the correction, and the correction is a fact too.
Printed, failed and unknown are three different outcomes. An unknown print blocks a reprint until a device or a person says what happened.
/POLICIES
When a person's act causes a consequence, such as closing a load, the consequence carries that person's name and cannot exceed their tier or scope. Gated changes wait for a person's approval of the exact payload.
An agent can propose an adjustment or a cancellation, but it cannot dispatch one. A named person approves the exact payload, and the system runs it once under that person's scope.
An agent or a rule drafts the request. A person approves the exact payload, and the approved command is dispatched once.
Closing a load hands the stock to the carrier and fulfils the order. The consequence carries the name of the person who closed the load.
A write-off cannot be taken by a device or an agent. It is bound to the digest of the payload the person approved.
/RUNTIME
Four pieces, in plain words. The runtime is designed and not yet deployed as a product, so each piece carries the state it has earned.
Each facility is its own scope inside a tenant, so a count, a hold or a stopped line at one site does not rewrite another site's stock. When the network drops, the floor keeps working on what it already holds; where the record runs is a hosting choice we negotiate.
Runners host the cells, one writer at a time for each, so a record cannot fork.
The engine keeps each cell's state and its facts. Recovery means restoring the stored record into a new stack.
Every request enters through the gateway, which checks proof, scope and tier before a cell sees it.
An edge node at a facility buffers signals and serves released work while the wide-area link is down.
/HOSTING
Digimasons hosts one environment per customer by default. The other postures are agreed per customer, and none is sold today.
| POSTURE | WHO OPERATES | WHERE IT RUNS | STATE |
|---|---|---|---|
| DIGIMASONS-HOSTED | Digimasons. | Your tenant's own stack in our cloud, with the web shell on Cloudflare. | DESIGNED |
| CUSTOMER CLOUD | Digimasons, inside your account. | The same stack in your account, operated by us. Negotiated. | PLANNED |
| ON PREMISES | You, or Digimasons on site. | One stack on your hardware; the record stays on site. Negotiated. | PLANNED |
| EDGE NODE | Digimasons, plus a node at each facility. | The record in our cloud with a per-facility edge node for adapters and caches. Negotiated. | PLANNED |
Is there failover to a second region? No. Recovery today means restoring the tenant's stored record into a new stack. Hot standby across regions waits on the runtime we build on, and we would rather say so than imply it.
/NEXT
The thesis argues the stance, the record page walks one container through it, and the module library lists what each module owns.
One client's order feed. One inventory export. We load both and open that client's view beside yours, so you see what the client would.