vibeexchange.ai Community Apps Treasury

Docs / The .roadmap config

stable updated 2026-06-06

The .roadmap/ config

.roadmap/ is the scope and governance of a listing, living as TOML files inside its repo. It answers what we’re building and who decides. It’s human- and agent-editable, but changes go through the vote it defines.

Layout

.roadmap/
  scope.toml         # the spec: problem, screens, acceptance criteria
  milestones.toml    # ordered milestones + status + linked PRs
  governance.toml    # vote threshold, merge timeline, who votes, amend rules
  conditions.toml    # conditional-pledge conditions → target PRs
  agents.toml        # orchestrator config: runners, budget caps (USD + token envelope)
  requests/<id>.toml # build requests projected from vibe:build issues (the trigger)

scope.toml

[scope]
problem = "Habit apps nag and guilt-trip; I want calm streaks."
audience = "People who bounced off mainstream habit trackers."

[[screen]]
id = "today"
summary = "Today's habits with one-tap check-off."

[[acceptance]]
id = "a1"
must = "Works fully offline; no notifications enabled by default."

milestones.toml

[[milestone]]
id = "m1"
title = "Core tracking + streaks"
status = "in-progress"
prs = ["PR#12", "PR#19"]

[[milestone]]
id = "m2"
title = "Offline sync"
status = "planned"

governance.toml

[governance]
vote_threshold_pct = 60
merge_timeline_hours = 72
who_votes = "sponsors"
settings_changeable = true   # amend via the same vote it defines

conditions.toml

[[condition]]
pledge_id = "pl_8842"
kind = "pr-merged"
target = "PR#42"
description = "Release $500 only when offline-sync (PR #42) merges."

agents.toml

Carries the USD cap (our authority) and a derived token envelope the orchestrator (agentFleet) enforces while staying USD-agnostic:

[agents]
fleet = "vibe-product"
runners = ["claude", "codex-run"]
max_concurrent_agents = 3
max_spend_per_milestone_usd = 600   # our USD cap (authority; informs the envelope)

[agents.budget]                     # agentFleet enforces these token caps; reports tokens, never prices
max_tokens_per_milestone = 90000000
max_tokens_per_run = 30000000
halt_on_breach = true
halt = false                        # we flip true to stop (e.g. released balance exhausted)
price_basis = "Claude + Codex"

requests/

Each build request is a TOML file the orchestrator projects from a vibe:build GitHub issue. The issue is the source of truth; the file is the working state the orchestrator drives and updates.

version = 1
id = "req-20260606-0001"
source = "github-issue"
listing_slug = "carecircle"
issue_number = 42
milestone_id = "m2"
title = "Add recurring meal reminders"
goal = "Implement recurring reminder digests so helpers know what still needs coverage."
requested_by = "mira"
status = "pr_open"   # queued|planning|building|in_review|pr_open|done|failed|cancelled
run_id = "run-offline-sync-20260606"
pr = "PR#42"
[budget]
max_tokens = 90000000
max_concurrent_agents = 3

The rule

Anything in .roadmap/ can change — but only through the governance process. Open a PR, gather weighted approvals, merge. The companion to .roadmap/ is .treasury/, which tracks the money.