Skip to content

Decisions needed after the v3.52.0 mod hardening run #3785

Description

@ruvnet

Why this issue

The overnight mod-system hardening run (release v3.52.0) finished. A few things need a person to decide. None block the release.

Decisions needed

  1. PR DRAFT fix(mods): domain plugins screen memory_store only in their own namespace (narrows a guard, needs a decision) #3751 (guard overlap, draft). Stops six domain plugins from naming themselves as owner of another plugin's memory write. But it also means a setup with, say, only ruflo-music enabled would no longer refuse a secret written to a non-music namespace. Options: accept, or build the safer version where non-owners defer the message instead of dropping the guard.
  2. T11: any program that can write a file can fake a "guarded" status. Relabel the status as unauthenticated, or accept the risk.
  3. T15: which provenance values should recall accept?
  4. Defaults: keep modelConfirm = auto and modTrust = observe, or tighten?
  5. New file reads: compactCarry reads swarm and claims state; memory_import guard reads the file it is pointed at. Confirm both are acceptable.
  6. T19: an http.fetch hook can see other plugins' requests. Recorded, no fix yet.
  7. rvf_ingest is still unguarded.
  8. ruvector 0.3.3 vs the pinned ^0.2.27: conditional go. Old intelligence.json needs ruvector hooks reembed. No pin was changed.
  9. ADR-449 (guidance and learning loop on mods) stays Proposed until someone approves phase 1.

Not yet built

ADR-451 items 4, 8, 9, 10.

Details: ADR-450 (threat model) and ADR-451/452 in the docs folder.

Activity

  1. ruvnet commented on Oct 11, 2026

    @ruvnet
    OwnerAuthor

    Nightly triage — 2026-10-11

    Status: needs human input
    This tracking issue lists 9 decision items from the v3.52.0 mod-hardening run: (1) whether to accept PR #3751's guard-overlap narrowing or build a safer deferred-message variant, (2) relabeling the "guarded" status as unauthenticated (T11), (3) which provenance values recall should accept (T15), (4) whether to tighten the modelConfirm/modTrust defaults, (5) whether new file reads in compactCarry and the memory_import guard are acceptable, (6) the recorded-but-unfixed http.fetch cross-plugin visibility (T19), (7) rvf_ingest remaining unguarded, (8) whether to bump the pinned ruvector ^0.2.27 to 0.3.3, and (9) approving phase 1 of ADR-449 (guidance/learning loop on mods) — plus a "not yet built" note on ADR-451 items 4/8/9/10. Item 1 already appears resolved: the safer "defer to owner, don't narrow the guard" variant merged as #3767 on 2026-10-05, and the draft #3751 was closed as superseded on 2026-10-09 with that evidence cited directly in its own comments. Item 5's memory_import half also shipped (PR #3764, fail-open file screen, merged 2026-10-05). Items 2, 3, 4, 6, 7, 8 and 9 show no merged follow-up — #3726 (ruvector 0.3.3 validation) explicitly left the pin decision to the maintainer, and ADR-449 is still marked Proposed per the ADR index refresh in #3752 — so they remain open product/security/design calls only the repo owner can make.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions