You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(secrets): address third-round Rust PR review feedback on #624
- `resolve_definitions_via_discovery`: normalize the user-supplied
`--source` value through `normalize_source_path` before comparing
against `marker.source`. The marker stores the canonical form
(`agents/foo.md`), so without normalization a user typing
`--source ./agents/foo.md` or `--source agents\foo.md` (Windows)
silently matched nothing. Re-export `normalize_source_path` from
`crate::compile` so callers outside the compile module tree can
reach it cleanly. New test asserts the three common variants
(canonical, leading-`./`, backslash) all produce the same normalized
string.
- `classify_definition` / `DiscoveryStatus::NotFound`: 404 from the
Preview endpoint almost certainly means the definition was deleted
between `list_definitions` and `preview_pipeline` (TOCTOU race).
Previously routed through `PreviewFailed`, which inflated
`skipped_failed` counts and confused operators. New
`DiscoveryStatus::NotFound` variant is excluded from skip-warning
counters in `resolve_definitions_via_discovery` and dropped by
`discovered_to_matched` like the other non-actionable statuses.
Debug-logged with the definition id+name so `--debug` users can
still see what happened.
- `DefinitionSummary::revision`: doc comment claimed Preview-driven
discovery uses it as a cache key, but no caching is implemented.
Rewrote to say it's deserialised for a future cache and there is
*no* caching yet, with a clear "see the discovery module for current
behaviour" pointer.
- `DiscoveryScope::Explicit`: clarified the docstring to call out
that no production callsite constructs this variant — `--definition-ids`
uses the legacy `resolve_definitions` path before discovery ever
runs. Variant is kept (not removed and not `#[cfg(test)]`-gated)
because direct API consumers may want to feed pre-filtered IDs into
discovery; the existing unit-test construction stays.
- `secrets::resolve_for_command`: bail early with a targeted error
when `--source` is used without `--all-repos` outside a recognised
ADO repo. The previous behaviour was a generic "No ado-aw pipelines
found via Preview-driven discovery" message that gave no hint that
the empty result was caused by the missing git remote. New error
spells out the cause and suggests `--all-repos`.
All 1746 tests pass; clippy clean on touched files.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments