Skip to content

develop mode: skills for every engine, the campaign walk unit, honest degradation, bounded gate waits, spec-slices adoption #1949

Closed

Description

@aarontrowbridge

From the rd-system v2.1 develop campaign ledger (vault-aaron/sessions/session-20261026-rd-system-v2-1.md §7, findings F-dev-1…13). These are the fixes that make develop mode work as its card says.

1. Skills reach every engine, not just extension-spawned ones (F-dev-1, F-dev-4, F-dev-10)

A plain opencode session (started from a terminal, not by the extension) loads the staged agent cards from ~/.config/opencode/agents/ but no amicode skills. Skills only arrive through the extension-generated config's skills.paths. So the develop card's first action ("invoke director-core, then develop") and the implementer's implement-issue fail with "Skill not found".

Fix: stage the public/entitled skill set to opencode's native user skill directory, next to the agent staging, using the same staging code and receipts. Then any engine on the machine resolves them. Verify the directory opencode reads (~/.config/opencode/skill[s]/<name>/SKILL.md) against the engine source.

2. The walk's unit for a campaign PRD (F-dev-9)

The develop skill and card require "one integration branch + one draft PR per parent issue" and "no per-slice PRs in orchestrated mode". When the parent is a campaign PRD (e.g. #1820: 50 slices across 5 repos over weeks), that contradicts continuous charter merges (v2.1 A12) and isn't workable across repos.

Fix: state the rule. When a parent is a campaign PRD (it has amico-spec-slices children, or spans more than one repo), the unit is the tier/wave per repo. Each slice is a unit of one, merged onto the release train (lane/<version>, A14) when it needs a live test, else onto main. The integration-branch rule stays for ordinary feature parents. Update skills/develop/SKILL.md, modes/develop/card.md, and the copy in agents/develop.md (keep them in sync; the parity tests will say how).

3. Honest tool degradation (F-dev-2)

amicode_session / amicode_workspace are absent in this engine binding, yet the card says "never call git worktree add directly". Fix: the card's degradation paragraph names the fallback explicitly. Director-managed git worktree add/remove is used, each worktree is recorded in the ledger, and it is removed after merge.

4. Deploy and gate hygiene (F-dev-11, F-dev-13, #1943)

5. amico spec slices can reference an existing issue (F-dev-7)

A plan row whose step text contains (#N) or repo#N as its first issue reference adopts that issue instead of filing a new one. It adds the provenance marker by editing the body, links the sub-issue, and sets the edges. Test this with the fake gh layer.

Acceptance

  • A plain opencode on a machine with the extension installed lists director-core, develop, implement-issue, and tdd (test the staging; live check by the director).
  • Card, skill, and agent copies are in sync, and the existing parity and skills lint tests pass.
  • A deploy-gate fixture with a server that ignores SIGTERM fails the smoke within about 15s instead of hanging.
  • git ls-files ops/hub/__pycache__ is empty.
  • The spec-slices adopt test passes, and a second run is still idempotent.

Activity

  1. added 2 commits that reference this issue on Oct 27, 2026
  2. aarontrowbridge commented on Oct 29, 2026

    @aarontrowbridge
    MemberAuthor

    Closing as done.

    Evidence:

    Two merged PRs together implement every section: #1951 covers §1–3 and #1952 covers §4–5. The lane/0.3.11 PR #1953 is still unmerged and ops/hub/__pycache__ still shows on the default branch, so a reviewer should confirm the lane has reached main.

    — notturno backlog triage (amicissimo#532)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions