Skip to content
Merged

Dev #2557

Show file tree
Hide file tree
Changes from all commits
Commits
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.260711.6",
"version": "5.260712.1",
"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
5 changes: 3 additions & 2 deletions .genie/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@
- [WISH: warp-integration](wishes/warp-integration/WISH.md) — **DONE** (all 4 groups SHIP-reviewed 2026-07-02; pane-render checklist awaiting Felipe): genie init, Warp launch-config emitter, genie launch, /work multi-session opt-in

## Poured
- [agent-sync](wishes/agent-sync/DESIGN.md) · [WISH](wishes/agent-sync/WISH.md) · [COORDINATION](wishes/agent-sync/COORDINATION.md) — **MERGED #2541 (dev, 2026-07-10 06:47Z; dev now v5.260710.5→.6)** — `genie update` = único verbo canônico que converge TODOS os coding agents detectados (Claude Code skills+council stamp, Codex Agent-Skills em .curated/, Hermes symlink+enable); engine interna manifest+adopt-with-backup+orphan-removal; hook CC vira trigger; mata scripts/smart-install.js divergente. Na dev: G1 `346c02e1`, G2 `ff497ae4`, G3 `642c9f27` (doctor freshness + manifest-verified uninstall), final-review doc `46cc3fb7`; a coerção string-args do /council entrou separada como `ec68cd8f`. PR-topology resolvida no rebase (os 3 commits plugin-resource-shipping saíram; conteúdo já estava em dev via #2540). **Resta:** ritual live user-gated (`genie update` ×2 pós-stable → verificar os 7 role agents como subagent types) — ver [MORNING-BRIEF](brainstorms/genie-token-efficiency-program/MORNING-BRIEF-20260710.md).
- [WISH: agent-sync-hardening](wishes/agent-sync-hardening/WISH.md) — **EXECUTING** (2026-07-10): close the ultracode blockers B1–B7 (3 HIGH + 4 MEDIUM — unattended-update hook trigger, unlocked sync races, untested delegation path, uninstall data loss, stale-reinstall sync, Windows shim exec, README release-truth) on PR #2546 with codex first-class; **stable pointer flip HELD until this lands**
- [WISH: PR #2545 Ultra release-gate remediation](wishes/pr-2545-ultra-release-gate/WISH.md) — **IN PROGRESS as a follow-up targeting `dev`** (2026-07-11): PR #2545 itself merged via `6f682e2b` from promoted source `10ceb2c0`; the follow-up owns the three-hook reduction, physical 23-skill Codex payload, user-asset preservation, install/update/runtime recovery, documentation, and final evidence. Local finalization is complete at code commit `d9b0afbd` on `fix/pr2545-ultra-gate` (draft PR [#2556](https://github.com/automagik-dev/genie/pull/2556) → `dev`) — final aggregate, post-test live user-asset baseline comparison, and merge-tree simulation are all green, with two documented-open HIGH follow-ups (F42/F43) in the remediation ledger; a seven-lane replay on the final tree, exact-final-SHA CI, and independent human approval remain pending. Stable promotion remains BLOCKED by F16–F18/F31 in [stable-release-security-gate](wishes/stable-release-security-gate/WISH.md).
- [agent-sync](wishes/agent-sync/DESIGN.md) · [WISH](wishes/agent-sync/WISH.md) · [COORDINATION](wishes/agent-sync/COORDINATION.md) — **MERGED #2541; original implementation superseded by current safety contract** — explicit `genie install`/`genie update` converge detected clients; Codex fallback skills use `~/.agents/skills` (the hidden `.curated` lane is retired), same-name user assets are never adopted, and no lifecycle hook triggers synchronization. Historical execution commits remain in the wish; current proof and the one-time operator-run second-hop caveat live in the [PR #2545 remediation ledger](wishes/pr-2545-ultra-release-gate/REVIEW-DISPOSITION.md).
- [WISH: agent-sync-hardening](wishes/agent-sync-hardening/WISH.md) — **SUPERSEDED CRITERION-BY-CRITERION, not closed wholesale** (2026-07-11): the original PR #2546 execution narrative is historical. The current [PR #2545 remediation ledger](wishes/pr-2545-ultra-release-gate/REVIEW-DISPOSITION.md) maps B1–B7 to concrete hook, lock, ownership, convergence, Windows, and migration evidence. Remaining external/final gates stay open; there is no SessionStart updater and no hook-driven second-hop compatibility path.
- [council-workflow](brainstorms/council-workflow/DESIGN.md) · [WISH](wishes/council-workflow/WISH.md) — /council vira saved workflow nativo (deliberation + audit), lens library 13 (7 persona skills renomeadas por lane + 6 cards), distribuição via install-stamp em ~/.claude/workflows; implementa a disposição council do skill-absorbs G4 — EXECUTADO 2026-07-10: G1 `0b222e17`, G2 `12270b21` (1 fix loop: unwrap p/ body-style do runtime), G3 `22a7ed50`, G4 `2af7ebd9`, G5-eng `6494253d` — todos SHIP; QA vivo USER-GATED pós-release (ritual Felipe: merge→release→plugin update→rodar /council "revisar tudo"; g5-gate para na cauda qa/ até lá); final execution review após o QA
- [plugin-resource-shipping](brainstorms/plugin-resource-shipping/DRAFT.md) · [WISH](wishes/plugin-resource-shipping/WISH.md) — in-skill template via ${CLAUDE_SKILL_DIR}, probe-guarded lint refs, resource-shipping lint, fresh-install CI smoke — EXECUTED 2026-07-10 (first wish under the routing matrix: engineers opus·high, gate fable·high; 0 fix loops all groups; gate SHIP after branch surgery — concurrent session had switched the shared checkout): G1 ecbb67fc, G3 203c97df, G2 bbd6439e → PR #2540 merged, CI 10/10; QA pending: live installed-plugin scaffold on next release
- [routing-matrix](brainstorms/routing-matrix/DRAFT.md) · [WISH](wishes/routing-matrix/WISH.md) — pinned role agents (Fable gates / Opus ladder / Haiku scouts), stage pins + pane flags, complexity columns + lint, escalation caps — executed; execution review SHIP, final gate 719 pass / 1 skip / 0 fail. **Day-1 live pin QA recorded 2026-07-10 ([qa/](wishes/routing-matrix/qa/routing-pin-qa-20260710.md)) — inconclusive by delivery gap (pins not yet subagent types); re-test post-stable + `genie update` ×2** (2026-07-09)
Expand Down
40 changes: 0 additions & 40 deletions .genie/agents/metrics-updater/AGENT.md

This file was deleted.

7 changes: 0 additions & 7 deletions .genie/agents/metrics-updater/runs.jsonl

This file was deleted.

9 changes: 0 additions & 9 deletions .genie/agents/metrics-updater/state.json

This file was deleted.

9 changes: 8 additions & 1 deletion .genie/wishes/agent-sync-hardening/WISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

| Field | Value |
|-------|-------|
| **Status** | EXECUTING — 5 parallel fix lanes dispatched 2026-07-10 on the PR #2546 head |
| **Status** | BLOCKED — historical PR #2546 plan is superseded criterion-by-criterion by the PR #2545 remediation ledger; exact-SHA CI, human approval, and stable-release blockers remain recorded below |
| **Slug** | `agent-sync-hardening` |
| **Date** | 2026-07-10 |
| **Author** | Felipe (planned with Fable 5) |
Expand All @@ -14,6 +14,8 @@

The ultracode review of the shipped agent-sync delta (2026-07-10) returned **NOT SAFE TO PROMOTE**: 3 HIGH + 4 MEDIUM defects, all missed by the PR bots, several triggered by the promotion itself — the SessionStart hook fires a full unattended binary update on every pre-contract CLI, the sync engine has zero cross-process guarding against multi-pane `genie launch` races, and the entire hook delegation path ships untested. `genie uninstall` additionally destroys user-modified managed skill dirs and then deletes its own backups. **The stable pointer flip is HELD until B1–B7 land.** This wish tracks that fix wave; it ships together with the codex first-class integration on PR #2546.

> **2026-07-11 supersession note.** The paragraph above is preserved as the historical finding, not current behavior. PR #2545 merged, and follow-up branch `fix/pr2545-ultra-gate` removes the SessionStart updater entirely. [`REVIEW-DISPOSITION.md`](../pr-2545-ultra-release-gate/REVIEW-DISPOSITION.md) maps B1–B7 to current evidence: H3/H4/H6 only; ownership-safe locking/sync/uninstall; transactional auxiliary trees; and explicit one-release migration guidance. The first upgrade from a pre-convergence binary can require one operator-run second `genie update` after the first command returns; no lifecycle hook performs it. This wish is not marked DONE wholesale, and exact-final-SHA CI, human approval, and stable-release blockers remain open.

## Defects (B1–B7, from the dossier)

| # | Sev | Defect | Anchor |
Expand All @@ -36,6 +38,11 @@ Fast-follows F1–F10 and the deferred log stay in the dossier and are tracked a
| 2 | B4 fix = kept-dir over surviving-backup | On digest mismatch, rename the modified dir in place (`<dir>.genie-kept`) rather than copying to a backup location uninstall might also own — the user's data stays where the user put it, survives `~/.genie` removal by construction, and the confirmation prompt can name it. |
| 3 | Ship with codex first-class on PR #2546 | The fixes and the codex integration land as one reviewed delta on `takeover/codex-first-class`; one CI gate, one merge, then the pointer flip. No separate hardening PR racing the promotion. |

## Dependencies

**depends-on:** pr-2545-ultra-release-gate
**blocks:** none

## Success Criteria

- [ ] **B1**: hook delegation is impossible for a pre-contract binary to misread (errors out, zero network); throttle marker written hook-side before/around the spawn so a failing delegation cannot loop every session start
Expand Down
5 changes: 5 additions & 0 deletions .genie/wishes/hook-injection-hardening/WISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ The three PreToolUse file-path hooks interpolate the tool's `file_path` into a s
| 4 | Bundle the `core.bare` probe removal (finding 6) as Group 2 | Panel + performance lane both flag it; both are one-line footgun removals on the same subprocess-hygiene surface, shipping in the same afternoon. Kept a separate group/commit so it reverts independently of the security fix. |
| 5 | Delete the `core.bare` probe rather than relocate it | Its own comment says it "should no longer trigger" (the v4 worktree-corruption path is gone; v5 uses `git clone --shared`), and it can flip a legitimately-bare repo's `core.bare` to false. Relocating a guarded check into `launch` is an acceptable alternative — the Group 2 gate only asserts the probe is gone from `genie.ts`, so it passes either way. |

## Dependencies

**depends-on:** none
**blocks:** none

## Success Criteria

- [x] A hostile `file_path` containing `$(…)` executes **no** embedded command through `auditContext` — regression test creates a temp git repo, invokes the handler with `file_path: '$(touch PWNED)'`, and asserts no `PWNED` file exists afterward.
Expand Down
5 changes: 5 additions & 0 deletions .genie/wishes/plugin-resource-shipping/WISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ A fresh plugin install breaks `/wish` outside the genie repo: the skill instruct
| 3 | Enforce by lint + CI smoke, not by convention | 3 of 5 hook scripts already died silently by convention-drift; the sweep found offenders only because we looked — make the regression class mechanically impossible |
| 4 | Cross-wish dependency: Group 1 waits for routing-matrix G3 | routing-matrix (SHIP-reviewed) edits the same template file (Complexity/Model columns); land those first, then move the file — never reopen a reviewed wish |

## Dependencies

**depends-on:** routing-matrix
**blocks:** none

## Success Criteria

- [ ] `skills/wish/templates/wish-template.md` exists (with routing-matrix's columns); repo-root `templates/wish-template.md` is gone; zero references to the old path outside `.genie/` history docs.
Expand Down
Loading
Loading