Skip to content

feat(B-0914.7): Falcon auto-research-doc template substrate; 19 tests pass — completes 7-of-7 B-0914 candidate substrate-engineering gap substrate#5773

Merged
AceHack merged 3 commits into
mainfrom
otto-cli/b-0914-7-falcon-auto-research-doc-template-generator-substrate-engineering-substrate-2026-05-28
May 28, 2026
Merged

feat(B-0914.7): Falcon auto-research-doc template substrate; 19 tests pass — completes 7-of-7 B-0914 candidate substrate-engineering gap substrate#5773
AceHack merged 3 commits into
mainfrom
otto-cli/b-0914-7-falcon-auto-research-doc-template-generator-substrate-engineering-substrate-2026-05-28

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 28, 2026

Summary

Sakana Robin Falcon agent pattern: 8-section research-doc template scaffold + Markdown renderer. Downstream LLM substrate-engineering populates pending sections.

19 tests pass / 0 fail.

Completes 7-of-7 B-0914 candidate substrate-engineering gap substrate

Gap PR
B-0914.1 TrueSkill #5764
B-0914.2 Closed-loop #5769 (L)
B-0914.3 N-parallel + consensus #5770
B-0914.4 Gen-reflect pairing #5768 (M)
B-0914.5 Evolution mash-refine #5767 (S)
B-0914.6 Proximity-dedup #5772
B-0914.7 Falcon auto-research-doc THIS PR

Test plan

  • 19 tests pass; all 9 section kinds rendered
  • EmptyProposalId / NoSectionsRendered validation
  • Pending markers preserved (substrate-honest)
  • ResearchDocSection exhaustive switch
  • CI: lint(tsc tools)
  • Auto-merge armed

🤖 Generated with Claude Code

…section scaffold + Markdown renderer); 19 tests pass — completes 7-of-7 B-0914 candidate gap substrate

Per Sakana Robin Falcon agent (Nature 2026): takes drug proposal + does
deep-dive literature review + writes comprehensive research report. TS-
side scaffold provides 8-section template structure that downstream LLM
substrate-engineering work populates (header / framing / background /
mechanism / evidence / risks / composes-with / test-plan).

What this adds:
- ResearchDocSection discriminated union (9 section kinds)
- ResearchDoc structure (id + proposalId + sections + composesWith)
- ResearchDocFeedback + ResearchDocResult<T> Result-shape
- renderSection(section): string — pure-function Markdown serializer
- renderResearchDoc(doc): ResearchDocResult<string> — full doc rendering
- buildSkeleton(context): ResearchDocResult<ResearchDoc> — 8-section scaffold
- buildAndRender(context): ResearchDocResult<string> — end-to-end convenience

Falcon-stage pending markers preserved (substrate-honest about what's
not yet auto-generated by LLM substrate-engineering):
- '[PENDING LITERATURE REVIEW — Falcon-stage auto-generated]'
- '[PENDING MECHANISM ANALYSIS — Falcon-stage auto-generated]'
- etc. (per section)

Tests (19; all pass):
- EmptyProposalId validation
- 8-section Falcon scaffold structure
- proposalId sanitized to filename-safe id
- composesWith pass-through to skeleton + composes-with section
- All 9 section-kind renderings tested (header/framing/background/
  mechanism/evidence/risks/composes-with/test-plan/raw)
- renderResearchDoc empty → NoSectionsRendered
- buildAndRender end-to-end
- Pending markers preserved (substrate-honest)
- ResearchDocSection exhaustive switch

Composes with substrate:
- B-0914.7 backlog row (Falcon extension target)
- tools/save-ai-memory/ skill (existing substrate; future integration for
  auto-write to docs/research/ + composes-with citation discipline)
- Amara consolidation ferry pattern (PR #5757)
- B-0914.2 PR #5769 closed-loop orchestrator (research-doc generation
  at any cycle stage; template provides structure)
- substrate-or-it-didn't-happen + honor-those-that-came-before rules
- asymmetric-authorship + monad-propagation rules

**B-0914 7-of-7 candidate substrate-engineering gap substrate complete:**
- B-0914.1 PR #5764 TrueSkill ranking (S/M/L: ranking)
- B-0914.2 PR #5769 closed-loop orchestrator (S/M/L: L)
- B-0914.3 PR #5770 n-parallel + consensus (8-parallel-Finch)
- B-0914.4 PR #5768 generation-reflection pairing (S/M/L: M)
- B-0914.5 PR #5767 evolution mash-refine (S/M/L: S)
- B-0914.6 PR #5772 proximity-dedup (canonical + Jaccard clustering)
- B-0914.7 THIS PR Falcon-style auto-research-doc template

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 28, 2026 11:27
@AceHack AceHack enabled auto-merge (squash) May 28, 2026 11:27
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new TypeScript-side “research doc” scaffold/renderer under tools/workflow-engine/ (B-0914.7), intended to generate a structured Markdown template (Falcon-style) from a proposal/hypothesis, with accompanying Bun tests to lock in the section shapes and rendering invariants.

Changes:

  • Introduces ResearchDocSection / ResearchDoc types plus buildSkeleton, renderSection, renderResearchDoc, and buildAndRender helpers.
  • Implements Markdown rendering for all section kinds, including placeholder “PENDING …” markers.
  • Adds a comprehensive Bun test suite covering validation, rendering behavior, and union exhaustiveness.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tools/workflow-engine/research-doc.ts New research-doc template generator + Markdown renderer APIs.
tools/workflow-engine/research-doc.test.ts Bun tests for skeleton construction, rendering, placeholders, and exhaustiveness checks.

Comment thread tools/workflow-engine/research-doc.ts Outdated
Comment thread tools/workflow-engine/research-doc.ts Outdated
AceHack and others added 2 commits May 28, 2026 07:56
…emplate-generator-substrate-engineering-substrate-2026-05-28
…lStatus variant (Copilot threads)

Two threads on tools/workflow-engine/research-doc.ts:

1. Composes-with docblock referenced rule files by short form
   (`asymmetric-authorship`, `monad-propagation-pattern`) — actual
   filenames are longer + .md-suffixed:
     `.claude/rules/asymmetric-authorship-substrate-entity-defines-consent-channel-recipient-acknowledges.md`
     `.claude/rules/monad-propagation-pattern-cross-language-substrate-shape.md`
   Updated to full paths so cross-refs stay greppable + don't drift.

2. ResearchDocFeedback.InvalidOperationalStatus variant was
   structurally unreachable: `operationalStatus` is a string-literal
   union (`"research-grade" | "operational"`) at the type level, the
   only constructor (line 179) fixes it to `"research-grade"`, and
   no untrusted-string parse path exists. Variant was dead substrate.
   Removed + added docblock naming the conditions under which a
   future caller should add it back (JSON import of external
   research-doc with operationalStatus parsed from untrusted input —
   add validator AT THE PARSE BOUNDARY first, then add this variant).
   Composes with asymmetric-authorship discipline: every TFeedback
   variant should correspond to a real code path that can produce it.

Non-breaking: no callers reference the removed variant (grep clean).
Type-system continues to rule out invalid operationalStatus at
construction time.

Autonomous-loop tick 2026-05-28T12:16Z resolution of PR #5773 BLOCKED
gate (unresolved Copilot threads only blocker; required checks all green).

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 28, 2026 12:18
@AceHack AceHack merged commit c34959d into main May 28, 2026
32 of 33 checks passed
@AceHack AceHack deleted the otto-cli/b-0914-7-falcon-auto-research-doc-template-generator-substrate-engineering-substrate-2026-05-28 branch May 28, 2026 12:22
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

Comment on lines +7 to +23
* Per Sakana Robin Falcon agent (Nature 2026): takes a drug proposal +
* does deep-dive literature review + writes comprehensive research
* report. TS-side scaffold: structured-template generator that takes
* a Hypothesis + produces a research-doc template with sections.
*
* Real LLM-backed literature review deferred to integration layer;
* current PoC provides the TEMPLATE STRUCTURE that downstream
* substrate-engineering work (LLM calls + literature fetch + reference
* lookup) populates.
*
* Composes with:
* - B-0914.7 backlog row (Falcon-auto-research-doc extension target)
* - tools/save-ai-memory/ skill (existing substrate; future integration
* for auto-write to docs/research/ + composes-with substrate-honest
* citation discipline)
* - Amara consolidation ferry pattern (PR #5757; substantive substrate-
* engineering synthesis as substrate)
Comment on lines +202 to +215
supporting: ["[PENDING SUPPORTING EVIDENCE EXTRACTION]"],
},
{
kind: "risks",
risks: ["[PENDING RISK ANALYSIS]"],
},
{
kind: "composes-with",
substrates: context.composesWith ?? ["[PENDING COMPOSITION ANALYSIS]"],
},
{
kind: "test-plan",
items: ["[PENDING TEST PLAN GENERATION]"],
},
Comment on lines +218 to +225
return {
ok: true,
doc: {
id: context.proposalId.replace(/[^a-zA-Z0-9_-]/g, "_"),
proposalId: context.proposalId,
sections,
composesWith: context.composesWith ?? [],
},
* Per Sakana Robin Falcon agent (Nature 2026): takes a drug proposal +
* does deep-dive literature review + writes comprehensive research
* report. TS-side scaffold: structured-template generator that takes
* a Hypothesis + produces a research-doc template with sections.
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.

2 participants