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
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:
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:
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:8080path:/volume1state:offlinefinding:driftDo 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;Copilot
Extend deterministic Copilot inputs with the coherent Review/Findings projection.
Questions such as:
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:
state:offline;No result may reveal data not already public to that browser session.
Non-goals
Risk: MEDIUM · read_only_product_behavior: true · security_sensitive: true (search can accidentally widen disclosure) · data_migration: false · routing_mode: stable