Skip to content

History / Mesh Configuration

Revisions

  • docs(mesh): .mesh message, brief note, autostart notice (TASK-175)

    @Dark-Alex-17 Dark-Alex-17 committed Oct 16, 2026
  • docs(mesh): a request to a known peer asks for a path before it is refused The relay gotcha said Coyote never requests a path and that a restarted node waits up to a heartbeat before it can reach a peer it already knew. A request to a trusted peer the transport has no route to now asks the network for a path and waits up to 5 s; the refusal, quoted on the status, knock and fetch entries, says the request went unanswered and that nothing was queued. The Windows walkthrough no longer waits for W1's heartbeat after W2 rejoins, and the Timers section names the wait and the status sweep that skips it.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 14, 2026
  • docs(mesh): mesh.enabled joins a session entered with .session or .agent and leaving it by any path leaves the mesh

    @Dark-Alex-17 Dark-Alex-17 committed Oct 13, 2026
  • docs: mirror the reflowed mesh config comments

    @Dark-Alex-17 Dark-Alex-17 committed Oct 13, 2026
  • docs(mesh): mesh.enabled joins when a session is entered, .mesh off holds for the run, .exit session leaves

    @Dark-Alex-17 Dark-Alex-17 committed Oct 13, 2026
  • docs(mesh): the trust list is shared live between sessions on one config dir The two-sessions prose on Deployment and Configuration drops the restart caveat: a trust, untrust or block made in one REPL is seen by the other before its next decision, and the write is serialised through mesh/trust.yaml.lock. The Trust Model page says so where it names the file; the Directories row and the Mesh page's on-disk table list the two lock files.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 13, 2026
  • docs: Mesh Configuration intro and the interfaces comment twin

    @Dark-Alex-17 Dark-Alex-17 committed Oct 12, 2026
  • docs(TASK-151): mesh pages link the SCOPE specification repository instead of the removed in-repo protocol draft The eight PROTOCOL.md link sites on Mesh, Mesh Commands, Mesh Configuration and Mesh File Sharing now point at https://github.com/Dark-Alex-17/scope-protocol (repository root; the anchored section links went with the renumbered sections). The verification bullet on Mesh describes the conformance bake-off against the SCOPE specification in place of the in-repo coverage table.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 11, 2026
  • docs(TASK-143): Mesh-Commands, Mesh-Configuration, Mesh-Containers follow the private 127.0.0.1:4242 default Mesh-Commands.md: .mesh on samples name the loopback relay; the three WARNING lines, the relay failure text, the loopback hint, the lan bind failure text and the connect idle line are quoted as the code prints them; the .mesh info sample shows the interfaces[i] rows at the 32-wide label column. Mesh-Configuration.md: the interfaces: block is the template's, the Keys row and the empty-interfaces validation sentence name the new default, the Directories prose says what two sessions share and when two identities split. Mesh-Containers.md: the image's ENTRYPOINT as the Dockerfile has it; two identities on one host link the new section; the propagation node is dialled by a host's rnsd with --relay.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 10, 2026
  • docs(TASK-137): Mesh-Commands: stores whose index cannot be read, record files no index names; Mesh-Configuration: ttl_hours counts from the last written exchange

    @Dark-Alex-17 Dark-Alex-17 committed Oct 9, 2026
  • docs(TASK-137): Mesh-Commands: the refused-store sentence, TAB labels, where the cross-instance total shows

    @Dark-Alex-17 Dark-Alex-17 committed Oct 9, 2026
  • docs(TASK-137): Mesh: envoy conversation memory — .mesh memory forget, envoy_memory keys, what is remembered

    @Dark-Alex-17 Dark-Alex-17 committed Oct 9, 2026
  • docs(TASK-131): Mesh-Configuration: the cost ceiling defaults off; only the message, run and token budgets default bounded

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-131): Mesh-Configuration: the two timers are capped at one year; the status sweep is the second exempt requester

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-131): Mesh-Configuration: 0 = unlimited on the three peer_max_* budgets and the raise-only request/link timers Signed-off-by: Alex Clarke <alex.j.tusa@gmail.com>

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-130): the presence memo names the key first heard, is armed on the refusal, and is cleared by trust and block

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-130): the presence lines are quoted; a holder refused by another holder's memory earns no line Mesh-Trust-Model's identity-tier Note names the pair as instance and identity it was heard under, says that a remembered holder another holder's memory refuses earns no line of its own with .mesh block of the other key restoring it, and quotes the warning: and error: presence lines. Mesh-Configuration's collision_protection section says nothing is marked for a collision found only in the peer table. Both are pinned by tests/mesh_wiki_docs.rs in the repo.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-130): a refused key you trusted with --identity is told once itself; the memory's direction after a restart

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-130): a presence refusal under collision_protection is remembered while the node runs; the peer-table clause names the trusted-for-all qualifier

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-130): collision_protection covers a rotation known only from the peer table; trust labels show the grant

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-130): collision marking on every path, collision_protection, one clearing action Every name-hash collision now marks the colliding record and tells the owner (a warning when the presenting identity is served, an error when it is refused); mesh.collision_protection moves the collision rung ahead of the identity-wide grant; a mark clears only on .mesh trust of the new destination; an identity-tier rotation is surfaced from the peer table when heard, never marked. Mesh-Commands, Mesh-Trust-Model, Mesh-Configuration and Hooks reworded to match the shipped strings.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-128): the staging inbox keys peer directories by the full destination hash Mesh-File-Sharing.md's staging-inbox layout, Mesh-Configuration.md's inbox_dir paragraph and Mesh-Commands.md's `.mesh inbox` example all name the per-peer directory by the peer's full 32-hex destination hash (`<peer-dest32>`) instead of its first eight characters.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 5, 2026
  • docs(TASK-120): SCOPE name, file-sharing page, 27-verb layout, hooks 46, nine tools - Mesh.md leads with SCOPE - Session Coordination & Presence Exchange, the spec tagline and the reference-implementation sentence; destination derivation now scope.session.<instance_id>; nine mesh__* tools with the untrusted-content fence; envoy disposition table; [mesh:access] source; on-disk stores for shares, grants and the staging inbox; conformance section with the §20 pointer, Rust-only file-sharing vectors, interop 95 and the Windows exemption; single-segment fetch ceiling as a known gap. - New Mesh-File-Sharing.md: the share set (write rule, deny-wins, built-in deny, protected set, overrides), the three grant shapes, every file verb, the staging inbox, what a peer can and cannot learn, fenced fetched content, limits, notifications and hooks. - Mesh-Commands.md: the settled 27-verb table, untrust/forget refusal semantics, block remembers, sync replaces the LXMF-sync fetch, file verbs, --attach and --purge-files, TAB completion per verb, peer deny/undeny gone. - Mesh-Trust-Model.md: refusal vs forget vs block, the deny-only row and its remedy, hook silence, regular-files-only store writes. - Mesh-Configuration.md: about, fetch.inline_max_bytes, fetch.max_bytes, fetch.inbox_dir with their validation and the ceiling caveat; .mesh sync. - Hooks.md / Home.md: 46 events, mesh.fetch.served, mesh.access.requested, mesh.access.decided with their variables; Sidebar links the new page; Deployment and Platform Support refreshed.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 5, 2026
  • docs(TASK-100): automatic propagation sync, .mesh fetch, .mesh knock and joining at REPL start Mesh-Commands gains the two verbs with what they print and refuse; Mesh-Configuration gains propagation_sync_interval_secs, the announce: false rule (no automatic sync, .mesh fetch still works), the one-year cap and what enabled: true does at REPL start; Mesh, Mesh-Trust-Model and Mesh-Deployment drop the not-yet caveats and describe the deferral window (three fetches and one peer heartbeat) and what a restart costs; Mesh-Platform-Support notes the no-session refusal in the manual procedure.

    @Dark-Alex-17 Dark-Alex-17 committed Sep 30, 2026
  • docs(TASK-097): list identity.key.lock under the config dir and carry the enabled comment into the Windows procedure Mesh-Configuration.md: the Directories row for COYOTE_CONFIG_DIR now names mesh/identity.key.lock like the hub page does (src/mesh/identity.rs:127). Mesh-Platform-Support.md: the procedure's mesh: block carries the same 'validated at load; the node still joins with .mesh on' comment as the other two recipes (ruling R1).

    @Dark-Alex-17 Dark-Alex-17 committed Sep 30, 2026
  • docs(TASK-097): tighten four wordings after the fourth review round

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026
  • docs(TASK-097): correct the round-two review findings on the mesh pages

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026
  • docs(TASK-097): correct the mesh pages after review

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026
  • docs(TASK-097): add the Mesh hub, commands, configuration and trust-model pages Derived from the code repo at feat/PLAN-mesh: - Mesh.md: assets/config-template.yaml, src/config/mesh_config.rs, src/mesh/identity.rs, src/config/session.rs, src/repl/mesh.rs, src/mesh/announce.rs, src/function/mesh.rs, src/mesh/message.rs, src/mesh/node.rs, src/supervisor/notification.rs, src/mesh/notify.rs, assets/envoy/config.yaml, assets/envoy/tools.py, src/config/mesh_envoy.rs, src/function/mod.rs, src/mesh/brief.rs, src/config/mesh_digest.rs, src/mesh/card.rs, src/mesh/mod.rs, src/mesh/lock.rs, src/mesh/pending.rs, src/mesh/knocks.rs, src/mesh/schema.rs, src/mesh/fuzz/mod.rs, .github/workflows/ci.yaml, scripts/mesh-interop/README.md, scripts/mesh-netns/README.md, src/mesh/conformance/netns.rs - Mesh-Commands.md: src/repl/mesh.rs (VERBS, help, previews and results), src/mesh/trust.rs (MESH_OFF), src/mesh/node.rs (MESH_ALREADY_ON), src/mesh/lock.rs, src/mesh/card.rs (StatusError), src/mesh/r3/error.rs, src/config/macros.rs, src/repl/mod.rs, src/config/request_context.rs - Mesh-Configuration.md: assets/config-template.yaml, src/config/mesh_config.rs (defaults, validate, TryFrom<RawMeshInterface>, render_mesh_info), src/mesh/announce.rs, src/mesh/limits.rs, src/config/paths.rs, src/config/request_context.rs - Mesh-Trust-Model.md: src/mesh/trust.rs (authorize, identity_standing, note_key_change, key_change_text, mutations), src/mesh/knock.rs, src/mesh/knocks.rs, src/mesh/identity.rs, src/mesh/lock.rs, src/repl/mesh.rs

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026