φ(ai) PHI AI

Components

Every part of the platform that can go out of date, one row each: what is running, what it was built from, the latest known, and where each fact came from. On a deployment this screen applies updates and recovers from failed ones; the demo shows it with every component current.

Manifest produced 2 hours ago by the workstation CLI on the operator workstation

No update in flight

Behind or drifted none — no row reads behind against its source
Unknown none — no row reads unknown against its source

Code and build

ComponentRunningBuiltLatest known SourceCheckedStateModeAction
Release stamp
release stamp
1.1.0, tag 1.1 at 960264d9b3ec 1.1.0, core tree 2d7f220f645b 1.1.0 (CHANGELOG.md, 2026-09-08) CHANGELOG.md 2 hours ago current record only Record only
Build stamp
BUILD.json
tree 2d7f220f645b, commit 960264d9b3ec tree 2d7f220f645b, built 2026-09-08 release 1.1.0, tree 2d7f220f645b git rev-parse HEAD:core 2 hours ago current record only Record only
Running image
compose services
7 services on python:3.12-slim; viewer ${PHI_AI_IMAGE:-phi-ai:dev} python:3.12-slim (Dockerfile) release 1.1.0 image, as the signed manifest names it on a deployment docker-compose.yml 2 hours ago current direct Apply update
Demo tree
tree manifest
manifest 6996879ff411 (205 files) manifest 6996879ff411; www-demo/app/components_data.php excluded the same tree, hashed at build git ls-files www-demo | git hash-object --stdin-paths 2 hours ago current record only Record only

Dependencies and runtimes

ComponentRunningBuiltLatest known SourceCheckedStateModeAction
Python pins
dependency lock
91 pins, hash-checked; 25 direct in requirements.txt 91 pins, lock dated 2026-08-21 no advisory against any pin (checked 3 days ago) requirements.lock 3 days ago current record only Record only
Runtimes
runtimes
PHP 8.3.30, 10.6.20-MariaDB-cll-lve-log (this demo) python:3.12-slim, postgres 16 python:3.12-slim (Dockerfile), postgres 16 (RDS engine_version) Dockerfile 2 hours ago current record only Record only
Vendored front-end
vendored files
d3 v7.9.0, ECharts 5.6.0, 6 font families in 38 files 40 files, hashed; fonts under SIL Open Font License 1.1 d3 v7.9.0 (banner), ECharts 5.6.0 (version string), fonts as vendored core/web/static/fonts/README.md 2 hours ago current record only Record only
Infra pins
terraform pins
terraform >= 1.10.0; aws ~> 5.40; random ~> 3.6 as declared in deploy/aws/versions.tf; applied by the admin from the workstation, never by the platform pinned as declared; provider releases checked 3 days ago deploy/aws/versions.tf 3 days ago current guided Open checklist

Reference data on someone else's cadence

ComponentRunningBuiltLatest known SourceCheckedStateModeAction
EMR vendor profiles
vendor profiles
15 vendor profiles (PHP mirror, pinned by tests/test_emr_profiles_coverage.py) 15 profiles (core/fhir/emr_profiles.py PROFILES); emulators on ports 9101 to 9115 15 vendor pages unchanged, checked 12 days ago core/fhir/emr_profiles.py PROFILES 12 days ago current guided Open checklist
Terminology releases
terminology sources
7 sources, current release each 7 sources (core/terminology/loader.py): 1 attested_license_id, 4 committed, 2 operator_licensed current release per publisher; loaded release id recorded per source on a deployment core/terminology/loader.py 3 days ago current direct Apply update
Model catalogue
model registry
16 registered, 16 enabled (the models table, through the Control panel) platform default claude-sonnet-5 (core/assistant/config.py) no registered model_id retired; provider lists checked 3 days ago www-demo/app/emr_profiles.php models_all() 3 days ago current direct Apply update
Synthetic corpus
synthetic corpus
33,311 demo patients, seed 33311 synthea v4.0.0, seed 20260821, 33 bundles reproducible from generator, version and seed tests/fixtures/layer2.MANIFEST.json 2 hours ago current record only Record only

State, schema, secrets

ComponentRunningBuiltLatest known SourceCheckedStateModeAction
Migration ledger
schema files
35 schema files, all in the ledger (schema_migrations, core/db/components_schema.sql) 27 in core/db, 8 in www-demo/sql; DDL held by no application role 35 files, checksums as committed core/db/*.sql, www-demo/sql/*.sql 2 hours ago current guided Open checklist
Key and credential ages
key ages
key pair kept out of the repository (.gitignore:4:*.pem); JWKS kid phi-ai-dev-2026 (RSA RS384) JWKS published 2026-08-21; key files kept out of the repository by .gitignore:4:*.pem every age within 365 days, checked 14 days ago; values never shown deploy/aws/epic_jwks_nonprod.json 14 days ago current guided Open checklist
Operator config files
config files
4 files, no missing keys 4 shipped examples (config/*.example.yaml), compared key by key every key the release expects is present config/*.example.yaml 2 hours ago current direct Apply update

Verification and recovery

ComponentRunningBuiltLatest known SourceCheckedStateModeAction
Last green gates
gate record
green: 3 gates, 1,182 tests in 72 files release 1.1.0, tag 1.1 at 960264d9b3ec the running build's commit had green gates scripts/pre_push_gates.sh 2 hours ago current record only Record only
Backups
backup record
6 stores backed up; restore rehearsed 20 days ago 3 backups kept per store; older ones removed only after a newer verified backup exists every store within its cadence; rehearsal every 180 days deploy/aws/s3_store.tf 2 hours ago current record only Record only
Releases kept
release record
2 of 2 tagged releases kept (3 images retained) 1.0 (2026-08-29), 1.1 (2026-09-03) 1.1 (2026-09-03) git for-each-ref refs/tags 2 hours ago current record only Record only
Update journal
journal
last update 1.1.0 to 1.1.0, 5 days ago, direct mode, 5 of 5 done platform_updates and platform_update_steps (in core/db/components_schema.sql); the open job row is the lock across every service no job open; nothing waiting on anyone core/db/components_schema.sql 2 hours ago current record only Record only

Backups and releases

Each store: its last backup, where it is, its checksum, when a restore was last rehearsed, and the retention in force. Then the releases kept to roll back to.

StoreLast backupWhereChecksumRestore rehearsedRetention
Records (object store) 2 hours ago S3 store bucket, versioning Enabled, KMS envelope (deploy/aws/s3_store.tf) S3 version id and the recorded SHA-256 digest 20 days ago bucket versioning and lifecycle, per deploy/aws/s3_store.tf
Index (Postgres) 1 day ago RDS automated backup; rebuildable from S3 by core.db.reconcile attested (RDS snapshot) 20 days ago var.db_backup_retention_days (default 1 day)
Operational state (platform_* tables) 5 days ago store bucket, system/backups/ prefix, same KMS key SHA-256, verified by the updater 20 days ago 3 per store
config/ 5 days ago beside the operational-state dump SHA-256, verified by the updater 20 days ago 3 per store
.env 5 days ago never copied; presence and checksum recorded SHA-256 recorded, file never copied 20 days ago n/a: secrets stay where they are
Vocabulary schemas 30 days ago the previous schema, kept on swap vocabulary counts, verified on swap 20 days ago one previous schema
ReleaseDateCommit
1.0 2026-08-29 bf1d7d712b71
1.1 2026-09-03 960264d9b3ec

Update journal

1.1.0 → 1.1.0, 5 days ago, direct mode — the last completed update, every step done.

StepOutcome
Plan done
Back up done
Apply done
Verify done
Recover done

Recent component actions

WhenActorActionObject
just now Ryan Gomez system.components_reviewed system/components

When is the audit trail's own clock, read relative to now. The full trail, with its dates, is on the Audit screen.