170: Make the feature guardian conversational and remediation-capable#195
Conversation
…force-factory-dcf07fdd
…force-factory-dcf07fdd # Conflicts: # .agentworkforce/features/manifest.yaml
|
Verdict: Clean. Preserves Path 12's fail-closed cycle — durable question registration precedes the progress checkpoint, confirmations/remediations are CAS-fenced with provider-confirmed receipts and append-only transition guards, and the new conversational surface plus the allowlist↔ maintainability review · |
|
Babysitter handoff: this PR is reconciled with current |
Resolve conflicts: - .agentworkforce/features/manifest.yaml: recompute merged catalog counts (feature_count 308; tier1 47, tier2 124) from the actual merged entries. - .agentworkforce/features/verify/procedures.md: public-api export loop now lists BOTH /telemetry (from main) and /feature-guardian (from #195); prose updated to "ten JavaScript package entrypoints". - agent.ts FACTORY_PROCEDURE_COMMANDS allowlist re-synced with procedures.md: public-api gains /telemetry; cloud-observability gains the cost-accounting tests (src/cost/pricing, src/cost/ledger, test/e2e/run-cost-accounting) main added, so the guardian allowlist == documented procedure again. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Problem
Factory's feature guardian now has a durable, idempotent scheduled question cycle, but the interaction ends after the question is delivered. Reactions and threaded answers are not yet turned into a full verification conversation, durable confirmation evidence, or a remediation issue.
The desired loop is: ask -> discuss -> safely verify -> record confirmation, or open a concrete
factory-readyissue when the feature is broken, drifted, or cannot be confirmed.Goal
Adopt the reusable conversational feature-guardian extension proposed for Relay/Workforce and make Factory's guardian own each response through a terminal, auditable outcome.
Related reference/adoption issue: AgentWorkforce/relay#1347.
Factory should extend shared plumbing in the same way repository reviewers extend Workforce's
defineReviewAgent/defineReviewPersona: Factory supplies its manifest, named procedures, tier prerequisites, prompt, and issue policy; shared code supplies event correlation, state transitions, idempotency, delivery, confirmation records, and remediation writeback.Factory behavior
.agentworkforce/features/verify/procedures.mdin an isolated workspace and report positive/negative assertions and cleanup evidence.factory-ready, complete reproduction/evidence, affected feature/procedure paths, acceptance criteria, and a Slack backlink.Integration requirements
Acceptance criteria
factory-readyFactory issue and retries never duplicate it.Out of scope
Fixes #170
Summary by cubic
Makes Factory’s feature guardian conversational and remediation-capable. Turns Slack replies into guided verification that records immutable confirmations or opens one deduplicated
factory-readyissue with evidence; also ships a reusable API and hardens remediation to wait for GitHub receipts and avoid duplicates on retries/merges.New Features
.agentworkforce/features/verify/procedures.mdin an isolated workspace; honors tier gates and reports SKIP/MANUAL when prerequisites are missing.factory-ready, defect kind, reproduction/evidence, acceptance criteria, and a Slack backlink; waits for GitHub writeback receipts and dedupes across retries/merges via a remediation marker. Confirms Slack output only after durable provider receipts with exact-revision state, idempotency keys, and event correlation.Refactors
@agent-relay/factory/feature-guardianand adopts it in the Factory agent via explicit adapters (manifest, procedures, tier gating, issue policy, routing)../feature-guardiansubpath exportingdefineFeatureGuardianAgentandrunGuardianConversationTurn; adds theapi-feature-guardianmanifest feature and verifies dist/E2E subpath imports./telemetryand/feature-guardianand cloud cost-accounting tests; updates E2E and dist entrypoint checks accordingly.@agentworkforce/persona-kitfor persona validation. Adds comprehensive tests for duplicate/delayed Slack events, CAS conflicts, retry after post-then-checkpoint, malformed state, issue-write failures, unauthorized input, and remediation loop durability.Written for commit 6307f1f. Summary will update on new commits.