WEBVTT

1
00:00:02.476 --> 00:00:05.726
Before changing a service, you need to know which

2
00:00:05.726 --> 00:00:09.651
teams, systems and suppliers it depends on.

3
00:00:10.176 --> 00:00:13.701
NovusLens brings them together so you can examine dependencies,

4
00:00:14.801 --> 00:00:17.401
question the evidence and decide what needs attention.

5
00:00:18.201 --> 00:00:19.226
Here is how it works.

6
00:00:22.700 --> 00:00:26.200
First, bring in a company record, such as an

7
00:00:26.200 --> 00:00:27.475
organisation chart.

8
00:00:28.375 --> 00:00:31.875
File imports read the supported format and extract those

9
00:00:31.875 --> 00:00:32.475
relationships.

10
00:00:33.300 --> 00:00:36.600
They also save the original file in Postgres, the

11
00:00:36.600 --> 00:00:37.150
database.

12
00:00:38.150 --> 00:00:41.050
Keeping the source means someone can later check where

13
00:00:41.050 --> 00:00:42.525
a relationship came from.

14
00:00:46.644 --> 00:00:50.769
The extracted relationships are recorded in an ordered log

15
00:00:50.769 --> 00:00:52.194
of structural changes.

16
00:00:53.094 --> 00:00:56.494
Projection is the worker that reads those changes and

17
00:00:56.494 --> 00:00:58.744
builds database views in Postgres.

18
00:00:59.494 --> 00:01:02.619
The web application can then display them as an

19
00:01:03.344 --> 00:01:03.819
organisation map.

20
00:01:08.015 --> 00:01:11.155
Next, add the technology those teams depend on.

21
00:01:11.735 --> 00:01:15.755
Cloud ingest reads supplied cloud inventories, Terraform state and

22
00:01:16.395 --> 00:01:19.155
datacentre exports and uses tags and labels to connect

23
00:01:19.155 --> 00:01:19.875
systems to the organisation.

24
00:01:21.015 --> 00:01:22.895
The original exports stay in Postgres.

25
00:01:23.515 --> 00:01:26.535
Their extracted relationships follow the log and Projection into

26
00:01:26.535 --> 00:01:27.295
the same view.

27
00:01:27.875 --> 00:01:31.175
This step reads exports, rather than discovering live cloud

28
00:01:31.175 --> 00:01:31.615
resources.

29
00:01:36.326 --> 00:01:38.066
Documents describe an arrangement.

30
00:01:38.886 --> 00:01:42.026
Operational records help you examine what happens in practice.

31
00:01:42.566 --> 00:01:45.926
Source acquirers are connectors that read supported systems, including

32
00:01:45.926 --> 00:01:48.886
Jira, Prometheus, GitHub and PagerDuty.

33
00:01:49.486 --> 00:01:52.646
A separate corrector job compares fresh readings with recorded

34
00:01:52.646 --> 00:01:55.406
relationships and records observations or findings.

35
00:01:56.146 --> 00:01:58.106
Projection makes these available in Postgres.

36
00:01:59.026 --> 00:02:01.186
Supporting evidence remains available for investigation.

37
00:02:05.997 --> 00:02:08.257
AI agents also take part in the work.

38
00:02:09.417 --> 00:02:13.377
Declarations describe their capabilities, reported authority and responsibility.

39
00:02:14.457 --> 00:02:17.677
Acquirers read these declarations from imports and enrolled feeds.

40
00:02:18.317 --> 00:02:20.637
They keep the source records in Postgres and record

41
00:02:20.637 --> 00:02:21.957
the extracted relationships.

42
00:02:22.757 --> 00:02:24.917
Projection adds these to the organisation view.

43
00:02:25.357 --> 00:02:28.057
Reports of what agents actually did enter through a

44
00:02:28.057 --> 00:02:28.677
separate connection.

45
00:02:33.202 --> 00:02:35.262
That connection is the signed intake.

46
00:02:35.742 --> 00:02:38.882
It checks enrolment, signatures and permitted record types.

47
00:02:39.662 --> 00:02:42.382
Before returning a receipt, it saves the activity batch,

48
00:02:42.762 --> 00:02:45.482
its evidence and a pending delivery in one database

49
00:02:45.482 --> 00:02:46.062
transaction.

50
00:02:46.662 --> 00:02:49.842
A delivery worker later reads pending deliveries and publishes

51
00:02:49.842 --> 00:02:51.382
references to the structural log.

52
00:02:52.082 --> 00:02:54.202
Projection reads the log to update the views.

53
00:02:59.113 --> 00:03:02.613
Relationships alone cannot explain a policy or an operating

54
00:03:02.613 --> 00:03:03.093
procedure.

55
00:03:03.693 --> 00:03:07.513
The internal Knowledge library holds statements from policies, runbooks

56
00:03:07.633 --> 00:03:09.693
and other documents, linked to their sources.

57
00:03:10.293 --> 00:03:12.253
It stores these entries in Postgres too.

58
00:03:12.833 --> 00:03:16.433
The Reasoning service can retrieve permitted knowledge alongside structural

59
00:03:16.433 --> 00:03:16.933
records.

60
00:03:17.573 --> 00:03:20.153
This gives an answer written context, such as how

61
00:03:20.153 --> 00:03:22.073
a team describes its responsibilities.

62
00:03:26.348 --> 00:03:28.408
The same evidence supports measurements.

63
00:03:29.468 --> 00:03:31.328
Acquirers derive readings from their sources.

64
00:03:32.068 --> 00:03:35.428
Projection stores committed observations and values for parts of

65
00:03:35.428 --> 00:03:36.008
the organisation.

66
00:03:36.768 --> 00:03:40.748
When requested, Reasoning calculates assessment scores from stored evidence,

67
00:03:41.388 --> 00:03:44.208
including Complexity, Agility and Recoverability.

68
00:03:44.888 --> 00:03:46.168
Missing evidence remains visible.

69
00:03:47.048 --> 00:03:51.328
Reasoning also writes knowledge contributions, proposals and audit records

70
00:03:51.328 --> 00:03:52.668
directly to Postgres.

71
00:03:56.803 --> 00:03:59.823
Now someone can ask which teams and systems a

72
00:03:59.823 --> 00:04:00.723
service depends on.

73
00:04:01.263 --> 00:04:03.283
The browser sends the question through the web server

74
00:04:03.283 --> 00:04:03.923
to Reasoning.

75
00:04:04.823 --> 00:04:09.003
Reasoning checks access and retrieves permitted relationships, evidence and

76
00:04:09.003 --> 00:04:10.103
knowledge from Postgres.

77
00:04:10.523 --> 00:04:13.483
When a task needs a language model, Reasoning sends

78
00:04:13.483 --> 00:04:17.023
relevant context to a configured HTTP endpoint.

79
00:04:17.583 --> 00:04:20.043
That model can run locally or with an external

80
00:04:20.043 --> 00:04:20.483
provider.

81
00:04:24.850 --> 00:04:27.450
The model returns its response to Reasoning.

82
00:04:28.470 --> 00:04:31.170
Reasoning assembles an answer with citations and sends it

83
00:04:31.170 --> 00:04:32.470
through the web server to the browser.

84
00:04:33.150 --> 00:04:35.870
The person can follow those citations to inspect the

85
00:04:35.870 --> 00:04:36.610
supporting evidence.

86
00:04:37.250 --> 00:04:39.550
This lets someone examine the basis for an answer

87
00:04:39.550 --> 00:04:40.870
before deciding what to do.

88
00:04:44.388 --> 00:04:47.948
People can also browse relationships directly: the web server

89
00:04:47.948 --> 00:04:50.868
reads permitted views from Postgres without calling a model.

90
00:04:51.808 --> 00:04:54.128
Actions such as reviewing a proposal go through Reasoning.

91
00:04:54.828 --> 00:04:58.328
When a person confirms a structural change, Reasoning records

92
00:04:58.328 --> 00:05:00.988
it in the log and Projection updates the database

93
00:05:00.988 --> 00:05:01.268
view.

94
00:05:01.788 --> 00:05:04.088
The next person sees the revised relationships.

95
00:05:04.888 --> 00:05:06.448
People remain responsible for action.

96
00:05:09.833 --> 00:05:12.233
These components need somewhere to run and a way

97
00:05:12.233 --> 00:05:12.893
to communicate.

98
00:05:13.713 --> 00:05:17.893
Docker runs the web server, Reasoning, Projection, Postgres and

99
00:05:17.893 --> 00:05:21.313
Mycelium sidecars in containers connected by a private network.

100
00:05:21.993 --> 00:05:25.493
Mycelium provides shared coordination and the ordered log used

101
00:05:25.493 --> 00:05:26.613
for structural changes.

102
00:05:27.293 --> 00:05:29.673
Postgres provides persistent database storage.

103
00:05:33.706 --> 00:05:35.326
Here is the complete architecture.

104
00:05:36.226 --> 00:05:38.106
Sources connect through imports and acquirers.

105
00:05:39.046 --> 00:05:40.506
Original evidence stays in Postgres.

106
00:05:41.386 --> 00:05:43.986
Structural changes reach Projection through the log and become

107
00:05:43.986 --> 00:05:44.626
views of the organisation.

108
00:05:46.086 --> 00:05:48.266
Signed activity is stored before later delivery.

109
00:05:49.126 --> 00:05:53.206
Reasoning retrieves knowledge and evidence, calculates measurements and calls

110
00:05:53.206 --> 00:05:54.126
models when needed.

111
00:05:54.806 --> 00:05:58.146
The web application displays relationships and cited answers.

112
00:05:58.926 --> 00:06:01.326
Confirmed changes update those relationships.

113
00:06:01.926 --> 00:06:05.526
Together, they help people understand dependencies and examine the

114
00:06:05.526 --> 00:06:06.546
evidence behind decisions.
