tgi-foundation 0.2.0.dev11__tar.gz → 0.2.0.dev13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tgi_foundation-0.2.0.dev11/tgi_foundation.egg-info → tgi_foundation-0.2.0.dev13}/PKG-INFO +1 -1
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/pyproject.toml +1 -1
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/causal_port_classes_check.py +32 -20
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_endpoint_transport.py +7 -2
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_endpoint_transport_check.py +6 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13/tgi_foundation.egg-info}/PKG-INFO +1 -1
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/LICENSE +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/MANIFEST.in +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/README.md +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/setup.cfg +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/__init__.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/acquisition_snapshot.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/acquisition_witness.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/causal_port_classes.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/compact_measured_path.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/compatible_joins.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/derivation.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/events.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/frame_engine.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/identity.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/incidence.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/incremental.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_continuity.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_continuity_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_edit_contrast.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_edit_contrast_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_roles.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_roles_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/lineage_state.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/lineage_state_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/local_edit_transport_classes.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/local_edit_transport_classes_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/measured_occurrence_path.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/observation_point.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/organization.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/organization_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/organization_snapshot.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/phase_bound_port_classes.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/phase_bound_response_atlas.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/phase_bound_response_atlas_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/phase_evidence.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/resonance.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/response_incidence_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/role_eligibility_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/role_history_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/role_projection_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/role_readout_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/role_response_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/role_work.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_single_nmu_edit.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_single_nmu_edit_check.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/spatial.py +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi_foundation.egg-info/SOURCES.txt +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi_foundation.egg-info/dependency_links.txt +0 -0
- {tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi_foundation.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tgi-foundation
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev13
|
|
4
4
|
Summary: Native character-identity and geometric knowledge mechanisms for Topological Geometric Intelligence
|
|
5
5
|
Author: Emylton Leunufna
|
|
6
6
|
License: Copyright (c) 2026 Emylton Leunufna
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tgi-foundation"
|
|
7
|
-
version = "0.2.0.
|
|
7
|
+
version = "0.2.0.dev13"
|
|
8
8
|
description = "Native character-identity and geometric knowledge mechanisms for Topological Geometric Intelligence"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -7,6 +7,19 @@ from .organization import OMEGA_CRIT
|
|
|
7
7
|
REVISION = 'TGI-M1-CAUSAL-PORT-TOPOLOGY-V1'
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
def _add_source(stats, row, members, names):
|
|
11
|
+
"""Accumulate one raw C/L witness for a fixed live port class."""
|
|
12
|
+
action = tuple(row['action_nmu'])
|
|
13
|
+
ports = row['ports']
|
|
14
|
+
if all(ports[name]['changed'] for name in members):
|
|
15
|
+
context = tuple(tuple(ports[name]['before_nmu']) for name in members)
|
|
16
|
+
stats['support'].setdefault(action, set()).add(context)
|
|
17
|
+
if all(not ports[name]['changed'] for name in members):
|
|
18
|
+
stats['controls'][action] = stats['controls'].get(action, 0) + 1
|
|
19
|
+
if any(ports[name]['changed'] for name in names if name not in members):
|
|
20
|
+
stats['separating'].add(action)
|
|
21
|
+
|
|
22
|
+
|
|
10
23
|
def verify(events, certificate, *, revision=REVISION, valid_row=valid_contrast):
|
|
11
24
|
try:
|
|
12
25
|
if type(events) is not list or type(certificate) is not dict or \
|
|
@@ -19,6 +32,7 @@ def verify(events, certificate, *, revision=REVISION, valid_row=valid_contrast):
|
|
|
19
32
|
sources = set()
|
|
20
33
|
prior = None
|
|
21
34
|
epoch = 0
|
|
35
|
+
traces, actions, cache = {}, set(), {}
|
|
22
36
|
final = {'status': 'NO_PATH', 'action_nmu': None, 'members': None}
|
|
23
37
|
for stop, event in enumerate(events):
|
|
24
38
|
if type(event) is not dict or set(event) != {'source', 'action_nmu', 'ports'} or \
|
|
@@ -36,35 +50,32 @@ def verify(events, certificate, *, revision=REVISION, valid_row=valid_contrast):
|
|
|
36
50
|
return False
|
|
37
51
|
if names is None:
|
|
38
52
|
names = observed
|
|
53
|
+
traces = {name: [] for name in names}
|
|
39
54
|
if observed != names:
|
|
40
55
|
return False
|
|
41
|
-
|
|
56
|
+
actions.add(tuple(event['action_nmu']))
|
|
42
57
|
partition = {}
|
|
43
58
|
for name in names:
|
|
44
|
-
|
|
59
|
+
traces[name].append(event['ports'][name]['kind'])
|
|
60
|
+
signature = tuple(traces[name])
|
|
45
61
|
partition.setdefault(signature, []).append(name)
|
|
46
62
|
groups = sorted(tuple(members) for members in partition.values())
|
|
47
|
-
actions = sorted({tuple(row['action_nmu']) for row in prefix})
|
|
48
63
|
cells, winners = [], []
|
|
49
64
|
for members in groups:
|
|
65
|
+
key = (epoch, members)
|
|
66
|
+
stats = cache.get(key)
|
|
67
|
+
if stats is None:
|
|
68
|
+
stats = {'stop': epoch - 1, 'support': {},
|
|
69
|
+
'controls': {}, 'separating': set()}
|
|
70
|
+
cache[key] = stats
|
|
71
|
+
for position in range(stats['stop'] + 1, stop + 1):
|
|
72
|
+
_add_source(stats, events[position], members, names)
|
|
73
|
+
stats['stop'] = stop
|
|
50
74
|
counts = []
|
|
51
|
-
for action in actions:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
for row in events[epoch:stop+1]:
|
|
56
|
-
raw_action = tuple(row['action_nmu'])
|
|
57
|
-
all_changed = all(row['ports'][name]['changed'] for name in members)
|
|
58
|
-
all_stable = all(not row['ports'][name]['changed'] for name in members)
|
|
59
|
-
if all_changed and raw_action == action:
|
|
60
|
-
support.add(tuple(tuple(row['ports'][name]['before_nmu']) for name in members))
|
|
61
|
-
if all_stable:
|
|
62
|
-
if raw_action == action:
|
|
63
|
-
controls += 1
|
|
64
|
-
if any(row['ports'][name]['changed'] for name in names if name not in members):
|
|
65
|
-
separating_actions.add(raw_action)
|
|
66
|
-
comparator = any(other != action for other in separating_actions)
|
|
67
|
-
omega = len(support)
|
|
75
|
+
for action in sorted(actions):
|
|
76
|
+
comparator = any(other != action for other in stats['separating'])
|
|
77
|
+
omega = len(stats['support'].get(action, ()))
|
|
78
|
+
controls = stats['controls'].get(action, 0)
|
|
68
79
|
counts.append({'action_nmu': list(action), 'omega': omega,
|
|
69
80
|
'controls': controls, 'comparator': comparator})
|
|
70
81
|
if omega >= OMEGA_CRIT and controls and comparator:
|
|
@@ -74,6 +85,7 @@ def verify(events, certificate, *, revision=REVISION, valid_row=valid_contrast):
|
|
|
74
85
|
final = {'status': 'REVOKED', 'action_nmu': None, 'members': None}
|
|
75
86
|
prior = None
|
|
76
87
|
epoch = stop+1
|
|
88
|
+
cache = {}
|
|
77
89
|
elif len(winners) == 1:
|
|
78
90
|
action, members = winners[0]
|
|
79
91
|
final = {'status': 'CRYSTAL', 'action_nmu': list(action), 'members': list(members)}
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_endpoint_transport.py
RENAMED
|
@@ -129,9 +129,14 @@ def certify_source_bound_endpoint_transport(old, bridge, new, root_port,
|
|
|
129
129
|
for index, action in enumerate(actions):
|
|
130
130
|
classes = action_roles[index]
|
|
131
131
|
if not classes or not any(port in members for members in classes):
|
|
132
|
-
|
|
132
|
+
direct = [row for row in observations[port]
|
|
133
|
+
if row['before'] == current and row['action'] == action]
|
|
134
|
+
opposed = len({row['after'] for row in direct}) > 1
|
|
135
|
+
step = {'before': current, 'action': action,
|
|
136
|
+
'status': 'OBSERVED_CONFLICT' if opposed else 'NO_ROLE',
|
|
133
137
|
'mode': None, 'output': [], 'suffix_nmu': [],
|
|
134
|
-
'source_ids': [
|
|
138
|
+
'source_ids': sorted(row['source'] for row in direct) if opposed else [],
|
|
139
|
+
'lineage': []}
|
|
135
140
|
else:
|
|
136
141
|
decision = _step(observations[port], current, action)
|
|
137
142
|
step = {'before': current, 'action': action, **decision,
|
|
@@ -123,6 +123,12 @@ def verify_source_bound_endpoint_transport(old, bridge, new, root_port,
|
|
|
123
123
|
suffix = list(candidate)
|
|
124
124
|
sources = sorted(row[0] for row in matched)
|
|
125
125
|
break
|
|
126
|
+
else:
|
|
127
|
+
direct = [row for row in observations[port]
|
|
128
|
+
if row[1] == current and row[2] == action]
|
|
129
|
+
if len({row[3] for row in direct}) > 1:
|
|
130
|
+
status = 'OBSERVED_CONFLICT'
|
|
131
|
+
sources = sorted(row[0] for row in direct)
|
|
126
132
|
lineage = []
|
|
127
133
|
if status == 'RESOLVED':
|
|
128
134
|
lineage = [dict(owner) for owner in owners]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tgi-foundation
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev13
|
|
4
4
|
Summary: Native character-identity and geometric knowledge mechanisms for Topological Geometric Intelligence
|
|
5
5
|
Author: Emylton Leunufna
|
|
6
6
|
License: Copyright (c) 2026 Emylton Leunufna
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_continuity_check.py
RENAMED
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/intervention_edit_contrast_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/local_edit_transport_classes.py
RENAMED
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/local_edit_transport_classes_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/phase_bound_response_atlas_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_single_nmu_edit.py
RENAMED
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi/source_bound_single_nmu_edit_check.py
RENAMED
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi_foundation.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{tgi_foundation-0.2.0.dev11 → tgi_foundation-0.2.0.dev13}/tgi_foundation.egg-info/top_level.txt
RENAMED
|
File without changes
|