Skip to content

docs(discovery): decide read-only local discovery - #65

Merged
limaronaldo merged 1 commit into
mainfrom
agent/read-only-discovery-adr
Jul 24, 2026
Merged

docs(discovery): decide read-only local discovery#65
limaronaldo merged 1 commit into
mainfrom
agent/read-only-discovery-adr

Conversation

@limaronaldo

Copy link
Copy Markdown
Collaborator

Summary

  • decide a hybrid local discovery contract: exact versioned default config paths plus explicit bounded roots
  • require --no-default-paths, visible disclosure, no implicit home-directory crawling, and no automatic scan
  • define filesystem boundaries, deterministic v1 resource budgets, fail-closed parsing, secret-safe diagnostics, and zero network/process/shell/environment expansion
  • keep discovery separate from ScanTarget, ScanReport, existing scan outputs, policy, findings, and attestation
  • define a separate versioned discovery envelope, identity/deduplication rules, staged implementation gates, and adversarial acceptance criteria

Decision review

A full architecture council selected the hybrid option with high confidence.
The preserved dissent is that default config reads remain implicit filesystem
access; if disclosure and --no-default-paths cannot remain mandatory,
defaults must become opt-in or discovery must be deferred. The
privacy/security veto agreed with the constrained decision.

Scope

Docs only. This PR does not implement agentshield discover, add a public Rust
API, alter scan behavior, or enumerate third-party client paths without current
upstream documentation.

Validation

  • git diff --check
  • full multi-perspective architecture review and privacy/security veto

@limaronaldo
limaronaldo force-pushed the agent/read-only-discovery-adr branch from 54e777a to a24f337 Compare July 24, 2026 02:39
@limaronaldo

Copy link
Copy Markdown
Collaborator Author

Architecture re-review verdict: no blocking findings. The persisted ADR was reviewed through privacy and implementation lenses. Before this verdict it was corrected to: (1) make discovery method provenance rather than source identity so deduplication is coherent; (2) define explicit-root and effective-profile boundaries; (3) redact absolute paths in console and JSON; (4) discard command, args, env, and unknown fields through an allowlist; (5) define handle-relative no-follow/reparse-point opening with fail-closed unsupported_filesystem_safety and no check-then-open fallback; and (6) add exact adversarial acceptance tests. Validation: git diff --check passes. Scope remains one docs-only ADR; SESSION_HANDOFF_2026-07-23.md is untracked and excluded.

@limaronaldo
limaronaldo marked this pull request as ready for review July 24, 2026 02:39
@limaronaldo
limaronaldo merged commit aa13a4a into main Jul 24, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant