About
Applied Physics
AI Solutions
Team Contact
PHASE 4 · BREADTH AND HARDENING · ONGOING

From a working system to something you can run for years.

Everything before this proved the idea. Phase 4 makes it operable by someone who did not build it: more connectors, real identity and access control, visible data quality, verified backups, and an install that completes with the network cable unplugged.

GlassBox Operations glassbox-prod · v1.4.2 · uptime 41d
healthypostgres:16events 1.2M · 8.4 GB
pgvector 1,204 chunks
healthyoxigraph214k triples · 2.1 GB
rebuild 3.1s
healthyapi (fastapi)p95 84ms
2 workers
healthyui (nginx)static bundle
TLS terminated
degradedllm-runtimeqwen3-14b-gguf
queue depth 3
idlerule-workerlast run 4m ago
18 rules active
connectormodelast syncevents 24hlagstatus
jira · OILSIMwebhook + backfill12s ago1,8420s✓ healthy
gitlab · oilsim/*webhook1m ago6030s✓ healthy
azure devops · PMOpoll 5m3m ago2213m✓ healthy
csv · finance actualssftp watch6h ago16h⚠ file late
imap · pmo inboxpoll 15m9m ago479m✓ healthy
data quality · live SHACL findings
14 tasks in an active sprint have no assigneeshape:taskAssigned
3 dependencies point at deleted issuesshape:depTarget
2 people unresolved across Jira and GitLabidentity_map
every milestone has a committed dateshape:milestoneDate
no event missing a valid timeshape:bitemporal
access · Keycloak realm glassbox
Programme leadread all · publish rules · export
Delivery ownerread own workstreams · draft rules
PMO analystread all · no rule publish
Auditorread all · proof and sidecar export only
Service accountingest only · no query surface
✓ air-gapped · 0 outbound connections in 41 days backup verified 6h ago · restore drill passed logs retained 24 months
End-of-phase demo Install the whole system on a machine with no internet access, connect three different tools, restore last night's backup, and export the audit log a regulator would ask for.
01 · Where phase 4 fits

The stack after this phase

No new reasoning arrives here. What arrives is everything that decides whether the system survives contact with a real IT department: identity, backups, breadth of connectors, and visible data quality.

L7Presentation

Operations console, data-quality panel, report packs, and the audit export screen. React

extended
L6Local LLM

Unchanged, now with model pinning and an offline model bundle. LM Studio / Ollama / vLLM

running
L5Business-logic canvas

Gains publish approvals tied to roles. React Flow

running
L4Symbolic core

Unchanged. SPARQL · OR-Tools

running
L3GraphRAG

Unchanged, now indexing several sources at once. pgvector · RRF

running
L2Knowledge graph

SHACL findings surface in the UI instead of sitting in logs. Oxigraph · SHACL

extended
L1Dual-clock EventDB

Backup, restore drills, retention policy, and the AI Act log export. PostgreSQL

extended
L0Connectors

GitLab, Azure DevOps, CSV/SFTP, IMAP, plus a generic webhook connector for anything else. Python

new
The phase that decides renewalexecutive briefing

Phase 4 adds no new intelligence. It adds everything that determines whether the system is still running well in three years without us: more source systems, proper log-in and permissions, visible data quality, tested backups, and an installation that completes with no internet connection.

These are the items that never appear in a demo and always appear in a procurement review. Skipping them is how promising pilots quietly die at the point of handover.

TimingOngoing rather than fixed. Items are pulled forward depending on which your IT function requires first.
Who cares mostIT operations, information security, internal audit and procurement. Rarely the people who requested the system.
Why it is cheap for usBackup, audit export and multi-source ingestion are nearly free because the event log was designed as the single source of truth.
02 · Phase 4 architecture

The deployment topology you hand to IT

One Docker Compose file, one host, no outbound network. Client tools reach in through the connectors, and nothing reaches back out. This diagram is what a security review actually asks for, so it is drawn the way they expect to read it.

CLIENT NETWORK · EXISTING TOOLS · UNCHANGED Jira webhook + REST GitLab webhook Azure DevOps poll SFTP · CSV file watch Browsers · SSO staff access GLASSBOX HOST · SINGLE DOCKER COMPOSE STACK · ONE INTERNAL BRIDGE NETWORK · NO OUTBOUND ROUTE 1 inbound only, TLS, service accounts with least privilege Reverse proxy nginx · TLS termination Connector workers connector-jira · connector-scm · connector-ado · connector-file · connector-mail · generic webhook receiver Orchestrator API · FastAPI as-of scoping · citation verifier · audit sidecars 2 Rule worker on ingest and schedule Solver worker OR-Tools CP-SAT LLM runtime bound to localhost · models on disk Keycloak · SSO and RBAC OIDC against the client directory · five roles · publish approvals 3 postgres:16 + pgvector volume pgdata · events, rules, firings, vectors, llm calls oxigraph volume oxidata · rebuildable Backup and restore · nightly pg_dump of the event log, graph and vectors rebuilt from it, quarterly restore drill because the graph is a view over the events, a valid event-log backup is a complete backup of the system 4 offline install: images, models and packages ship as one signed bundle · nothing is fetched at install time · version pinned end to end EGRESS · BLOCKED BY DESIGN no model API calls, no telemetry, no licence check, no update fetch. the host can be firewalled to zero outbound and everything still works. this is the slide that ends the security review, and it is a property of the architecture rather than a configuration option.
application service phase 4 addition neural, language only persistent volume client-side systems
The diagram your security team will ask forexecutive briefing

One machine, one set of containers, one internal network. Your tools connect inwards. Nothing connects outwards, and that is enforced by how the system is built rather than by a setting someone could change.

The red band at the bottom is the part worth reading twice. There are no model API calls, no telemetry, no licence check and no update fetch, so the host can be firewalled to zero outbound traffic and everything still works. Most AI products cannot survive that test.

Air-gap capableInstallation completes from a signed bundle with the network cable unplugged. Nothing is downloaded during setup.
Familiar operationsStandard containers, standard database, standard volumes. No specialist platform for your team to learn.
Access controlLog-in runs against your existing corporate directory. No separate set of user accounts to manage.
03 · What gets built

Six components nobody demos and everybody needs

This is the phase that decides renewal. It is also where the earlier architectural discipline pays off, because backup, audit export, and multi-source ingestion are nearly free when the event log is already the single source of truth.

Connector breadth

GitLab, Azure DevOps, CSV over SFTP, IMAP, and a generic webhook receiver so an unusual in-house tool can be onboarded in a day.

same envelope, no new concepts

Identity and access

Keycloak against the client directory, five roles, and rule publishing gated by approval. The auditor role can read and export but never change anything.

Keycloak · OIDC

Data-quality panel

SHACL findings become a working screen: unassigned tasks, broken dependencies, unresolved identities. PMOs adopt this faster than the AI features.

SHACL · surfaced, not logged

Backup and restore drills

Nightly dump of the event log, with the graph and vectors rebuilt from it. A restore is rehearsed quarterly and the result recorded.

one backup covers everything

Offline install

Images, model weights, and packages ship as one signed bundle. Install completes with no internet, which is what defence, pharma, and finance actually require.

air-gap first

Audit export

One command produces the record an EU AI Act reviewer expects: data and model versions, decision logic, inputs, outputs, timestamps, and operators.

Articles 11, 12, 19
The unglamorous six that keep it aliveexecutive briefing

Two of these tend to surprise clients. The data-quality panel exposes the state of your project records: unassigned work, dependencies pointing at deleted items, the same person recorded under different names. PMO teams frequently adopt this before they adopt any of the AI features, because it is immediately useful.

The audit export is the other. One command produces the record a regulator asks for, covering data versions, model versions, decision logic, inputs, outputs, timestamps and operators.

Unexpected early winClients routinely discover data-quality problems in week one that had been quietly distorting reports for years.
Backup simplicityBecause the map is rebuilt from the record, one valid backup of the event log is a complete backup of the system.
Restore is rehearsedRecovery is drilled quarterly and the result recorded. An untested backup is not a backup.
04 · What it runs on

Hardware, honestly stated

The correctness of the system never depends on the language model, so a client with modest hardware loses narration speed and nothing else. That property is worth stating plainly in procurement conversations.

DeploymentCPU / RAMGPUModelWhat the client gets
Pilot, one programme8 vCPU · 32 GBnone7B quantized, CPUEverything works. Narration takes a few seconds per answer.
Standard16 vCPU · 64 GB1 × 24 GB14B GGUFInteractive answers, comfortable for daily PMO use.
Large programme32 vCPU · 128 GB2 × 24 GB or 1 × 48 GB32BBetter extraction quality, several concurrent users.
What you actually need to buyexecutive briefing

A pilot runs on an ordinary server with no graphics card at all. A comfortable daily-use deployment needs one mid-range GPU. A large programme with several concurrent users benefits from two.

The line worth remembering in a procurement conversation: because correctness never depends on the AI model, weaker hardware costs you speed and phrasing quality, never accuracy. A client on the smallest configuration gets the same numbers as one on the largest.

Capital costOne server. There are no per-user AI fees, no token charges, and no cost that scales with how much the team uses it.
Start small safelyBegin without a GPU and add one later. Nothing needs rebuilding and no data is migrated.
Predictable running costElectricity and normal server maintenance. Your finance team can forecast this, unlike consumption-based AI pricing.
05 · Acceptance

Exit criteria and the client demo

The handover demo, run with the client's own IT team in the room

  1. Unplug the network cable. Install from the bundle. Watch it come up.
  2. Point three connectors at their real tools and let the backfill run.
  3. Open the data-quality panel and show them fourteen unassigned tasks they did not know about.
  4. Log in as an auditor and try to publish a rule. Fail, visibly.
  5. Restore last night's backup into a clean container and re-derive yesterday's report.
  6. Export the audit log, open it, and walk one answer from claim to raw payload.
The handover, run in front of your IT teamexecutive briefing

The final demonstration is deliberately run with your own IT and security people present, and it is designed so we cannot stage it. The network cable comes out, the system installs, three real tools are connected, last night's backup is restored into a clean container, and yesterday's report is regenerated identically.

One step is included specifically because it fails: we log in as an auditor and try to publish a rule, and are refused. Demonstrating that permissions genuinely hold is more persuasive than any feature.

What this provesYour team can install, operate, secure and recover the system without us in the room.
Compliance evidenceThe audit export is opened live and one answer is traced from claim to raw source data.
End stateA system your organisation owns and runs, on your hardware, with your rules, and no ongoing dependency on us.