mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-09-02 17:43:48 +00:00
21 lines
6.7 KiB
HTML
21 lines
6.7 KiB
HTML
<!doctype html>
|
|
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Trail Mate Model Registry</title>
|
|
<style>:root{color-scheme:dark;--bg:#0b1219;--panel:#111b24;--line:#2b4152;--text:#e9f3f8;--muted:#a8bac6;--accent:#70d7ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,sans-serif}main{max-width:1180px;margin:auto;padding:28px}header,section,article{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}h1,h2{margin-top:0;line-height:1.25}a{color:var(--accent)}.metrics,.models{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.metric,.models article{margin:0}.metric strong{display:block;font-size:28px}.tag{display:inline-block;border:1px solid #406276;border-radius:999px;padding:1px 8px;margin:2px 5px 2px 0;color:#c9efff}.muted{color:var(--muted)}.decision{border-left:4px solid #f2c96d}</style></head>
|
|
<body><main class="praxis-model-registry" data-praxis-anchor="models:root" data-praxis-kind="uml_model_registry" data-praxis-status="confirmed">
|
|
<header><h1>Trail Mate Model Registry</h1><p>Nine domain or integration model boundaries supported directly by source code. This is not a cap; missing models, pending candidates, and borderline defects go into the Review Queue.</p><div class="metrics"><div class="metric"><strong>9</strong>Models</div><div class="metric"><strong>37</strong>Elements</div><div class="metric"><strong>8</strong>Cross-model relations</div></div></header>
|
|
<section class="decision"><h2>Modeling Judgment</h2><p>"Organization/software/deployment" is a reading perspective, not a domain boundary. The models are divided here according to business language, invariants and state owners; Design, Engineering and C4 are just projections of these models.</p></section>
|
|
<div class="models">
|
|
<article data-praxis-anchor="model:communication-conversation" data-praxis-kind="uml_model" data-praxis-document-title="Communication, session and delivery model" data-praxis-document-md="docs/models/communication-conversation/model.md" data-praxis-document-html="docs/models/communication-conversation/model.html"><h2>Communication, session and delivery model</h2><p>Message identity, session ownership and verifiable delivery life cycle.</p><span class="tag">ChatMessageLedger</span><span class="tag">Confirmed</span></article>
|
|
<article data-praxis-anchor="model:mesh-network-identity" data-praxis-kind="uml_model" data-praxis-document-title="Mesh network and key identity model" data-praxis-document-md="docs/models/mesh-network-identity/model.md" data-praxis-document-html="docs/models/mesh-network-identity/model.html"><h2>Mesh network and key identity model</h2><p>LocalIdentity, PeerPublicKey and verified key replacement rules.</p><span class="tag">PeerIdentityService</span><span class="tag">Confirmed</span></article>
|
|
<article data-praxis-anchor="model:contact-peer-directory" data-praxis-kind="uml_model" data-praxis-document-title="Contacts, peer directories and local trust" data-praxis-document-md="docs/models/contact-peer-directory/model.md" data-praxis-document-html="docs/models/contact-peer-directory/model.html"><h2>Contacts, peer directories and local trust</h2><p>Protocol observation, peer directory, contact nickname, ignored and local trust projection.</p><span class="tag">MeshPeerRecord</span><span class="tag">ContactService</span><span class="tag">Boundary split</span></article>
|
|
<article data-praxis-anchor="model:team-coordination" data-praxis-kind="uml_model" data-praxis-document-title="Team Credentials, Pairing and Collaboration Model" data-praxis-document-md="docs/models/team-coordination/model.md" data-praxis-document-html="docs/models/team-coordination/model.html"><h2>Team Credentials, Pairing and Collaboration Model</h2><p>TeamKeys, PairingRole/State and pairing message exchange.</p><span class="tag">TeamPairingCoordinator</span><span class="tag">Candidate</span></article>
|
|
<article data-praxis-anchor="model:positioning-time" data-praxis-kind="uml_model" data-praxis-document-title="GNSS Positioning, Filtering and Time Update Model" data-praxis-document-md="docs/models/positioning-time/model.md" data-praxis-document-html="docs/models/positioning-time/model.html"><h2>GNSS Positioning, Filtering and Time Update Model</h2><p>How NMEA inputs become LocationFix, location events and time updates.</p><span class="tag">LocationService</span><span class="tag">Confirmed</span></article>
|
|
<article data-praxis-anchor="model:track-recording" data-praxis-kind="uml_model" data-praxis-document-title="Track recording and persistence model" data-praxis-document-md="docs/models/track-recording/model.md" data-praxis-document-html="docs/models/track-recording/model.html"><h2>Track recording and persistence model</h2><p>TrackCommand, TrackEvent, bounded buffer and storage worker.</p><span class="tag">TrackStateMachine</span><span class="tag">Confirmed</span></article>
|
|
<article data-praxis-anchor="model:device-target-capability" data-praxis-kind="uml_model" data-praxis-document-title="Device target, capability and authority model" data-praxis-document-md="docs/models/device-target-capability/model.md" data-praxis-document-html="docs/models/device-target-capability/model.html"><h2>Device target, capability and authority model</h2><p>Manifest, CapabilityState, link mode and AuthorityBinding.</p><span class="tag">TargetManifestView</span><span class="tag">Confirmed</span></article>
|
|
<article data-praxis-anchor="model:hostlink-integration" data-praxis-kind="uml_model" data-praxis-document-title="HostLink session and frame routing model" data-praxis-document-md="docs/models/hostlink-integration/model.md" data-praxis-document-html="docs/models/hostlink-integration/model.html"><h2>HostLink session and frame routing model</h2><p>SessionRuntime, LinkState, frame decision and codecs.</p><span class="tag">SessionRuntime</span><span class="tag">Integration</span></article>
|
|
<article data-praxis-anchor="model:phone-interoperability" data-praxis-kind="uml_model" data-praxis-document-title="Mobile phone application protocol interoperability model" data-praxis-document-md="docs/models/phone-interoperability/model.md" data-praxis-document-html="docs/models/phone-interoperability/model.html"><h2>Mobile phone application protocol interoperability model</h2><p>IPhoneAppFacade and Meshtastic/MeshCore phone cores.</p><span class="tag">IPhoneAppFacade</span><span class="tag">Integration</span></article>
|
|
</div>
|
|
<section><h2>Three integrity issues of Review Queue</h2><p><strong>Flaws found:</strong>The domain model exists, but the tool is not found.<br><strong>Design defect:</strong>Business rules exist, but do not form a domain model owned by the core layer.<br><strong>Classification gap:</strong>S</p></section>
|
|
</main>
|
|
</body></html>
|