feat(96c): architect formula — sprint PR creation with questions #101

Closed
opened 2026-04-01 08:39:45 +00:00 by dev-bot · 0 comments
Collaborator

Parent

Part of #96 — architect agent.

What to do

Implement two capabilities in formulas/run-architect.toml:

Capability A: Create pitch PR (from research output)

If step 2 (research/pitch from #100) produced a pitch and no PR exists yet:

  1. Create branch architect/<sprint-slug> on ops repo
  2. Write sprints/<sprint-slug>.md with the pitch content
  3. Create PR on ops repo:
    • Title: architect: <sprint summary>
    • Body: pitch content (what it enables, complexity, risks, cost)
    • Footer: "Reply ACCEPT to proceed with design questions, or REJECT: <reason> to decline."
  4. Signal PHASE:done

Capability B: Handle accept/reject on existing pitch PRs

In the preflight step, when open architect PRs exist:

  1. Fetch comments on each open architect PR
  2. Look for human response:
    • ACCEPT (case insensitive): Human wants to proceed
      • Architect does the deep research for design forks (same as #100 research but now identifying decision points)
      • Formulates multiple-choice questions (Q1, Q2, Q3...)
      • Updates the sprint spec file on the PR branch (adds ## Design forks and ## Proposed sub-issues sections)
      • Comments on the PR with the questions formatted as multiple choice
      • Signal PHASE:done (answer processing is #102)
    • REJECT: <reason> (case insensitive, reason after colon):
      • Journal the rejection reason via profile_write_journal (if .profile exists) — the architect learns what pitches fail
      • Close the PR (do not merge — rejected pitches do not persist in sprints/)
      • Remove the branch
      • Signal PHASE:done
    • No response yet: skip, signal PHASE:done

Git operations via Forgejo API

All git operations use the Forgejo API (create branch, write/update file, create PR, close PR, delete branch). No SSH.

Affected files

  • formulas/run-architect.toml (update — add PR creation + accept/reject handling)

Acceptance criteria

  • Creates pitch PR on ops repo with correct format
  • PR footer prompts for ACCEPT/REJECT
  • ACCEPT: architect adds design fork questions to the PR
  • REJECT: architect journals reason, closes PR, removes branch
  • No response: skips silently
  • All git operations via Forgejo API
  • CI green

Dependencies

Depends on #100 (research/pitch — needs pitch output).

## Parent Part of #96 — architect agent. ## What to do Implement two capabilities in `formulas/run-architect.toml`: ### Capability A: Create pitch PR (from research output) If step 2 (research/pitch from #100) produced a pitch and no PR exists yet: 1. Create branch `architect/<sprint-slug>` on ops repo 2. Write `sprints/<sprint-slug>.md` with the pitch content 3. Create PR on ops repo: - Title: `architect: <sprint summary>` - Body: pitch content (what it enables, complexity, risks, cost) - Footer: "Reply `ACCEPT` to proceed with design questions, or `REJECT: <reason>` to decline." 4. Signal PHASE:done ### Capability B: Handle accept/reject on existing pitch PRs In the preflight step, when open architect PRs exist: 1. Fetch comments on each open architect PR 2. Look for human response: - **`ACCEPT`** (case insensitive): Human wants to proceed - Architect does the deep research for design forks (same as #100 research but now identifying decision points) - Formulates multiple-choice questions (Q1, Q2, Q3...) - Updates the sprint spec file on the PR branch (adds `## Design forks` and `## Proposed sub-issues` sections) - Comments on the PR with the questions formatted as multiple choice - Signal PHASE:done (answer processing is #102) - **`REJECT: <reason>`** (case insensitive, reason after colon): - Journal the rejection reason via `profile_write_journal` (if .profile exists) — the architect learns what pitches fail - Close the PR (do not merge — rejected pitches do not persist in sprints/) - Remove the branch - Signal PHASE:done - **No response yet**: skip, signal PHASE:done ### Git operations via Forgejo API All git operations use the Forgejo API (create branch, write/update file, create PR, close PR, delete branch). No SSH. ## Affected files - `formulas/run-architect.toml` (update — add PR creation + accept/reject handling) ## Acceptance criteria - [ ] Creates pitch PR on ops repo with correct format - [ ] PR footer prompts for ACCEPT/REJECT - [ ] ACCEPT: architect adds design fork questions to the PR - [ ] REJECT: architect journals reason, closes PR, removes branch - [ ] No response: skips silently - [ ] All git operations via Forgejo API - [ ] CI green ## Dependencies Depends on #100 (research/pitch — needs pitch output).
dev-bot added the
backlog
label 2026-04-01 08:40:22 +00:00
dev-qwen self-assigned this 2026-04-01 10:35:53 +00:00
dev-qwen added
in-progress
and removed
backlog
labels 2026-04-01 10:35:53 +00:00
dev-qwen removed their assignment 2026-04-01 10:55:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: johba/disinto#101
No description provided.