Repository navigation
chore: rolling promotion dev -> main #2729
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
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 d4f6a27
feat(task): genie task import + committed roadmap.json board snapshot
namastex888 c4afca2
chore(version): bump to 5.260728.9 [auto-version]
github-actions[bot] f695bd8
chore(hooks): auto-refresh .genie/roadmap.json in pre-commit
namastex888 80f375e
feat(task): make roadmap.json canonical via three-way sync
namastex888 a778482
chore(version): bump to 5.260728.10 [auto-version]
github-actions[bot] 57cf4aa
fix(skills): proportional-validation-policy — passing full suite is a…
namastex888 b91663b
Merge pull request #2725 from lirazsiri/policy/proportional-validation
automagik-genie f743ec3
chore(version): bump to 5.260728.11 [auto-version]
github-actions[bot] e2659dc
refactor(task): sync via git hooks only; scope roadmap.json to roadma…
namastex888 0696e9c
chore(version): bump to 5.260728.12 [auto-version]
github-actions[bot] edc762b
fix(router): bypass Genie when lifecycle adds no value
lirazsiri 836837f
fix(router): announced bypass, security-gated by default, cheap route…
namastex888 fe84865
Merge pull request #2723 from lirazsiri/fix/genie-bypass-policy
automagik-genie 7146f1c
chore(version): bump to 5.260728.13 [auto-version]
github-actions[bot] 3f95450
chore: add repository-local Hermes profile
namastex888 1850332
chore: enable repository-local Genie plugin
namastex888 5a74123
docs(wish): genie-official-roadmap APPROVED — 36-wish triage into can…
namastex888 e7a1dfb
chore(version): bump to 5.260728.14 [auto-version]
github-actions[bot] 4ed54a2
fix(agent-sync): suppress the bare-name role-agent fan-out when the p…
namastex888 c465b15
Merge pull request #2731 from automagik-dev/fix/agent-mirror-plugin-a…
automagik-genie 9be108a
chore(version): bump to 5.260729.1 [auto-version]
github-actions[bot] 7bd36b8
fix(test): pin selection in the manual post-update convergence test (…
namastex888 594a273
fix(v5): harden roadmap sync per PR #2729 bot-review findings
namastex888 b3cb508
Merge pull request #2733 from automagik-dev/fix/update-test-consent-i…
automagik-genie 4b6dd15
chore(version): bump to 5.260729.2 [auto-version]
github-actions[bot] 7949faa
Merge pull request #2734 from automagik-dev/fix/pr-2729-review
namastex888 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 --> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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). |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.