Skip to content

Commit 039e461

Browse files
committed
Executive System Touch M5+ 75
1 parent 7fdfaee commit 039e461

14 files changed

Lines changed: 1945 additions & 4 deletions

File tree

configuration/print-method.xml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,13 @@
112112
ExceptionHandler,ExceptionPersistenceService,
113113
ConnectionPoller,CurrentConnections,
114114
PortAdministrator,PortKnockKnock,PortStealth,
115-
LanguagePack,HashCodeRegistry,ProtocolHandlerRegistry
115+
LanguagePack,HashCodeRegistry,ProtocolHandlerRegistry,
116+
CalendarD44Server,CalendarFranceServer,
117+
JapanSignalServer,RussiaSignalServer,MexicoSignalServer,
118+
GreeceInternationalSignalServer,
119+
StrernaryServer,StrernaryOsPortModule,DjlInferenceEngine,
120+
StrernaryKnowledgeFetcher,StrernaryTranslationLayer,StrernaryLaborLawFetcher,
121+
StrernaryTrainingLoader,BrarnerAleteModule
116122
</known-modules>
117123
<preserved-acronyms>JDBC,SQL,TCP,UDP,HTTP,HTTPS,SSH,SSL,TLS,AES,RSA,DSA,DSS,IP,USA,EDT,EST,UTC,XML,JSON,JAR,SHA,MD5,ACK,FATAL,FAILED,OK,ID,NWE,JAVA</preserved-acronyms>
118124
<special-spellings>MySQL,NWEConfig, systemctl</special-spellings>
@@ -158,6 +164,23 @@
158164
</description>
159165
</starts>
160166

167+
<!-- ═══════════════════════════════════════════════════════════════════
168+
PORT ALIASES
169+
Maps class names to port-based display identifiers for the
170+
[Current: @...] block. When a class matches, the alias is shown
171+
instead of the class name. Used for port-aware services.
172+
════════════════════════════════════════════════════════════════════ -->
173+
<port-aliases>
174+
<alias class="StrernaryServer" display="@20000"/>
175+
<alias class="StrernaryOsPortModule" display="@20000.os"/>
176+
<alias class="JapanSignalServer" display="@49201"/>
177+
<alias class="RussiaSignalServer" display="@49202"/>
178+
<alias class="MexicoSignalServer" display="@49203"/>
179+
<alias class="GreeceInternationalSignalServer" display="@49204"/>
180+
<alias class="CalendarD44Server" display="@49200"/>
181+
<alias class="BrarnerAleteModule" display="@BrarnerAlete"/>
182+
</port-aliases>
183+
161184
<!-- ═══════════════════════════════════════════════════════════════════
162185
PARENT CLASS PREFIX
163186
Controls whether the owning/parent class name is prepended to the

logging/clamav.log

Lines changed: 1765 additions & 0 deletions
Large diffs are not rendered by default.
499 Bytes
Binary file not shown.
122 Bytes
Binary file not shown.
3.9 KB
Binary file not shown.

source/commons/printing/ComponentPrinter.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public final class ComponentPrinter {
3838
private static boolean PARENT_CLASS_PREFIX = false;
3939
private static boolean PARENT_CLASS_TRADEMARK = false;
4040
private static String PARENT_CLASS_SEPARATOR = " ";
41+
private static final java.util.Map<String, String> PORT_ALIASES = new java.util.HashMap<>();
4142

4243
static { loadConfig(); }
4344

@@ -49,6 +50,7 @@ public static void print(Object owner, int hash, String line) {
4950

5051
public static void print(Object owner, int hash, String line, String color) {
5152
String simple = owner instanceof Class<?> c ? c.getSimpleName() : owner.getClass().getSimpleName();
53+
String displayName = PORT_ALIASES.getOrDefault(simple, simple);
5254

5355
// Block 1: Prefix
5456
String prefix = PREFIX;
@@ -63,7 +65,7 @@ public static void print(Object owner, int hash, String line, String color) {
6365
String date = "[" + DATE_LABEL + ": " + timestamp() + "]";
6466

6567
// Block 4: Current
66-
String padded = padClassname(simple);
68+
String padded = padClassname(displayName);
6769

6870
// Block 5: Message
6971
String formatted = LineFormatter.normalize(line);
@@ -150,6 +152,14 @@ private static void loadConfig() {
150152
PARENT_CLASS_TRADEMARK = Boolean.parseBoolean(text(p, "append-trademark", "false"));
151153
PARENT_CLASS_SEPARATOR = text(p, "separator", " ");
152154
}
155+
156+
NodeList aliases = doc.getElementsByTagName("alias");
157+
for (int i = 0; i < aliases.getLength(); i++) {
158+
Element a = (Element) aliases.item(i);
159+
String cls = a.getAttribute("class");
160+
String disp = a.getAttribute("display");
161+
if (!cls.isEmpty() && !disp.isEmpty()) PORT_ALIASES.put(cls, disp);
162+
}
153163
} catch (Exception ignored) {}
154164
}
155165

source/strernary/StrernaryServer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,22 @@ public StrernaryServer(String host)
5050
this.laborLaw = new StrernaryLaborLawFetcher(fetcher);
5151
probeOsPort();
5252
Thread.ofVirtual().name(THREAD_NAME).start(this);
53-
// Schedule AI training: labor law data after 1 min, general knowledge after 5 min
53+
// Schedule AI training: load TSV data immediately, labor law fetch after 1 min
5454
Thread.ofVirtual().name("STRERNARY_TRAIN").start(() -> {
5555
try {
56+
new StrernaryTrainingLoader(fetcher).loadAll();
5657
Thread.sleep(60_000);
5758
CommonRails.printSystemComponent(this, this.hashCode(),
5859
". Strernary\u2122 AI training scheduled \u2014 labor laws fetching .");
5960
laborLaw.fetchAll();
60-
Thread.sleep(240_000);
6161
CommonRails.printSystemComponent(this, this.hashCode(),
6262
". Strernary\u2122 AI training complete \u2014 model stored .");
6363
} catch (Exception e) { ExceptionHandler.dispatch(e); }
6464
});
6565
CommonRails.printSystemComponent(this, this.hashCode(),
6666
". Strernary\u2122 now starting on port " + PORT + " .");
67+
CommonRails.printSystemComponent(this, this.hashCode(),
68+
". Strernary\u2122 registered as @20000 .");
6769
}
6870

6971
@Override
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
/**
2+
* StrernaryTrainingLoader — Loads TSV training data from /training directory
3+
* into the nwe_strernary knowledge_base and training_pairs tables.
4+
*
5+
* Called at startup to ensure the AI has baseline knowledge.
6+
* Format: input\toutput\tsource (tab-separated)
7+
*
8+
* @author Max Rupplin
9+
* @javaowner Max Rupplin
10+
* @date June 19 2026 EST
11+
*/
12+
13+
package strernary;
14+
15+
import commons.CommonRails;
16+
import exceptions.ExceptionHandler;
17+
18+
import java.io.*;
19+
import java.nio.file.*;
20+
import java.util.stream.Stream;
21+
22+
public class StrernaryTrainingLoader
23+
{
24+
private final StrernaryKnowledgeFetcher fetcher;
25+
26+
public StrernaryTrainingLoader(StrernaryKnowledgeFetcher fetcher)
27+
{
28+
this.fetcher = fetcher;
29+
}
30+
31+
/**
32+
* Loads all TSV files from training/ subdirectories into the knowledge base.
33+
*/
34+
public int loadAll()
35+
{
36+
int total = 0;
37+
Path trainingDir = Path.of("training");
38+
if (!Files.exists(trainingDir)) return 0;
39+
40+
CommonRails.printSystemComponent(this, this.hashCode(),
41+
". Strernary\u2122 loading training data from /training .");
42+
43+
try (Stream<Path> files = Files.walk(trainingDir))
44+
{
45+
var tsvFiles = files.filter(p -> p.toString().endsWith(".tsv")).toList();
46+
for (Path tsv : tsvFiles)
47+
{
48+
total += loadTsv(tsv);
49+
}
50+
}
51+
catch (IOException e) { ExceptionHandler.dispatch(e); }
52+
53+
CommonRails.printSystemComponent(this, this.hashCode(),
54+
". Strernary\u2122 training data loaded: " + total + " pairs .");
55+
56+
// Save model state after loading
57+
if (fetcher != null && total > 0)
58+
{
59+
fetcher.saveModelState("training_baseline_v1",
60+
("pairs=" + total).getBytes(), "tsv_loaded", total);
61+
}
62+
63+
return total;
64+
}
65+
66+
private int loadTsv(Path file)
67+
{
68+
int count = 0;
69+
try (BufferedReader reader = Files.newBufferedReader(file))
70+
{
71+
String line;
72+
while ((line = reader.readLine()) != null)
73+
{
74+
String[] parts = line.split("\t", 3);
75+
if (parts.length < 2) continue;
76+
77+
String input = parts[0].trim();
78+
String output = parts[1].trim();
79+
String source = parts.length > 2 ? parts[2].trim() : file.getFileName().toString();
80+
81+
if (input.isEmpty() || output.isEmpty()) continue;
82+
83+
fetcher.store(input, output, source);
84+
fetcher.storeTrainingPair(input, output, source);
85+
count++;
86+
}
87+
}
88+
catch (IOException e) { ExceptionHandler.dispatch(e); }
89+
return count;
90+
}
91+
}

training/README

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Strernary Training Data
2+
# =======================
3+
# Training models and datasets for the port 20000 AI inference system.
4+
#
5+
# Structure:
6+
# training/labor-law/ — US/EU/Asia labor law Q&A pairs
7+
# training/general/ — General knowledge Q&A pairs
8+
# training/signal-servers/ — Market/news signal interpretation pairs
9+
#
10+
# Format: TSV (tab-separated) — input\toutput\tsource
11+
# Models are saved to MySQL nwe_strernary.model_state after training.
12+
# DJL loads from jars/djl/ and caches weights here after first download.

training/general/nwe-knowledge.tsv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
What is NitroWebExpress? NitroWebExpress is a Java 21 modular web server with telnet proxy, encryption, bitcoin trading, international signal servers, AI inference, and national finance capabilities. nwe
2+
What is a NationalID? A NationalID in NWE is an 8-digit + 16-digit key pair that identifies a person. It links to NationalFinanceID profiles containing IQ, education, trust scores, and authorization levels. nwe
3+
What is AES 2.0? AES 2.0 is NWE's enhanced encryption module with 21 configurable passes, radix manipulation, convergent fields, and DSS 5.0 signal integration. Runs on port 5512. nwe
4+
What is Bitcoin Compliant? BitcoinCompliant is NWE's lightweight trading server on port 6682 compatible with Bitcoin v24.0+. Handles wallet indexing, session management, and trade execution. nwe
5+
What is the weather command? The Weather server on port 49133 accepts a city name or lat,lon coordinates and returns current conditions from wttr.in. Supports language selection via lang command. nwe
6+
What port is the communicator? The Communicator runs on port 49199. It's a persistent 1-hour telnet chat server supporting direct messaging, broadcast, scheduled delivery, and chat history. nwe
7+
What is Strernary? Strernary is a best-guess inference server on port 20000 using DJL/PyTorch for sentiment analysis, Wikipedia/DuckDuckGo for factual queries, and MySQL for knowledge persistence. nwe

0 commit comments

Comments
 (0)