Skip to content

Release 0.5.20 — preflight requires any subject backend#247

Merged
Shooksie merged 2 commits into
mainfrom
release/v0.5.20
Jun 17, 2026
Merged

Release 0.5.20 — preflight requires any subject backend#247
Shooksie merged 2 commits into
mainfrom
release/v0.5.20

Conversation

@Shooksie

Copy link
Copy Markdown
Contributor

0.5.20

Patch release.

Fix: preflight requires any subject backend, not forced task/requirement kinds

The daemon preflight required-role set hard-coded subject_kind:task and subject_kind:requirement, forcing every deployment to install those two specific backends even when a single custom subject backend (e.g. a Postgres kind=song backend) was the only subject store in use. The daemon should require a working subject backend, not dictate which kinds it serves.

  • RequiredRole::AtLeastOneSubjectBackend replaces the hard-coded SubjectKind("task") + SubjectKind("requirement") roles in PluginPreflightSpec::daemon_default(). Preflight now passes when any subject_backend plugin is installed.
  • Auto-install maps the new role to animus-subject-default.
  • SubjectKind(_) retained for custom specs but dropped from the daemon default.
  • Doctor plugins check mirrors the same posture.

Verified: cargo check --workspace clean, orchestrator-core + plugin_preflight + daemon preflight-lifecycle tests pass, clippy + fmt clean.

Merging this release/v0.5.20 branch triggers auto-tag-release → tag v0.5.20release.yml builds the linux binary.

Shooksie added 2 commits June 17, 2026 13:13
…/requirement)

The daemon preflight hard-coded RequiredRole::SubjectKind("task") +
SubjectKind("requirement") as required roles, forcing every deployment to run
those two backends even when it uses a different subject kind (e.g. a song app
with kind=song). That's a design flaw — the daemon needs a valid subject backend
to read/write subjects, but must not dictate which kinds a deployment uses.

Add RequiredRole::AtLeastOneSubjectBackend (satisfied by any installed
subject_backend plugin) and use it in daemon_default() in place of the two
hard-coded SubjectKind roles. SubjectKind(..) stays for callers that genuinely
require a specific kind. Updates the doctor check, flavor assertion, and tests.
@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
animus-docs Building Building Preview, Comment Jun 17, 2026 7:14pm

Request Review

@Shooksie Shooksie merged commit 536b381 into main Jun 17, 2026
10 of 11 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