8.3 KiB
8.3 KiB
Tekniske termer
Dokumentstatus: Journal-format version 1 og de tilhørende Java-typer, den interne parser, query-service, Hub-styret Journal-proces, JavaFX-runtime-service, passive service-managers og første version af det centrale component Registry er implementeret. Resolver-, Context-, classloader-, discovery-, runtime-loading-, retrieval- og publishing-termer beskriver kun fremtidig vision, når det er angivet.
| Term | Beskrivelse |
|---|---|
| Service | Det offentlige domæne-API, som applikationer og andre services bruger i daglig drift. Det eksponerer almindelige domæneoperationer, men ikke lifecycle, configuration, data-source administration, refresh, parser eller mutation af intern viden. En konkret serviceimplementation kan samtidig være en NenjimProcess, uden at lifecycle føjes til service-interfacet. |
| ServiceManager | Et separat, passivt administrations-API, som en composition/lifecycle owner beholder uden at give almindelige service-consumers administrative rettigheder. Journal-manageren eksponerer root og refresh, mens Registry-manageren eksponerer registration. En manager er ikke det daglige domain/query-API, er hverken component eller process og ejer ikke startup. |
| Nenjim component | En færdigkonstrueret Nenjim-byggeklods, som er klar til brug. NenjimComponent er en ren marker uden ID eller lifecycle state. Service, applikation, algoritme og adapter beskriver roller, mens process beskriver en uafhængig lifecycle-klassifikation. |
| Applikation | En user-facing eller orchestration-rolle. Rollen gør ikke i sig selv en component til en process; en aktiv applikationsimplementation kan separat implementere NenjimProcess. |
| NenjimProcess | Det canonical com.r35157.nenjim.process.NenjimProcess component interface for noget, som Hub'en kan starte og tracke. Det eksponerer kun start() og lover ikke stop, restart, health, Context eller dependency lookup. |
| NenjimHub | Den globale ejer af én kørende Nenjim runtime. Hub'en konstruerer og registrerer component graph'en, ejer dependency wiring og startup-policy, tracker succesfuldt startede process-ID'er, starter den fælles JavaFX-runtime før dens applikationer, erklærer online point og ejer den afsluttende runtime wait. Den er hverken component eller process og registreres ikke i sit eget Registry. |
| NenjimComponentId | Canonical lower-case Registry lookup identity med dot-separated segments og valgfrie interne bindestreger. ID'et er registration metadata i ét Registry, ikke object state, authorization eller artifact-version identity. |
| NenjimRegistryService | Read-only component-katalog for almindelige consumers. Det giver immutable registration-order ID snapshots og typed lookup, men ingen registration, removal, loading, lifecycle, permission eller persistence administration. |
| NenjimRegistryServiceAdmin | Package-private mutationsinterface i referenceimplementationen. Det er ikke en component, er ikke indexeret og må ikke gøres public, fordi almindelige consumers ellers kunne caste Registry-serviceobjektet til mutationsinterfacet. |
| NenjimRegistryServiceManager | Public, passivt administrationshandle med kun registerComponent(...). Det holdes privat af Hub'en, delegerer til det interne admin-view, er hverken component eller process, registreres ikke og ejer ingen lifecycle eller composition. |
| Component registration | Bindingen mellem ét NenjimComponentId og ét object. Én registration indexeres under alle objektets component interfaces; flere forskellige ID'er må pege på præcis samme object instance. |
| Journal | Et immutable, komplet snapshot af al aktuel viden om præcis én artifakt og dens kendte releases. Journalen er aldrig en delta. |
| ArtifactCoordinate | Journal-kædens stabile identitet, udledt som <GROUP>-<MODULE>-<ARTIFACT>, f.eks. com_r35157_nenjim-hubd-api. Der findes intet separat JournalId. |
| JournalVersion | Journal-snapshottets publiceringstid som UTC med millisekundpræcision: uuuuMMddHHmmssSSS'Z'. Den er forskellig fra en releases PUBLISHED_AT. |
| Journal-kæde | Én genesis og en lineær række immutable snapshots for samme coordinate. Hver efterfølger refererer med SHA-256 til forgængerens eksakte UTF-8-tekst. |
| Historisk worldview | Hele det snapshot, som var nyest på eller før en valgt JournalVersion; det beregnes ikke ved at filtrere et nyere snapshot efter release-tid. |
| Artifact release | En eksakt stabil major.minor.patch-version af én artifakt med per-release licens, publication time, content digests, content size og dependencies. |
| DESCRIPTION | Obligatorisk single-quoted artifactbeskrivelse i [METADATA]; decoded tekst kan ændres i en senere Journal-revision. |
| INFORMATION_URI | Valgfri single-quoted, syntaktisk gyldig absolut URI. Alle schemes er tilladt; indholdet åbnes eller fortolkes ikke automatisk. |
| LICENSE | Obligatorisk single-quoted fri tekst for hver release. Den normaliseres eller juridisk fortolkes ikke; fremtidig filtrering er ikke implementeret. |
| ContentDigest | Valideret indholdsidentitet. Format 1 understøtter sha256 og CIDv1 (cid1), men downloader eller verificerer ikke artifact-bytes. |
| SemanticVersion | Én eksakt stabil artifaktrelease med major, minor og patch. Prerelease/build metadata understøttes ikke i format 1. |
| VersionExpression | Et normaliseret sæt acceptable releases: exact, minor-serie eller inclusive/exclusive/open range. Mathematical comparison syntax understøttes ikke. |
| DependencyTarget | Et explicit scheme og et scheme-specifikt target. Format 1 implementerer kun nenjim:<artifact-coordinate>; Maven-resolution er fremtidig. |
| DEPENDS_ON | Den hårde basisramme af acceptable releases for én dependency-relation. |
| EXCLUDES | En hård relationel regel, som fjerner versioner fra én bestemt DEPENDS_ON. Individuelle beskrivelser bevares. |
| PREFERRED | Et hint til en delmængde af DEPENDS_ON - EXCLUDES; det kan aldrig gøre en ellers ugyldig version gyldig. |
| BLACKLIST | En hård artifact-policy: matchende releases må ikke vælges. |
| DISCOURAGED | Et negativt artifact-policy-hint: matchende releases bør undgås, men er fortsat selectable. |
| RECOMMENDED | Et positivt hint til én eksakt release, der findes i samme snapshot. Højeste version er kun en fremtidig fallback, ikke en ubetinget selection-regel. |
| JournalService | Registrerbart, filesystem-uafhængigt og read-only Service-API for current og historical Journal-queries. Det eksponerer ingen lifecycle-, path-, refresh-, parser- eller mutationsoperationer, og queries er gated indtil vellykket proces-startup. |
| JournalServiceManager | Passivt, uregistreret administrationshandle for én Journal-service med kun normalized data root og explicit refresh. Hub'en beholder det; det har ingen start, stop, service-accessor eller query-operationer. |
| Journal referenceimplementation | Ét package-private JournalServiceImpl-objekt er både JournalService og NenjimProcess; en separat JournalServiceManagerImpl, intern admin-view, parser, ingestion, chain state og filesystem-loader ligger under com.r35157.nenjim.service.journal.impl.ref uden at lække gennem public signatures. |
| JavaFX runtime | Det ene JVM-wide JavaFX toolkit, som udfører UI-arbejde på JavaFX Application Thread. Hub'en ejer dets eneste startup-sti gennem JavaFxRuntimeServiceImpl og holder det aktivt efter sidste lukkede vindue med Platform.setImplicitExit(false). |
| JavaFxRuntimeService | Registrerbart service-view med kun non-null runLater(Runnable). Samme referenceimplementation er en Hub-styret NenjimProcess; service-consumers får den gennem constructor injection, men får ingen lifecycle-, status-, configuration-, window-, event-, stop- eller restart-operationer. |
| Context | Fremtidig beskrivelse af ønskede/resolverede artifactvalg og isoleret runtime; ikke implementeret af Journal-laget eller første Registry-version. |
| Resolver | Fremtidig komponent for dependency graph og release-selection; Journal-laget repræsenterer reglerne, men vælger ikke en graf. |
Domænespecifikke termer
| Term | Beskrivelse |
|---|---|
| Position Value | Den samlede nutidsværdi af en position (nuværende pris × antal). |
| Base Value | Den pris det har kostet at købe positionen (gennemsnitlig købspris × antal). |
| Margin Value | Den pris man faktisk har betalt for en gearet position (base value / gearing). |