Skip to content

Bring the library up to Vigil 2026.14, validate it with Vigil itself,… - #1

Merged
ConnorHaggerty merged 1 commit into
mainfrom
update-for-2026.14
Oct 12, 2026
Merged

ConnorHaggerty merged 1 commit into
mainfrom
update-for-2026.14

Conversation

@ConnorHaggerty

Copy link
Copy Markdown
Member

… and add examples

The repo had drifted from the server it feeds. baselines/ was renamed to playbooks/ in Vigil, so the Playbooks tab listed nothing; both automations said action_kind: baseline, which the server refuses; one listened for alert_fired, renamed to alert_sent in 2026.12, so it would have imported and never fired; and every task used the pre-2026.13 {{ inputs.x }} marker and free-text relevance:. Container Host Maintenance also could not run unattended: its step needed a container name nothing supplied.

The cause was a second copy of Vigil's rules living here. The validators, their tests and references/actions.json are gone; CI now checks out Vigil and runs manage.py validate_community --strict, the same parsers the Community page uses, plus the cross-file checks (slugs, uids, events, flat directories, no home paths). It also re-runs weekly so a Vigil change that breaks a file shows up here first.

Every existing file moves to the current layout with its uid kept, and new examples cover what the task language can do now: relevant: probes, if/then branches on step outputs, outcome:, hunts, a detection task with severity, cves and boost, Linux and Windows patching, app_ensure, branching playbooks, and alert-, approval- and schedule-triggered automations that work as a set.

… and add examples

The repo had drifted from the server it feeds. baselines/ was renamed to
playbooks/ in Vigil, so the Playbooks tab listed nothing; both automations said
action_kind: baseline, which the server refuses; one listened for alert_fired,
renamed to alert_sent in 2026.12, so it would have imported and never fired;
and every task used the pre-2026.13 {{ inputs.x }} marker and free-text
relevance:. Container Host Maintenance also could not run unattended: its step
needed a container name nothing supplied.

The cause was a second copy of Vigil's rules living here. The validators,
their tests and references/actions.json are gone; CI now checks out Vigil and
runs manage.py validate_community --strict, the same parsers the Community page
uses, plus the cross-file checks (slugs, uids, events, flat directories, no
home paths). It also re-runs weekly so a Vigil change that breaks a file shows
up here first.

Every existing file moves to the current layout with its uid kept, and new
examples cover what the task language can do now: relevant: probes, if/then
branches on step outputs, outcome:, hunts, a detection task with severity,
cves and boost, Linux and Windows patching, app_ensure, branching playbooks,
and alert-, approval- and schedule-triggered automations that work as a set.
@ConnorHaggerty
ConnorHaggerty merged commit 5a952a4 into main Oct 12, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant