Add reconverge's default configuration template (#149) - #151
Merged
Merged
Conversation
Reconverge requires a catalog entry before the Central Manager can install it. Supply the product owner's first-install configuration and explain that detection begins once unsupervised-default exists. Pin the rendered shape and all five host-value tokens in tests so misspelled fields cannot silently change the engine's configuration. Closes #149
The empty-catalog wording no longer describes first installs once the reconverge default entry is available. Part of #149
8 tasks done
The catalog's localized descriptions are part of the issue contract. Check both full strings so wording regressions fail the lookup test. Part of #149
The issue restricts changes to the template, catalog entry, new tests and changelog. Keep the original module documentation so the completed change satisfies that scope without an additional documentation edit. Closes #149
Contributor
Author
|
[Reviewer Round 1] I recommend approving PR #151. It does what issue #149 asks for and stays in scope; four small non-blocking points are listed below. How I reviewed it. The branch still carries the commit from #148, so I compared it against that commit, Against the issue
Non-blocking notes
PolicyThe PR description says the template can never change under the id |
Contributor
Author
|
[Review Verdict Round 1: APPROVED] |
Contributor
Author
Suggested squash commitTitle Body |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds reconverge’s first configuration template,
default, so the Central Manager can offer it for first installs. It runs one detector every 5 minutes on the Data Store’s HTTP events using the HttpUriThreat label database and the modelunsupervised-default. The engine keeps running before that model exists and starts detecting at the next scheduled run after it is created.Registers the exact product-owner template with English and Korean catalog texts, adds tests for recursive TOML key sets and typed values plus all five required host tokens, and records the addition in the changelog.
The template body is immutable under the id
default. Any later configuration change requires a new file and a new id.Closes #149
Deviations from the issue
None
Test plan
templates/reconverge/default.tomlmatches Scope 1 byte for byte, including its single trailing newline.CATALOGcontains exactly one entry with the required component, id,include_str!body, and exact English and Korean names and descriptions.find("reconverge", "default")returns that entry andtemplates_for("reconverge")yields exactly that one entry.startas a string andbatch_sizeas integer500000.ConfigTemplateError::UnresolvedTokennames the corresponding token for all five members ofTemplateToken::ALL.Config,DetectorConfig, auth and control configurations, input configurations,LabelDbConfig, andColumnConfig.[Unreleased]→Added, describes the template, and contains no issue or PR reference.defaultis immutable and later configuration changes require a new file and id.cargo fmt -- --check --config group_imports=StdExternalCratecargo clippy --all-targets -- -D warningscargo clippy --all-targets --features test-support -- -D warningsRUSTDOCFLAGS="-D warnings" cargo doc --no-deps --document-private-items --features test-supportcargo testcargo test --features test-support**/*.md, covering all committed Markdown files.Verification
Reverified on 2026-10-05 at
85a21599e276a31a5024902d24af3f75198d598b: all 19 Test plan items and all 8 issue acceptance criteria pass. The 633 template bytes (including one trailing newline), exact catalog texts and sole-entry lookups, recursive TOML key sets/types/values/array lengths, all five unresolved-token errors, unchanged catalog invariants and file correspondence, changelog, restricted diff, and immutable-template policy were checked. Every configuration field and type was cross-checked against reconverge 0.55.0.Formatting, both Clippy configurations, warning-free private-item documentation, and both full test suites passed locally. Each suite passed on the first attempt with 1,256 unit tests, one intentionally ignored fixture-regeneration test, all integration tests, and 54 doctests. Recursive Markdownlint passed against a clean snapshot containing all 11 committed Markdown files. All five CI jobs and every step pass for this commit, including Linux ARM tests, macOS builds, and the agent-instructions drift check. No repository files were changed; no services were required; all verification processes completed. Issue #149 has no parent issue.