Claude/af fix 766 3fm4eb - #776
Closed
mickume wants to merge 2 commits into
Closed
Conversation
added 2 commits
September 5, 2026 13:28
…nd config (fixes #766) The nightshift fix daemon now lives in agent-fox-dev/nightshift, but this repository still carried the code, prompts, config model and tests that only that daemon exercised. None of it was reachable from `af init`, `af plan`, `af code`, `af standup` or `af insights`, yet `af init --profiles` copied four nightshift-only prompt templates into every user project. Registry (archetypes.py): - Remove the `maintainer` entry (hunt / fix-triage / extraction), the `coder:fix` mode and the `reviewer:fix-review` mode. The registry is now exactly coder, reviewer (pre-flight, audit-review), verifier, gate. - Remove the unused `task_assignable` field. Prompts: - Delete coder_fix.md, maintainer.md, maintainer_fix-triage.md and reviewer_fix-review.md; drop the fix-review row from reviewer.md. Parsers, types and config: - Delete parse_triage_output / parse_fix_review_output and their helpers from session/review_parser.py (_extract_json_dict stays: review_persistence uses it). - Delete NightShiftConfig and the `night_shift` config field. - Delete ProgressDisplay.print_status, create_platform, _create_gitlab, _create_gitea and _resolve_github_remote. - Drop the fix-review branches in convergence.py and context.py, and reword the comments in review_persistence.py, blocking.py, injection.py, state.py, extraction.py and config.py. Daemon PID guard: - Delete it. The external product no longer writes .agent-fox/daemon.pid, so the guard could only ever block on a stale file. This removes agentfox/workspace/pid.py in full (PidStatus, check_pid_file), both guard blocks in `af plan` and `af code`, the twelve `_no_daemon` autouse fixtures and the tests that only covered the guard. The "Daemon guard bypass" note in docs/cli-reference.md goes with it. Package layout: - Delete the agentfox.maintenance package. Its live code moves to workspace/: platform_factory.py, and build_pr_body (without the unused issue_number / issue_title parameters) in integration.py. - create_platform_safe now treats a blank token as absent, preserving the 598-AC-5 guard that create_platform provided. Tests: - Delete the tests that only covered the removed surface, retarget the mode-example tests to reviewer:pre-flight / reviewer:audit-review, and move the maintenance test modules alongside the code they now test. - Remove the empty leftover packages: tests/maintenance, tests/test_routing, tests/unit/{prompts,routing,templates}, tests/property/routing. docs/profiles.md drops the rows for the deleted templates. The wider documentation rewrite is tracked separately, per the issue.
…nvergence paths (fixes #771) Three review-outcome mechanisms were promised by the profiles, the config surface and both architecture guides while producing no effect at runtime. Each is now either wired up or removed, so the code and the docs agree. Pre-flight blocking — implemented (AC-2): - Remove `retry_predecessor=True` from the pre-flight ModeConfig. Pre-flight runs *before* the coder, so "retry the predecessor" degenerated into a no-op: `_reset_for_retry` is guarded by `coder_status == "completed"` and the coder is still pending in the auto_pre flow. Without the flag, `check_review_blocking` reaches `_block_task` and critical findings at or above `pre_flight_block_threshold` block the downstream coder, which is what `docs/config-reference.md` has always described. - Behaviour change: specs whose pre-flight review produces enough critical findings now block instead of proceeding with those findings as memory facts. `reviewer:audit-review` keeps its retry semantics. Verifier verdicts — documented as informational (AC-1): Nothing parsed verifier output: `persist_review_findings` returns early for non-reviewer archetypes and `evaluate_review_blocking` never blocks for them. Rather than build a verdict-driven retry, the promise is withdrawn: - `verifier.md` states the verdicts are informational; `coder.md` loses its "Verification Report (retry)" section. - Delete `VerificationResult`, `parse_legacy_verification_md`, the verifier branch of `generate_archetype_summary` (and its `verdicts` parameter), the unreachable verifier branch of `_emit_persistence_event`, and the `--archetype verifier` filter on `af insights`. - `verifier` keeps `retry_predecessor=True`: that flag is live on the failure path, where a verifier session that fails to complete resets its coder. Multi-instance convergence — removed (AC-3): `NodeSessionRunner.execute` only ever issued one `run_session`, and no `converge_*` function had a production caller. - Delete `session/convergence.py`; `AuditEntry`/`AuditResult`, which are live, move to the new `session/audit_types.py`. - Delete `archetypes.instances`, `Node.instances`, `clamp_instances`, `resolve_instances`, `warn_failed_parse_instances` and the `instances` parameter threaded through dispatch, parallel and run. - Migration v27 drops the dead `plan_nodes.instances` column. Also fixed: drift findings persisted in pre-flight mode emitted REVIEW_FINDINGS_PERSISTED rather than REVIEW_DRIFT_PERSISTED, because the `reviewer:pre-flight:drift` dispatch key was never built. `_emit_persistence_event` now takes an explicit `drift` flag. Docs (AC-4): `docs/architecture.md` and `docs/architecture/03` now name `reviewer:audit-review` and `verifier` as the only `retry_predecessor=true` entries, describe verifier verdicts as informational, and drop both Multi-Instance Convergence sections; `docs/config-reference.md` drops the `archetypes.instances` section, its TOC entry and its table row. Tests: the dead-path tests are deleted (convergence, instance clamping, verifier summaries, the legacy verification.md parser) and the pre-flight tests now assert blocking rather than retry.
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.
No description provided.