vinta-ai-workflows 0.2.0-alpha5 → 0.2.0-alpha6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,10 +7,43 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ## [0.2.0] — YYYY-MM-DD
9
9
 
10
- ### Added
10
+ <!-- pre-release: 0.2.0-alpha6 on 2026-07-13 -->
11
+
12
+ ### Changed
13
+
14
+ - **`plan-feature` AI model tiers refreshed to the current model
15
+ generation.** `plan-feature/resources/ai-models.yaml` now cites the latest
16
+ IDs: tier 1 `gemini-2.5-flash-lite` → `gemini-3.1-flash-lite` and
17
+ `gpt-5-nano` → `gpt-5.6-luna`; tier 2 `claude-sonnet-4-6` → `claude-sonnet-5`
18
+ (incl. the Haiku step-up note) and `gemini-2.5-flash` → `gemini-3.5-flash`; tier 3
19
+ `claude-sonnet-4-6` → `claude-sonnet-5` and the retired `gemini-2.5-pro`
20
+ dropped in favor of `gemini-3-pro` and the retired `gpt-5` dropped in favor of
21
+ `gpt-5.6-terra`; tier 4 `claude-opus-4-7` → `claude-opus-4-8` and the retired
22
+ `o3` dropped in favor of `gpt-5.6-sol`. Tier *placement* is unchanged — only the
23
+ concrete IDs move. **Consumers**: re-sync to pick up the refreshed model
24
+ suggestions.
25
+
26
+ ### Fixed
27
+
28
+ - **`implement-plan` stacked-branches now opens each phase PR against its
29
+ parent phase, not the default branch.** The git branch topology was already
30
+ stacked correctly (each phase branches off the previous phase's branch), but
31
+ nothing told the orchestrator what to write into the prs-context `base`
32
+ field, so it defaulted to `<BASE_BRANCH>` and **every stacked PR targeted the
33
+ default branch** — collapsing the stack and showing each PR the cumulative
34
+ diff. The stacked commit-strategy partial now spells out the PR base per
35
+ phase (first phase → default branch; every subsequent phase → the previous
36
+ phase's branch), the shared `pr-context` write step no longer defaults `base`
37
+ blindly, and the `prs-context` template comment states the rule. Modular /
38
+ single-PR strategies are unaffected (one PR against the default branch).
39
+ **Consumers**: re-sync to pick up the corrected `base` resolution; existing
40
+ PRs opened against the wrong base must be re-targeted manually.
11
41
 
12
42
  <!-- pre-release: 0.2.0-alpha5 on 2026-07-13 -->
13
43
 
44
+ ### Added
45
+
46
+
14
47
  - **`handoff` foundation skill — session-continuation handoff docs between
15
48
  agents.** Write mode captures the current task (goal, verified-vs-unverified
16
49
  state, decisions + rejected alternatives, landmines, single concrete next
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vinta-ai-workflows",
3
- "version": "0.2.0-alpha5",
3
+ "version": "0.2.0-alpha6",
4
4
  "description": "Bootstrap AI tooling (AGENTS.md, skills, sub-agents) across Claude Code, Codex, Cursor, and VS Code + GitHub Copilot.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,7 +11,7 @@
11
11
  # Tier *placement* is human/LLM judgement — the job flags drift and proposes
12
12
  # edits, it does not blindly reassign tiers. See scripts/check-ai-models.mjs.
13
13
  schema_version: 1
14
- last_verified: 2026-06-22
14
+ last_verified: 2026-07-13
15
15
 
16
16
  # Drift is checked against a free, no-key community aggregator (models.dev,
17
17
  # vendor-keyed with release dates + pricing), cross-checked against LiteLLM's
@@ -37,10 +37,10 @@ tiers:
37
37
  anthropic:
38
38
  - id: claude-haiku-4-5
39
39
  openai:
40
- - id: gpt-5-nano
41
- note: fall back to gpt-5-mini if file has any branching logic
40
+ - id: gpt-5.6-luna
41
+ note: optimized for cost-sensitive workloads
42
42
  google:
43
- - id: gemini-2.5-flash-lite
43
+ - id: gemini-3.1-flash-lite
44
44
 
45
45
  - tier: 2
46
46
  label: standard pattern application
@@ -51,13 +51,13 @@ tiers:
51
51
  models:
52
52
  anthropic:
53
53
  - id: claude-haiku-4-5
54
- note: with iteration; step up to claude-sonnet-4-6 if phase touches >3 files
55
- - id: claude-sonnet-4-6
54
+ note: with iteration; step up to claude-sonnet-5 if phase touches >3 files
55
+ - id: claude-sonnet-5
56
56
  note: step-up target when phase touches >3 files
57
57
  openai:
58
58
  - id: gpt-5-mini
59
59
  google:
60
- - id: gemini-2.5-flash
60
+ - id: gemini-3.5-flash
61
61
 
62
62
  - tier: 3
63
63
  label: multi-file orchestration, business logic, SQL views
@@ -68,11 +68,10 @@ tiers:
68
68
  covering concurrency edges.
69
69
  models:
70
70
  anthropic:
71
- - id: claude-sonnet-4-6
71
+ - id: claude-sonnet-5
72
72
  openai:
73
- - id: gpt-5
73
+ - id: gpt-5.6-terra
74
74
  google:
75
- - id: gemini-2.5-pro
76
75
  - id: gemini-3-pro
77
76
  note: stronger code recall
78
77
 
@@ -84,15 +83,11 @@ tiers:
84
83
  tuning slow query against partitioned hot table, debugging heisenbug.
85
84
  models:
86
85
  anthropic:
87
- - id: claude-opus-4-7
86
+ - id: claude-opus-4-8
88
87
  note: "[1m] 1M-context variant for large codebases"
89
88
  openai:
90
- - id: gpt-5
91
- note: with extended thinking
92
- - id: o3
93
- note: pure reasoning
94
- - id: o4
95
- note: pure reasoning
89
+ - id: gpt-5.6-sol
90
+ note: Frontier model for complex professional work
96
91
  google:
97
92
  - id: gemini-3-pro
98
93
  note: with thinking
@@ -19,6 +19,11 @@ git -C <WORKROOT> checkout plan/{plan-id-kebab}/phase-{prev.id}
19
19
  git -C <WORKROOT> checkout -b plan/{plan-id-kebab}/phase-{phase.id}
20
20
  git -C <WORKROOT> push -u origin plan/{plan-id-kebab}/phase-{phase.id}
21
21
  ```
22
+
23
+ **PR base per phase** (the `base` field written into the prs-context frontmatter — this is what `gh pr create --base` / `glab mr create --target-branch` opens the PR against; getting it wrong makes every stacked PR target `<BASE_BRANCH>` instead of its parent phase):
24
+
25
+ - **First executed phase** → `base = <BASE_BRANCH>`.
26
+ - **Subsequent phases** → `base = plan/{plan-id-kebab}/phase-{prev.id}` (the previous phase's branch, **not** `<BASE_BRANCH>`). The PR must open against its parent phase so the diff shows only this phase's changes and the stack reviews cleanly.
22
27
  <!-- block-end: BRANCH_NAMING -->
23
28
 
24
29
  <!-- block-begin: PER_PHASE_COMMIT -->
@@ -39,7 +39,7 @@ Two project-level signals decide the actual behavior:
39
39
 
40
40
  When `generate_inline_comments = false`: skip this step. The file's `# Comments` block stays empty.
41
41
 
42
- 4. **Write the prs-context file** at {{PRS_CONTEXT_FILE_PATH}}, following [resources/prs-context-template.md](../../prs-context-template.md). Frontmatter: `plan_id`, `feature_name`, `phase_id`, `phase_title`, `branch`, `base`, `created_at`, `status: pending`, empty `pr_url`. Body sections: `# Title` (single-line PR title), `# Description` (Markdown body — uses the project's PR template structure from step 2 when one exists), `# Comments` (YAML list of `{file, start_line, end_line?, side, body}` — empty list when comments are off).
42
+ 4. **Write the prs-context file** at {{PRS_CONTEXT_FILE_PATH}}, following [resources/prs-context-template.md](../../prs-context-template.md). Frontmatter: `plan_id`, `feature_name`, `phase_id`, `phase_title`, `branch`, `base`, `created_at`, `status: pending`, empty `pr_url`. **`base` is the branch the PR opens against — resolve it per the commit strategy, never default it to `<BASE_BRANCH>` blindly:** for stacked branches only the first executed phase bases on `<BASE_BRANCH>`; every subsequent phase bases on the **previous phase's branch** (see the PR-base rule under the {{BRANCH_PUSH_HEADING}} step above). For a single plan-level PR (modular / one-PR strategies) `base = <BASE_BRANCH>`. Body sections: `# Title` (single-line PR title), `# Description` (Markdown body — uses the project's PR template structure from step 2 when one exists), `# Comments` (YAML list of `{file, start_line, end_line?, side, body}` — empty list when comments are off).
43
43
 
44
44
  5. **Confirm `.vinta-ai-workflows/prs-context/` is in `.gitignore`.** [vinta-install-ai-tools-setup](../../../vinta-install-ai-tools-setup/SKILL.md) runs the multi-vendor setup script which appends `.vinta-ai-workflows/prs-context/` on its first invocation. If an older bootstrap missed it, append it now.
45
45
 
@@ -6,7 +6,7 @@ feature_name: <FEATURE_NAME> # UPPERCASE_WITH_UNDERSCORES, matches p
6
6
  phase_id: <phase-id> # e.g. "1", "4a"
7
7
  phase_title: <phase title> # verbatim from the plan's Phased Rollout section
8
8
  branch: plan/<feature-kebab>/phase-<id> # branch the PR opens from
9
- base: <main | plan/<feature-kebab>/phase-<prev-id>> # target branch for the PR
9
+ base: <main | plan/<feature-kebab>/phase-<prev-id>> # PR target branch. Stacked: FIRST phase = default branch; every LATER phase = the PREVIOUS phase's branch (not the default branch). Modular / single-PR: default branch.
10
10
  created_at: <ISO 8601 timestamp>
11
11
  status: pending # `pending` until published; `published` after CLI run
12
12
  pr_url: # set by open-pr-from-context after publishing