Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e09b066
feat(skills): add proportional-validation-policy (#2724)
lirazsiri Jul 28, 2026
d4f6a27
feat(task): genie task import + committed roadmap.json board snapshot
namastex888 Jul 28, 2026
c4afca2
chore(version): bump to 5.260728.9 [auto-version]
github-actions[bot] Jul 28, 2026
f695bd8
chore(hooks): auto-refresh .genie/roadmap.json in pre-commit
namastex888 Jul 28, 2026
80f375e
feat(task): make roadmap.json canonical via three-way sync
namastex888 Jul 28, 2026
a778482
chore(version): bump to 5.260728.10 [auto-version]
github-actions[bot] Jul 28, 2026
57cf4aa
fix(skills): proportional-validation-policy — passing full suite is a…
namastex888 Jul 28, 2026
b91663b
Merge pull request #2725 from lirazsiri/policy/proportional-validation
automagik-genie Jul 28, 2026
f743ec3
chore(version): bump to 5.260728.11 [auto-version]
github-actions[bot] Jul 28, 2026
e2659dc
refactor(task): sync via git hooks only; scope roadmap.json to roadma…
namastex888 Jul 28, 2026
0696e9c
chore(version): bump to 5.260728.12 [auto-version]
github-actions[bot] Jul 28, 2026
edc762b
fix(router): bypass Genie when lifecycle adds no value
lirazsiri Jul 28, 2026
836837f
fix(router): announced bypass, security-gated by default, cheap route…
namastex888 Jul 28, 2026
fe84865
Merge pull request #2723 from lirazsiri/fix/genie-bypass-policy
automagik-genie Jul 28, 2026
7146f1c
chore(version): bump to 5.260728.13 [auto-version]
github-actions[bot] Jul 28, 2026
3f95450
chore: add repository-local Hermes profile
namastex888 Jul 28, 2026
1850332
chore: enable repository-local Genie plugin
namastex888 Jul 28, 2026
5a74123
docs(wish): genie-official-roadmap APPROVED — 36-wish triage into can…
namastex888 Jul 28, 2026
e7a1dfb
chore(version): bump to 5.260728.14 [auto-version]
github-actions[bot] Jul 28, 2026
4ed54a2
fix(agent-sync): suppress the bare-name role-agent fan-out when the p…
namastex888 Jul 29, 2026
c465b15
Merge pull request #2731 from automagik-dev/fix/agent-mirror-plugin-a…
automagik-genie Jul 29, 2026
9be108a
chore(version): bump to 5.260729.1 [auto-version]
github-actions[bot] Jul 29, 2026
7bd36b8
fix(test): pin selection in the manual post-update convergence test (…
namastex888 Jul 29, 2026
594a273
fix(v5): harden roadmap sync per PR #2729 bot-review findings
namastex888 Jul 29, 2026
b3cb508
Merge pull request #2733 from automagik-dev/fix/update-test-consent-i…
automagik-genie Jul 29, 2026
4b6dd15
chore(version): bump to 5.260729.2 [auto-version]
github-actions[bot] Jul 29, 2026
7949faa
Merge pull request #2734 from automagik-dev/fix/pr-2729-review
namastex888 Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"plugins": [
{
"name": "genie",
"version": "5.260728.7",
"version": "5.260729.2",
"source": "./plugins/genie",
"description": "Human-AI partnership for Claude Code. Share a terminal, orchestrate workers, evolve together. Brainstorm ideas, wish them into plans, make with parallel agents, ship as one team. A coding genie that grows with your project."
}
Expand Down
4 changes: 4 additions & 0 deletions .genie/INDEX.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Plans Index

> **Board snapshot (canonical):** [roadmap.json](roadmap.json) is the canonical roadmap board (`genie board`); the local `.genie/genie.db` materializes from it. Git hooks keep them reconciled via three-way `genie task sync`: post-merge/post-rewrite import a pulled snapshot, pre-commit exports local board changes into the commit, and if BOTH moved since the last sync nothing is touched and the hook warns — resolve with `genie task import --replace` (take the snapshot) or `genie task export --write` (keep the local board). Fresh clone: run `genie task sync` once. Scope: roadmap content only (tasks, dependencies, wish groups, boards, timelines) — `hire_roster` worktree state stays machine-local.

## Raw

- [control-plane-contract](brainstorms/control-plane-contract/DRAFT.md) — **re-scoped 2026-07-21:** narrow to dispatch routing + work/review policy tiers; agent-sync (#2541) already solved global↔repo skill convergence orthogonally (umbrella G2+G3)
Expand Down Expand Up @@ -33,6 +35,8 @@

## Poured

- [WISH: genie-official-roadmap](wishes/genie-official-roadmap/WISH.md) — **APPROVED 2026-07-28** ([DESIGN](brainstorms/genie-official-roadmap/DESIGN.md) SHIP after 1 fix loop, digest `36097b0d…`; plan SHIP after 2 fix loops, all findings execution-verified by the reviewer): triage of all 36 wishes (3-scout evidence audit) into the official roadmap — archive 29 DONE-verified wishes with full link-rewrite inventory, cold-seed the `roadmap` board with 19 lifecycle cards (Work order: dogfood-remediation → v4-residue → release-ops → proportional-validation, Felipe-ratified), rewrite INDEX with a Shipped section, draft `public-roadmap-polish`. 3 groups: archive+links ∥ board-seed → INDEX rewrite; single commit in G3.

- khal-native-theme — **APPROVED 2026-07-23, RELOCATED same day** to `khal-os/genie-desktop:.genie/` (branch `wish/khal-native-theme`, commit `484c243`; Felipe: desktop context lives in the desktop repo — the fork's own genie.db carries the 6 seeded group tasks and its WISH adds the live-visual-checkpoint protocol CP-1..6). Design SHIP digest `bdd54325…`, plan SHIP after 1 fix loop, 3-lens ledger verify 0 must-fix. This repo's 7 stale task rows are hard-blocked with a relocation reason. First of Theme→Identity→SSH
- [WISH: codex-plugin-dogfood-remediation](wishes/codex-plugin-dogfood-remediation/WISH.md) — **IN_PROGRESS** (2026-07-22, large appetite; 21/24 criteria as of 2026-07-23): exact task CWD + trustworthy Codex delivery evidence; the three open criteria concern MCP marker ownership and the evidence validator (added to INDEX 2026-07-26 — the most active wish in the repo had no INDEX entry, invisible to the jar↔INDEX drift lint)
- khal-native-theme — **APPROVED 2026-07-23, RELOCATED same day** to `khal-os/genie-desktop:.genie/` (branch `wish/khal-native-theme`, commit `484c243`; Felipe: desktop context lives in the desktop repo — the fork's own genie.db carries the 6 seeded group tasks and its WISH adds the live-visual-checkpoint protocol CP-1..6). Design SHIP digest `bdd54325…`, plan SHIP after 1 fix loop, 3-lens ledger verify 0 must-fix. This repo's 7 stale task rows are hard-blocked with a relocation reason. First of Theme→Identity→SSH
Expand Down
95 changes: 95 additions & 0 deletions .genie/brainstorms/genie-official-roadmap/DESIGN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Design: Genie Official Roadmap — full-jar triage into the canonical board

| Field | Value |
|-------|-------|
| **Slug** | `genie-official-roadmap` |
| **Date** | 2026-07-28 |
| **WRS** | 100/100 |

## Problem

36 wish dirs and 24 brainstorm dirs have accumulated with statuses drifting between WISH.md headers, INDEX.md prose, and dev reality; there is no single official roadmap. This blocks Felipe's #1 axis (public-facing polish): the project cannot present what is done, in flight, or next — even though the machinery (roadmap board, lanes, canonical `roadmap.json`) now exists.

## Scope

### IN
- **Archive move:** `git mv` the 29 DONE-verified wishes to `.genie/wishes/archive/<slug>/`, WITH the link rewrites the depth change requires:
- Intra-wish design links: `../../brainstorms/…` → `../../../brainstorms/…` (17 links across ~15 archived WISH.md files; wishes-lint walks `archive/` recursively, so these are gate-enforced).
- Cross-wish links whose endpoints split: `genie-ui/WISH.md` → `../genie-ui-dash/WISH.md` becomes `../../genie-ui-dash/WISH.md` (target survives outside archive). Links where both endpoints move together (agent-sync↔pr-2545 ×3, routing-delivery-fix↔routing-matrix, pr-2545↔stable-release-security-gate) stay as-is.
- Repo-escaping links in pr-2545's REVIEW-DISPOSITION.md / FINALIZATION-VERIFICATION.md: `../../../.claude/…` → `../../../../.claude/…`.
- Verification: `bun run wishes:lint` (covers brainstorm links incl. inside archive) PLUS an explicit link-resolution sweep — every markdown relative link in moved files and in INDEX.md resolved against the filesystem (one-off script or grep+test loop); INDEX.md is NOT covered by any existing lint and must be swept manually.
- **Board seed** (cold seed — baseline recorded below): create the `roadmap` board (6 lifecycle lanes) and one lifecycle card per surviving initiative. Every card is created then explicitly `task move`d to its lane (CLI `task create` cannot set lanes, and NULL-lane cards render deceptively) — a card without a non-null lane in `genie task export` is a seeding failure. Full enumeration (19 cards):
- **Work (4):** codex-plugin-dogfood-remediation, v4-home-residue-doctor, release-ops-hardening, proportional-validation-policy — priority order per D4, encoded in INDEX prose (DAG stays doc-only).
- **Review (3):** genie-ui-dash (fork QA), live-dev-loop (fork QA), ritual-QA checklist (bundled: council live run, genie-mcp Warp QA, warp pane checklist, agent-sync convergence, update-handoff homolog dogfood, taxonomy PATH export).
- **Wish (1):** khal-rebrand (approved, unexecuted, fork).
- **Brainstorm (5):** genie-boards-ui, intent-to-wish-compiler, brainstorm-domain-map, cross-agent-delegate, genie-official-roadmap (this initiative; its card moves to Done when this wish ships).
- **Idea (6):** control-plane-contract, skill-absorbs, always-on-genie, genie-spend, dream-replatform, public-roadmap-polish (new).
- **Excluded:** khal-app-kit-identity + genie-remote-ssh (relocated to fork — INDEX line only, no card); khal-native-theme (same).
- **INDEX.md rewrite:** new **Shipped** section (one line per archived wish, links pointing into `archive/`); lifecycle sections (Raw/Simmering/Ready/Poured) reconciled to the card set above. Named repairs: remove the duplicated khal-native-theme RELOCATED bullet (conflict residue, lines 39+41); correct the codex-plugin-update-handoff entry ("Groups C–E not started" contradicts the wish's SHIPPED header — PR #2617 merged 2026-07-22); stable-release fact stated precisely as "first full stable v5.260727.5 (2026-07-27); current stable pinned at execution time" (v5.260728.8 as of review — verify fresh). Constraint: no lifecycle-section entry may use a `wishes/archive/…` path as its FIRST link (the drift lint's slug regex would capture `archive`); Shipped-section entries are outside the drift lint by design (documented property, not an accident).
- **Existing boardless rows:** the 29 group-task rows (incl. 6 hard-blocked khal-native-theme tombstones and 4 done genie-ui rows) stay untouched as execution history — cards and group tasks are different layers (D3).
- **New brainstorm:** `public-roadmap-polish` DRAFT + INDEX Raw entry (publish roadmap outward + docs/onboarding sweep) — drafted, not executed.
- **Publish:** pre-commit sync lands the seeded board in `roadmap.json`; criterion measured against the recorded baseline (`boards: []`, 29 boardless tasks, zero cards).

### OUT
- No execution of any triaged wish (dogfood criteria, doctor checks, release hardening stay their own wishes).
- No fork (khal-os/genie-desktop) changes; its wishes are represented as cards only.
- No changes to sync/board/lint machinery (any INDEX-link lint gap closure is future work — this wish uses a one-off sweep).
- No brainstorm-dir moves or deletion; brainstorm cleanup is a later pass.
- The board's Done lane starts empty on purpose: done-ness is presented by the INDEX Shipped section this round; surfacing shipped work on the published board is scoped to `public-roadmap-polish` (D6).

## Approach

Single documentation-and-state pass over the audited inventory (3-scout evidence audit, 2026-07-28, per-wish PR/commit verification recorded in DRAFT.md). Alternatives considered: (a) INDEX-only cleanup without board seeding — rejected: leaves the roadmap unpublished, failing the #1 axis; (b) full re-review of each DONE wish before archiving — rejected: the scout audit already verified merge evidence; re-review adds cost without new information. Chosen: archive + link-rewrite + seed + rewrite in one wish, gated by wishes-lint, a full link-resolution sweep, doctor drift lint, and a lane-non-null export assertion.

## Simplicity Case

- **Simplest complete design:** git mv 29 dirs + ~25 link rewrites, 19 `task create` + 19 `task move` calls, one INDEX rewrite, one new brainstorm DRAFT.
- **Added machinery:** none persistent — one throwaway link-resolution sweep during execution (a lint gap exists; closing it durably is deferred).
- **Deferred until measured:** durable INDEX/markdown link lint; brainstorm-dir archiving; auto-lane-sync from WISH status (only if manual drift recurs).
- **Complexity removed:** no new schema, no dependency rows, no INDEX generator — prose stays human-authored per repo contract.

## Decisions

| # | Decision | Rationale |
|---|----------|-----------|
| 1 | Priority axes = public polish · dogfood pain · stable-release track (desktop parked) | Felipe, 2026-07-28 |
| 2 | DONE wishes → `.genie/wishes/archive/<slug>/` | History preserved, active dir lean; Felipe picked over stay/delete |
| 3 | Roadmap board = canonical tracker; boardless group tasks stay the execution layer, untouched by this wish | Felipe; lanes stay non-spammy (one card per initiative) |
| 4 | Work-lane order: dogfood-remediation → v4-residue → release-ops → proportional-validation | Felipe ratified proposed order |
| 5 | 6 ritual-QA items = one bundled Review-lane card; their wishes archive now | Felipe; code evidence verified, rituals tracked without holding dirs open |
| 6 | Public-polish axis gets a NEW brainstorm (`public-roadmap-polish`), drafted not executed; it owns surfacing Done/Shipped outward | Gap: axis #1 had no wish; Done-lane emptiness this round is deliberate |
| 7 | Card enumeration is closed (the 19 listed) — anything else is an INDEX line, not a card | Reviewer finding: "no initiative missing" must be decidable |

## Risks & Assumptions

| # | Risk | Severity | Mitigation |
|---|------|----------|------------|
| 1 | Archive move breaks relative links | High if unmitigated | Explicit link inventory in Scope; wishes-lint gates brainstorm links (recursively, incl. archive); one-off resolution sweep covers INDEX.md and non-brainstorm links, which NO existing lint checks |
| 2 | Scout audit overclaims a DONE | Low | Scouts cited merged PR/commit per wish; a wrong card is reversible (git mv back + lane move) |
| 3 | INDEX↔lane drift after seeding | Low | doctor index-lane drift lint is the standing gate; archive paths forbidden as first links in lifecycle sections |
| 4 | roadmap.json churn/conflicts from seeding | Low | Cold seed against recorded baseline; single writer; three-way sync refuses divergence |
| 5 | Stable-release fact goes stale between design and execution | Low | INDEX states first-stable as fixed history; current-stable pinned by `gh release list` at execution |

## Success Criteria

- [ ] 29 audited-DONE wish dirs live under `.genie/wishes/archive/`; `bun run check` green (incl. wishes-lint over the recursive tree)
- [ ] Link-resolution sweep passes: every relative markdown link in moved files AND in `.genie/INDEX.md` resolves to an existing file (sweep output recorded as evidence)
- [ ] `roadmap` board exists; `genie task export` shows exactly 19 cards on it, each with a non-null lane matching the Scope enumeration; `genie board --board roadmap` renders them
- [ ] Ritual-QA card in Review lane enumerates all 6 items in its description/timeline
- [ ] `genie doctor` reports zero index-lane `drift` entries, and no lifecycle-section INDEX entry links `wishes/archive/…` as its first link
- [ ] `.genie/INDEX.md` Shipped section lists all 29 archived wishes; duplicated khal bullet removed; update-handoff entry corrected; stable-release facts stated per Risk 5
- [ ] `roadmap.json` committed reflecting the seeded board (diff vs recorded baseline shows the board + 19 cards); `genie task sync` reports in-sync post-commit
- [ ] `public-roadmap-polish` brainstorm DRAFT exists with an INDEX Raw entry (and its Idea card per enumeration)

## Next Step

After an independent design review returns SHIP, persist the evidence below and verify its content digest before running `wish`.

<!-- genie-design-review:start -->
## Design Review Evidence

- **Verdict:** SHIP
- **Reviewed content SHA-256:** `36097b0def248af7f42aa467142b5979cb75382ff5414e3a201d4036cb955a1d`
- **Reviewer:** reviewer-subagent-fable5
- **Reviewed at:** 2026-07-28T22:45:19.000Z
<!-- genie-design-review:end -->
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
36 changes: 36 additions & 0 deletions .genie/brainstorms/genie-official-roadmap/DRAFT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# genie-official-roadmap — DRAFT

**Started:** 2026-07-28 · **Mode:** triage brainstorm (Felipe + orchestrator)

## Problem

`.genie/` carries 36 wish dirs + 24 brainstorm dirs; statuses drift between WISH.md headers, INDEX.md, and dev reality. Goal: one official genie roadmap — every wish triaged (done-on-dev / still-relevant / priority), published through the roadmap board (`roadmap.json`).

## WRS

```
WRS: ██████░░░░ 60/100
Problem ✅ | Scope ✅ | Decisions ◐ | Risks ✅ | Criteria ░
```

## Felipe decisions (2026-07-28)

- **Priority axes (ranked):** public-facing polish · dogfood pain · first-stable-release track. Desktop/Khal explicitly NOT a top axis.
- **DONE wishes** → move to `.genie/wishes/archive/<slug>/`, one INDEX line each.
- **Roadmap board** becomes canonical: seed `roadmap` board, one lifecycle card per surviving initiative, published via roadmap.json.

## Audit result (3 scouts, evidence-first, 2026-07-28)

- **29 DONE-verified** (merge/PR/file evidence checked): agent-sync, agent-sync-hardening, boards-first-class, codex-plugin-update-handoff, council-workflow, dispatch-inproc-default, genie-mcp, genie-ui (superseded-by-design), genie-ui-bridge, hermes-homogeneous-integration, hermes-khaw-native-surface, hook-injection-hardening, omni-approval-ux, omni-branch-drift-sync, omni-runner-port, plugin-resource-shipping, pr-2545-ultra-release-gate, rolling-pr-auth-hardening, routing-delivery-fix, routing-matrix, skills-fable5-revamp, stable-release-security-gate (v5.260727.5 SHIPPED 2026-07-27!), taxonomy-rehoming, v5-completion, v5-demolition, v5-foundation, v5-housekeeping, warp-integration, worktree-isolation-hardening.
- **5 IN_PROGRESS:** codex-plugin-dogfood-remediation (21/24, 3 criteria open), proportional-validation-policy (mirror regen pending), genie-ui-dash (fork, awaits Felipe GUI QA), live-dev-loop (fork, awaits Felipe QA), khal-rebrand (fork, approved not executed).
- **2 OPEN:** v4-home-residue-doctor (DRAFT, 0/8 — carries live bug #2450), release-ops-hardening (DRAFT — its "after first stable" gate has now PASSED, so it is actionable).
- **Felipe-ritual backlog** riding on DONE wishes: council live ritual, genie-mcp Warp QA, warp-integration pane checklist, agent-sync live convergence, codex-plugin-update-handoff homolog dogfood, taxonomy PATH export.

## Open

- Final priority ordering of open items; whether ritual QA items become one bundled card; public-polish axis has no existing wish (gap — the roadmap publication itself may be its first deliverable).

## Risks

- WISH headers can overclaim → mitigated: every DONE bucket verified against merged PRs/files by scouts.
- Archive move must not break INDEX/wish-lint links (wishes-lint checks brainstorm links).
Loading
Loading