Part of #274 (pipeline epic). Fills the two unbuilt core stages: C1 (template-schema fetch) and C2 (synthesis/hydration).
Decision recorded: C1 moves from the Gateway into the engine
The 2026-06-28 diagram drew "① Fetch Template Schema" as a Gateway responsibility. This work relocates it into feedback-o-tron itself (FeedbackATron.Synthesis.TemplateFetcher): the gateway (or any caller) passes only {repo, raw_feedback, context} and the engine fetches + parses the target repo's .github/ISSUE_TEMPLATE/*.yml issue forms. Rationale: every front door benefits (MCP stdio/TCP, HTTP intake, CLI, boj cartridge), not just the boj path — "usable from anywhere on anything". The pipeline doc (feedback-o-tron/docs/AUTONOMOUS-BUG-PIPELINE.adoc) is redrawn accordingly.
What C2 actually is (agent-in-the-loop, no embedded LLM)
The MCP caller IS the intelligence; the engine provides deterministic scaffolding:
Synthesis.TemplateFetcher + 15-min cache — fetch/parse GitHub issue-form YAML (C1).
Synthesis.IntentClassifier — heuristic intent taxonomy (bug/feature/question/docs/praise) + signals (stack trace, repro steps, version, network-related), and the feedback doctrine: the gate is usefulness, not tone; zero-signal hostility is rejected with a stated reason (audit-logged, never filed); mixed content has its actionable core salvaged and the stripping reported; useless-but-genuine feedback comes back as open questions, never silently discarded.
Synthesis.Hydrator — fills template fields from raw feedback + caller context + system state (provenance-marked), optionally wiring the hitherto-inert NetworkVerifier for network-flavoured reports; unfilled required fields become open_questions.
Synthesis.Research — research mode: forge search for similar existing issues (scored), local dedup index, and the target repo's template questions — so duplicates are avoided and refinement is interactive; recurring themes are recognized as recurring rather than logged as one-offs.
Synthesis.Synthesizer — orchestration; returns a draft + open questions for the caller to resolve with its user before submit_feedback.
New tools on all front doors: research_feedback, synthesize_feedback, and submit_feedback extended with template/template_data.
Delivery
Draft PR in feedback-o-tron on branch claude/feedback-o-tron-boj-integration-4iuxyt (with the companion cartridge v0.2 PR in boj-server-cartridges and the wiring PR here).
Part of #274 (pipeline epic). Fills the two unbuilt core stages: C1 (template-schema fetch) and C2 (synthesis/hydration).
Decision recorded: C1 moves from the Gateway into the engine
The 2026-06-28 diagram drew "① Fetch Template Schema" as a Gateway responsibility. This work relocates it into
feedback-o-tronitself (FeedbackATron.Synthesis.TemplateFetcher): the gateway (or any caller) passes only{repo, raw_feedback, context}and the engine fetches + parses the target repo's.github/ISSUE_TEMPLATE/*.ymlissue forms. Rationale: every front door benefits (MCP stdio/TCP, HTTP intake, CLI, boj cartridge), not just the boj path — "usable from anywhere on anything". The pipeline doc (feedback-o-tron/docs/AUTONOMOUS-BUG-PIPELINE.adoc) is redrawn accordingly.What C2 actually is (agent-in-the-loop, no embedded LLM)
The MCP caller IS the intelligence; the engine provides deterministic scaffolding:
Synthesis.TemplateFetcher+ 15-min cache — fetch/parse GitHub issue-form YAML (C1).Synthesis.IntentClassifier— heuristic intent taxonomy (bug/feature/question/docs/praise) + signals (stack trace, repro steps, version, network-related), and the feedback doctrine: the gate is usefulness, not tone; zero-signal hostility is rejected with a stated reason (audit-logged, never filed); mixed content has its actionable core salvaged and the stripping reported; useless-but-genuine feedback comes back as open questions, never silently discarded.Synthesis.Hydrator— fills template fields from raw feedback + caller context + system state (provenance-marked), optionally wiring the hitherto-inertNetworkVerifierfor network-flavoured reports; unfilled required fields becomeopen_questions.Synthesis.Research— research mode: forge search for similar existing issues (scored), local dedup index, and the target repo's template questions — so duplicates are avoided and refinement is interactive; recurring themes are recognized as recurring rather than logged as one-offs.Synthesis.Synthesizer— orchestration; returns a draft + open questions for the caller to resolve with its user beforesubmit_feedback.New tools on all front doors:
research_feedback,synthesize_feedback, andsubmit_feedbackextended withtemplate/template_data.Delivery
Draft PR in
feedback-o-tronon branchclaude/feedback-o-tron-boj-integration-4iuxyt(with the companion cartridge v0.2 PR inboj-server-cartridgesand the wiring PR here).