Skip to content

Claude/af fix 766 3fm4eb - #776

Closed
mickume wants to merge 2 commits into
mainfrom
claude/af-fix-766-3fm4eb
Closed

Claude/af fix 766 3fm4eb#776
mickume wants to merge 2 commits into
mainfrom
claude/af-fix-766-3fm4eb

Conversation

@mickume

@mickume mickume commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Michael 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.
@mickume mickume closed this Sep 7, 2026
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