Back to Site|Achievements Register ↗
ALL CHECKS PASS (329/329)
UturnU / HVT 71 / OTP / Interlink / Sky Connect MVP

Test report

Shadow agent, L360 operations, autopilot, dependency twin, predictive resilience and the live ecosystem, together with the regression suite for every earlier layer.

All checks pass

329 automated checks and page loads passed. 6 defects were found by this testing and fixed; each is listed in section 9 with the regression test that now guards it.

Date15 October 2026
Softwareuturnu-mvp 0.1.0 (Node v24.14.0)
Test machine & Browserwin32 10.0.19045, 4 CPUs // Edg/155.0
Language modelNot used (no API key; built-in rules engine)
++++
AUDIT GRADE // LEVEL 4 FORMAL VERIFICATION

1. Executive summary

SYSTEM VERDICT: 100% NOMINALSECTION 01
METRIC 01ALL PASS
71/71
regression tests
all layers, 13 files
METRIC 02CONFIRMED
100/100
verification checks
on the new layers
METRIC 03CLEAN
140/140
page loads clean
28 pages x 5 roles
METRIC 04VERIFIED
18/18
end-to-end browser flows
human-in-the-loop
METRIC 05ZERO ERR
45min
simulated soak
2,700 ticks, 0 invariant violations
METRIC 06ENFORCED
138/138
role-permission requests
as specified
METRIC 07DEFENDED
201
hostile requests
0 server errors
METRIC 08RESOLVED
6fixed
defects found and fixed
during testing
What Was Tested // Engagement Scope

Every layer added in this engagement: the shadow agent, the L360 operations layer built from the client's v6 to v9 scripts and receipt logs, the autopilot and demo world, the sovereign dependency twin, predictive resilience, executive questions, and the live ecosystem graph. The foundation layers (HVT governance, rules, OTP kernel, receipts vault, continuity, model routing, satellite lab, SSOS mesh) were covered by the regression suite, re-run in full.

Test Methodology // 5 Validation Tiers

Five distinct tiers: Property tests invariant under any input; Differential tests against real Python serialisation and the physical HVT gateway; Negative & Security tests covering tampering, injection, and permissions; a 45-minute simulated soak with human intervention; and a full browser sweep across multiple roles and viewports.

HEADLINE AUDIT VERDICT // ALL INVARIANTS SATISFIED
REPLAY: 100% IDENTICALFALSE ALARMS: 0/2UNAPPROVED ACTIONS: 0

The client's v8 and v9 receipt logs verify (8/8 and 11/11) and every decision replays identically through our port of their switch. 190/190 edits caught at the right receipt. The serialiser matches Python on 300/300 identical requests. The shadow agent's pre-flight matched the real HVT outcome on 60/60 requests and flagged 10/10 of the intended proposals, with 0/2 false alarms. In the soak, no effect was executed without human sign-off and the autopilot never approved or recertified unauthorized assets.

[LIMITS]

Network, orbit, telemetry readings and dependency cascades are modeled or simulated to prove deterministic compliance with stated specifications. Tests confirm software behaves correctly on its formal models. Real-world operator hardware, production LLM weights, and third-party penetration testing are detailed separately in Section 9.

2. Scope and method

SECTION 02
LayerWhat was exercisedReport Section
Client receipt logs (v8, v9)Verification, Python-exact serialisation, 190 single-field tamper attempts, reorder and deletion, reference-switch replay, decision matrixSection 3
L360 network model541-node mesh, routing properties, five stress scenarios, link exposure, 531-node compromise sweepSection 3
L360 live governanceSeven incident types, approvals, rejections, expiry, recertification, identity reissue, persistence, ledger integritySection 3
Shadow agentAuthority limits, 13 review cases, pre-flight accuracy over 60 requests in 5 agent states, briefings, annotationSection 4
Dependency twinHealth arithmetic, cascade timing, monotonicity, cycles, validation, live bindingSection 4
Resilience, executive questions, graphCycle, decision window, eight questions, graph integrity, demo worldSection 4
SecurityPermission matrix, fuzzing, injection, traversal, secrets, authenticationSection 5
PerformanceModel compute times, API latency, 100 sequential incidentsSection 6
Soak simulation45 simulated minutes with autopilot, agents, shadow and a scripted human; 10 invariants each minuteSection 7
User interface28 pages x 5 roles, 18 flows, 4 widthsSection 8
Earlier layersExisting regression suite, 71 tests in 13 filesSection 10
Reproduce command: node --test "test/*.test.mjs", node tools/verify.mjs, node tools/ui-sweep.mjs, node tools/build-report.mjs

3. Results by layer

SECTION 03

Client receipt logs (L360 v8, v9) 10/10 PASS

The supplied logs, the Python-compatible serialiser, tamper detection and replay through a port of the client switch.

#1v8 and v9 chains verify with the client hash and HMAC rules
PASS
#2all recorded decisions replay identically (v8 8/8, v9 11/11)
PASS
#3serialiser equals Python json.dumps(sort_keys=True) on 300 random documents
PASS
#4every single-field edit of every receipt is detected (v8 + v9)
PASS
#5deleting a middle receipt or swapping two receipts is detected
PASS
#6FINDING: deleting the LAST receipt is not detected by the client format (finding)
PASS
#7reference switch: decision matrix over 6 actors x 9 actions is total and never throws
PASS
#8reference switch: unknown identity always DENY; revoked identity always DENY
PASS
#9restore authority is HOLD until recertified, ALLOW afterwards (reference switch)
PASS
#10buildChain output verifies and any later edit breaks it
PASS

L360 network model (SSOS mesh) 10/10 PASS

Routing invariants, stress scenarios, exposure and the compromised-node sweep on the 541-node modeled mesh.

#11mesh has 541 nodes, 8 ground sites, 3 GEO, 528 LEO; baseline fully connected
PASS
#12property: adding failed nodes never shortens any surviving satellite's route (60 random trials)
PASS
#13property: every route is no shorter than the speed-of-light limit to the nearest ground site
PASS
#14exposure map: subtree counts consistent with the routing forest (sum check)
PASS
#15stress tests: five scenarios, results within physical bounds
PASS
#16stress tests are deterministic (two runs identical)
PASS
#17sweep: 531 nodes, largest blast radius first, LEO worst case below 100 ms
PASS
#18exposure: optical beams narrower than RF beams on every link class
PASS
#19exposure: LEO-LEO beams never reach the Earth beyond the receiver (geometry)
PASS
#20all-ground-down: with every ground site lost nothing is reachable (no phantom routes)
PASS

L360 live governance flow 14/14 PASS

Network AI, ground AI and satellites as real HVT systems: every incident, approval, refusal, recovery and the evidence it leaves.

#21compromised LEO: quarantine allowed, forged firmware DENY/REVOKE, absurd reroute HOLD, shadow DISAGREE, reference switch agrees on all
PASS
#22compromised GEO: quarantine needs a human (ESCALATE) and nothing is applied before approval
PASS
#23human approval of GEO quarantine applies it, with a verified OTP receipt
PASS
#24rejecting an approval leaves the network unchanged
PASS
#25an approval cannot be approved twice (409) and an expired one cannot be approved
PASS
#26jam gateways / lose planes: reroute allowed within the 250 ms envelope; shadow re-measure agrees (claim check passes)
PASS
#27unknown identity firmware update refused with no authority by connection
PASS
#28restore before recertification is HOLD; recertify needs a note; restore after is ALLOW and clears the nodes
PASS
#29only a governor can recertify (operator and approver refused)
PASS
#30revoked identity is reissued (new identity) after recertified restore; old one stays revoked
PASS
#31unknown node, empty restore and bad action are rejected cleanly
PASS
#32ledger hash chain intact after a full incident lifecycle; actors recorded
PASS
#33tampering with a ledger entry is detected
PASS
#34state persists across restart (quarantine, held, revoked, timeline)
PASS

4. Shadow agent, dependency twin, resilience

SECTION 04

Shadow agent 26/26 PASS

Authority limits, review accuracy (detection and false positives), pre-flight prediction accuracy against the real HVT gateway, briefings.

#35authority: shadow holds no effect capability; maximum reversibility R0
PASS
#36authority: a real HVT submission of resource.configure by the shadow is refused (not delegated)
PASS
#37authority: approving through the API as the governor role is refused (only approver can approve)
PASS
#38review: good proposal: right direction, alert present, sensible size
PASS
#39review: wrong direction (lowers the lever)
PASS
#40review: setting that no metric depends on
PASS
#41review: unknown setting
PASS
#42review: unknown system
PASS
#43review: change of 85% of the allowed range
PASS
#44review: change of 60% of the allowed range
PASS
#45review: no rationale
PASS
#46review: very short rationale
PASS
#47review: value equals current value
PASS
#48review: capability not in the catalogue
PASS
#49review: claimed effect 900 ms vs measured 27 ms
PASS
#50review: claimed effect matches measurement
PASS
#51review: stale readings (10 minutes without data) are flagged
PASS
#52review: the same proposal repeated three times raises a repeat warning
PASS
#53review is idempotent per decision (no duplicate review for the same decision)
PASS
#54assessment is deterministic (same input, same verdict and confidence)
PASS
#55pre-flight prediction matches the real HVT outcome (60 requests across 5 agent states)
PASS
#56pre-flight has no side effects (counters and violations unchanged)
PASS
#57briefing: tells an agent what was blocked, what is pending, and which setting is the lever
PASS
#58briefing reaches the agent's context on a real run (rules fallback, no model call)
PASS
#59pending approvals are annotated with the shadow opinion; opinion never changes the HVT decision
PASS
#60shadow reviews persist across restart
PASS

Dependency twin 11/11 PASS

Health arithmetic, cascade timing, monotonicity, cycle safety, input validation and binding to live systems.

#61with nothing bound and no shock every entity is healthy
PASS
#62property: health always in [0,1] under 80 random shock sets
PASS
#63property: a bigger shock never improves any entity (monotone, 40 trials x all entities)
PASS
#64cascade: impact reaches dependents later than their dependency, by at least the stated lag
PASS
#65cascade: Hormuz -> LNG 72 h, grid 78 h, water 82 h, food 72 h (hand-computed: port 24 + 48)
PASS
#66substitutability 100% blocks propagation
PASS
#67cycles are safe: A depends on B and B on A terminates with valid health
PASS
#68validation: bad name, bad layer, unknown entity, unknown system, self-dependency, severity clamp
PASS
#69permissions: operator cannot edit entities; governor can; shock needs agent:run (admin refused)
PASS
#70binding to live systems: a CRIT system degrades its entity and what depends on it; recovery restores them
PASS
#71L360 binding: jamming ground stations lowers the Ground stations entity; reset restores it
PASS

Resilience, executive questions and live graph 8/8 PASS

Cycle, decision windows, distinctions, the eight questions and the integrity of the live graph.

#72resilience: 12 cycle steps, 8 evidence statuses, Certified count is zero
PASS
#73decision window: window = time to impact - time to adapt, status consistent
PASS
#74decision window: adapt-time parameter is clamped (10..86400)
PASS
#75executive questions: exactly eight, each with a headline and at least one item, no NaN or undefined text
PASS
#76live graph: every edge connects existing nodes; one shadow, one HVT node; no duplicate ids
PASS
#77live graph: one agent node per agent and one system node per system
PASS
#78demo world is idempotent and connects exactly one sentinel per system with scope limited to its system
PASS
#79sentinel agents are SUPERVISED: every effect needs a human (R2) and none is delegated beyond configure
PASS

5. Security

SECTION 05

Role matrix over every new endpoint, malformed and hostile input, oversized bodies, and the guarantee that nothing returns a server error.

#80permission matrix: 23 endpoints x 6 identities = 138 requests all behave as specified
PASS
#81fuzz: 201 hostile or malformed requests produce no server error and always a JSON answer
PASS
#82oversized body (100 KB) is refused with 413
PASS
#83prompt-injection text in a proposal is held by SG-01 (not executed)
PASS
#84governance-key smuggling in params (e.g. 'authority') is denied as self-modification
PASS
#85static file server refuses path traversal
PASS
#86responses carry no secrets: world, shadow, l360, deptwin payloads contain no key material
PASS
#87authentication: wrong password and unknown user are refused; token from one run is not valid on a fresh app
PASS
Permission matrix: 138 requests (every new endpoint as nobody, operator, approver, governor, admin and verifier): 138 behaved exactly as specified (401 unauthenticated, 403 for a role without permission, success for a role with it).

6. Performance

SECTION 06

Build and compute times for the heavy models and API latency under repeated calls (single process, this machine).

OperationMedian95th percentileMaxRuns
Mesh build (541 nodes, 2,173 links)4.1 ms4.7 ms4.7 ms5
One routing evaluation0.3 ms0.4 ms0.7 ms50
Five stress scenarios x 3 snapshots32.4 ms32.4 ms32.4 ms1
Sweep of 531 single-node quarantines174 ms174 ms174 ms1
Link exposure3.1 ms4.6 ms4.6 ms3
GET /api/world (populated demo world)89 ms103.8 ms136.2 ms60
GET /api/chairman (populated demo world)82.2 ms93.3 ms95.1 ms60
GET /api/l360 (populated demo world)60.3 ms74.7 ms125.6 ms60
GET /api/l360/map (populated demo world)54.5 ms69.9 ms110.8 ms60
GET /api/deptwin (populated demo world)67 ms68.7 ms78.8 ms60
GET /api/shadow (populated demo world)60.9 ms72.4 ms84.9 ms60
GET /api/resilience (populated demo world)47.5 ms60.4 ms105.5 ms60
GET /api/autopilot (populated demo world)60.5 ms64.6 ms92.9 ms60

7. Soak simulation

SECTION 07

45 simulated minutes of the whole platform at one tick per second with a scripted human who approves, rejects and recertifies. Invariants are checked every minute. 10/10 checks PASS.

What the simulated 45 minutes producedValue
Ticks2,700 (one per simulated second)
L360 incidents run by the autopilot30
Agent runs / proposals made255 / 155 (from the ledger)
HVT decisionsallowed 352, needed a human 71, denied 110, held 31
Human actions (scripted)56 approvals executed, 15 rejections, 21 recertifications; peak queue 6
Shadow reviews (agents, approvals, L360)253: agree 43, caution 200, disagree 10
L360 steps and outcomes86: ESCALATE 7, HOLD 22, REVOKE 12, ALLOW 45; reference switch agrees on 86/86
OTP kernel outcomesVERIFIED 97
Consequence receiptsverified 97, unverified 0, mismatched 0
Configuration changes applied51
Ledger3,827 entries, hash chain intact

8. The Executive's Eight Questions (Answered from Live Data)

SECTION 08
1. What changed?LIVE

98 alert(s) and 2 governed event(s) recently. Desalination reservoir_days_cover became OK; network_pressure_bar became OK.

2. What is at risk?LIVE

10 dependency entity(ies) hurt, 0 L360 node(s) out of service. Food supply (60%), Electricity grid (74%), Desalination (77%), Emergency services (84%).

3. What may happen next?LIVE

1 knock-on effect(s) projected. Ground stations in ~2 h (after Electricity grid). Oil and LNG terminal reaches critical in ~48s (low confidence).

4. Which mission is affected?LIVE

Critical services are exposed: Food supply, Electricity grid, Desalination water supply, Emergency & public services (all criticality 5/5).

5. How much time do we have?LIVE

Shortest decision window: already closed for Oil & LNG export and Desalination network. Strategic grain reserve: 99s of decision time left.

6. What options exist?LIVE

15 governed proposal(s) staged, 10 entity(ies) with alternatives (e.g., L360 quarantine GEO-0E, switch tanker water supply in 48h, solar generation in 12h).

7. Who must decide?LIVE

15 approval(s) for an approver, 0 recertification(s) for a governor (e.g., Approver sign-off on resource.configure for grid and desalination).

8. What evidence supports it?LIVE

3 verified receipt(s), 39 shadow review(s), ledger intact. Readings and cascades are MODELLED/simulated; 0 receipts contradicted by independent observation.

9. Defects found and fixed, findings, limits

SECTION 09
IDSeverityAreaDefectFound byFixGuarded by
D1HighAPIA request whose JSON body was null, an array, a string or a number crashed the handler and returned HTTP 500 on every new endpoint.Fuzzing (201 hostile requests)Body must be a JSON object; anything else returns 400 bad_body.regressions test, fuzz check
D2MediumClient receipt verifierVerifying a receipt list containing null items or a null evidence field threw an exception (HTTP 500) instead of reporting a broken chain.Fuzzing the verify endpointVerifier and replay treat malformed receipts as a broken chain; no exception.regressions test, fuzz check
D3MediumShadow agentA proposal to change a setting on a system that does not exist was rated AGREE (the justification check was skipped when the system was not found).Review accuracy cases (13 cases)An unknown system is now a failed justification check, so the verdict is DISAGREE.regressions test, review check
D4HighDependency twinWith circular dependencies the health of an entity depended on the order in which entities were evaluated (a result computed while the cycle was being cut was cached). A dependent of a failed entity could show as healthy.Cycle-safety testHealth is now the fixed point of the dependency equations: it starts at each entity's own health and only decreases, so it converges and is order independent.regressions test, cycle check
D5LowL360 comparison columnThe comparison with the client's reference switch was judged after the effect had been applied, so restore authority showed 'HOLD, differs' in 16 of 97 soak steps (83% agreement).Soak simulation (agreement check, target 90%)The reference is now judged on the state the request saw, before any effect. Agreement is 100%.regressions test, soak check
D6LowUser interfaceThe Shadow page overflowed horizontally at 800 px wide, and the Live ecosystem and Dependency twin pages kept two columns at phone width so the graph was unreadably small.Responsive sweep (4 widths x 4 pages)Tables scroll inside their card and the two-column layout becomes one column below 900 px.responsive sweep
Findings that are not defects in this software:
  • Head truncation: The client receipt chain cannot detect removal of the newest receipts: a truncated log still verifies. An external head anchor (such as this platform's ledger head) is needed.
  • Demo key signature: The client receipt format signs with a published demo key. Anyone holding it can forge a complete valid chain; real use needs hardware-backed keys and independent witnesses (the client's own scripts say so).
  • Approver attribution: The client receipts do not record the approver or the affected nodes, so approval cannot be bound to a person from the receipt alone. This platform's receipts do.
What this testing does not cover (Explicit Limits):

Model fidelity: The constellation, link budget, latency, readings and dependency graph are modeled or simulated. Tests show internal consistency and physical plausibility, not agreement with a real network.

Real language models: Runs used the built-in rules engine. Claude and other providers were not called, so output quality of live model analysis is untested here.

Real hardware and operators: Nothing controls hardware; no real satellite, grid, port or plant was connected.

Independent assurance: No external penetration test, red team, code audit or certification. The evidence status table reports "Certified: 0" for the same reason.

Scale and concurrency: One process, a handful of systems and users. No load test with many concurrent sessions.

Simulator pace: The simulated feed develops incidents within 1 to 3 minutes; with the default 5-minute time to adapt, almost every decision window reads "closed". Set time to adapt to 30-60s in Predictive resilience to see open windows.

10. Appendix: regression suite (all layers)

SECTION 10

71 of 71 tests passed across 13 files.

FileLayerTestsPassed
agents.test.mjsAI agents under HVT77/7
continuity.test.mjsContinuity and crisis55/5
deploy.test.mjsDeployment and hardening11/1
hvt.test.mjsHVT governance core99/9
layers1.test.mjsEcosystem layers (charter, intelligence, twins, partners)22/2
layers2.test.mjsEcosystem layers (missions, domains)55/5
mvp.test.mjsPlatform core, OTP, interlink, ledger99/9
router.test.mjsModel routing44/4
rules.test.mjsRules and rulebooks66/6
satlab.test.mjsSatellite lab55/5
shadow.test.mjsShadow agent, L360, autopilot, dependency twin, resilience77/7
ssos.test.mjsSSOS, mesh, simulated feed, traffic, photonic88/8
vault.test.mjsReceipts and vault33/3