Skip to content

feat(ai-autopilot): modes via conditions frontmatter (#244)#250

Merged
suleimansh merged 1 commit into
mainfrom
feat/open-loop-modes-conditions
Jul 5, 2026
Merged

feat(ai-autopilot): modes via conditions frontmatter (#244)#250
suleimansh merged 1 commit into
mainfrom
feat/open-loop-modes-conditions

Conversation

@suleimansh

Copy link
Copy Markdown
Member

Last piece of the Open Loop first slice (#204): the two modes (Autopilot / Technical Control) as conditions frontmatter on sibling .md files.

  • A stem.<variant>.md file with metadata.conditions (a mode or list) overrides its stem.md base when those modes are active. Grouping is by filename stem (name before the first dot), matching your sketch.
  • loadDomainPreset(dir, { modes }) / softwareDevelopmentPreset({ modes }) resolve the winner per stem: most-specific eligible variant, else the base. selectWinners is the pure, tested resolver.
  • Software Development preset gains a major-change.technical.md variant (leaner chain) as a live example.

Two small calls, flagging:

  1. conditions lives under metadata (like on/run/url), since the frontmatter schema strips unknown top-level keys. Your Open Loop: customizable prompts + flows, domain presets, marketplace #204 sketch wrote it top-level; same idea, just namespaced.
  2. The technical variant's content (run just code-review) is illustrative placeholder semantics for the two modes, easy to tune since it is just an .md file.

The UI checkboxes ([ ] Autopilot [ ] Technical) are framework-side and out of scope here. Follow-up #245 (compose prompts from params) only if variants get too duplicative.

Tests: 23 preset tests (conditions resolver + mode-aware load + shipped-preset override). Typecheck (21 projects) green; 311 package tests, the one failure is the pre-existing docker flake. Changeset: minor.

Closes #244

A stem.<variant>.md sibling with metadata.conditions overrides its stem.md base
when those modes are active. loadDomainPreset(dir, { modes }) resolves the winner
per stem (most specific eligible, else base). Software Development preset gains a
technical variant of its major-change loop. Simple fan-out; #245 is the compose
follow-up.

Closes #244
@suleimansh suleimansh added enhancement New feature or request priority: medium Worth doing, not urgent labels Jul 5, 2026
@suleimansh suleimansh self-assigned this Jul 5, 2026
@suleimansh suleimansh merged commit 3c72f14 into main Jul 5, 2026
2 checks passed
@suleimansh suleimansh deleted the feat/open-loop-modes-conditions branch July 5, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: medium Worth doing, not urgent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Open Loop: modes (Autopilot / Technical) via conditions frontmatter

1 participant