Repository navigation
feat(dgw): search Active Directory Console logs - #2150
irvingouj@Devolutions (irvingoujAtDevolution) merged 4 commits into
Conversation
Active Directory Console pushes its log as a recording, so it sits under `files` in `recording.json`, where search does not look. The search intent now covers the `.slog` files listed under `files` as well as under `artifacts`, `files` first, and defers choosing other file types. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Search read only the `.slog` files listed under `artifacts` in `recording.json`. Active Directory Console pushes its log as a recording, listed under `files`, so none of its logs, stored ones included, could be found. Search now reads the `.slog` files under `files` too, before those under `artifacts`, in the order the manifest and the pull ZIP use. A name listed in both sections is searched once, so a cursor still resumes at a single place. Other file types under `files`, such as `.webm`, and unsafe names are still skipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Lines changed, against master:
The behaviour change is #2114 copies the old search doc ("Only the files listed under Note LLM-assisted content (no human feedback). |
Intent drafts: handoffThe interview read ProvenanceLevels: 1 = my words verbatim, 2 = my words tidied, 3 = agent wording I adopted, 4 = agent fill-in, not intent.
Left out on purpose
PlacementAll in Pending experimentsNone. Note Human-tuned, LLM-assisted content. |
Let maintainers know that an action is required on their side
|
There was a problem hiding this comment.
🟢 Approval recommended
The focused change retains existing filtering and deduplication, adds regression coverage, and has no identified blocking issues.
No open issues 🎉
What changed in this PR
This PR extends recording search to include Active Directory Console .slog logs, including existing recordings, without changing how they are uploaded.
Changes:
- Search manifest
filesbeforeartifacts, deduplicating names while retaining filename safety and file-type filtering. - Update regression tests for expanded results, pagination order, and duplicate log entries.
- Document the expanded search scope and ordering in the search intent.
| File | Description |
|---|---|
| testsuite/tests/cli/dgw/recording_search.rs | Updates expected results and pagination to include recorded logs. |
| devolutions-gateway/src/api/jrec/search.rs | Adds manifest files to log discovery and tests cross-section deduplication. |
| devolutions-gateway/src/api/jrec/search.intent.md | Defines the expanded search scope and file ordering. |
Review effort: Balanced
Within a recording, search reads the `.slog` files under `files` first, then those under `artifacts`, each in the order `recording.json` lists them. No test listed two logs in one section, so reversing or sorting either section went unnoticed. Issue: DGW-463 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Test pruner (editing mode)
Result: one coverage gap, closed by c7edac9 ( Scope: the tests this PR adds or changes, against Oracle tableAll sections are in
Kill matrixMutants are hand-written patches (domain mutants), applied in a separate clone and reverted after each run.
T1 Unique kills: dm-4 (T2) and dm-2, dm-7, dm-8 (T3). Under dm-2, dm-7 and dm-8, T3 fails on its order assertion, for example dm-2 gives SurvivorsBefore the new test, dm-2 survived both suites, and dm-7 and dm-8 survived the testsuite. The new test was written after dm-2 survived; dm-7 and dm-8 were added to check it. What this run coveredCovered:
Not covered:
Note LLM-assisted content (no human feedback). |
The test asserts that a fully read search returns no `nextCursor`, which is a rule of search.intent.md §Pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Benoît Cortier (CBenoit)
left a comment
There was a problem hiding this comment.
Thank you Irving.
So the idea is to search every .slog files by default, and to support more granuler filters later on?
My suggestion would be to think about some query syntax such that the caller can express "just .slog files for ai-analysis", or "all .slog files including from files and all the artifacts", and eventually other kinds of more powerful queries.
That being said, the current default seems good enough, and any more complex query system can wait.
LGTM
2639960
into
master
Search read only the
.slogfiles listed underartifactsinrecording.json. Active Directory Console pushes its log as a recording, listed underfiles, so none of its logs, stored ones included, could be found.Search now reads the
.slogfiles underfilestoo, before those underartifacts, in the order the manifest and the pull ZIP use. A name listed in both sections is searched once, so a cursor still resumes at a single place. Other file types underfiles, such as.webm, and unsafe names are still skipped.api/jrec/search.intent.mdstates the new rules.Issue: DGW-463