Bug: daemon_health stays degraded — rc.3 last_error-clear fix missed the real source (boot subject-router reconcile) - #343
Conversation
…the real source (boot subject-router reconcile)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— the new condition is left as one unformatted line:!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and both currentrustfmtcheck runs fail on head26cc2cdb87653f26e35fedd1018efe1d0bbec04c. REQUIRED CHANGE: run the repository formatter and commit its output forcrates/orchestrator-core/src/services/daemon_impl.rs(including the other long new declarations in this file) without changing behavior. Verify withcargo fmt --all -- --check; it must exit 0, and the GitHubrustfmtcheck must turn green.
The implementation direction is otherwise strong: it replaces the incorrect filename-prefix heuristic with capability-aware subject_backend discovery, accounts for disabled subject plugins and kind aliases, and adds focused regression coverage for consolidated backends and conflicting/empty kind registrations. Workspace check, clippy, protocol drift, docs sync, dependency guardrail, and smoke checks are green.
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— the current head still contains unformatted long expressions such as!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and the requiredrustfmtCI job fails on head26cc2cdb87653f26e35fedd1018efe1d0bbec04c. REQUIRED CHANGE: run the repository formatter and commit its formatting-only edits to this file (including this condition and the other newly added long declarations); do not change behavior. Verify withcargo fmt --all -- --checkand confirm it exits 0, then confirm the GitHubrustfmtcheck on the new head concludessuccess.
The implementation otherwise takes the right capability-aware approach: it replaces the filename-prefix heuristic with discover_by_kind/SubjectRouter, accounts for disabled subject plugins and kind aliases, and adds focused regression coverage for consolidated backends and router conflicts.
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled—!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off"remains unformatted, and the required GitHubrustfmtcheck is failing on head26cc2cdb87653f26e35fedd1018efe1d0bbec04c. REQUIRED CHANGE: run the repository formatter (cargo fmt --all) and commit all formatter output forcrates/orchestrator-core/src/services/daemon_impl.rsto this existing branch; do not alter behavior. Verify withcargo fmt --all -- --checkand confirm it exits 0, then confirm the GitHubrustfmtcheck succeeds.
The capability-based discover_by_kind(..., "subject_backend") approach correctly replaces the filename-prefix heuristic, recognizes consolidated backends, accounts for aliases and conflicting kind claims, and includes focused regression coverage. The workspace cargo check and clippy checks are already green.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— heade90f46fee9ab3d7963a40fc7ae8b98cb38f18c0estill contains the unformatted expression!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and both current GitHubrustfmtruns concludefailure. REQUIRED CHANGE: runcargo fmt --allfrom the animus-cli workspace root and commit all formatter output forcrates/orchestrator-core/src/services/daemon_impl.rsto the existinganimus/TASK-211branch; do not hand-format only one declaration and do not change behavior. Verify withcargo fmt --all -- --checkon the committed head (expected exit code 0), then confirm the GitHubrustfmtcheck concludessuccess.
The substantive implementation remains strong: capability-aware subject_backend discovery replaces the incorrect binary-name heuristic, consolidated backends are recognized, aliases and routing conflicts are handled, and focused regression tests cover the important cases.
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— heade90f46fee9ab3d7963a40fc7ae8b98cb38f18c0estill contains the unformatted expression!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and both required GitHubrustfmtruns concludefailure. REQUIRED CHANGE: runcargo fmt --allfrom the animus-cli workspace root and commit all formatter-generated edits tocrates/orchestrator-core/src/services/daemon_impl.rson the existinganimus/TASK-211branch; do not change behavior or hand-format only this expression. Verify withcargo fmt --all -- --checkon the committed head (expected exit code 0), then confirm the GitHubrustfmtcheck concludessuccess.
The substantive implementation is strong and appropriately scoped: capability-aware subject_backend discovery replaces the incorrect filename-prefix heuristic, consolidated backends are recognized, aliases and routing conflicts are handled, and focused regression tests cover the important cases. Workspace cargo-check, clippy, docs-sync, dependency guardrail, and smoke checks are green.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled—!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off"remains unformatted, and bothrustfmtcheck runs on head8f77f8c9492b1a8b4cc59dd3fbafcc8f61ed7de2completed withfailure. REQUIRED CHANGE: runcargo fmt --allfrom the workspace root and commit every formatter-generated edit tocrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this expression or change behavior. Verify withcargo fmt --all -- --checkand expect exit code 0, then confirm the GitHubrustfmtcheck succeeds on the new head.
The implementation otherwise replaces the incorrect filename-prefix heuristic with capability-aware subject-backend discovery, handles consolidated backends and disabled subject plugins, applies lockfile aliases before router validation, and adds focused regression coverage for the task’s failure mode.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— current head466289f67163bd2d06cf2076cfaefa27b0f3cb13still contains the unformatted condition!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and both required GitHubrustfmtruns concludefailure. REQUIRED CHANGE: runcargo fmt --allfrom the animus-cli workspace root and commit every formatter-generated edit tocrates/orchestrator-core/src/services/daemon_impl.rson the existinganimus/TASK-211branch; do not hand-format only this condition and do not alter behavior. Verify withcargo fmt --all -- --checkon the committed head (expected exit code 0), then confirm the GitHubrustfmtcheck concludessuccess.
The substantive implementation remains appropriately scoped and technically strong: capability-aware subject_backend discovery replaces the incorrect filename-prefix heuristic, consolidated backends and the explicit disable mode are recognized, lockfile aliases are applied before router validation, and focused regression tests cover consolidated, empty-kind, and conflicting-kind cases.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:277(subject_plugins_disabled) — the head still contains the unformatted expression!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and the requiredrustfmtcheck is failing on headf7c492ac40d7677a38d36f933ef5c5471916f36a. REQUIRED CHANGE: from the workspace root on the existinganimus/TASK-211branch, runcargo fmt --alland commit every formatter-generated edit tocrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this expression and do not change behavior. Verification: runcargo fmt --all -- --checkand require exit code 0, then push and confirm the GitHubrustfmtcheck completes successfully.
The implementation otherwise moves the health probe in the right direction: it uses capability-aware discover_by_kind, recognizes consolidated backend names, accounts for disabled subject plugins and lockfile aliases, and adds focused regression coverage. docs-sync is green. This PR must not merge while a required check is red.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs—subject_plugins_disabled:!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off"is still not rustfmt-formatted, and the latestrustfmtcheck for heada15e4def14d376e8f52dd9c4a90aae047e5317fefails. REQUIRED CHANGE: runcargo fmt --allfrom the workspace root and commit every resulting formatting edit to this existing branch; do not hand-format only this expression or alter behavior. Verify withcargo fmt --all -- --check; it must exit 0, and the GitHubrustfmtcheck on the pushed head must concludesuccess.
The implementation otherwise takes the right capability-aware direction: it replaces the filename-prefix heuristic with discover_by_kind, accounts for consolidated backends, preserves disable-env behavior, validates routing conflicts, and adds focused regression coverage.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— heada8c5d83a93cfe6d68492f89e7fd6e322a77d3feastill contains the unformatted condition!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and both required GitHubrustfmtruns concludefailure. REQUIRED CHANGE: from the animus-cli workspace root on the existinganimus/TASK-211branch, runcargo fmt --alland commit every formatter-generated edit tocrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this condition and do not alter behavior. Verify withcargo fmt --all -- --checkon the committed head (expected exit code 0), then push and confirm the GitHubrustfmtcheck concludessuccess.
The substantive implementation remains well aligned with TASK-211: it replaces the incorrect filename-prefix heuristic with capability-aware subject_backend discovery, recognizes consolidated backends and the explicit disable mode, applies lockfile aliases before router validation, and adds focused regression coverage for consolidated, empty-kind, and conflicting-kind cases. The docs-sync check is green; this PR must not merge while rustfmt is red.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— current head5e686cf84de3e45cbfe0b4549036421f9efe7916still contains the unformatted condition!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and both required GitHubrustfmtruns concludefailure. REQUIRED CHANGE: runcargo fmt --allfrom the animus-cli workspace root on the existinganimus/TASK-211branch and commit every formatter-generated edit tocrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this condition and do not alter behavior. Verify withcargo fmt --all -- --checkon the committed head (expected exit code 0), then confirm the GitHubrustfmtchecks concludesuccess.
The substantive implementation is appropriately scoped and technically strong: capability-aware subject_backend discovery replaces the incorrect filename-prefix heuristic, consolidated backends and the explicit disable mode are recognized, lockfile aliases are applied before router validation, and focused regression tests cover consolidated, empty-kind, and conflicting-kind cases. docs-sync is green, but this PR must not merge while required checks are red.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:269—!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off"remains unformatted, and the currentrustfmtcheck for headb62f071ea83517f259465662faac37cdc2191ac4is failing.crates/orchestrator-core/src/services/daemon_impl.rs:385has the same symptom inlet candidate_names: std::collections::HashSet<&str> = candidates.iter().map(|p| p.name.as_str()).collect();. REQUIRED CHANGE: run the repository's pinned formatter over the workspace and commit all formatter output forcrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only these two examples, because CI indicates the complete file still differs from canonical rustfmt output. Verification: runcargo fmt --all -- --checkfrom the workspace root and confirm exit status 0, then confirm the GitHubrustfmtcheck is green on the new head.
The manifest-based subject-backend discovery direction is appropriate for TASK-211, and the added consolidated-backend/router-conflict regression coverage is valuable. The PR cannot merge while a required check is red.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled—!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off"remains in noncanonical formatting, and the current head SHA2c7993340b8ed1dd2b647b844fb57e1c39239a09has a failingrustfmtcheck. REQUIRED CHANGE: on the existinganimus/TASK-211branch, run the repository-pinnedcargo fmt --alland commit all resulting formatting changes tocrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this expression, because the same file contains other formatter-generated layout changes. Verify withcargo fmt --all -- --checkand expect exit status 0, then confirm the GitHubrustfmtcheck succeeds on the pushed commit.
What is good: the implementation replaces the filename-prefix heuristic with manifest/capability-aware subject-backend discovery, accounts for disabled subject plugins and kind aliases, and adds focused regression coverage for consolidated backends and routing conflicts. The functional direction matches TASK-211; this review remains blocked only by the concrete formatting failure.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— current headc9e0efdb493c9f3e1be726feb54057f0feba77a2still contains the unformatted condition!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and the required GitHubrustfmtcheck concludedfailure. REQUIRED CHANGE: from the animus-cli workspace root on the existinganimus/TASK-211branch, run repository-pinnedcargo fmt --alland commit every formatter-generated edit incrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this condition and do not alter behavior. Verify withcargo fmt --all -- --check(expected exit code 0), push the resulting commit, and confirm the GitHubrustfmtcheck concludessuccess.
The substantive implementation remains strong and aligned with TASK-211: capability-aware subject_backend discovery replaces the incorrect filename-prefix heuristic, consolidated backends and explicit disable mode are handled, aliases are applied before router validation, and focused regression tests cover the important routing cases. The docs-sync check is green; this PR simply cannot merge while the required rustfmt check is red.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_plugins_disabled— current headb7827dc7ae9c3be8e0b1ac4888fb95d9565b81a9still contains the unformatted expression!trimmed.is_empty() && trimmed != "0" && trimmed != "false" && trimmed != "no" && trimmed != "off", and the required GitHubrustfmtcheck concludesfailure. REQUIRED CHANGE: from the workspace root on the existinganimus/TASK-211branch, run the repository-pinnedcargo fmt --alland commit every formatter-generated edit incrates/orchestrator-core/src/services/daemon_impl.rs; do not hand-format only this expression and do not alter behavior. Verify withcargo fmt --all -- --check(expected exit code 0), push the resulting commit, and confirm the GitHubrustfmtcheck concludessuccess.
The substantive implementation remains strong and aligned with TASK-211: it replaces the incorrect executable-name heuristic with capability-aware subject-backend discovery, recognizes consolidated backends, applies configured kind aliases before router validation, respects the explicit subject-plugin disable mode, and adds focused regression tests. docs-sync is green, but this PR cannot merge while rustfmt is red.
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs:subject_router_degraded_reason— GitHub reports the exact integration symptommergeable_state: "dirty"(mergeable: false,rebaseable: false) against currentmain, so this otherwise-correct implementation cannot be squash-merged. REQUIRED CHANGE: updateanimus/TASK-211onto the currentmainand resolve the conflict indaemon_impl.rs, preserving the capability-awarediscover_by_kind(..., PLUGIN_KIND_SUBJECT_BACKEND)implementation and its regression tests while incorporating all current-main edits; push the resolved head to this same PR. Verify by confirming GitHub reports the PR mergeable (notdirty) and by requiringcargo fmt --all -- --check, workspace cargo-check, clippy, smoke-help, docs-sync, and dependency-guardrail checks to complete successfully on the rebased commit.
The substantive fix is strong: it replaces the incorrect executable-name heuristic with manifest/capability-aware backend discovery, handles consolidated backends, disabled subject dispatch, lockfile aliases, empty kind declarations, and routing conflicts, and adds focused regression coverage. The latest rustfmt, cargo-check, clippy, docs-sync, and dependency guardrail checks are green; only the unresolved base conflict prevents approval and merge.
There was a problem hiding this comment.
VERDICT: CHANGES REQUESTED
crates/orchestrator-core/src/services/daemon_impl.rs(merge conflict againstmain) — GitHub reports the current head9277cdf494e3a8e5f294743a7feb92add60e0266asmergeable: false; the exact symptom is that the otherwise-green change cannot be merged into its declared base. REQUIRED CHANGE: update the existinganimus/TASK-211branch onto currentmainand resolve the conflict indaemon_impl.rs, preserving both the capability-awarediscover_by_kind(..., PLUGIN_KIND_SUBJECT_BACKEND)/SubjectRouterhealth probe and all current-main edits; push the resolved commit to this same PR. Verify by confirming GitHub reports the PR mergeable, then runcargo fmt --all -- --check, workspace cargo-check, clippy, smoke-help, docs-sync, and the Rust-only dependency guardrail; every check must conclude success.
The substantive change is strong: it replaces the incorrect filename-prefix heuristic with manifest/capability-aware backend discovery, honors the explicit disable mode and lockfile kind aliases, detects unusable/conflicting routes, and adds focused regression tests. All checks on the current head are green; only the unresolved base conflict prevents approval and merge.
…the real source (boot subject-router reconcile)
…the real source (boot subject-router reconcile)
There was a problem hiding this comment.
VERDICT: APPROVE
No blocking findings. The updated head is mergeable against main, preserves the capability-aware discover_by_kind(..., PLUGIN_KIND_SUBJECT_BACKEND) / SubjectRouter health probe, and replaces the incorrect executable-name-prefix heuristic with manifest-role discovery that correctly recognizes consolidated and secondary-role subject backends. The lockfile alias handling mirrors daemon dispatch, explicit subject-plugin disable mode is respected, and the regression coverage exercises registered/scanned consolidated plugins, secondary roles, executability, empty kind declarations, duplicate routes, aliases, and stopped-vs-live health behavior.
All reported checks on head 57102c8e064ea31b41feef7ea12fc12d4f1b6dbe are green: workspace cargo-check, clippy, rustfmt, docs-sync, Rust-only dependency guardrail, smoke-help, and Vercel. The change is focused on TASK-211's false degraded-health diagnosis while retaining actionable degradation for genuinely unroutable configurations.
Automated change for TASK-211 via the Animus coding workflow (deterministic git on a shared ephemeral node).