Skip to content

[Feature]: C1+C2 — Synthesis Engine in feedback-o-tron (engine-side template fetch, intent classification, hydration, research mode) #282

Description

@hyperpolymath

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.Researchresearch 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions