Skip to content

#334 child: Build a local answer index and make deterministic Copilot Review-aware #342

Description

@Joncallim

Parent: #334. Requires the safe context and Review projection. Coordinate performance acceptance with #333.

Goal

Make the fastest common DockerMap questions answerable from Cmd-K without navigating through object pages, and ensure deterministic Copilot uses the same Review truth rather than maintaining a separate concept of attention.

Current gap

Cmd-K currently indexes navigation plus service name/role/image repository. It does not directly answer common lookup jobs such as:

  • who owns host port 8080?
  • what uses this published path/mount source?
  • which service uses this named volume/network/image?
  • show offline services;
  • show drift findings;
  • what currently needs review?

Copilot can answer some port/service questions but does not consume coherent Findings/Review state.

Answer index

Build one deterministic in-memory index from already-public safe model/Review fields only.

Index classes should include where safely available:

  • services/runtime subjects;
  • published/exposed ports with correct side semantics;
  • published mount/path values already allowed by the browser model;
  • named volumes;
  • networks;
  • images;
  • finding/review titles/categories/rule labels and safely resolved subjects;
  • navigation/actions.

Do not index hidden evidence IDs, private Compose binding IDs, raw provider material, secret-redacted values as if they were recoverable, or anything unavailable to the current authenticated browser model.

Support plain text plus a very small closed qualifier set if useful, for example:

  • port:8080
  • path:/volume1
  • state:offline
  • finding:drift

Do not build an open-ended query language.

Context-preserving results

A result is not just a route. It should retain the reason it matched and take the user to the relevant subject/lens/tab/context where possible.

Examples:

  • 8080 → service → Network/Access context;
  • path → service → Storage/mount context;
  • finding → exact Review thread / affected subject;
  • image → image detail and consuming services.

Copilot

Extend deterministic Copilot inputs with the coherent Review/Findings projection.

Questions such as:

  • “what needs review?”
  • “what are the warnings?”
  • “why is this being flagged?”

must use the same priority/context/limits as Review. Copilot must not invent a second ranking or stronger causal language.

Performance

Acceptance criteria

Task/browser tests cover:

  • “8080” finds correct published-side owners;
  • exposed-only ports are not called published;
  • representative safe mount/path lookup;
  • named volume/network/image lookup;
  • state:offline;
  • finding/review lookup and exact context handoff;
  • collision/ambiguous identities fail closed;
  • Review-aware Copilot answer is identical in truth/order to the Review projection.

No result may reveal data not already public to that browser session.

Non-goals

  • No external search service.
  • No embeddings/vector DB.
  • No LLM.
  • No fuzzy identity correlation.
  • No filesystem scan from the browser.

Risk: MEDIUM · read_only_product_behavior: true · security_sensitive: true (search can accidentally widen disclosure) · data_migration: false · routing_mode: stable

Activity

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions